/*
Theme Name: Faculdade Paulo VI
Theme URI: https://faculdadepaulovi.edu.br
Author: Faculdade de Filosofia e Teologia Paulo VI
Author URI: https://faculdadepaulovi.edu.br
Description: Tema editorial acadêmico clássico-contemporâneo, minimalista, sóbrio e autoral para o portal e blog da Faculdade de Filosofia e Teologia Paulo VI. Arquitetura de tokens em 3 camadas, tipografia serifada de alto padrão para leitura, metadados em sans-serif discreta, listagem vertical de artigos com miniaturas em formato paisagem (16:9), modal nativo via dialog HTML5 acessível com suporte a Esc, compartilhamento social com marcas oficiais, ícones de interface Lucide em SVG e conformidade integral com os padrões clássicos do WordPress.
Version: 1.2.0
Tested up to: 6.8
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: paulovi
Tags: education, blog, editorial, classic-theme, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   1. DESIGN TOKENS (ARQUITETURA EM 3 CAMADAS)
   ========================================================================== */
:root {
	/* Camada 1: Primitives (Valores Brutos) */
	--color-navy-950: #0b1721;
	--color-navy-900: #112230;
	--color-navy-800: #183042;
	--color-navy-700: #224259;
	--color-navy-600: #2d5573;

	--color-ivory-50:  #fdfcf9;
	--color-ivory-100: #f6f3eb;
	--color-ivory-200: #eae4d7;
	--color-ivory-300: #ddd5c4;
	--color-ivory-400: #cdc3af;

	--color-gray-900: #1b2329;
	--color-gray-800: #2f3a42;
	--color-gray-700: #46535c;
	--color-gray-600: #5c6a74;
	--color-gray-500: #74828b;
	--color-gray-400: #97a3ab;
	--color-gray-300: #cfd5d8;
	--color-gray-200: #e7ebed;
	--color-gray-100: #f2f5f6;

	--color-gold-800: #664923;
	--color-gold-700: #7c5a2e;
	--color-gold-600: #8f6937;
	--color-gold-500: #9e7644;
	--color-gold-400: #b58d59;
	--color-gold-200: #e8d7be;
	--color-gold-100: #f8f3ea;

	--color-white: #ffffff;

	/* Camada 2: Semantic Tokens (Papéis e Intenção) */
	--bg-canvas: var(--color-ivory-50);
	--bg-surface: var(--color-ivory-100);
	--bg-surface-elevated: var(--color-white);
	--bg-subtle: var(--color-ivory-200);
	--bg-dark: var(--color-navy-900);
	--bg-dark-accent: var(--color-navy-950);

	--text-primary: var(--color-gray-900);
	--text-secondary: var(--color-gray-700);
	--text-muted: var(--color-gray-500);
	--text-accent: var(--color-gold-600);
	--text-inverse: var(--color-ivory-50);
	--text-inverse-muted: #b9c6cc;

	--border-subtle: var(--color-ivory-200);
	--border-medium: var(--color-ivory-300);
	--border-strong: var(--color-navy-900);
	--border-accent: var(--color-gold-500);

	--font-serif: "Cardo", "Charter", "Georgia", "Times New Roman", serif;
	--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	--type-tracking-tight: -0.025em;
	--type-tracking-normal: 0;
	--type-tracking-wide: 0.08em;
	--type-tracking-upper: 0.12em;

	--measure-prose: 68ch;
	--measure-lead: 54ch;

	/* Camada 3: Component Tokens */
	--container-max: 1140px;
	--header-height: 90px;
	--post-thumb-ratio: 16 / 9;
	--radius-sm: 2px;
	--radius-md: 4px;
	--transition-fast: 0.15s ease;
	--transition-smooth: 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	--dialog-backdrop: rgba(11, 23, 33, 0.55);
}

/* ==========================================================================
   2. RESET TIPOGRÁFICO & FUNDAÇÃO ACADÊMICA
   ========================================================================== */
*, *::before, *::after {
	box-sizing: border-box;
}

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

