/*
============================================================ 
Theme Name: Parental.com.br
Visual system: minimal, editorial, Apple-inspired
============================================================ */
:root {
	--d3-container: 1180px;
	--d3-readable: 760px;
	--d3-sidebar-width: 30%;

	--d3-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--d3-heading-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--d3-mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;

	--d3-bg: #f5f5f7;
	--d3-surface: #ffffff;
	--d3-surface-soft: #fbfbfd;
	--d3-surface-elevated: rgba(255, 255, 255, .82);

	--d3-text: #1d1d1f;
	--d3-heading: #111113;
	--d3-muted: #6e6e73;
	--d3-subtle: #86868b;

	--d3-primary: #0e3b73;
	--d3-primary-hover: #082a55;
	--d3-primary-soft: rgba(14, 59, 115, .08);

	--d3-border: rgba(0, 0, 0, .08);
	--d3-border-strong: rgba(0, 0, 0, .14);

	--d3-radius-sm: 10px;
	--d3-radius: 16px;
	--d3-radius-lg: 24px;
	--d3-radius-xl: 32px;

	--d3-shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);
	--d3-shadow-sm: 0 6px 20px rgba(0, 0, 0, .06);
	--d3-shadow-md: 0 18px 45px rgba(0, 0, 0, .08);

	--d3-transition: 180ms ease;
	--d3-transition-slow: 280ms cubic-bezier(.2, .8, .2, 1);

	--d3-font-size: 17px;
	--d3-footer-bg: #111113;
	--d3-footer-color: #d2d2d7;
}

/* ============================ Reset / base ============================ */
*, *::before, *::after { box-sizing: border-box; }
html {
	min-height: 100%;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}
body {
	min-height: 100%;
	margin: 0;
	font-family: var(--d3-font);
	font-size: var(--d3-font-size);
	font-weight: 400;
	line-height: 1.65;
	color: var(--d3-text);
	background:
		radial-gradient(circle at 50% -12%, rgba(14, 59, 115, .08), transparent 34rem),
		var(--d3-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
img, svg, embed, iframe, object, video {
	max-width: 100%;
	height: auto;
}
img { border-style: none; }
a {
	color: var(--d3-primary);
	text-decoration: none;
	text-underline-offset: .18em;
	transition: color var(--d3-transition), opacity var(--d3-transition), background-color var(--d3-transition), border-color var(--d3-transition), transform var(--d3-transition), box-shadow var(--d3-transition);
}
a:hover, a:focus { color: var(--d3-primary-hover); }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--d3-heading-font);
	color: var(--d3-heading);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.08;
	margin: 0 0 .65em;
}
p, ul, ol, blockquote, pre, table, figure { margin: 0 0 1.35em; }
p:last-child { margin-bottom: 0; }
hr {
	border: 0;
	border-top: 1px solid var(--d3-border);
	margin: 2.5rem 0;
}
pre, code, kbd, samp { font-family: var(--d3-mono); }
pre {
	padding: 1rem;
	border: 1px solid var(--d3-border);
	border-radius: var(--d3-radius);
	background: #f0f0f2;
	overflow-x: auto;
}
blockquote {
	margin: 2rem 0;
	padding: 1.25rem 1.35rem;
	border: 1px solid var(--d3-border);
	border-left: 4px solid var(--d3-primary);
	border-radius: var(--d3-radius);
	background: var(--d3-surface-soft);
	color: var(--d3-text);
	font-size: 1.05rem;
}
:focus { outline: none; }
:focus-visible {
	outline: 3px solid rgba(14, 59, 115, .35);
	outline-offset: 3px;
	border-radius: 8px;
}
::selection {
	background: rgba(14, 59, 115, .18);
	color: var(--d3-heading);
}

/* ============================ Layout ============================ */
.d3-container {
	width: 100%;
	max-width: var(--d3-container);
	margin-inline: auto;
	padding-inline: clamp(20px, 4vw, 40px);
}
.site-content { padding: clamp(28px, 6vw, 76px) 0; }
.content-area {
	display: flex;
	align-items: flex-start;
	gap: clamp(28px, 5vw, 56px);
	width: 100%;
	max-width: var(--d3-container);
	margin-inline: auto;
}
.content-main {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
}
.widget-area {
	flex: 0 0 var(--d3-sidebar-width);
	min-width: 280px;
}
body.d3-no-sidebar .widget-area { display: none; }
body.d3-no-sidebar .content-main { width: 100%; }
body.d3-sidebar-left .content-area { flex-direction: row-reverse; }
.d3-builder .site-content { padding: 0; }
.d3-builder .content-area { display: block; max-width: none; }
.d3-builder .d3-container { max-width: 100%; padding: 0; }

/* ============================ Header ============================ */
.site-header {
	position: relative;
	z-index: 100;
	border-bottom: 1px solid var(--d3-border);
	background: rgba(255, 255, 255, .84);
	backdrop-filter: saturate(180%) blur(22px);
	-webkit-backdrop-filter: saturate(180%) blur(22px);
	transition: box-shadow var(--d3-transition-slow), background-color var(--d3-transition-slow), border-color var(--d3-transition-slow);
}
.site-header.is-sticky {
	position: sticky;
	top: 0;
	box-shadow: 0 1px 0 var(--d3-border), 0 12px 30px rgba(0, 0, 0, .04);
}
.d3-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 72px;
}
.site-branding {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}
.custom-logo-link img {
	display: block;
	width: auto;
	max-height: 44px;
}
.site-title {
	margin: 0;
	font-size: 1.16rem;
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.1;
}
.site-title a { color: var(--d3-heading); }
.site-title a:hover { color: var(--d3-primary); text-decoration: none; }
.site-description {
	margin: .18rem 0 0;
	font-size: .82rem;
	line-height: 1.25;
	color: var(--d3-muted);
}

/* ============================ Header zones ============================ */
.d3-hz {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}
.d3-hz-left { justify-content: flex-start; }
.d3-hz-center {
	flex: 1 1 auto;
	justify-content: center;
}
.d3-hz-right {
	margin-left: auto;
	justify-content: flex-end;
}
.d3-hz-center + .d3-hz-right { margin-left: 0; }
.d3-header-right {
	display: flex;
	align-items: center;
	gap: 10px;
}
.d3-inline-contact {
	display: flex;
	gap: 16px;
	font-size: .88rem;
}
.d3-inline-contact a {
	color: var(--d3-muted);
	text-decoration: none;
}
.d3-inline-contact a:hover { color: var(--d3-heading); }

/* Centered header */
body.d3-header-centered .d3-header-inner {
	flex-direction: column;
	gap: 12px;
	min-height: 0;
	padding-block: 18px 10px;
	text-align: center;
}
body.d3-header-centered .site-branding { flex-direction: column; gap: 6px; }
body.d3-header-centered .d3-header-right,
body.d3-header-centered .d3-hz {
	justify-content: center;
	margin-left: 0;
}

/* Transparent header */
@media (min-width: 922px) {
	body.d3-transparent-header .site-header {
		position: absolute;
		inset: var(--d3-tt, 0) 0 auto;
		z-index: 50;
		background: linear-gradient(to bottom, rgba(0, 0, 0, .28), rgba(0, 0, 0, 0));
		border-bottom-color: rgba(255, 255, 255, .18);
		box-shadow: none;
	}
	body.d3-transparent-header.admin-bar .site-header { top: 32px; }
	body.d3-transparent-header .site-title a,
	body.d3-transparent-header .site-description,
	body.d3-transparent-header .main-navigation a,
	body.d3-transparent-header .d3-inline-contact a {
		color: #fff;
	}
	body.d3-transparent-header .site-content { padding-top: 0; }
}

/* ============================ Navigation ============================ */
.main-navigation ul {
	display: flex;
	align-items: center;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.main-navigation li { position: relative; }
.main-navigation a {
	display: block;
	padding: .62rem .9rem;
	border-radius: 999px;
	color: var(--d3-heading);
	font-size: .93rem;
	font-weight: 520;
	letter-spacing: -.01em;
	text-decoration: none;
}
.main-navigation a:hover,
.main-navigation li:focus-within > a,
.main-navigation .current-menu-item > a {
	color: var(--d3-heading);
	background: rgba(0, 0, 0, .045);
	text-decoration: none;
}
@media (min-width: 922px) {
	.main-navigation ul ul {
		display: block;
		position: absolute;
		top: calc(100% + 10px);
		left: 0;
		z-index: 50;
		min-width: 220px;
		padding: 8px;
		border: 1px solid var(--d3-border);
		border-radius: var(--d3-radius-lg);
		background: rgba(255, 255, 255, .92);
		box-shadow: var(--d3-shadow-md);
		backdrop-filter: blur(22px) saturate(180%);
		-webkit-backdrop-filter: blur(22px) saturate(180%);
		opacity: 0;
		visibility: hidden;
		transform: translateY(6px) scale(.98);
		transform-origin: top left;
		transition: opacity var(--d3-transition), visibility var(--d3-transition), transform var(--d3-transition);
	}
	.main-navigation li:hover > ul,
	.main-navigation li:focus-within > ul {
		opacity: 1;
		visibility: visible;
		transform: translateY(0) scale(1);
	}
	.main-navigation ul ul a {
		border-radius: 12px;
		padding: .72rem .82rem;
		font-size: .92rem;
	}
	.main-navigation ul ul ul {
		top: 0;
		left: calc(100% + 8px);
	}
}
.d3-menu-panel { display: contents; }
.d3-menu-close,
.d3-mobile-contact,
.d3-submenu-toggle,
.d3-menu-overlay { display: none; }
.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--d3-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, .72);
	color: var(--d3-heading);
	font: inherit;
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--d3-transition), border-color var(--d3-transition), transform var(--d3-transition);
}
.menu-toggle:hover {
	background: #fff;
	border-color: var(--d3-border-strong);
	transform: translateY(-1px);
}
.menu-toggle .bars {
	position: relative;
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}
.menu-toggle .bars::before,
.menu-toggle .bars::after {
	content: "";
	position: absolute;
	left: 0;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}