body {
	margin: 0;
	background: var(--bg-canvas);
	color: var(--text-primary);
	font: 400 15px/1.65 var(--font-sans);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

button, input, select, textarea {
	font: inherit;
	color: inherit;
}

button {
	cursor: pointer;
	background: none;
	border: none;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color var(--transition-fast);
}

a:hover {
	color: var(--text-accent);
}

/* Foco visível e acessível (WCAG) */
:focus-visible {
	outline: 2px solid var(--border-accent);
	outline-offset: 3px;
}

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

.skip-link {
	position: absolute;
	top: -9999px;
	left: 16px;
	background: var(--bg-dark);
	color: var(--text-inverse);
	padding: 10px 18px;
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
	border: 1px solid var(--border-accent);
	z-index: 99999;
}

.skip-link:focus {
	top: 12px;
}

.container {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 32px;
}

/* ==========================================================================
   3. FAIXA SUPERIOR INSTITUCIONAL (SITE RIBBON)
   ========================================================================== */
.site-ribbon {
	background: var(--color-navy-950);
	color: #d6deda;
	min-height: 32px;
	font-size: 11px;
	letter-spacing: var(--type-tracking-wide);
	text-transform: uppercase;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.site-ribbon .container {
	min-height: 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.site-ribbon-subdued {
	color: #bfad93;
	font-weight: 500;
}

/* ==========================================================================
   4. CABEÇALHO & LOGO (SITE HEADER)
   ========================================================================== */
.site-header {
	background: var(--bg-canvas);
	border-bottom: 1px solid var(--border-subtle);
	position: relative;
	z-index: 40;
}

.header-inner {
	height: var(--header-height);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

/* Logotipo / Marca Institucional */
.brand {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	text-decoration: none;
}

.brand-mark {
	width: 44px;
	height: 50px;
	background: var(--bg-dark);
	color: var(--text-inverse);
	display: flex;
	align-items: center;
	justify-content: center;
	font: normal 23px/1 var(--font-serif);
	letter-spacing: -0.1em;
	border-radius: 0 0 12px 12px;
	border: 1px solid var(--color-navy-800);
}

.brand-mark small {
	font-size: 11px;
	align-self: center;
	margin-top: 6px;
	letter-spacing: -0.02em;
}

.brand-text {
	display: flex;
	flex-direction: column;
}

.brand-overline {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-gold-600);
	line-height: 1.2;
}

.brand-name {
	font-size: 23px;
	letter-spacing: -0.03em;
	font-weight: 700;
	color: var(--bg-dark);
	line-height: 1.15;
}

.custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.custom-logo {
	max-height: 64px;
	width: auto;
	object-fit: contain;
}

/* Menu Desktop */
.desktop-nav {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-left: auto;
}

.desktop-nav ul {
	display: flex;
	align-items: center;
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.desktop-nav a {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--text-secondary);
	padding: 6px 0;
	position: relative;
	transition: color var(--transition-fast);
}

.desktop-nav a:hover,
.desktop-nav .current-menu-item > a,
.desktop-nav a.active {
	color: var(--text-accent);
}

/* Ações do cabeçalho */
.header-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.icon-button {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--bg-dark);
	border: 1px solid transparent;
	border-radius: var(--radius-sm);
	transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.icon-button:hover,
.icon-button[aria-expanded="true"] {
	background: var(--bg-surface);
	border-color: var(--border-subtle);
	color: var(--text-accent);
}

.icon-button svg {
	width: 19px;
	height: 19px;
	display: block;
}

#menu-toggle {
	display: none;
}

/* Menu Mobile Deslizante */
.mobile-nav {
	display: none;
	background: var(--bg-canvas);
	border-top: 1px solid var(--border-subtle);
	padding: 16px 32px 24px;
}

.mobile-nav.open {
	display: block;
}

.mobile-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mobile-nav a {
	display: block;
	padding: 12px 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text-primary);
	border-bottom: 1px solid var(--border-subtle);
}

/* ==========================================================================
   5. MODAL NATIVO DE BUSCA (<dialog>)
   ========================================================================== */
dialog.search-dialog {
	border: 1px solid var(--border-subtle);
	background: var(--bg-canvas);
	color: var(--text-primary);
	border-radius: var(--radius-sm);
	padding: 0;
	width: min(92vw, 620px);
	box-shadow: 0 16px 48px rgba(11, 23, 33, 0.16);
	margin: auto;
}

dialog.search-dialog::backdrop {
	background: var(--dialog-backdrop);
	backdrop-filter: blur(2px);
}

.search-dialog-box {
	padding: 32px 34px 28px;
}

.search-dialog-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.search-dialog-title {
	font: normal 22px/1.2 var(--font-serif);
	letter-spacing: -0.02em;
	color: var(--bg-dark);
	margin: 0;
}

.search-dialog-close {
	color: var(--text-muted);
	padding: 6px;
	border-radius: var(--radius-sm);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color var(--transition-fast), background var(--transition-fast);
}

.search-dialog-close:hover {
	color: var(--bg-dark);
	background: var(--bg-surface);
}

.search-input-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.search-input-wrapper svg.search-icon {
	position: absolute;
	left: 14px;
	width: 18px;
	height: 18px;
	color: var(--text-muted);
	pointer-events: none;
}

.search-input-field {
	width: 100%;
	padding: 12px 110px 12px 42px;
	font-size: 14.5px;
	border: 1px solid var(--border-medium);
	background: var(--color-white);
	color: var(--text-primary);
	border-radius: var(--radius-sm);
	transition: border-color var(--transition-fast);
}

.search-input-field:focus {
	outline: none;
	border-color: var(--border-accent);
	box-shadow: 0 0 0 2px rgba(158, 118, 68, 0.15);
}

.search-submit-btn {
	position: absolute;
	right: 4px;
	background: var(--bg-dark);
	color: var(--text-inverse);
	border: 1px solid var(--bg-dark);
	padding: 8px 16px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: var(--radius-sm);
	transition: background var(--transition-fast);
}

.search-submit-btn:hover {
	background: var(--color-navy-800);
}

.search-dialog-hints {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 18px;
	font-size: 12px;
	color: var(--text-muted);
}

.search-dialog-hints a {
	color: var(--text-secondary);
	border-bottom: 1px solid var(--border-medium);
	padding-bottom: 1px;
}

.search-dialog-hints a:hover {
	color: var(--text-accent);
	border-color: var(--text-accent);
}

/* ==========================================================================
   6. BANNER EDITORIAL INSTITUCIONAL
   ========================================================================== */
.editorial-banner {
	background: var(--bg-surface);
	border-bottom: 1px solid var(--border-subtle);
	padding: 48px 0;
}

.banner-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 40px;
}

.banner-content {
	max-width: 720px;
}

.banner-kicker {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: var(--type-tracking-upper);
	text-transform: uppercase;
	color: var(--color-gold-600);
	margin-bottom: 10px;
	display: block;
}

.banner-title {
	font: normal clamp(34px, 4.4vw, 54px)/1.15 var(--font-serif);
	letter-spacing: var(--type-tracking-tight);
	color: var(--bg-dark);
	margin: 0 0 14px;
}

.banner-description {
	font-size: 14.5px;
	line-height: var(--line-height-relaxed);
	color: var(--text-secondary);
	margin: 0;
	max-width: 620px;
}

.banner-seal {
	min-width: 150px;
	border-left: 1px solid var(--border-medium);
	padding-left: 22px;
	color: var(--text-muted);
	align-self: flex-end;
}

.banner-seal-name {
	font: normal 36px/1.15 var(--font-serif);
	color: var(--color-gold-600);
	display: block;
}

.banner-seal-sub {
	font-size: 10.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.5;
	display: block;
	margin-top: 4px;
}

/* ==========================================================================
   7. POSTAGEM EM DESTAQUE (ÚLTIMA PUBLICAÇÃO)
   ========================================================================== */
.featured-hero-section {
	padding: 42px 0 36px;
	border-bottom: 1px solid var(--border-subtle);
	background: var(--bg-canvas);
}

.featured-lead-article {
	display: grid;
	grid-template-columns: 52fr 48fr;
	gap: 36px;
	align-items: center;
}

.featured-media-link {
	display: block;
	overflow: hidden;
	aspect-ratio: var(--post-thumb-ratio);
	background: var(--bg-subtle);
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-sm);
}

.featured-media-link img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform var(--transition-smooth);
}

.featured-lead-article:hover .featured-media-link img {
	transform: scale(1.02);
}

.featured-meta-line {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: var(--type-tracking-wide);
	text-transform: uppercase;
	color: var(--color-gold-600);
	margin-bottom: 12px;
}

.featured-meta-line .meta-divider {
	color: var(--color-gray-400);
	font-size: 12px;
}

.featured-tag {
	background: var(--bg-surface);
	color: var(--bg-dark);
	padding: 2px 8px;
	border: 1px solid var(--border-subtle);
	font-size: 10px;
	font-weight: 700;
	border-radius: var(--radius-sm);
}

.featured-title {
	font: normal clamp(26px, 2.7vw, 36px)/1.2 var(--font-serif);
	letter-spacing: var(--type-tracking-tight);
	color: var(--bg-dark);
	margin: 0 0 14px;
}

.featured-title a:hover {
	color: var(--color-gold-600);
}

.featured-excerpt {
	font-size: 14.5px;
	line-height: var(--line-height-relaxed);
	color: var(--text-secondary);
	margin: 0 0 20px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.featured-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding-top: 14px;
	border-top: 1px solid var(--border-subtle);
}

.featured-author-info {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: var(--text-secondary);
}

.featured-author-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid var(--border-accent);
}

.read-more-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bg-dark);
	border-bottom: 1px solid var(--color-gold-500);
	padding-bottom: 3px;
	transition: gap var(--transition-fast), color var(--transition-fast);
}

.read-more-link svg {
	width: 14px;
	height: 14px;
	transition: transform var(--transition-fast);
}

.read-more-link:hover {
	color: var(--color-gold-600);
	gap: 10px;
}

.read-more-link:hover svg {
	transform: translateX(2px);
}

/* ==========================================================================
   8. LISTAGEM VERTICAL DE ARTIGOS COM DIVISÓRIAS FINAS
   ========================================================================== */
.page-grid,
.single-page-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 48px;
	padding-top: 40px;
	padding-bottom: 80px;
	align-items: start;
}