.menu-toggle .bars::before { top: -6px; }
.menu-toggle .bars::after { top: 6px; }

@media (max-width: 921px) {
	.menu-toggle { display: inline-flex; }
	.d3-hz-left { flex: 1; }
	.d3-hz .d3-inline-contact,
	.d3-hz .d3-social.is-header,
	.d3-header-btn { display: none; }
	body.d3-header-centered .d3-header-inner {
		flex-direction: row;
		justify-content: space-between;
		text-align: left;
	}
	.site-header { position: relative; }
	.d3-menu-panel {
		display: block;
		position: fixed;
		inset: 0 0 0 auto;
		z-index: 1000;
		width: min(380px, 88vw);
		padding: 68px 22px 28px;
		overflow-y: auto;
		background: rgba(255, 255, 255, .94);
		box-shadow: -24px 0 70px rgba(0, 0, 0, .16);
		backdrop-filter: blur(28px) saturate(180%);
		-webkit-backdrop-filter: blur(28px) saturate(180%);
		transform: translateX(100%);
		transition: transform var(--d3-transition-slow);
	}
	.main-navigation.toggled .d3-menu-panel { transform: translateX(0); }
	.d3-menu-panel .menu {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 3px;
	}
	.main-navigation a {
		padding: 14px 10px;
		border-radius: 12px;
		font-size: 1rem;
		font-weight: 650;
	}
	.main-navigation .menu li { position: relative; }
	.main-navigation .menu .menu-item-has-children > a { padding-right: 48px; }
	.d3-submenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 2px;
		right: 0;
		width: 46px;
		height: 46px;
		border: 0;
		border-radius: 50%;
		background: transparent;
		color: var(--d3-muted);
		cursor: pointer;
	}
	.d3-submenu-toggle:hover { background: rgba(0, 0, 0, .05); color: var(--d3-heading); }
	.d3-caret {
		width: 8px;
		height: 8px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(-45deg);
	}
	.main-navigation .menu .sub-menu {
		display: block;
		position: fixed;
		inset: 0 0 0 auto;
		z-index: 1001;
		width: min(380px, 88vw);
		min-width: 0;
		padding: 8px 22px 28px;
		overflow-y: auto;
		border: 0;
		border-radius: 0;
		background: rgba(255, 255, 255, .96);
		box-shadow: -24px 0 70px rgba(0, 0, 0, .16);
		backdrop-filter: blur(28px) saturate(180%);
		-webkit-backdrop-filter: blur(28px) saturate(180%);
		opacity: 1;
		visibility: visible;
		transform: translateX(100%);
		transition: transform var(--d3-transition-slow);
	}
	.main-navigation .menu .sub-menu.is-active { transform: translateX(0); }
	.main-navigation .menu .sub-menu .sub-menu { z-index: 1002; }
	.main-navigation .menu .sub-menu .sub-menu .sub-menu { z-index: 1003; }
	.d3-submenu-back-wrap { position: relative; }
	.d3-submenu-back {
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		padding: 16px 4px;
		border: 0;
		border-bottom: 1px solid var(--d3-border);
		background: transparent;
		color: var(--d3-primary);
		font: inherit;
		font-weight: 700;
		text-align: left;
		cursor: pointer;
	}
	.d3-back-caret {
		width: 8px;
		height: 8px;
		border-left: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
	}
	.d3-menu-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 14px;
		right: 16px;
		z-index: 1100;
		width: 42px;
		height: 42px;
		border: 1px solid var(--d3-border);
		border-radius: 999px;
		background: rgba(255, 255, 255, .78);
		color: var(--d3-heading);
		font-size: 26px;
		line-height: 1;
		cursor: pointer;
	}
	.d3-menu-close:hover { background: #fff; }
	.d3-mobile-contact {
		display: block;
		margin-top: 24px;
		padding-top: 20px;
		border-top: 1px solid var(--d3-border);
	}
	.d3-contact-item {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 11px 0;
		color: var(--d3-heading);
		font-weight: 650;
		text-decoration: none;
	}
	.d3-contact-ico {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border-radius: 999px;
		background: var(--d3-primary-soft);
		color: var(--d3-primary);
		font-size: 16px;
	}
	.d3-menu-overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 999;
		background: rgba(0, 0, 0, .22);
		backdrop-filter: blur(4px);
		-webkit-backdrop-filter: blur(4px);
		opacity: 0;
		visibility: hidden;
		transition: opacity var(--d3-transition-slow), visibility var(--d3-transition-slow);
	}
	body.d3-menu-open .d3-menu-overlay {
		opacity: 1;
		visibility: visible;
	}
	body.d3-menu-open { overflow: hidden; }
}

/* ============================ Top bar ============================ */
.d3-topbar {
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	background: #111113;
	color: rgba(255, 255, 255, .86);
	font-size: .82rem;
}
.d3-topbar a {
	color: inherit;
	text-decoration: none;
}
.d3-topbar a:hover {
	color: #fff;
	text-decoration: none;
}
.d3-topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 38px;
}
.d3-topbar-left {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
}
@media (max-width: 921px) {
	.d3-topbar-inner { justify-content: center; }
	.d3-topbar-right { display: none; }
}

/* ============================ Search, social, buttons ============================ */
.d3-social {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.d3-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	color: inherit;
	text-decoration: none;
}
.d3-social-link:hover {
	background: rgba(0, 0, 0, .055);
	color: var(--d3-heading);
	text-decoration: none;
}
.site-footer .d3-social-link:hover,
.d3-social.is-footer .d3-social-link:hover {
	background: rgba(255, 255, 255, .12);
	color: #fff;
}
.d3-search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--d3-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, .72);
	color: var(--d3-heading);
	cursor: pointer;
}
.d3-search-toggle:hover {
	border-color: var(--d3-border-strong);
	background: #fff;
	color: var(--d3-primary);
}
.d3-search-panel {
	padding: 16px 0;
	border-top: 1px solid var(--d3-border);
	background: rgba(255, 255, 255, .88);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}
.d3-search-panel form {
	display: flex;
	gap: 10px;
}
.d3-header-btn { white-space: nowrap; }

.d3-btn,
button,
input[type="submit"],
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	min-height: 44px;
	padding: .72rem 1.1rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--d3-heading);
	color: #fff;
	font: inherit;
	font-size: .95rem;
	font-weight: 650;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform var(--d3-transition), box-shadow var(--d3-transition), background-color var(--d3-transition), border-color var(--d3-transition), color var(--d3-transition);
}
.d3-btn:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
	background: #000;
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: var(--d3-shadow-sm);
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
	width: 100%;
	max-width: 100%;
	padding: .8rem .95rem;
	border: 1px solid var(--d3-border);
	border-radius: 14px;
	background: #fff;
	color: var(--d3-text);
	font: inherit;
	transition: border-color var(--d3-transition), box-shadow var(--d3-transition), background-color var(--d3-transition);
}
textarea { min-height: 140px; resize: vertical; }
input:focus,
textarea:focus,
select:focus {
	border-color: rgba(14, 59, 115, .45);
	box-shadow: 0 0 0 4px rgba(14, 59, 115, .1);
}

/* ============================ Content ============================ */
.entry-header { margin-bottom: 1.4rem; }
.entry-title {
	font-size: clamp(2rem, 4.8vw, 3.7rem);
	letter-spacing: -.055em;
	line-height: .98;
}
.entry-title a {
	color: var(--d3-heading);
	text-decoration: none;
}
.entry-title a:hover { color: var(--d3-primary); }
.entry-meta {
	margin-bottom: 1rem;
	color: var(--d3-muted);
	font-size: .9rem;
}
.entry-meta a { color: var(--d3-muted); }
.entry-meta a:hover { color: var(--d3-primary); }
.post-thumbnail {
	display: block;
	margin-bottom: 1.5rem;
}
.post-thumbnail img {
	width: 100%;
	border-radius: var(--d3-radius-lg);
	box-shadow: var(--d3-shadow-xs);
}
.entry-content {
	font-size: 1.05rem;
	line-height: 1.78;
}
.entry-content > *:last-child { margin-bottom: 0; }
.entry-content a { text-decoration: underline; }
.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin-top: 2.15em;
}
.entry-content h2 { font-size: clamp(1.7rem, 3vw, 2.35rem); }
.entry-content h3 { font-size: clamp(1.35rem, 2.4vw, 1.75rem); }
.entry-content ul,
.entry-content ol { padding-left: 1.35rem; }
.entry-content li { margin-bottom: .45rem; }

/* ============================ Blog list and grid ============================ */
.d3-post {
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid var(--d3-border);
}
.d3-post:last-child { border-bottom: 0; }
.d3-post .entry-title { font-size: clamp(1.55rem, 3vw, 2.25rem); }
.d3-read-more {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	margin-top: .35rem;
	font-weight: 700;
}
.d3-read-more:hover { gap: .55rem; text-decoration: none; }
.d3-posts,
body.d3-blog-grid .d3-posts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr));
	gap: clamp(18px, 3vw, 28px);
	padding: 24px 0;
}
body.d3-blog-grid .d3-post {
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--d3-border);
	border-radius: var(--d3-radius-lg);
	background: var(--d3-surface);
	box-shadow: var(--d3-shadow-xs);
	transition: transform var(--d3-transition-slow), box-shadow var(--d3-transition-slow), border-color var(--d3-transition-slow);
}
body.d3-blog-grid .d3-post:hover {
	transform: translateY(-3px);
	border-color: var(--d3-border-strong);
	box-shadow: var(--d3-shadow-sm);
}
body.d3-blog-grid .d3-post .post-thumbnail { margin: 0; }
body.d3-blog-grid .d3-post .post-thumbnail img { border-radius: 0; box-shadow: none; }
body.d3-blog-grid .d3-post .d3-post-body { padding: 20px 22px 24px; }
@media (max-width: 680px) {
	.d3-posts,
	body.d3-blog-grid .d3-posts { grid-template-columns: 1fr; }
}