.main-content-col,
.single-main-col {
	min-width: 0;
}

.section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--color-navy-800);
	margin-bottom: 6px;
}

.section-head-title {
	font: normal 26px/1.2 var(--font-serif);
	letter-spacing: var(--type-tracking-tight);
	color: var(--bg-dark);
	margin: 0;
}

.section-head-count {
	font-size: 11.5px;
	color: var(--text-muted);
	white-space: nowrap;
}

.post-feed {
	border-bottom: 1px solid var(--border-subtle);
}

/* Entrada do Post na Listagem Vertical: Miniatura Paisagem (16:9) + Conteúdo */
.post-item {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 26px;
	padding: 28px 0;
	border-bottom: 1px solid var(--border-subtle);
	align-items: flex-start;
}

.post-item:last-child {
	border-bottom: none;
}

.post-item-media {
	width: 100%;
}

.post-item-thumb-link {
	display: block;
	overflow: hidden;
	aspect-ratio: var(--post-thumb-ratio);
	background: var(--bg-subtle);
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-sm);
}

.post-item-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform var(--transition-smooth);
}

.post-item:hover .post-item-thumb-img {
	transform: scale(1.03);
}

.post-placeholder-box {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: var(--bg-surface);
	color: var(--color-gold-600);
}

.post-placeholder-box span {
	font: normal 22px var(--font-serif);
	letter-spacing: -0.05em;
}

.post-item-content {
	min-width: 0;
}

.post-item-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: var(--type-tracking-wide);
	text-transform: uppercase;
	color: var(--color-gold-600);
	margin-bottom: 8px;
}

.post-item-meta .meta-divider {
	color: var(--color-gray-400);
	font-size: 11px;
}

.post-item-title {
	font: normal clamp(20px, 2vw, 25px)/1.25 var(--font-serif);
	letter-spacing: var(--type-tracking-tight);
	color: var(--bg-dark);
	margin: 0 0 8px;
}

.post-item-title a:hover {
	color: var(--color-gold-600);
}

.post-item-summary {
	font-size: 14px;
	line-height: 1.75;
	color: var(--text-secondary);
	margin: 0 0 14px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

/* ==========================================================================
   9. PAGINAÇÃO DO WORDPRESS
   ========================================================================== */
.pagination-area {
	padding-top: 36px;
	display: flex;
	justify-content: center;
}

.nav-links,
.pagination .nav-links {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	justify-content: center;
}

.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border: 1px solid var(--border-medium);
	color: var(--bg-dark);
	font-size: 12px;
	font-weight: 600;
	background: var(--bg-canvas);
	border-radius: var(--radius-sm);
	transition: all var(--transition-fast);
}

.page-numbers:hover,
.page-numbers.current {
	border-color: var(--color-gold-500);
	color: var(--color-gold-600);
	background: var(--bg-surface);
}

.page-numbers.current {
	background: var(--bg-dark);
	color: var(--text-inverse);
	border-color: var(--bg-dark);
}

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

/* ==========================================================================
   10. BARRA LATERAL (SIDEBAR DE 300PX — HOME E POSTAGENS)
   ========================================================================== */
.sidebar,
.sidebar-col {
	width: 300px;
	min-width: 300px;
	max-width: 300px;
	padding-top: 2px;
}

.side-title {
	font: normal 18px/1.3 var(--font-serif);
	color: var(--bg-dark);
	margin: 0 0 12px;
	letter-spacing: -0.01em;
}

.side-divider {
	height: 1px;
	background: var(--border-subtle);
	margin-bottom: 12px;
}

.side-kicker {
	display: block;
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-gold-600);
	font-weight: 700;
	margin-bottom: 8px;
}

.category-nav-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 0;
	border-bottom: 1px solid var(--border-subtle);
	font-size: 13px;
	color: var(--text-secondary);
	transition: color var(--transition-fast);
	text-decoration: none;
}

.category-nav-link:hover,
.category-nav-link.active {
	color: var(--color-gold-600);
}

.category-nav-link svg {
	width: 14px;
	height: 14px;
	color: var(--color-gray-400);
	transition: transform var(--transition-fast), color var(--transition-fast);
}

.category-nav-link:hover svg {
	color: var(--color-gold-600);
	transform: translate(2px, -2px);
}

.cat-count-badge {
	font-size: 11px;
	font-weight: 600;
	color: var(--text-muted);
	background: var(--bg-surface);
	border: 1px solid var(--border-subtle);
	padding: 1px 7px;
	border-radius: 10px;
}

/* Widgets da Barra Lateral da Postagem */
.sidebar-author-widget {
	margin-bottom: 28px;
}

.sidebar-author-box {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 10px;
	margin-bottom: 14px;
}

.sidebar-author-avatar-link {
	flex-shrink: 0;
	display: block;
}

.sidebar-author-avatar {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid var(--border-subtle);
}

.sidebar-author-info {
	flex: 1;
	min-width: 0;
}

.sidebar-author-name {
	font: normal 16px/1.3 var(--font-serif);
	margin: 0 0 3px;
}

.sidebar-author-name a {
	color: var(--bg-dark);
	text-decoration: none;
}

.sidebar-author-name a:hover {
	color: var(--color-gold-600);
}

.sidebar-author-title {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-gold-600);
	margin: 0;
	font-weight: 600;
}

.sidebar-recent-widget {
	margin-bottom: 32px;
}

.sidebar-recent-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.sidebar-recent-item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border-subtle);
}

.sidebar-recent-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.sidebar-recent-thumb-link {
	flex-shrink: 0;
	width: 76px;
	aspect-ratio: 16 / 9;
	border-radius: 2px;
	overflow: hidden;
	background: var(--bg-surface);
	display: block;
	border: 1px solid var(--border-subtle);
}

.sidebar-recent-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sidebar-thumb-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font: italic 11px var(--font-serif);
	color: var(--text-muted);
	background: var(--bg-subtle);
}

.sidebar-recent-meta {
	flex: 1;
	min-width: 0;
}

.sidebar-recent-cat {
	display: block;
	font-size: 9.5px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-gold-600);
	font-weight: 700;
	margin-bottom: 2px;
}

.sidebar-recent-title {
	font: normal 13.5px/1.35 var(--font-serif);
	margin: 0 0 4px;
}

.sidebar-recent-title a {
	color: var(--bg-dark);
	text-decoration: none;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.sidebar-recent-title a:hover {
	color: var(--color-gold-600);
}

.sidebar-recent-date {
	font-size: 10.5px;
	color: var(--text-muted);
}

.side-quote-card {
	margin-top: 36px;
	border-top: 1px solid var(--bg-dark);
	padding-top: 20px;
}

.side-quote-text {
	font: italic 17px/1.55 var(--font-serif);
	color: var(--color-gray-800);
	margin: 0 0 10px;
}

.side-quote-author {
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-gold-600);
	font-weight: 700;
}

.side-note-box {
	margin-top: 32px;
	padding: 18px 20px;
	background: var(--bg-surface);
	border-left: 2px solid var(--color-gold-500);
}

.side-note-title {
	font: normal 16px var(--font-serif);
	color: var(--bg-dark);
	margin: 0 0 6px;
}

.side-note-desc {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.7;
	color: var(--text-secondary);
}

/* ==========================================================================
   11. SEÇÃO DE AUTORES / CORPO DOCENTE (HOMEPAGE)
   ========================================================================== */
.faculty-section {
	background: var(--bg-surface);
	border-top: 1px solid var(--border-subtle);
	border-bottom: 1px solid var(--border-subtle);
	padding: 60px 0 68px;
}

.faculty-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 24px;
	margin-top: 30px;
}

.faculty-item {
	background: var(--color-white);
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-sm);
	padding: 24px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.faculty-item:hover {
	border-color: var(--color-gold-400);
	transform: translateY(-2px);
}

.faculty-avatar-img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--border-subtle);
	margin-bottom: 14px;
}

.faculty-name {
	font: normal 18px/1.25 var(--font-serif);
	color: var(--bg-dark);
	margin: 0 0 4px;
}

.faculty-title-text {
	font-size: 11px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-gold-600);
	font-weight: 600;
	margin-bottom: 10px;
}

.faculty-bio-excerpt {
	font-size: 12.5px;
	line-height: 1.65;
	color: var(--text-secondary);
	margin: 0 0 14px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.faculty-articles-link {
	margin-top: auto;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bg-dark);
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.faculty-articles-link svg {
	width: 12px;
	height: 12px;
}

.faculty-articles-link:hover {
	color: var(--color-gold-600);
}

/* ==========================================================================
   12. PÁGINA DO ARTIGO (SINGLE.PHP)
   ========================================================================== */
.article-page {
	max-width: 100%;
	margin: 0;
	padding: 0 0 60px;
}

.breadcrumbs {
	font-size: 11px;
	color: var(--text-muted);
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 32px;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	align-items: center;
}

.breadcrumbs a {
	color: var(--text-secondary);
}

.breadcrumbs a:hover {
	color: var(--color-gold-600);
}

.breadcrumbs .breadcrumb-sep {
	color: var(--color-gray-400);
}

.breadcrumbs .current-crumb {
	color: var(--bg-dark);
	font-weight: 700;
}

.article-header {
	text-align: left;
	margin: 0 0 32px;
}

.article-header .article-meta-line {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	font-size: 11.5px;
	letter-spacing: var(--type-tracking-wide);
	text-transform: uppercase;
	font-weight: 600;
	color: var(--text-muted);
	margin-bottom: 14px;
	flex-wrap: wrap;
}

.article-cat-pill {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--color-gold-600);
	text-decoration: none;
}