/* ============================ Widgets ============================ */
.widget {
	margin-bottom: 24px;
	padding: 22px;
	border: 1px solid var(--d3-border);
	border-radius: var(--d3-radius-lg);
	background: rgba(255, 255, 255, .76);
	box-shadow: var(--d3-shadow-xs);
}
.widget-title {
	display: block;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--d3-border);
	font-size: 1rem;
	letter-spacing: -.02em;
}
.widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.widget ul li {
	padding: 9px 0;
	border-bottom: 1px solid var(--d3-border);
}
.widget ul li:last-child { border-bottom: 0; }
.widget a { color: var(--d3-heading); }
.widget a:hover { color: var(--d3-primary); }

/* ============================ Footer ============================ */
.site-footer {
	margin-top: clamp(40px, 6vw, 72px);
	padding: clamp(42px, 6vw, 72px) 0;
	border-top: 1px solid rgba(255, 255, 255, .08);
	background:
		radial-gradient(circle at 50% 0, rgba(14, 59, 115, .18), transparent 34rem),
		var(--d3-footer-bg);
	color: var(--d3-footer-color);
}
.site-footer a {
	color: #fff;
	text-decoration: none;
}
.site-footer a:hover { color: #fff; opacity: .78; }
.d3-footer-widgets {
	display: grid;
	grid-template-columns: repeat(var(--d3-footer-cols, 3), minmax(0, 1fr));
	gap: clamp(22px, 4vw, 36px);
	margin-bottom: 28px;
}
.site-footer .widget {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.site-footer .widget-title {
	color: #fff;
	border-color: rgba(255, 255, 255, .12);
}
.site-footer .widget ul li { border-color: rgba(255, 255, 255, .1); }
.d3-footer-social {
	display: flex;
	justify-content: center;
	margin-bottom: 22px;
}
.d3-footer-bottom {
	display: flex;
	align-items: center;
	gap: 14px 22px;
	flex-wrap: wrap;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	font-size: .9rem;
}
.d3-footer-bottom.d3-align-center { justify-content: center; text-align: center; }
.d3-footer-bottom.d3-align-left { justify-content: flex-start; }
.d3-footer-bottom.d3-align-right { justify-content: flex-end; }
.d3-footer-bottom.d3-align-split { justify-content: space-between; }
.d3-footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.d3-footer-menu a { color: var(--d3-footer-color); }
.d3-footer-menu a:hover { color: #fff; }
@media (max-width: 782px) {
	.d3-footer-widgets { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.d3-footer-bottom { justify-content: center; text-align: center; }
}

/* ============================ Pagination and misc ============================ */
.d3-pagination { margin-top: 32px; }
.d3-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.d3-pagination li { margin: 0; }
.d3-pagination a.page-numbers,
.d3-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 13px;
	border: 1px solid var(--d3-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, .7);
	color: var(--d3-heading);
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}
.d3-pagination a.page-numbers:hover {
	border-color: var(--d3-border-strong);
	background: #fff;
	color: var(--d3-primary);
	box-shadow: var(--d3-shadow-xs);
}
.d3-pagination span.page-numbers.current {
	border-color: var(--d3-heading);
	background: var(--d3-heading);
	color: #fff;
}
.d3-pagination span.page-numbers.dots {
	border-color: transparent;
	background: transparent;
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	display: block;
	z-index: 100000;
	top: 10px;
	left: 10px;
	width: auto;
	height: auto;
	padding: 14px 20px;
	clip: auto !important;
	clip-path: none;
	border-radius: 999px;
	background: #fff;
	box-shadow: var(--d3-shadow-sm);
	color: var(--d3-primary);
	font-size: 1rem;
	font-weight: 800;
	line-height: normal;
	text-decoration: none;
}
.skip-link { position: absolute; left: -9999px; top: 0; }

.alignwide,
.alignfull {
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }

/* Back to top */
.d3-to-top {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 200;
	width: 46px;
	height: 46px;
	border: 1px solid var(--d3-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, .82);
	color: var(--d3-heading);
	box-shadow: var(--d3-shadow-sm);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	cursor: pointer;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity var(--d3-transition-slow), transform var(--d3-transition-slow), background-color var(--d3-transition), color var(--d3-transition);
}
.d3-to-top:hover {
	background: var(--d3-heading);
	color: #fff;
}
.d3-to-top.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ============================ WP required classes ============================ */
.sticky { display: block; }
.d3-post.sticky {
	padding: 22px;
	border: 1px solid var(--d3-border-strong);
	border-radius: var(--d3-radius-lg);
	background: var(--d3-surface);
}
.bypostauthor > .comment-body {
	padding: 12px;
	border-radius: var(--d3-radius);
	background: var(--d3-primary-soft);
}
.wp-caption {
	max-width: 100%;
	margin-bottom: 1.4em;
}
.wp-caption img {
	display: block;
	margin: 0 auto;
}
.wp-caption-text,
.gallery-caption,
.wp-block-image figcaption {
	padding: 8px 0;
	color: var(--d3-muted);
	font-size: .85rem;
	text-align: center;
}
.post-password-form input[type="password"] { max-width: 280px; }
.entry-tags { margin-top: 18px; }
.entry-tags a {
	display: inline-flex;
	align-items: center;
	margin: 0 6px 6px 0;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(0, 0, 0, .045);
	color: var(--d3-muted);
	font-size: .84rem;
	font-weight: 650;
	text-decoration: none;
}
.entry-tags a:hover {
	background: var(--d3-primary-soft);
	color: var(--d3-primary);
}
.d3-header-image { line-height: 0; }
.d3-header-image img {
	display: block;
	width: 100%;
	height: auto;
}
.wp-block-button.is-style-d3-outline .wp-block-button__link {
	border: 1px solid var(--d3-heading);
	background: transparent;
	color: var(--d3-heading);
}
.wp-block-button.is-style-d3-outline .wp-block-button__link:hover {
	background: var(--d3-heading);
	color: #fff;
}
.wp-block-image.is-style-d3-rounded img { border-radius: var(--d3-radius-lg); }

/* ============================================================
   Parental custom layer
   ============================================================ */

.parental-progress-bar {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100000;
	width: 100%;
	height: 3px;
	background: transparent;
}
#parental-progress-fill {
	width: 0%;
	height: 100%;
	border-radius: 0 999px 999px 0;
	background: linear-gradient(90deg, #0071e3, #5ac8fa);
	transition: width 100ms linear;
}

.parental-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 22px;
	color: var(--d3-subtle);
	font-size: .82rem;
	line-height: 1.35;
}
.parental-breadcrumbs a {
	color: var(--d3-muted);
	text-decoration: none;
}
.parental-breadcrumbs a:hover { color: var(--d3-primary); }
.parental-breadcrumb-sep {
	flex-shrink: 0;
	color: #c7c7cc;
}
.parental-breadcrumb-current { color: var(--d3-subtle); }

.parental-reading-mode-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 38px;
	margin-bottom: 26px;
	padding: 0 15px;
	border: 1px solid var(--d3-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	color: var(--d3-heading);
	font-size: .83rem;
	font-weight: 650;
	cursor: pointer;
	box-shadow: var(--d3-shadow-xs);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}
.parental-reading-mode-btn:hover {
	border-color: var(--d3-border-strong);
	background: #fff;
	transform: translateY(-1px);
}

/* Single post */
.parental-single-header {
	max-width: var(--d3-readable);
	margin: 0 auto 28px;
	text-align: left;
}
.parental-single-title {
	margin: 12px 0 0;
	color: var(--d3-heading);
	font-family: var(--d3-heading-font);
	font-size: clamp(2.1rem, 5.3vw, 4.65rem);
	font-weight: 760;
	letter-spacing: -.066em;
	line-height: .98;
}
.parental-single-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 18px;
	margin-top: 18px;
	color: var(--d3-muted);
	font-size: .88rem;
	line-height: 1.35;
}
.parental-single-meta svg { flex-shrink: 0; }
.parental-meta-date,
.parental-meta-reading {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.parental-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0 12px;
	border: 1px solid rgba(14, 59, 115, .12);
	border-radius: 999px;
	background: var(--d3-primary-soft);
	color: var(--d3-primary);
	font-size: .74rem;
	font-weight: 760;
	letter-spacing: .035em;
	text-transform: uppercase;
	text-decoration: none;
}
.parental-pill:hover {
	border-color: rgba(14, 59, 115, .22);
	background: rgba(14, 59, 115, .12);
	color: var(--d3-primary-hover);
	text-decoration: none;
}
.parental-featured-image {
	max-width: min(100%, 1040px);
	margin: 0 auto clamp(30px, 5vw, 48px);
	overflow: hidden;
	border: 1px solid var(--d3-border);
	border-radius: clamp(18px, 3vw, 32px);
	background: #e8e8ed;
	box-shadow: var(--d3-shadow-sm);
}
.parental-featured-image img {
	display: block;
	width: 100%;
	height: auto;
}
.parental-single-content {
	max-width: var(--d3-readable);
	margin-inline: auto;
	color: #2b2b2f;
	font-size: clamp(1.04rem, 1.25vw, 1.13rem);
	line-height: 1.82;
}
.parental-single-content p { margin-bottom: 1.45rem; }
.parental-single-content h2,
.parental-single-content h3 {
	font-family: var(--d3-heading-font);
	color: var(--d3-heading);
	font-weight: 760;
	letter-spacing: -.04em;
}
.parental-single-content h2 {
	margin: 2.5em 0 .8em;
	font-size: clamp(1.65rem, 3vw, 2.3rem);
	line-height: 1.05;
}
.parental-single-content h3 {
	margin: 2.1em 0 .7em;
	font-size: clamp(1.32rem, 2.4vw, 1.68rem);
	line-height: 1.12;
}
.parental-single-content blockquote {
	padding: 1.3rem 1.45rem;
	border: 1px solid var(--d3-border);
	border-left: 4px solid var(--d3-primary);
	border-radius: var(--d3-radius-lg);
	background: var(--d3-surface);
	box-shadow: var(--d3-shadow-xs);
	color: var(--d3-heading);
	font-size: 1.06rem;
	font-style: normal;
}
.parental-single-content ul,
.parental-single-content ol {
	padding-left: 1.35rem;
	margin: 0 0 1.45rem;
}
.parental-single-content li { margin-bottom: .52rem; }

.parental-post-tags {
	max-width: var(--d3-readable);
	margin: 44px auto 0;
	padding-top: 24px;
	border-top: 1px solid var(--d3-border);
}
.parental-tags-label {
	display: block;
	margin-bottom: 10px;
	color: var(--d3-heading);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.parental-tags-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.parental-tag-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0 12px;
	border: 1px solid var(--d3-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, .72);
	color: var(--d3-muted);
	font-size: .78rem;
	font-weight: 650;
	text-decoration: none;
}
.parental-tag-pill:hover {
	border-color: rgba(14, 59, 115, .22);
	background: var(--d3-primary-soft);
	color: var(--d3-primary);
	text-decoration: none;
}

/* Related posts */
.parental-related-posts {
	max-width: var(--d3-container);
	margin: clamp(48px, 7vw, 76px) auto 0;
	padding-top: clamp(28px, 5vw, 42px);
	border-top: 1px solid var(--d3-border);
}
.parental-related-title {
	margin-bottom: 22px;
	color: var(--d3-heading);
	font-family: var(--d3-heading-font);
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	font-weight: 760;
	letter-spacing: -.04em;
}
.parental-related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	gap: 18px;
}
.parental-related-card {
	display: block;
	overflow: hidden;
	border: 1px solid var(--d3-border);
	border-radius: var(--d3-radius-lg);
	background: var(--d3-surface);
	box-shadow: var(--d3-shadow-xs);
	text-decoration: none;
	transition: transform var(--d3-transition-slow), box-shadow var(--d3-transition-slow), border-color var(--d3-transition-slow);
}
.parental-related-card:hover {
	border-color: var(--d3-border-strong);
	box-shadow: var(--d3-shadow-sm);
	transform: translateY(-3px);
	text-decoration: none;
}
.parental-related-thumb {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #e8e8ed;
}
.parental-related-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--d3-transition-slow);
}
.parental-related-card:hover .parental-related-thumb img { transform: scale(1.025); }
.parental-related-body { padding: 16px 17px 18px; }
.parental-related-cat {
	display: inline-flex;
	margin-bottom: 6px;
	color: var(--d3-primary);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.parental-related-title-sm {
	margin: 0;
	color: var(--d3-heading);
	font-size: 1rem;
	font-weight: 720;
	letter-spacing: -.025em;
	line-height: 1.22;
}

/* Reading mode */
.parental-reading-mode-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	overflow-y: auto;
	background: rgba(245, 245, 247, .96);
	backdrop-filter: blur(24px) saturate(160%);
	-webkit-backdrop-filter: blur(24px) saturate(160%);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--d3-transition-slow), visibility var(--d3-transition-slow);
}
.parental-reading-mode-overlay.active {
	opacity: 1;
	visibility: visible;
}
.parental-reading-mode-content {
	max-width: var(--d3-readable);
	margin: clamp(52px, 8vw, 90px) auto;
	padding: 0 24px 90px;
}
.parental-reading-mode-close {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 100000;
	width: 44px;
	height: 44px;
	border: 1px solid var(--d3-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, .82);
	color: var(--d3-heading);
	box-shadow: var(--d3-shadow-xs);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	cursor: pointer;
}
.parental-reading-mode-close:hover {
	background: var(--d3-heading);
	color: #fff;
}