.article-cat-pill:hover {
	color: var(--color-navy-800);
}

.article-author-link {
	color: var(--text-secondary);
	text-decoration: none;
}

.article-author-link:hover {
	color: var(--color-gold-600);
}

.article-headline {
	font: normal clamp(28px, 3.2vw, 42px)/1.22 var(--font-serif);
	letter-spacing: var(--type-tracking-tight);
	color: var(--bg-dark);
	margin: 0 0 16px;
	text-align: left;
}

.article-lead-text {
	font: italic 18px/1.65 var(--font-serif);
	color: var(--text-secondary);
	margin: 0 0 24px;
	max-width: 100%;
	text-align: justify;
	text-justify: inter-word;
}

.article-featured-media {
	margin: 24px 0 36px;
	overflow: hidden;
	background: var(--bg-subtle);
	aspect-ratio: 16 / 9;
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-sm);
}

.article-featured-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.article-featured-media figcaption {
	font-size: 11.5px;
	color: var(--text-muted);
	margin-top: 8px;
	text-align: center;
	font-style: italic;
}

/* Tipografia Editorial Refinada — Texto Justificado */
.article-body,
.entry-content {
	font-size: 17.5px;
	line-height: 1.9;
	color: var(--text-primary);
	text-align: justify;
	text-justify: inter-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.article-body p,
.entry-content p {
	margin: 0 0 24px;
	text-align: justify;
	text-justify: inter-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

.article-body p:first-child:first-letter,
.entry-content > p:first-of-type:first-letter {
	float: left;
	font: normal 56px/0.85 var(--font-serif);
	color: var(--color-gold-600);
	padding: 8px 10px 0 0;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	text-align: left;
	color: var(--bg-dark);
}

.entry-content h2 {
	font: normal 26px/1.3 var(--font-serif);
	letter-spacing: var(--type-tracking-tight);
	margin: 44px 0 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--border-subtle);
}

.entry-content h3 {
	font: normal 21px/1.35 var(--font-serif);
	margin: 34px 0 12px;
}

.entry-content blockquote {
	margin: 32px 0;
	padding: 22px 28px;
	background: var(--bg-surface);
	border-left: 3px solid var(--color-gold-500);
	font: italic 18px/1.7 var(--font-serif);
	color: var(--color-gray-800);
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	text-align: justify;
	text-justify: inter-word;
}

.entry-content blockquote p {
	margin-bottom: 0;
	text-align: justify;
	text-justify: inter-word;
}

.entry-content blockquote cite {
	display: block;
	margin-top: 10px;
	font: normal 12px/1.4 var(--font-sans);
	color: var(--text-muted);
	text-align: right;
	letter-spacing: 0.04em;
}

.entry-content ul,
.entry-content ol {
	margin: 0 0 26px 24px;
	padding: 0;
	text-align: left;
}

.entry-content li {
	margin-bottom: 8px;
	text-align: left;
}

.entry-content table,
.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	margin: 28px 0;
	font-size: 14.5px;
	text-align: left;
}

.entry-content th,
.wp-block-table th {
	background: var(--bg-surface);
	padding: 10px 14px;
	border: 1px solid var(--border-medium);
	font-weight: 700;
	color: var(--bg-dark);
	text-align: left;
}

.entry-content td,
.wp-block-table td {
	padding: 10px 14px;
	border: 1px solid var(--border-subtle);
}

.alignleft {
	float: left;
	margin: 0 24px 20px 0;
	max-width: 50%;
}

.alignright {
	float: right;
	margin: 0 0 20px 24px;
	max-width: 50%;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.alignwide,
.alignfull {
	max-width: 100%;
}

.wp-block-image {
	margin-bottom: 28px;
}

.wp-block-image img {
	height: auto;
	max-width: 100%;
}

.wp-block-image figcaption {
	font-size: 12px;
	color: var(--text-muted);
	font-style: italic;
	text-align: center;
	margin-top: 6px;
}

/* Documentos e Anexos PDF com Lucide FileText */
.academic-pdf-attachment {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--bg-surface);
	border: 1px solid var(--border-medium);
	padding: 10px 16px;
	border-radius: var(--radius-sm);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--bg-dark);
	margin: 12px 0 18px;
	text-decoration: none;
	transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}

.academic-pdf-attachment:hover {
	background: var(--bg-subtle);
	border-color: var(--border-accent);
	transform: translateY(-1px);
}

.academic-pdf-attachment svg {
	width: 17px;
	height: 17px;
	color: var(--color-gold-600);
	flex-shrink: 0;
}

.academic-pdf-badge {
	background: var(--bg-dark);
	color: var(--text-inverse);
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 2px 6px;
	border-radius: 2px;
	text-transform: uppercase;
}

.article-divider-line {
	max-width: var(--measure-prose);
	height: 1px;
	background: var(--border-subtle);
	margin: 48px auto 32px;
}

/* ==========================================================================
   13. COMPARTILHAMENTO SOCIAL (MARCAS OFICIAIS + LUCIDE)
   ========================================================================== */
.share-bar-container {
	max-width: var(--measure-prose);
	margin: 0 auto;
	background: var(--bg-surface);
	padding: 24px 28px;
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-sm);
}

.share-bar-kicker {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-gold-600);
	margin: 0 0 4px;
}

.share-bar-title {
	font: normal 20px var(--font-serif);
	color: var(--bg-dark);
	margin: 0 0 16px;
}

.share-buttons-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.share-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 8px 14px;
	background: var(--color-white);
	color: var(--bg-dark);
	border: 1px solid var(--border-medium);
	font-size: 11.5px;
	font-weight: 600;
	border-radius: var(--radius-sm);
	transition: background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}

.share-btn svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

.share-btn:hover {
	transform: translateY(-1px);
	border-color: var(--border-accent);
}

.share-btn.whatsapp {
	background: #128c7e;
	color: #ffffff;
	border-color: #128c7e;
}

.share-btn.whatsapp svg path {
	fill: #ffffff;
}

.share-btn.facebook {
	background: #1877f2;
	color: #ffffff;
	border-color: #1877f2;
}

.share-btn.facebook svg path {
	fill: #ffffff;
}

.share-btn.x-brand {
	background: #000000;
	color: #ffffff;
	border-color: #000000;
}

.share-btn.x-brand svg path {
	fill: #ffffff;
}

.share-btn.copy-link {
	background: var(--bg-canvas);
}

/* ==========================================================================
   14. BOX DE BIO DO AUTOR
   ========================================================================== */
.author-bio-card {
	max-width: var(--measure-prose);
	margin: 40px auto 0;
	background: var(--color-white);
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-sm);
	padding: 30px;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 24px;
}

.author-bio-avatar-wrapper {
	text-align: center;
}

.author-bio-avatar-img {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--border-subtle);
}

.author-bio-kicker {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-gold-600);
	margin-bottom: 4px;
	display: block;
}

.author-bio-heading {
	font: normal 22px/1.2 var(--font-serif);
	color: var(--bg-dark);
	margin: 0 0 4px;
}

.author-bio-role {
	font-size: 11.5px;
	color: var(--text-muted);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 12px;
}

.author-bio-description {
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--text-secondary);
	margin-bottom: 16px;
}

.author-bio-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	padding-top: 14px;
	border-top: 1px solid var(--border-subtle);
}

.author-link-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	background: var(--bg-surface);
	border: 1px solid var(--border-medium);
	font-size: 11px;
	font-weight: 600;
	color: var(--bg-dark);
	border-radius: var(--radius-sm);
	transition: background var(--transition-fast), border-color var(--transition-fast);
}

.author-link-pill:hover {
	background: var(--bg-dark);
	color: var(--text-inverse);
	border-color: var(--bg-dark);
}

.author-link-pill.lattes {
	background: #fbf7ee;
	border-color: #dbc9a8;
	color: #6d4b1f;
}

/* ==========================================================================
   15. RODAPÉ DO ARTIGO, NAVEGAÇÃO ENTRE POSTS E BIO DO AUTOR
   ========================================================================== */
.post-navigation-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin: 36px 0 28px;
	padding: 24px 0;
	border-top: 1px solid var(--border-subtle);
	border-bottom: 1px solid var(--border-subtle);
}

.post-nav-col {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.post-nav-col.next-col {
	text-align: right;
	align-items: flex-end;
}

.post-nav-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700;
	color: var(--color-gold-600);
}

.post-nav-title {
	font: normal 15.5px/1.35 var(--font-serif);
	color: var(--bg-dark);
	text-decoration: none;
	transition: color var(--transition-fast);
}

.post-nav-title:hover {
	color: var(--color-gold-600);
}

.article-nav-row {
	max-width: 100%;
	margin: 28px 0 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--border-subtle);
}

.article-nav-link {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bg-dark);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}

.article-nav-link:hover {
	color: var(--color-gold-600);
}

.article-foot-tag {
	font-size: 11px;
	color: var(--text-muted);
}

/* ==========================================================================
   16. RODAPÉ INSTITUCIONAL REFINADO (SITE FOOTER)
   ========================================================================== */
.site-footer {
	background: var(--bg-dark);
	color: #e2e8f0;
	border-top: 3px solid var(--color-gold-500);
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1.2fr 1fr;
	gap: 48px;
	padding-top: 52px;
	padding-bottom: 48px;
}