/* Cards */
.parental-card {
	overflow: hidden;
	margin-bottom: 24px;
	border: 1px solid var(--d3-border);
	border-radius: var(--d3-radius-lg);
	background: var(--d3-surface);
	box-shadow: var(--d3-shadow-xs);
	transition: transform var(--d3-transition-slow), box-shadow var(--d3-transition-slow), border-color var(--d3-transition-slow);
}
.parental-card:hover {
	border-color: var(--d3-border-strong);
	box-shadow: var(--d3-shadow-sm);
	transform: translateY(-3px);
}
.parental-card-thumb {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #e8e8ed;
}
.parental-card-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--d3-transition-slow);
}
.parental-card:hover .parental-card-thumb img { transform: scale(1.025); }
.parental-card-body { padding: 20px 21px 22px; }
.parental-card-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-bottom: 11px;
	color: var(--d3-muted);
	font-size: .78rem;
	line-height: 1.35;
}
.parental-card-title {
	margin: 0 0 10px;
	color: var(--d3-heading);
	font-family: var(--d3-heading-font);
	font-size: clamp(1.2rem, 2.3vw, 1.45rem);
	font-weight: 760;
	letter-spacing: -.04em;
	line-height: 1.08;
}
.parental-card-title a {
	color: inherit;
	text-decoration: none;
}
.parental-card-title a:hover { color: var(--d3-primary); }
.parental-card-excerpt {
	margin-bottom: 16px;
	color: var(--d3-muted);
	font-size: .92rem;
	line-height: 1.58;
}
.parental-card-excerpt p { margin: 0; }
.parental-card-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--d3-primary);
	font-size: .86rem;
	font-weight: 750;
	text-decoration: none;
}
.parental-card-link:hover {
	gap: 10px;
	text-decoration: none;
}

/* Cookie banner */
.parental-cookie-banner {
	display: flex;
	align-items: center;
	gap: 16px;
	position: fixed;
	left: 50%;
	bottom: 22px;
	z-index: 99998;
	width: min(92vw, 680px);
	padding: 18px 20px;
	border: 1px solid var(--d3-border);
	border-radius: 22px;
	background: rgba(255, 255, 255, .86);
	box-shadow: var(--d3-shadow-md);
	backdrop-filter: blur(24px) saturate(180%);
	-webkit-backdrop-filter: blur(24px) saturate(180%);
	transform: translateX(-50%);
}
.parental-cookie-content { flex: 1; }
.parental-cookie-content p {
	margin: 0;
	color: var(--d3-muted);
	font-size: .84rem;
	line-height: 1.45;
}
.parental-cookie-content a {
	color: var(--d3-primary);
	text-decoration: underline;
}
.parental-cookie-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 18px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--d3-heading);
	color: #fff;
	font-size: .84rem;
	font-weight: 750;
	white-space: nowrap;
	cursor: pointer;
}
.parental-cookie-btn:hover {
	background: #000;
	box-shadow: var(--d3-shadow-xs);
	transform: translateY(-1px);
}

/* ============================ Responsive ============================ */
@media (max-width: 921px) {
	.content-area {
		display: block;
		padding-inline: clamp(20px, 4vw, 32px);
	}
	.widget-area {
		min-width: 0;
		margin-top: 40px;
	}
}
@media (max-width: 768px) {
	:root { --d3-font-size: 16px; }
	.site-content { padding-block: 30px 48px; }
	.parental-related-grid { grid-template-columns: 1fr; }
	.parental-card-body { padding: 17px; }
	.parental-cookie-banner {
		bottom: 12px;
		flex-direction: column;
		align-items: stretch;
		padding: 16px;
		text-align: center;
	}
	.parental-cookie-btn { width: 100%; }
}
@media (max-width: 544px) {
	.d3-container,
	.content-area { padding-inline: 16px; }
	.parental-breadcrumbs { font-size: .78rem; }
	.parental-single-meta { font-size: .82rem; }
	.parental-single-content { line-height: 1.75; }
}

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

/* ============================================================
   PARENTAL REFINEMENT V2
   Azul institucional, leitura justificada e espaçamentos premium
   ============================================================ */

:root {
	--d3-primary: #0e3b73;
	--d3-primary-hover: #082a55;
	--d3-primary-soft: rgba(14, 59, 115, .075);
	--d3-primary-softer: rgba(14, 59, 115, .045);
	--d3-primary-ring: rgba(14, 59, 115, .18);

	--d3-bg: #f6f6f4;
	--d3-surface: #ffffff;
	--d3-surface-soft: #fbfbfa;
	--d3-text: #242426;
	--d3-heading: #0f1012;
	--d3-muted: #676b73;
	--d3-subtle: #8b8f98;
	--d3-border: rgba(15, 16, 18, .085);
	--d3-border-strong: rgba(15, 16, 18, .14);
	--d3-shadow-xs: 0 1px 2px rgba(15, 16, 18, .035);
	--d3-shadow-sm: 0 8px 24px rgba(15, 16, 18, .055);
	--d3-shadow-md: 0 22px 58px rgba(15, 16, 18, .075);
}