.footer-col-title {
	font: normal 18px/1.3 var(--font-serif);
	letter-spacing: var(--type-tracking-tight);
	color: #ffffff;
	margin: 0 0 16px;
	position: relative;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-col-text {
	font-size: 13.5px;
	line-height: 1.7;
	color: #cbd5e1;
	margin: 0 0 18px;
}

.footer-links-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer-links-list a {
	font-size: 12.5px;
	color: #cbd5e1;
	text-decoration: none;
	transition: color var(--transition-fast), transform var(--transition-fast);
	display: inline-block;
}

.footer-links-list a:hover {
	color: var(--color-gold-400);
	transform: translateX(3px);
}

.footer-contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.footer-contact-item {
	font-size: 13px;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.footer-contact-item .contact-label {
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-gold-400);
	font-weight: 700;
}

.footer-contact-item .contact-val,
.footer-contact-item .contact-val a {
	color: #e2e8f0;
	text-decoration: none;
}

.footer-contact-item .contact-val a:hover {
	color: var(--color-gold-300);
	text-decoration: underline;
}

.footer-seal-badge {
	margin-top: 20px;
	padding: 12px 16px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius-sm);
	display: inline-block;
}

.footer-seal-badge span {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #ffffff;
}

.footer-seal-badge small {
	display: block;
	font-size: 10px;
	color: var(--color-gold-400);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.footer-bottom-wrapper {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(0, 0, 0, 0.2);
}

.footer-bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 18px;
	padding-bottom: 20px;
	font-size: 11.5px;
	color: #94a3b8;
	gap: 16px;
	flex-wrap: wrap;
}

.footer-copy-text {
	color: #cbd5e1;
}

.footer-motto-text {
	color: #94a3b8;
	font-style: italic;
}

/* ==========================================================================
   17. NOTIFICAÇÃO TOAST
   ========================================================================== */
.toast {
	position: fixed;
	z-index: 10000;
	left: 50%;
	bottom: 24px;
	transform: translate(-50%, 30px);
	opacity: 0;
	pointer-events: none;
	background: var(--color-navy-950);
	color: #ffffff;
	padding: 10px 20px;
	font-size: 12.5px;
	border: 1px solid var(--border-accent);
	border-radius: var(--radius-sm);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	transition: opacity 0.2s, transform 0.2s;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.toast.show {
	opacity: 1;
	transform: translate(-50%, 0);
}

.toast svg {
	width: 15px;
	height: 15px;
	color: #4ade80;
}

/* ==========================================================================
   18. RESPONSIVIDADE & MOBILE BREAKPOINTS
   ========================================================================== */
@media (max-width: 992px) {
	.page-grid,
	.single-page-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.sidebar,
	.sidebar-col {
		width: 100%;
		min-width: 0;
		max-width: 100%;
		margin-top: 32px;
	}
	.featured-lead-article {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 36px;
	}
}

@media (max-width: 768px) {
	.container {
		padding-inline: 16px;
	}
	.site-ribbon {
		font-size: 9.5px;
	}
	.site-ribbon-subdued {
		display: none;
	}
	.header-inner {
		height: 64px;
		gap: 12px;
	}
	.brand {
		gap: 10px;
		min-width: 0;
		flex: 0 1 auto;
	}
	.brand-mark {
		width: 34px;
		height: 40px;
		font-size: 17px;
	}
	.brand-mark small {
		font-size: 9px;
	}
	.brand-name {
		font-size: 17px;
	}
	.brand-overline {
		font-size: 7.5px;
	}
	.custom-logo {
		max-height: 44px;
	}
	.desktop-nav {
		display: none;
	}
	.header-actions {
		flex-shrink: 0;
		margin-left: auto;
		gap: 6px;
	}
	.icon-button {
		width: 36px;
		height: 36px;
	}
	#menu-toggle {
		display: inline-flex;
	}
	.featured-hero-section {
		padding: 24px 0;
	}
	.featured-lead-article {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.featured-title {
		font-size: 22px;
	}
	.page-grid,
	.single-page-grid {
		display: block;
		padding-top: 24px;
		padding-bottom: 50px;
	}
	.section-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
	.post-item {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 20px 0;
	}
	.author-bio-card {
		grid-template-columns: 1fr;
		text-align: center;
		padding: 22px 18px;
	}
	.author-bio-avatar-wrapper {
		margin: 0 auto;
	}
	.author-bio-actions {
		justify-content: center;
	}
	.post-navigation-card {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.post-nav-col.next-col {
		text-align: left;
		align-items: flex-start;
	}
	.footer-grid {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-top: 36px;
		padding-bottom: 36px;
	}
	.footer-bottom-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}

@media (max-width: 480px) {
	.featured-title {
		font-size: 20px;
	}
	.article-headline {
		font-size: 25px;
	}
	.article-body,
	.entry-content {
		font-size: 16px;
		line-height: 1.8;
	}
}

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