body {
	background:
		radial-gradient(circle at 50% -14%, rgba(14, 59, 115, .075), transparent 35rem),
		linear-gradient(180deg, #fbfbfa 0%, var(--d3-bg) 42rem);
}

/* Links e estados com azul institucional */
a,
.entry-title a:hover,
.widget a:hover,
.site-title a:hover,
.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.parental-card-title a:hover,
.parental-card-link,
.parental-related-cat,
.parental-cookie-content a {
	color: var(--d3-primary);
}

a:hover,
a:focus,
.parental-card-link:hover {
	color: var(--d3-primary-hover);
}

::selection {
	background: rgba(14, 59, 115, .16);
	color: var(--d3-heading);
}

:focus-visible {
	outline-color: rgba(14, 59, 115, .32);
}

input:focus,
textarea:focus,
select:focus {
	border-color: rgba(14, 59, 115, .42);
	box-shadow: 0 0 0 4px rgba(14, 59, 115, .095);
}

/* Leitura editorial: alinhamento justificado com controle de ritmo */
.entry-content,
.parental-single-content {
	text-align: justify;
	text-justify: inter-word;
	hyphens: auto;
	-webkit-hyphens: auto;
	overflow-wrap: break-word;
}

.entry-content p,
.parental-single-content p {
	margin-bottom: 1.22rem;
}

.entry-content p + p,
.parental-single-content p + p {
	margin-top: 0;
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.parental-single-content h2,
.parental-single-content h3,
.parental-related-title,
.parental-card-title,
.parental-related-title-sm,
.entry-title,
.parental-single-title {
	text-align: left;
	text-wrap: balance;
}

.parental-single-content h2 {
	margin: 2.25em 0 .68em;
}

.parental-single-content h3 {
	margin: 1.9em 0 .62em;
}

.entry-content ul,
.entry-content ol,
.parental-single-content ul,
.parental-single-content ol {
	margin-bottom: 1.25rem;
	padding-left: 1.28rem;
}

.entry-content li,
.parental-single-content li {
	margin-bottom: .42rem;
	padding-left: .08rem;
}

.entry-content li:last-child,
.parental-single-content li:last-child {
	margin-bottom: 0;
}

/* Citações: padding simétrico e sem sobra inferior herdada de parágrafos */
blockquote,
.entry-content blockquote,
.parental-single-content blockquote {
	position: relative;
	margin: 1.45rem 0;
	padding: 1.08rem 1.22rem;
	border: 1px solid var(--d3-border);
	border-left: 4px solid var(--d3-primary);
	border-radius: 18px;
	background: linear-gradient(180deg, #fff 0%, var(--d3-surface-soft) 100%);
	box-shadow: var(--d3-shadow-xs);
	color: var(--d3-heading);
	font-size: 1.02rem;
	font-style: normal;
	line-height: 1.68;
	text-align: justify;
	text-justify: inter-word;
}

blockquote::before,
.entry-content blockquote::before,
.parental-single-content blockquote::before {
	content: "";
	position: absolute;
	inset: 12px auto 12px -4px;
	width: 4px;
	border-radius: 999px;
	background: var(--d3-primary);
}

blockquote > :first-child,
.entry-content blockquote > :first-child,
.parental-single-content blockquote > :first-child {
	margin-top: 0 !important;
}

blockquote > :last-child,
.entry-content blockquote > :last-child,
.parental-single-content blockquote > :last-child {
	margin-bottom: 0 !important;
}

blockquote p,
.entry-content blockquote p,
.parental-single-content blockquote p {
	margin: 0 0 .78rem;
}

blockquote p:last-child,
.entry-content blockquote p:last-child,
.parental-single-content blockquote p:last-child {
	margin-bottom: 0 !important;
}

/* Cards: menos ruído, mais precisão visual */
.parental-card,
.parental-related-card,
body.d3-blog-grid .d3-post,
.widget {
	border-color: rgba(15, 16, 18, .075);
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 1px 2px rgba(15, 16, 18, .035), 0 10px 30px rgba(15, 16, 18, .035);
}

.parental-card:hover,
.parental-related-card:hover,
body.d3-blog-grid .d3-post:hover {
	border-color: rgba(14, 59, 115, .18);
	box-shadow: 0 1px 2px rgba(15, 16, 18, .035), 0 18px 44px rgba(15, 16, 18, .07);
	transform: translateY(-2px);
}

.parental-card-body,
.parental-related-body,
body.d3-blog-grid .d3-post .d3-post-body {
	padding: clamp(18px, 2.2vw, 24px);
}

.parental-card-meta,
.parental-single-meta,
.entry-meta {
	gap: .72rem;
	color: var(--d3-muted);
	letter-spacing: .005em;
}

.parental-card-excerpt {
	margin-bottom: 1rem;
	color: #5f6470;
	line-height: 1.62;
	text-align: left;
}

.parental-pill,
.parental-tag-pill,
.entry-tags a {
	border: 1px solid rgba(14, 59, 115, .11);
	background: var(--d3-primary-soft);
	color: var(--d3-primary);
}

.parental-pill:hover,
.parental-tag-pill:hover,
.entry-tags a:hover {
	border-color: rgba(14, 59, 115, .2);
	background: rgba(14, 59, 115, .11);
	color: var(--d3-primary-hover);
}

/* Estrutura: respiro consistente e acabamento editorial */
.site-content {
	padding-block: clamp(34px, 5.4vw, 72px);
}

.content-area {
	gap: clamp(30px, 4.5vw, 54px);
}

.parental-single-header {
	max-width: var(--d3-readable);
	margin-inline: auto;
	margin-bottom: clamp(24px, 3vw, 34px);
}

.parental-featured-image {
	margin-bottom: clamp(28px, 4vw, 42px);
}

.parental-post-tags,
.parental-related-posts {
	margin-top: clamp(36px, 5vw, 52px);
	padding-top: clamp(22px, 3vw, 32px);
}

/* Botões mais sóbrios */
.d3-btn,
button,
input[type="submit"],
.wp-block-button__link,
.parental-cookie-btn {
	background: var(--d3-primary);
	border-color: transparent;
	box-shadow: none;
}

.d3-btn:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.parental-cookie-btn:hover {
	background: var(--d3-primary-hover);
	box-shadow: 0 8px 20px rgba(14, 59, 115, .16);
}

/* Header e menu: acabamento translúcido discreto */
.site-header {
	background: rgba(255, 255, 255, .88);
	border-bottom-color: rgba(15, 16, 18, .075);
}

.main-navigation a {
	letter-spacing: -.006em;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a {
	background: rgba(14, 59, 115, .07);
	color: var(--d3-primary);
}

/* Banner de cookies: mais leve e alinhado */
.parental-cookie-banner {
	border-color: rgba(15, 16, 18, .08);
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 18px 52px rgba(15, 16, 18, .12);
}

.parental-cookie-content p {
	margin: 0;
	text-align: left;
}

@media (max-width: 768px) {
	.entry-content,
	.parental-single-content,
	blockquote,
	.entry-content blockquote,
	.parental-single-content blockquote {
		text-align: left;
	}

	blockquote,
	.entry-content blockquote,
	.parental-single-content blockquote {
		margin: 1.2rem 0;
		padding: 1rem 1.05rem;
		border-radius: 16px;
	}

	.parental-cookie-content p {
		text-align: center;
	}
}

/* ================================================
   PARENTAL v4 — Premium Legal Editorial
   Override layer for d3-lite theme
   Apple News Format inspired
   ================================================ */

/* -------------------- 1. GLOBAL TOKENS -------------------- */
:root {
 --parental-document: 1280px;
 --parental-listing: 1120px;
 --parental-reading: 760px;
 --parental-reading-wide: 820px;
 --parental-special: 920px;
 --parental-gutter: 24px;

 --parental-bg: #ffffff;
 --parental-bg-secondary: #f8f8f9;
 --parental-card: #ffffff;

 --parental-ink: #1d1d1f;
 --parental-text: #424245;
 --parental-muted: #86868b;
 --parental-line: rgba(0,0,0,.08);

 --parental-blue: #0e3b73;
 --parental-blue-dark: #082b55;
 --parental-blue-soft: rgba(14,59,115,.075);

 --parental-accent: #fdaf12;
 --parental-accent-soft: rgba(253,175,18,.12);
 --parental-accent-border: rgba(253,175,18,.24);

 --parental-success: #30d158;
 --parental-warning: #ff9f0a;
 --parental-error: #ff453a;
 --parental-info: #64d2ff;

 --parental-ease: cubic-bezier(.2,.8,.2,1);

 --parental-font: -apple-system, BlinkMacSystemFont, "Inter", "Roboto", "Segoe UI", system-ui, sans-serif;
}

/* Override WordPress core presets - prevent old blues */
:root {
 --wp--preset--color--primary: #0e3b73 !important;
 --wp--preset--color--heading: #1d1d1f !important;
 --wp--preset--color--text: #1d1d1f !important;
}

/* Kill any #f5f5f7, #2563eb, #2664eb, #1d4ed8, #4338ca, #3730a3 from appearing */
body,
.site-content,
.content-area,
.d3-container  {
 background-color: #f8f8f9 !important;
}

body.custom-background {
 background-color: #f8f8f9 !important;
}

/* Header with glassmorphism */
.site-header {
 min-height: 72px !important;
 background: rgba(255,255,255,.86) !important;
 backdrop-filter: saturate(180%) blur(24px) !important;
 -webkit-backdrop-filter: saturate(180%) blur(24px) !important;
 border-bottom: 1px solid rgba(0,0,0,.05) !important;
 box-shadow: 0 1px 0 rgba(0,0,0,.03) !important;
}

/* Header inner grid: logo left, menu center, search right */
.d3-header-inner {
 min-height: 72px !important;
 display: grid !important;
 grid-template-columns: auto 1fr auto !important;
 align-items: center !important;
 gap: 24px !important;
}

.d3-hz-left {
 justify-self: start !important;
}

.d3-hz-center {
 justify-self: center !important;
}

.d3-hz-right {
 justify-self: end !important;
}

/* Header zones: logo block */
.d3-hz .site-branding {
 display: flex !important;
 align-items: center !important;
 gap: 6px !important;
}

.d3-hz .site-branding .custom-logo-link img {
 max-height: 52px !important;
 width: auto !important;
}

.d3-hz .site-branding .site-title {
 margin: 0 !important;
}

.d3-hz .site-branding .site-title a {
 color: #1d1d1f !important;
 font-size: 18px !important;
 font-weight: 700 !important;
 letter-spacing: -.03em !important;
 text-decoration: none !important;
}

.d3-hz .site-branding .site-description {
 display: none !important;
}

/* Header nav links */
.d3-hz .main-navigation .menu {
 display: flex !important;
 align-items: center !important;
 gap: 4px !important;
 list-style: none !important;
 margin: 0 !important;
 padding: 0 !important;
}

.d3-hz .main-navigation .menu > li > a {
 display: flex !important;
 align-items: center !important;
 padding: 8px 14px !important;
 border-radius: 999px !important;
 color: #424245 !important;
 font-size: 14px !important;
 font-weight: 500 !important;
 text-decoration: none !important;
 transition: background .2s var(--parental-ease), color .2s var(--parental-ease) !important;
}

.d3-hz .main-navigation .menu > li > a:hover {
 background: rgba(14,59,115,.06) !important;
 color: #0e3b73 !important;
}

/* Search button - circular */
.d3-search-toggle {
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 width: 40px !important;
 height: 40px !important;
 padding: 0 !important;
 border-radius: 999px !important;
 border: 1px solid rgba(0,0,0,.08) !important;
 background: transparent !important;
 color: #424245 !important;
 cursor: pointer !important;
 transition: background .2s var(--parental-ease), color .2s var(--parental-ease) !important;
}

.d3-search-toggle:hover {
 background: rgba(14,59,115,.06) !important;
 color: #0e3b73 !important;
}

/* Hide site description in header */
.site-header .site-description {
 display: none !important;
}

/* -------------------- 2. LAYOUT & GRID -------------------- */

body {
 font-family: var(--parental-font) !important;
 color: #1d1d1f !important;
 background: #f8f8f9 !important;
}

/* Container overrides */
.d3-container {
 max-width: var(--parental-document) !important;
 padding-left: 24px !important;
 padding-right: 24px !important;
}

/* Listings: single column, no images */
.archive .d3-posts,
.tag .d3-posts,
.category .d3-posts,
.blog .d3-posts,
.home .d3-posts {
 display: grid !important;
 grid-template-columns: 1fr !important;
 max-width: var(--parental-listing) !important;
 margin-inline: auto !important;
 gap: 42px !important;
}

.archive .post-thumbnail,
.tag .post-thumbnail,
.category .post-thumbnail,
.blog .post-thumbnail,
.home .post-thumbnail,
.archive .d3-post .post-thumbnail,
.tag .d3-post .post-thumbnail,
.category .d3-post .post-thumbnail,
.blog .d3-post .post-thumbnail,
.home .d3-post .post-thumbnail {
 display: none !important;
}

/* -------------------- 3. CARDS PREMIUM -------------------- */

.d3-post,
.parental-card {
 background: #fff !important;
 border: 1px solid rgba(0,0,0,.08) !important;
 border-radius: 28px !important;
 padding: 36px 40px !important;
 box-shadow: none !important;
 transition: transform 500ms var(--parental-ease), box-shadow 500ms var(--parental-ease), border-color 500ms var(--parental-ease) !important;
}

.d3-post:hover,
.parental-card:hover {
 transform: translateY(-2px) !important;
 box-shadow: 0 8px 30px rgba(0,0,0,.04) !important;
 border-color: rgba(14,59,115,.12) !important;
}

.d3-post .entry-header,
.parental-card .entry-header {
 display: none !important;
}

.d3-post .entry-content,
.parental-card .entry-content {
 display: none !important;
}

.d3-post .entry-footer,
.parental-card .entry-footer {
 display: none !important;
}

/* -------------------- 4. CARD META (EYEBROW) -------------------- */

.parental-card-meta,
.entry-meta {
 display: flex !important;
 align-items: center !important;
 flex-wrap: wrap !important;
 gap: 8px 12px !important;
 margin-bottom: 18px !important;
 color: #86868b !important;
 font-size: 11px !important;
 font-weight: 600 !important;
 line-height: 1 !important;
 letter-spacing: .15em !important;
 text-transform: uppercase !important;
}

.parental-card-meta a,
.entry-meta a,
.cat-links a {
 display: inline-flex !important;
 align-items: center !important;
 min-height: 28px !important;
 padding: 0 12px !important;
 border-radius: 999px !important;
 background: rgba(14,59,115,.06) !important;
 color: #0e3b73 !important;
 font-size: 11px !important;
 font-weight: 600 !important;
 letter-spacing: .15em !important;
 text-transform: uppercase !important;
 text-decoration: none !important;
}

/* AI/Tech badges get yellow accent */
.parental-card-meta a[href*="artificial"],
.parental-card-meta a[href*="inteligencia"],
.parental-card-meta a[href*="ciberseguranca"],
.entry-meta a[href*="artificial"],
.entry-meta a[href*="inteligencia"],
.entry-meta a[href*="ciberseguranca"] {
 background: var(--parental-accent-soft) !important;
 border: 1px solid var(--parental-accent-border) !important;
 color: #8b5c00 !important;
}

.parental-meta-date,
.parental-meta-reading {
 display: inline-flex !important;
 align-items: center !important;
 gap: 4px !important;
 color: #86868b !important;
 font-size: 11px !important;
 font-weight: 600 !important;
 letter-spacing: .12em !important;
 text-transform: uppercase !important;
}

/* -------------------- 5. CARD TITLE (UPPERCASE) -------------------- */

.parental-card-title,
h2.parental-card-title,
.d3-post .entry-title {
 font-size: clamp(1.7rem, 2.72vw, 2.76rem) !important;
 line-height: 1.1 !important;
 letter-spacing: -.025em !important;
 text-transform: uppercase !important;
 font-weight: 700 !important;
 color: #1d1d1f !important;
 margin: 0 0 14px !important;
 text-wrap: balance !important;
}

.parental-card-title a,
h2.parental-card-title a,
.d3-post .entry-title a {
 color: #1d1d1f !important;
 text-decoration: none !important;
}

.parental-card-title a:hover,
h2.parental-card-title a:hover {
 color: #0e3b73 !important;
}

/* -------------------- 6. CARD EXCERPT -------------------- */

.parental-card-excerpt {
 color: #424245 !important;
 font-size: .95rem !important;
 line-height: 1.55 !important;
 margin-bottom: 20px !important;
}

.parental-card-excerpt p {
 margin: 0 !important;
 display: -webkit-box !important;
 -webkit-line-clamp: 3 !important;
 -webkit-box-orient: vertical !important;
 overflow: hidden !important;
 color: #424245 !important;
 font-size: .95rem !important;
 line-height: 1.55 !important;
}

/* -------------------- 7. CARD CTA -------------------- */

.parental-card-link {
 display: inline-flex !important;
 align-items: center !important;
 gap: 8px !important;
 color: #0e3b73 !important;
 font-size: 13px !important;
 font-weight: 600 !important;
 letter-spacing: .12em !important;
 text-transform: uppercase !important;
 text-decoration: none !important;
 transition: gap .25s var(--parental-ease) !important;
}

.parental-card-link:hover {
 gap: 12px !important;
}

.parental-card-link svg {
 transition: transform .25s var(--parental-ease) !important;
}

.parental-card-link:hover svg {
 transform: translateX(2px) !important;
}

/* -------------------- 8. SINGLE POST -------------------- */

/* Reading width */
.single .parental-content-area,
.parental-single-wrapper {
 max-width: var(--parental-reading) !important;
 margin-inline: auto !important;
}

.parental-single-title {
 font-size: clamp(2.35rem, 5vw, 4.5rem) !important;
 line-height: 1.04 !important;
 letter-spacing: -.06em !important;
 font-weight: 700 !important;
 color: #1d1d1f !important;
 margin: 0 0 8px !important;
 text-wrap: balance !important;
}

.parental-single-header {
 margin-bottom: 36px !important;
}

.parental-single-meta {
 display: flex !important;
 align-items: center !important;
 flex-wrap: wrap !important;
 gap: 12px 20px !important;
 color: #86868b !important;
 font-size: 13px !important;
}

.parental-single-meta svg {
 opacity: .6 !important;
}

/* Single content */
.parental-single-content {
 font-size: clamp(1.05rem, 1.5vw, 1.125rem) !important;
 line-height: 1.6 !important;
 color: #1d1d1f !important;
}

@media (min-width: 769px) {
 .parental-single-content {
  text-align: justify !important;
  hyphens: auto !important;
 }
}

/* H1 in content -> style as H2 */
h1.wp-block-heading {
 font-size: clamp(1.65rem, 3vw, 2.45rem) !important;
 line-height: 1.2 !important;
 letter-spacing: -.045em !important;
 font-weight: 700 !important;
 color: #1d1d1f !important;
 margin-top: 40px !important;
 margin-bottom: 16px !important;
}

/* H2 in content */
h2.wp-block-heading {
 font-size: clamp(1.65rem, 3vw, 2.45rem) !important;
 line-height: 1.2 !important;
 letter-spacing: -.045em !important;
 font-weight: 700 !important;
 color: #1d1d1f !important;
 margin-top: 40px !important;
}

/* H3 */
h3.wp-block-heading {
 font-size: clamp(1.35rem, 2.2vw, 1.85rem) !important;
 line-height: 1.25 !important;
 letter-spacing: -.035em !important;
 font-weight: 650 !important;
 color: #1d1d1f !important;
 margin-top: 32px !important;
}

/* -------------------- 9. BLOCKQUOTES -------------------- */

blockquote,
.wp-block-quote {
 margin: 36px 0 !important;
 padding: 20px 28px !important;
 border-left: 3px solid #0e3b73 !important;
 border-radius: 0 20px 20px 0 !important;
 background: rgba(14,59,115,.055) !important;
 font-style: italic !important;
 color: #424245 !important;
}

blockquote p,
.wp-block-quote p {
 margin: 0 !important;
 font-size: 1.1em !important;
 line-height: 1.65 !important;
}

/* -------------------- 10. BREADCRUMBS -------------------- */

.parental-breadcrumbs {
 display: flex !important;
 align-items: center !important;
 flex-wrap: wrap !important;
 gap: 6px !important;
 margin-bottom: 28px !important;
 font-size: 12px !important;
 font-weight: 500 !important;
 color: #86868b !important;
}

.parental-breadcrumbs a {
 color: #86868b !important;
 text-decoration: none !important;
}

.parental-breadcrumbs a:hover {
 color: #0e3b73 !important;
}

.parental-breadcrumb-sep {
 opacity: .5 !important;
}

.parental-breadcrumb-current {
 color: #1d1d1f !important;
}

/* -------------------- 11. ARCHIVE/CATEGORY HEADER -------------------- */

.archive-header,
.category .page-header,
.tag .page-header {
 max-width: var(--parental-listing) !important;
 margin-inline: auto !important;
 margin-bottom: 36px !important;
}

.archive-title,
.page-title {
 font-size: clamp(2.5rem, 5vw, 4.6rem) !important;
 line-height: 1.04 !important;
 letter-spacing: -.06em !important;
 font-weight: 700 !important;
 color: #1d1d1f !important;
 margin: 0 !important;
}

.archive-description {
 color: #424245 !important;
 font-size: 1.05rem !important;
 line-height: 1.5 !important;
 margin-top: 12px !important;
}

/* -------------------- 12. TAG PILLS -------------------- */

.parental-post-tags {
 display: flex !important;
 align-items: flex-start !important;
 gap: 12px !important;
 margin-top: 40px !important;
 padding-top: 28px !important;
 border-top: 1px solid rgba(0,0,0,.08) !important;
}

.parental-tags-label {
 font-size: 12px !important;
 font-weight: 600 !important;
 letter-spacing: .12em !important;
 text-transform: uppercase !important;
 color: #86868b !important;
 margin-top: 4px !important;
}

.parental-tags-list {
 display: flex !important;
 flex-wrap: wrap !important;
 gap: 8px !important;
}

.parental-tag-pill {
 display: inline-flex !important;
 align-items: center !important;
 padding: 6px 16px !important;
 border-radius: 9999px !important;
 background: rgba(0,0,0,.04) !important;
 color: #424245 !important;
 font-size: 13px !important;
 font-weight: 500 !important;
 text-decoration: none !important;
 transition: background .2s, color .2s !important;
}

.parental-tag-pill:hover {
 background: rgba(14,59,115,.08) !important;
 color: #0e3b73 !important;
}

/* -------------------- 13. RELATED POSTS -------------------- */

.parental-related-posts {
 margin-top: 48px !important;
 padding-top: 32px !important;
 border-top: 1px solid rgba(0,0,0,.08) !important;
}

.parental-related-title {
 font-size: 16px !important;
 font-weight: 700 !important;
 letter-spacing: .02em !important;
 color: #1d1d1f !important;
 margin-bottom: 20px !important;
}

.parental-related-grid {
 display: grid !important;
 grid-template-columns: repeat(3, 1fr) !important;
 gap: 20px !important;
}

.parental-related-card {
 display: block !important;
 background: #fff !important;
 border: 1px solid rgba(0,0,0,.08) !important;
 border-radius: 20px !important;
 padding: 20px !important;
 text-decoration: none !important;
 transition: box-shadow .2s var(--parental-ease) !important;
}

.parental-related-card:hover {
 box-shadow: 0 4px 20px rgba(0,0,0,.04) !important;
}

.parental-related-thumb {
 margin: -20px -20px 12px !important;
 border-radius: 20px 20px 0 0 !important;
 overflow: hidden !important;
}

.parental-related-thumb img {
 width: 100% !important;
 height: auto !important;
 display: block !important;
}

.parental-related-cat {
 display: inline-block !important;
 color: #0e3b73 !important;
 font-size: 11px !important;
 font-weight: 600 !important;
 letter-spacing: .15em !important;
 text-transform: uppercase !important;
 margin-bottom: 6px !important;
}

.parental-related-title-sm {
 font-size: 15px !important;
 font-weight: 600 !important;
 line-height: 1.3 !important;
 color: #1d1d1f !important;
 margin: 0 !important;
}

/* -------------------- 14. PAGINATION -------------------- */

.d3-pagination,
.pagination {
 margin-top: 48px !important;
}

.d3-pagination ul,
.pagination ul {
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 gap: 6px !important;
 list-style: none !important;
 margin: 0 !important;
 padding: 0 !important;
}

.d3-pagination li a,
.d3-pagination li span,
.pagination li a,
.pagination li span {
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 min-width: 40px !important;
 height: 40px !important;
 padding: 0 12px !important;
 border-radius: 9999px !important;
 background: transparent !important;
 color: #424245 !important;
 font-size: 14px !important;
 font-weight: 500 !important;
 text-decoration: none !important;
 transition: background .2s var(--parental-ease), color .2s var(--parental-ease) !important;
}

.d3-pagination li a:hover,
.pagination li a:hover {
 background: rgba(14,59,115,.06) !important;
}

.d3-pagination li .current,
.pagination li .current {
 background: #0e3b73 !important;
 color: #fff !important;
}

/* -------------------- 15. POST NAVIGATION -------------------- */

.post-navigation {
 margin-top: 40px !important;
}

.nav-links {
 display: grid !important;
 grid-template-columns: 1fr 1fr !important;
 gap: 20px !important;
}

.nav-previous a,
.nav-next a {
 display: block !important;
 padding: 20px !important;
 background: #fff !important;
 border: 1px solid rgba(0,0,0,.08) !important;
 border-radius: 20px !important;
 text-decoration: none !important;
 transition: box-shadow .2s var(--parental-ease) !important;
}

.nav-previous a:hover,
.nav-next a:hover {
 box-shadow: 0 4px 20px rgba(0,0,0,.04) !important;
}

.nav-subtitle {
 display: block !important;
 color: #86868b !important;
 font-size: 11px !important;
 font-weight: 600 !important;
 letter-spacing: .12em !important;
 text-transform: uppercase !important;
 margin-bottom: 4px !important;
}

.nav-title {
 color: #1d1d1f !important;
 font-size: 15px !important;
 font-weight: 600 !important;
 line-height: 1.35 !important;
}

/* -------------------- 16. FOOTER INSTITUTIONAL -------------------- */

.site-footer,
.parental-footer {
 background: #0e3b73 !important;
 color: rgba(255,255,255,.76) !important;
 padding: 56px 0 40px !important;
}

.site-footer a,
.parental-footer a {
 color: rgba(255,255,255,.88) !important;
 text-decoration: none !important;
}

.site-footer a:hover,
.parental-footer a:hover {
 color: #ffffff !important;
}

.site-footer .widget-title,
.parental-footer .widget-title,
.parental-footer__col h3 {
 color: #ffffff !important;
 font-size: 12px !important;
 font-weight: 700 !important;
 letter-spacing: .14em !important;
 text-transform: uppercase !important;
}

.parental-footer__logo img,
.site-footer .custom-logo,
.site-footer img.custom-logo,
.site-footer .footer-logo img {
 max-height: 44px !important;
 width: auto !important;
 display: block !important;
}

.parental-footer__brand p {
 color: rgba(255,255,255,.65) !important;
}

.parental-footer__bottom p {
 color: rgba(255,255,255,.5) !important;
}

.parental-footer a.is-emergency {
 color: #fdaf12 !important;
 font-weight: 700 !important;
}

.parental-footer__bottom {
 border-top: 1px solid rgba(255,255,255,.12) !important;
}

/* -------------------- 17. TABLES -------------------- */

.entry-content table,
.parental-single-content table {
 width: 100% !important;
 border-collapse: collapse !important;
 margin: 32px 0 !important;
 font-size: .94rem !important;
}

.entry-content th,
.entry-content td,
.parental-single-content th,
.parental-single-content td {
 text-align: center !important;
 vertical-align: middle !important;
 padding: 14px 16px !important;
 border: 1px solid rgba(0,0,0,.08) !important;
}

.entry-content td:first-child,
.parental-single-content td:first-child {
 text-align: left !important;
}

.entry-content th,
.parental-single-content th {
 background: rgba(14,59,115,.04) !important;
 font-weight: 700 !important;
}

/* -------------------- 18. BASH CODE -------------------- */

code.lang-bash,
code.language-bash,
code.bash,
pre code.lang-bash,
pre code.language-bash,
pre code.bash {
 font-size: 85% !important;
 line-height: 1.55 !important;
}

/* -------------------- 19. CONDITIONAL SIDEBAR (has-guide-index) -------------------- */

.single.has-guide-index .parental-content-area {
 max-width: 1180px !important;
 margin-inline: auto !important;
 display: grid !important;
 grid-template-columns: minmax(0, 760px) 280px !important;
 gap: 56px !important;
 align-items: start !important;
}

.single.has-guide-index .parental-single-wrapper {
 max-width: 760px !important;
 margin: 0 !important;
}

.parental-article-sidebar {
 display: none !important;
}

.single.has-guide-index .parental-article-sidebar {
 display: block !important;
 position: sticky !important;
 top: 96px !important;
 background: rgba(255,255,255,.78) !important;
 backdrop-filter: blur(18px) !important;
 -webkit-backdrop-filter: blur(18px) !important;
 border: 1px solid rgba(0,0,0,.08) !important;
 border-radius: 20px !important;
 padding: 20px !important;
 box-shadow: 0 8px 30px rgba(0,0,0,.035) !important;
}

.parental-article-sidebar .is-active::before {
 content: "" !important;
 position: absolute !important;
 left: -20px !important;
 top: 50% !important;
 transform: translateY(-50%) !important;
 width: 4px !important;
 height: 20px !important;
 border-radius: 999px !important;
 background: var(--parental-accent) !important;
}

/* -------------------- 20. TABLE OF CONTENTS IN SIDEBAR -------------------- */

.parental-toc,
div.parental-toc {
 background: transparent !important;
 padding: 0 !important;
 border-radius: 0 !important;
 margin-bottom: 0 !important;
}

.parental-toc h3 {
 font-size: 13px !important;
 font-weight: 700 !important;
 letter-spacing: .08em !important;
 text-transform: uppercase !important;
 color: #1d1d1f !important;
 margin: 0 0 14px !important;
}

.parental-toc ul {
 list-style: none !important;
 margin: 0 !important;
 padding: 0 !important;
}

.parental-toc ul li {
 margin-bottom: 4px !important;
}

.parental-toc ul li a {
 display: block !important;
 padding: 6px 0 !important;
 color: #424245 !important;
 font-size: 13px !important;
 font-weight: 500 !important;
 line-height: 1.35 !important;
 text-decoration: none !important;
 transition: color .2s !important;
}

.parental-toc ul li a:hover {
 color: #0e3b73 !important;
}

/* Override hardcoded #2563eb in post content */
[style*="#2563eb"] {
 color: #0e3b73 !important;
}

/* -------------------- 21. PROGRESS BAR -------------------- */

#parental-progress-fill {
 background: linear-gradient(90deg, #0e3b73, #fdaf12) !important;
}

/* -------------------- 22. SIDEBAR HIDE (non-guide-index) -------------------- */

#secondary,
.widget-area,
.sidebar {
 display: none !important;
}

/* -------------------- 23. READING MODE -------------------- */

.parental-reading-mode-overlay {
 background: rgba(255,255,255,.97) !important;
}

/* -------------------- 24. COOKIE BANNER -------------------- */

.parental-cookie-banner {
 background: rgba(255,255,255,.96) !important;
 backdrop-filter: blur(16px) !important;
 -webkit-backdrop-filter: blur(16px) !important;
 border-radius: 20px !important;
}

.parental-cookie-btn {
 background: #0e3b73 !important;
 color: #fff !important;
 border-radius: 999px !important;
}

/* -------------------- 25. ACCESSIBILITY -------------------- */

.skip-link {
 position: fixed !important;
 top: 8px !important;
 left: 8px !important;
 z-index: 100000 !important;
 padding: 8px 16px !important;
 background: #0e3b73 !important;
 color: #fff !important;
 border-radius: 999px !important;
 font-size: 14px !important;
 font-weight: 600 !important;
 text-decoration: none !important;
 transform: translateY(-120%) !important;
 transition: transform .2s !important;
}

.skip-link:focus {
 transform: translateY(0) !important;
}

*:focus-visible {
 outline: 2px solid #0e3b73 !important;
 outline-offset: 3px !important;
}

/* -------------------- 26. RESPONSIVE -------------------- */

@media (max-width: 768px) {
 .d3-header-inner {
  gap: 12px !important;
 }

 .site-header {
  min-height: 64px !important;
 }

 .d3-hz .site-branding .custom-logo-link img {
  max-height: 40px !important;
 }

 .d3-post,
 .parental-card {
  padding: 24px !important;
  border-radius: 20px !important;
 }

 .single .parental-content-area,
 .parental-single-wrapper {
  max-width: 100% !important;
 }

 .parental-single-title {
  font-size: clamp(1.8rem, 6vw, 2.8rem) !important;
 }

 .parental-related-grid {
  grid-template-columns: 1fr !important;
 }

 .nav-links {
  grid-template-columns: 1fr !important;
 }

 .single.has-guide-index .parental-content-area {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
 }

 .single.has-guide-index .parental-article-sidebar {
  position: static !important;
 }

 .archive .d3-posts,
 .tag .d3-posts,
 .category .d3-posts,
 .blog .d3-posts {
  gap: 24px !important;
 }

 .parental-single-content {
  text-align: left !important;
 }

 .d3-hz .main-navigation .menu > li > a {
  font-size: 13px !important;
  padding: 6px 10px !important;
 }

 .parental-footer {
  padding: 40px 0 28px !important;
 }
}

@media (max-width: 480px) {
 .parental-footer__grid {
  grid-template-columns: 1fr !important;
  gap: 28px !important;
 }

 .parental-footer__brand {
  justify-self: start !important;
  text-align: left !important;
 }
}

/* ============================================================
   PARENTAL v5 — Hero Editorial, Tokens & Card Refinements
   ============================================================ */

/* --- v5 Token Updates --- */
:root {
	--parental-blue-dark: #082b55;
	--parental-special: 920px;
}

/* --- Hero Editorial --- */
.parental-hero {
	padding: 72px 0 56px;
	text-align: center;
}
.parental-hero__container {
	max-width: var(--parental-special, 920px);
	margin: 0 auto;
	padding: 0 24px;
}
.parental-hero__title {
	font-size: clamp(2.5rem, 5vw, 4.6rem) !important;
	line-height: 1.04 !important;
	letter-spacing: -0.06em !important;
	font-weight: 700 !important;
	color: var(--parental-ink, #1d1d1f) !important;
	margin: 0 0 20px !important;
	font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Roboto', 'Segoe UI', system-ui, sans-serif !important;
}
.parental-hero__subtitle {
	font-size: 1.25rem;
	line-height: 1.6;
	color: var(--parental-text, #424245);
	max-width: 700px;
	margin: 0 auto 36px !important;
}
.parental-hero__actions {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 48px;
}
.parental-hero__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 32px;
	border-radius: 980px;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	transition: all 300ms var(--parental-ease);
	cursor: pointer;
}
.parental-hero__btn--primary {
	background: var(--parental-blue, #0e3b73);
	color: #fff !important;
	border: none;
}
.parental-hero__btn--primary:hover {
	background: var(--parental-blue-dark, #082b55);
	transform: scale(1.03);
	color: #fff !important;
}
.parental-hero__btn--secondary {
	background: transparent;
	color: var(--parental-blue, #0e3b73) !important;
	border: 1.5px solid var(--parental-blue, #0e3b73);
}
.parental-hero__btn--secondary:hover {
	background: rgba(14,59,115,0.06);
	transform: scale(1.03);
	color: var(--parental-blue-dark, #082b55) !important;
	border-color: var(--parental-blue-dark, #082b55);
}

/* --- Editorial Paths --- */
.parental-hero__paths {
	display: flex;
	gap: 24px;
	justify-content: center;
	flex-wrap: wrap;
}
.parental-hero__path {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	border-radius: 12px;
	background: var(--parental-bg-secondary, #f8f8f9);
	color: var(--parental-text, #424245) !important;
	font-size: 0.9rem;
	font-weight: 500;
	text-decoration: none !important;
	transition: all 300ms var(--parental-ease);
	border: 1px solid var(--parental-line, rgba(0,0,0,0.08));
}
.parental-hero__path:hover {
	background: rgba(14,59,115,0.06);
	border-color: rgba(14,59,115,0.2);
	color: var(--parental-blue, #0e3b73) !important;
	transform: translateY(-1px);
}
.parental-hero__path-icon {
	color: var(--parental-blue, #0e3b73);
	font-size: 1.1rem;
	transition: transform 300ms var(--parental-ease);
}
.parental-hero__path:hover .parental-hero__path-icon {
	transform: translateX(3px);
}

/* --- Card CTA refinement --- */
.parental-card-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--parental-blue, #0e3b73) !important;
	text-decoration: none !important;
	margin-top: 8px;
	transition: gap 300ms var(--parental-ease);
}
.parental-card-link:hover {
	gap: 10px;
	color: var(--parental-blue-dark, #082b55) !important;
}
.parental-card-link svg {
	transition: transform 300ms var(--parental-ease);
}
.parental-card-link:hover svg {
	transform: translateX(3px);
}

/* --- Card refinement --- */
.d3-post,
.parental-card {
	background: #fff !important;
	border: 1px solid var(--parental-line, rgba(0,0,0,0.08)) !important;
	border-radius: 28px !important;
	padding: 36px 40px !important;
	box-shadow: none !important;
	transition: transform 500ms var(--parental-ease),
	            box-shadow 500ms var(--parental-ease),
	            border-color 500ms var(--parental-ease) !important;
}
.d3-post:hover,
.parental-card:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 30px rgba(0,0,0,0.04) !important;
	border-color: rgba(14,59,115,0.12) !important;
}

/* --- Header refinement: 72px --- */
.parental-header__inner {
	min-height: 72px !important;
}

/* --- Desktop justify for excerpts --- */
@media (min-width: 768px) {
	.parental-hero__subtitle,
	.parental-card-excerpt p {
		text-align: justify;
		hyphens: auto;
	}
}

/* --- Mobile hero --- */
@media (max-width: 767px) {
	.parental-hero {
		padding: 48px 0 40px;
	}
	.parental-hero__title {
		font-size: clamp(2rem, 8vw, 2.8rem) !important;
		letter-spacing: -0.04em !important;
	}
	.parental-hero__subtitle {
		font-size: 1.05rem;
		text-align: left;
	}
	.parental-hero__btn {
		width: 100%;
		max-width: 320px;
	}
	.parental-hero__paths {
		flex-direction: column;
		align-items: center;
	}
	.parental-hero__path {
		width: 100%;
		max-width: 320px;
		justify-content: center;
	}
}
