/* =========================================================
   TOKENS
   ========================================================= */

.franco-editorial {
	--franco-bg: #f4f4f0;
	--franco-paper: #ffffff;
	--franco-ink: #101010;
	--franco-muted: #686868;
	--franco-line: #d8d8d2;
	--franco-accent: #214f8a;
	--franco-dark: #101820;
	--franco-radius: 0px;
	background: var(--franco-bg);
	color: var(--franco-ink);
}

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

.franco-editorial .site-content {
	background: transparent;
}

.franco-blog,
.franco-article {
	background: var(--franco-bg);
	color: var(--franco-ink);
}

.franco-shell {
	width: min(1800px, calc(100% - 48px));
	margin-inline: auto;
}

.franco-article-shell {
	width: min(1060px, calc(100% - 72px));
	margin-inline: auto;
}

.franco-card-link {
	display: block;
	color: inherit;
	text-decoration: none !important;
}

.franco-kicker {
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.franco-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	font-size: 11px;
	line-height: 1.2;
	font-weight: 650;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--franco-muted);
}

.franco-meta span:first-child,
.franco-meta a:first-child {
	color: var(--franco-accent);
}

.franco-meta a {
	text-decoration: none;
}

.franco-media {
	position: relative;
	overflow: hidden;
	background: #deded8;
}

.franco-media__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .55s cubic-bezier(.2,.7,.2,1);
}

.franco-card-link:hover .franco-media__img {
	transform: scale(1.025);
}

.franco-media--fallback {
	display: grid;
	align-content: end;
	padding: 28px;
	min-height: 240px;
	background:
		linear-gradient(145deg, rgba(33,79,138,.98), rgba(16,24,32,.96));
	color: #fff;
}

.franco-media--fallback span {
	font-size: clamp(34px, 5vw, 72px);
	font-weight: 800;
	letter-spacing: -.06em;
	line-height: .9;
}

.franco-media--fallback small {
	margin-top: 8px;
	letter-spacing: .18em;
}

/* =========================================================
   CABEÇALHO DO BLOG
   ========================================================= */

.franco-blog-head {
	padding: clamp(70px, 9vw, 140px) 0 56px;
	border-bottom: 1px solid var(--franco-line);
	background: var(--franco-bg);
}

.franco-blog-head__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
	gap: 80px;
	align-items: end;
}

.franco-blog-head h1 {
	margin: 22px 0 0;
	font-size: clamp(76px, 10.2vw, 156px);
	line-height: .78;
	letter-spacing: -.075em;
	font-weight: 650;
	color: var(--franco-ink);
}

.franco-blog-head__aside {
	padding-bottom: 6px;
}

.franco-blog-head__aside p {
	max-width: 520px;
	margin: 0 0 34px;
	font-size: clamp(18px, 1.4vw, 22px);
	line-height: 1.45;
	color: #313131;
}

.franco-search {
	display: grid;
	grid-template-columns: 1fr 52px;
	border-bottom: 1px solid var(--franco-ink);
}

.franco-search input {
	width: 100%;
	height: 54px;
	padding: 0;
	border: 0 !important;
	outline: 0;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 15px;
}

.franco-search button {
	width: 52px;
	height: 54px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--franco-ink);
	font-size: 24px;
	cursor: pointer;
}

.franco-topic-nav {
	position: relative;
	z-index: 3;
	background: var(--franco-ink);
	color: #fff;
}

.franco-topic-nav__inner {
	display: flex;
	align-items: stretch;
	overflow-x: auto;
	scrollbar-width: none;
}

.franco-topic-nav__inner::-webkit-scrollbar {
	display: none;
}

.franco-topic-nav a {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	min-height: 58px;
	padding: 0 26px;
	border-right: 1px solid rgba(255,255,255,.16);
	color: rgba(255,255,255,.72);
	text-decoration: none !important;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.franco-topic-nav a:hover,
.franco-topic-nav a.is-active {
	background: #fff;
	color: var(--franco-ink);
}

/* =========================================================
   TÍTULOS DE SEÇÃO
   ========================================================= */

.franco-section-title {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 20px;
	padding: 0 74px 20px 0;
	margin-bottom: 28px;
	border-bottom: 1px solid var(--franco-ink);
}

.franco-section-title > span:first-child,
.franco-section-title h2 {
	margin: 0;
	font-size: clamp(34px, 4.2vw, 64px);
	line-height: .95;
	letter-spacing: -.045em;
	font-weight: 620;
	color: var(--franco-ink);
}

.franco-section-title > span:first-child {
	font-weight: 620;
}

.franco-section-title > a {
	color: var(--franco-ink);
	text-decoration: none !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.franco-section-title > a span {
	margin-left: 8px;
}

.franco-section-index {
	position: absolute;
	right: 0;
	bottom: 20px;
	font-size: 12px !important;
	line-height: 1 !important;
	font-weight: 700 !important;
	letter-spacing: .1em !important;
	color: var(--franco-muted) !important;
}

/* =========================================================
   DESTAQUES
   ========================================================= */

.franco-featured {
	padding-top: 66px;
	padding-bottom: 90px;
}

.franco-featured-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(380px, .85fr);
	gap: 20px;
}

.franco-feature-main {
	min-width: 0;
	background: var(--franco-paper);
}

.franco-media--hero {
	aspect-ratio: 16 / 9;
}

.franco-feature-main__content {
	position: relative;
	padding: 30px 34px 36px;
	border: 1px solid var(--franco-line);
	border-top: 0;
}

.franco-feature-main h2 {
	max-width: 980px;
	margin: 18px 0 34px;
	font-size: clamp(36px, 4vw, 64px);
	line-height: 1;
	letter-spacing: -.047em;
	font-weight: 600;
	color: var(--franco-ink);
}

.franco-read-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 18px;
	border-top: 1px solid var(--franco-line);
	font-size: 11px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--franco-ink);
}

.franco-read-link b {
	font-size: 20px;
	font-weight: 500;
	transition: transform .2s ease;
}

.franco-card-link:hover .franco-read-link b {
	transform: translateX(4px);
}

.franco-feature-side {
	display: grid;
	grid-template-rows: repeat(3, 1fr);
	gap: 20px;
	min-width: 0;
}

.franco-feature-small {
	min-width: 0;
	background: var(--franco-paper);
	border: 1px solid var(--franco-line);
}

.franco-feature-small__link {
	height: 100%;
	display: grid;
	grid-template-columns: 43% 57%;
}

.franco-media--side {
	min-height: 210px;
}

.franco-feature-small__content {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 22px 22px 18px;
}

.franco-feature-small h3 {
	margin: 16px 0 48px;
	font-size: clamp(19px, 1.55vw, 26px);
	line-height: 1.06;
	letter-spacing: -.03em;
	font-weight: 600;
	color: var(--franco-ink);
}

.franco-card-number {
	position: absolute;
	right: 20px;
	bottom: 18px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--franco-muted);
}

/* =========================================================
   ASSUNTOS
   ========================================================= */

.franco-trending {
	border-top: 1px solid var(--franco-ink);
	border-bottom: 1px solid var(--franco-ink);
	background: #dfdfd7;
}

.franco-trending__inner {
	display: grid;
	grid-template-columns: 140px 1fr;
	min-height: 72px;
	align-items: stretch;
}

.franco-trending strong {
	display: flex;
	align-items: center;
	font-size: 11px;
	letter-spacing: .12em;
}

.franco-trending__links {
	display: flex;
	align-items: stretch;
	overflow-x: auto;
	scrollbar-width: none;
}

.franco-trending__links::-webkit-scrollbar {
	display: none;
}

.franco-trending__links a {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 26px;
	border-left: 1px solid rgba(0,0,0,.16);
	color: var(--franco-ink);
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 600;
}

.franco-trending__links a span {
	font-size: 17px;
}

/* =========================================================
   BLOCOS DE CATEGORIAS
   ========================================================= */

.franco-category-block {
	padding-top: 100px;
	padding-bottom: 24px;
}

.franco-category-grid {
	display: grid;
	grid-template-columns: 1.45fr repeat(3, 1fr);
	gap: 20px;
	align-items: stretch;
}

.franco-category-card {
	background: transparent;
	min-width: 0;
}

.franco-category-card .franco-media--category {
	aspect-ratio: 4 / 3;
}

.franco-category-card--large .franco-media--category {
	aspect-ratio: 1.36 / 1;
}

.franco-category-card__body {
	padding: 20px 0 10px;
}

.franco-category-card h3 {
	margin: 12px 0 0;
	font-size: clamp(19px, 1.6vw, 26px);
	line-height: 1.1;
	letter-spacing: -.03em;
	font-weight: 600;
	color: var(--franco-ink);
}

.franco-category-card--large h3 {
	font-size: clamp(28px, 2.65vw, 42px);
	line-height: 1.02;
}

.franco-category-card h3::after {
	content: " →";
	opacity: 0;
	transition: opacity .2s ease;
}

.franco-category-card:hover h3::after {
	opacity: 1;
}

/* =========================================================
   CTA
   ========================================================= */

.franco-cta {
	margin-top: 96px;
	background: var(--franco-dark);
	color: #fff;
}

.franco-cta__inner {
	display: grid;
	grid-template-columns: 1.45fr .55fr;
	gap: 80px;
	padding-top: 86px;
	padding-bottom: 90px;
	align-items: end;
}

.franco-cta .franco-kicker {
	grid-column: 1 / -1;
	color: rgba(255,255,255,.62);
}

.franco-cta h2 {
	margin: 0;
	font-size: clamp(56px, 7vw, 106px);
	line-height: .86;
	letter-spacing: -.06em;
	font-weight: 580;
	color: #fff;
}

.franco-cta__side p {
	margin: 0 0 30px;
	font-size: 18px;
	line-height: 1.5;
	color: rgba(255,255,255,.78);
}

.franco-button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	min-width: 230px;
	padding: 17px 20px;
	border: 1px solid rgba(255,255,255,.65);
	color: #fff !important;
	text-decoration: none !important;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	transition: .2s ease;
}

.franco-button:hover {
	background: #fff;
	color: var(--franco-ink) !important;
}

.franco-button--light {
	border-color: rgba(255,255,255,.68);
}

/* =========================================================
   ÚLTIMOS POSTS
   ========================================================= */

.franco-latest {
	padding-top: 104px;
	padding-bottom: 110px;
}

.franco-latest-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px 24px;
}

.franco-latest-card {
	min-width: 0;
}

.franco-media--latest {
	aspect-ratio: 16 / 10;
}

.franco-latest-card__body {
	padding-top: 19px;
}

.franco-latest-card h3,
.franco-latest-card h2 {
	margin: 13px 0 12px;
	font-size: clamp(23px, 2vw, 31px);
	line-height: 1.06;
	letter-spacing: -.035em;
	font-weight: 600;
	color: var(--franco-ink);
}

.franco-latest-card p {
	margin: 0 0 25px;
	font-size: 15px;
	line-height: 1.55;
	color: var(--franco-muted);
}

.franco-pagination {
	margin-top: 72px;
	padding-top: 22px;
	border-top: 1px solid var(--franco-ink);
}

.franco-pagination .nav-links {
	display: flex;
	align-items: center;
	gap: 8px;
}

.franco-pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--franco-line);
	color: var(--franco-ink);
	text-decoration: none !important;
	font-size: 13px;
}

.franco-pagination .page-numbers.current,
.franco-pagination a.page-numbers:hover {
	background: var(--franco-ink);
	border-color: var(--franco-ink);
	color: #fff;
}

/* =========================================================
   ARQUIVO / CATEGORIA
   ========================================================= */

.franco-archive-head {
	padding: 78px 0 62px;
	border-bottom: 1px solid var(--franco-line);
}

.franco-back-link {
	display: inline-block;
	margin-bottom: 54px;
	color: var(--franco-ink);
	text-decoration: none !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.franco-archive-head h1 {
	margin: 18px 0 0;
	font-size: clamp(62px, 8.5vw, 126px);
	line-height: .82;
	letter-spacing: -.065em;
	font-weight: 600;
	color: var(--franco-ink);
}

.franco-archive-description {
	max-width: 760px;
	margin-top: 28px;
	font-size: 18px;
	line-height: 1.55;
	color: var(--franco-muted);
}

/* =========================================================
   ARTIGO
   ========================================================= */

.franco-article-head {
	padding: 72px 0 54px;
}

.franco-article-head .franco-back-link {
	margin-bottom: 70px;
}

.franco-article-meta {
	margin-bottom: 24px;
}

.franco-article-head h1 {
	max-width: 1050px;
	margin: 0;
	font-size: clamp(48px, 6vw, 88px);
	line-height: .94;
	letter-spacing: -.052em;
	font-weight: 600;
	color: var(--franco-ink);
}

.franco-article-lead {
	max-width: 820px;
	margin: 34px 0 0;
	font-size: clamp(19px, 1.7vw, 25px);
	line-height: 1.45;
	color: #444;
}

.franco-article-hero {
	margin-top: 12px;
}

.franco-article-hero img {
	display: block;
	width: 100%;
	max-height: 820px;
	object-fit: cover;
}

.franco-article-layout {
	display: grid;
	grid-template-columns: 210px minmax(0, 820px);
	gap: clamp(50px, 8vw, 130px);
	justify-content: center;
	padding-top: 78px;
	padding-bottom: 106px;
}

.franco-article-aside {
	position: sticky;
	top: 110px;
	align-self: start;
	display: grid;
	gap: 7px;
	padding-top: 6px;
}

.franco-article-aside span {
	margin-top: 20px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--franco-muted);
}

.franco-article-aside span:first-child {
	margin-top: 0;
}

.franco-article-aside strong,
.franco-article-aside a {
	color: var(--franco-ink);
	text-decoration: none;
	font-size: 13px;
	font-weight: 650;
}

.franco-article-content {
	min-width: 0;
	font-size: 18px;
	line-height: 1.76;
	color: #252525;
}

.franco-article-content > *:first-child {
	margin-top: 0;
}

.franco-article-content p {
	margin: 0 0 1.5em;
}

.franco-article-content h2 {
	margin: 2em 0 .7em;
	font-size: clamp(32px, 3vw, 46px);
	line-height: 1.05;
	letter-spacing: -.035em;
	font-weight: 600;
	color: var(--franco-ink);
}

.franco-article-content h3 {
	margin: 1.8em 0 .6em;
	font-size: clamp(25px, 2.3vw, 34px);
	line-height: 1.1;
	letter-spacing: -.025em;
	color: var(--franco-ink);
}

.franco-article-content ul,
.franco-article-content ol {
	margin: 0 0 1.6em;
	padding-left: 1.25em;
}

.franco-article-content li {
	margin-bottom: .55em;
}

.franco-article-content a {
	color: var(--franco-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.franco-article-content img {
	max-width: 100%;
	height: auto;
}

.franco-article-content blockquote {
	margin: 2.2em 0;
	padding: 10px 0 10px 28px;
	border-left: 3px solid var(--franco-accent);
	font-size: 1.22em;
	line-height: 1.5;
	color: var(--franco-ink);
}

.franco-article-content table {
	width: 100%;
	margin: 2em 0;
	border-collapse: collapse;
	font-size: 15px;
}

.franco-article-content th,
.franco-article-content td {
	padding: 13px 12px;
	border: 1px solid var(--franco-line);
	text-align: left;
}

.franco-article-cta {
	padding: 76px 0 84px;
	background: var(--franco-accent);
	color: #fff;
}

.franco-article-cta .franco-kicker {
	color: rgba(255,255,255,.7);
}

.franco-article-cta h2 {
	max-width: 880px;
	margin: 20px 0 36px;
	font-size: clamp(42px, 5vw, 72px);
	line-height: .98;
	letter-spacing: -.045em;
	font-weight: 600;
	color: #fff;
}

.franco-related {
	padding-top: 100px;
	padding-bottom: 110px;
}

/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 1180px) {
	.franco-shell,
	.franco-article-shell {
		width: min(100% - 48px, 1240px);
	}

	.franco-blog-head__inner {
		grid-template-columns: 1.25fr .75fr;
		gap: 48px;
	}

	.franco-featured-grid {
		grid-template-columns: 1.25fr .75fr;
	}

	.franco-feature-small__link {
		grid-template-columns: 1fr;
	}

	.franco-media--side {
		min-height: 150px;
		aspect-ratio: 16 / 7;
	}

	.franco-feature-small h3 {
		margin-bottom: 34px;
	}

	.franco-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.franco-category-card--large {
		grid-row: span 2;
	}

	.franco-article-layout {
		grid-template-columns: 170px minmax(0, 760px);
		gap: 60px;
	}
}

@media (max-width: 820px) {
	.franco-shell,
	.franco-article-shell {
		width: calc(100% - 36px);
	}

	.franco-blog-head {
		padding-top: 58px;
	}

	.franco-blog-head__inner,
	.franco-cta__inner {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.franco-blog-head h1 {
		font-size: clamp(66px, 19vw, 110px);
	}

	.franco-topic-nav a {
		padding-inline: 20px;
	}

	.franco-featured {
		padding-top: 42px;
		padding-bottom: 64px;
	}

	.franco-featured-grid {
		grid-template-columns: 1fr;
	}

	.franco-feature-side {
		grid-template-rows: auto;
	}

	.franco-feature-small__link {
		grid-template-columns: 38% 62%;
	}

	.franco-media--side {
		aspect-ratio: auto;
		min-height: 190px;
	}

	.franco-trending__inner {
		grid-template-columns: 1fr;
		padding-top: 16px;
	}

	.franco-trending strong {
		padding-bottom: 12px;
	}

	.franco-trending__links {
		margin-inline: -18px;
	}

	.franco-trending__links a:first-child {
		border-left: 0;
		padding-left: 18px;
	}

	.franco-category-block {
		padding-top: 72px;
	}

	.franco-category-grid {
		grid-template-columns: 1fr 1fr;
	}

	.franco-category-card--large {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.franco-category-card--large .franco-media--category {
		aspect-ratio: 16 / 9;
	}

	.franco-cta {
		margin-top: 70px;
	}

	.franco-cta__inner {
		padding-top: 64px;
		padding-bottom: 68px;
	}

	.franco-cta .franco-kicker {
		grid-column: auto;
	}

	.franco-latest {
		padding-top: 76px;
	}

	.franco-latest-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.franco-article-head .franco-back-link {
		margin-bottom: 46px;
	}

	.franco-article-layout {
		grid-template-columns: 1fr;
		gap: 34px;
		padding-top: 50px;
	}

	.franco-article-aside {
		position: static;
		grid-template-columns: repeat(2, auto);
		justify-content: start;
		gap: 5px 36px;
		padding-bottom: 24px;
		border-bottom: 1px solid var(--franco-line);
	}

	.franco-article-aside span {
		margin-top: 0;
	}

	.franco-article-aside strong,
	.franco-article-aside a {
		margin-bottom: 12px;
	}
}

@media (max-width: 560px) {
	.franco-shell,
	.franco-article-shell {
		width: calc(100% - 28px);
	}

	.franco-blog-head {
		padding: 46px 0 40px;
	}

	.franco-blog-head__inner {
		gap: 34px;
	}

	.franco-blog-head h1 {
		margin-top: 16px;
		font-size: clamp(62px, 22vw, 92px);
	}

	.franco-blog-head__aside p {
		font-size: 17px;
	}

	.franco-topic-nav__inner {
		width: 100%;
	}

	.franco-section-title {
		padding-right: 48px;
	}

	.franco-section-title > a {
		display: none;
	}

	.franco-feature-main__content {
		padding: 22px 20px 24px;
	}

	.franco-feature-main h2 {
		font-size: 34px;
	}

	.franco-feature-small__link {
		grid-template-columns: 1fr;
	}

	.franco-media--side {
		aspect-ratio: 16 / 9;
		min-height: auto;
	}

	.franco-category-grid,
	.franco-latest-grid {
		grid-template-columns: 1fr;
	}

	.franco-category-card--large {
		grid-column: auto;
	}

	.franco-category-card .franco-media--category,
	.franco-category-card--large .franco-media--category {
		aspect-ratio: 16 / 10;
	}

	.franco-cta h2 {
		font-size: 52px;
	}

	.franco-latest-grid {
		gap: 46px;
	}

	.franco-archive-head {
		padding-top: 52px;
	}

	.franco-back-link {
		margin-bottom: 38px;
	}

	.franco-article-head {
		padding-top: 48px;
	}

	.franco-article-head h1 {
		font-size: 43px;
	}

	.franco-article-lead {
		font-size: 18px;
	}

	.franco-article-layout {
		padding-bottom: 72px;
	}

	.franco-article-content {
		font-size: 17px;
	}

	.franco-article-aside {
		grid-template-columns: 1fr;
	}

	.franco-article-cta {
		padding-block: 58px 64px;
	}

	.franco-article-cta h2 {
		font-size: 38px;
	}
}


/* =========================================================
   CUSTOMIFY — FULL WIDTH / SEM SIDEBAR
   =========================================================
   O filtro PHP acima é a solução principal. Estas regras são
   um fallback para instalações antigas ou customizadas do tema.
*/

.franco-editorial #sidebar-primary,
.franco-editorial .sidebar-primary {
	display: none !important;
}

.franco-editorial .content-area,
.franco-editorial #primary.content-area {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

.franco-editorial .customify-grid .content-area {
	max-width: 100% !important;
}



/* =========================================================
   CUSTOMIFY — BLOG IMERSIVO / FULL BLEED
   =========================================================
   Mantemos get_header() para preservar wp_head(), body classes
   e a estrutura do WordPress, mas escondemos visualmente o
   cabeçalho do tema apenas no contexto editorial.
*/

body.franco-editorial #masthead,
body.franco-editorial .site-header,
body.franco-editorial header.site-header,
body.franco-editorial .header-main,
body.franco-editorial .header--row,
body.franco-editorial .builder-header {
	display: none !important;
}

/* Remove a "caixa central" herdada do Customify. */
body.franco-editorial #page,
body.franco-editorial .site,
body.franco-editorial #content,
body.franco-editorial .site-content,
body.franco-editorial .content-inner,
body.franco-editorial .customify-container,
body.franco-editorial .customify-grid,
body.franco-editorial .content-area,
body.franco-editorial #primary,
body.franco-editorial .main-layout-content,
body.franco-editorial .site-content > .customify-container,
body.franco-editorial .site-content .customify-container {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Evita fundos e sombras do layout antigo aparecerem nas laterais. */
body.franco-editorial #content,
body.franco-editorial .site-content,
body.franco-editorial .content-inner,
body.franco-editorial .main-layout-content {
	background: var(--franco-bg) !important;
	box-shadow: none !important;
}

/* Remove espaçamento superior que alguns presets do Customify aplicam. */
body.franco-editorial .site-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Mantém apenas uma margem editorial fina nas seções internas. */
body.franco-editorial .franco-shell {
	width: min(1800px, calc(100% - 48px));
	max-width: 1800px;
}

@media (max-width: 820px) {
	body.franco-editorial .franco-shell {
		width: calc(100% - 32px);
	}
}

@media (max-width: 560px) {
	body.franco-editorial .franco-shell {
		width: calc(100% - 24px);
	}
}


/* =========================================================
   V1.3 — BLOG INDEPENDENTE DO CUSTOMIFY
   ========================================================= */

html,
body.franco-editorial {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: none !important;
	overflow-x: hidden;
}

body.franco-editorial {
	background: var(--franco-bg) !important;
}

body.franco-editorial #franco-editorial-app,
body.franco-editorial .franco-blog,
body.franco-editorial .franco-article {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Sem caixa central do tema: somente respiro editorial próprio. */
body.franco-editorial .franco-shell {
	width: calc(100% - 64px) !important;
	max-width: none !important;
	margin-left: 32px !important;
	margin-right: 32px !important;
}

body.franco-editorial .franco-article-shell {
	width: min(1060px, calc(100% - 64px)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Segurança extra caso algum plugin injete áreas laterais. */
body.franco-editorial #masthead,
body.franco-editorial .site-header,
body.franco-editorial #sidebar-primary,
body.franco-editorial #sidebar-secondary,
body.franco-editorial .sidebar,
body.franco-editorial .widget-area {
	display: none !important;
}

@media (max-width: 820px) {
	body.franco-editorial .franco-shell {
		width: calc(100% - 32px) !important;
		margin-left: 16px !important;
		margin-right: 16px !important;
	}
}

@media (max-width: 560px) {
	body.franco-editorial .franco-shell {
		width: calc(100% - 24px) !important;
		margin-left: 12px !important;
		margin-right: 12px !important;
	}
}


/* =========================================================
   V1.4 — ALINHAMENTO VISUAL COM O SITE PRINCIPAL
   ========================================================= */

body.franco-editorial {
	--franco-bg: #f7f9fc;
	--franco-paper: #ffffff;
	--franco-ink: #263f73;
	--franco-muted: #6f7d93;
	--franco-line: #d9e1eb;
	--franco-accent: #2f95ce;
	--franco-accent-dark: #263f73;
	--franco-dark: #1d315a;
	font-family: Inter, "Segoe UI", Arial, Helvetica, sans-serif !important;
	color: var(--franco-ink);
}

/* Tipografia corporativa mais próxima da landing page principal. */
body.franco-editorial h1,
body.franco-editorial h2,
body.franco-editorial h3,
body.franco-editorial h4,
body.franco-editorial h5,
body.franco-editorial h6,
body.franco-editorial p,
body.franco-editorial a,
body.franco-editorial span,
body.franco-editorial input,
body.franco-editorial button {
	font-family: Inter, "Segoe UI", Arial, Helvetica, sans-serif;
}

/* Hero */
body.franco-editorial .franco-blog-head {
	background: #f7f9fc;
	border-bottom-color: var(--franco-line);
}

body.franco-editorial .franco-blog-head h1,
body.franco-editorial .franco-section-title h2,
body.franco-editorial .franco-section-title > span:first-child,
body.franco-editorial .franco-feature-main h2,
body.franco-editorial .franco-feature-small h3,
body.franco-editorial .franco-category-card h3,
body.franco-editorial .franco-latest-card h2,
body.franco-editorial .franco-latest-card h3,
body.franco-editorial .franco-archive-head h1,
body.franco-editorial .franco-article-head h1,
body.franco-editorial .franco-article-content h2,
body.franco-editorial .franco-article-content h3 {
	color: var(--franco-ink) !important;
}

/* Azul institucional nos pequenos destaques. */
body.franco-editorial .franco-kicker,
body.franco-editorial .franco-meta span:first-child,
body.franco-editorial .franco-meta a:first-child {
	color: var(--franco-accent) !important;
}

/* Menu principal do blog em azul-marinho, alinhado à marca. */
body.franco-editorial .franco-topic-nav {
	background: var(--franco-dark) !important;
}

body.franco-editorial .franco-topic-nav a {
	border-right-color: rgba(255,255,255,.14);
	color: rgba(255,255,255,.76);
}

body.franco-editorial .franco-topic-nav a:hover,
body.franco-editorial .franco-topic-nav a.is-active {
	background: var(--franco-accent) !important;
	color: #fff !important;
}

/* Busca e botões */
body.franco-editorial .franco-search {
	border-bottom-color: var(--franco-ink);
}

body.franco-editorial .franco-search button {
	background: var(--franco-accent) !important;
	color: #fff !important;
}

body.franco-editorial .franco-button {
	background: var(--franco-accent);
	border-color: var(--franco-accent);
	color: #fff !important;
}

body.franco-editorial .franco-button:hover {
	background: var(--franco-accent-dark);
	border-color: var(--franco-accent-dark);
	color: #fff !important;
}

/* CTA institucional */
body.franco-editorial .franco-cta {
	background: var(--franco-dark) !important;
}

body.franco-editorial .franco-article-cta {
	background: var(--franco-accent-dark) !important;
}

/* Fallback sem imagem usando as duas cores da Franco. */
body.franco-editorial .franco-media--fallback {
	background: linear-gradient(145deg, #2f95ce, #263f73) !important;
}

/* Links editoriais */
body.franco-editorial .franco-article-content a,
body.franco-editorial .franco-section-title > a {
	color: var(--franco-accent-dark);
}

/* Margem lateral discreta somente no desktop.
   O mobile permanece com as medidas da versão anterior. */
@media (min-width: 821px) {
	body.franco-editorial .franco-shell {
		width: calc(100% - 96px) !important;
		margin-left: 48px !important;
		margin-right: 48px !important;
	}

	body.franco-editorial .franco-topic-nav .franco-shell {
		width: calc(100% - 96px) !important;
		margin-left: 48px !important;
		margin-right: 48px !important;
	}

	/* O fundo da navegação continua atravessando a tela, mas os itens
	   ficam alinhados com o conteúdo. */
	body.franco-editorial .franco-topic-nav {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Em telas muito largas, dá um pouco mais de respiro sem criar
   novamente uma caixa central. */
@media (min-width: 1800px) {
	body.franco-editorial .franco-shell,
	body.franco-editorial .franco-topic-nav .franco-shell {
		width: calc(100% - 128px) !important;
		margin-left: 64px !important;
		margin-right: 64px !important;
	}
}


/* =========================================================
   V1.5 — CATEGORIAS MAIS LEVES E EDITORIAIS
   ========================================================= */

/* Hierarquia geral menos pesada */
body.franco-editorial .franco-blog-head h1 {
	font-weight: 520 !important;
	letter-spacing: -.06em !important;
}

body.franco-editorial .franco-section-title h2,
body.franco-editorial .franco-section-title > span:first-child {
	font-weight: 520 !important;
	letter-spacing: -.035em !important;
}

body.franco-editorial .franco-feature-main h2,
body.franco-editorial .franco-feature-small h3,
body.franco-editorial .franco-category-card h3,
body.franco-editorial .franco-latest-card h2,
body.franco-editorial .franco-latest-card h3 {
	font-weight: 500 !important;
}

/* Metadados menores e menos "gritados" */
body.franco-editorial .franco-meta {
	font-weight: 550 !important;
	letter-spacing: .075em !important;
}

/* A categoria continua com um primeiro card maior em largura,
   mas todos passam a usar altura visual semelhante. */
@media (min-width: 821px) {
	body.franco-editorial .franco-category-grid {
		grid-template-columns: 1.28fr repeat(3, 1fr) !important;
		gap: 22px !important;
		align-items: start !important;
	}

	body.franco-editorial .franco-category-card--large {
		grid-row: auto !important;
	}

	body.franco-editorial .franco-category-card .franco-media--category,
	body.franco-editorial .franco-category-card--large .franco-media--category {
		aspect-ratio: 16 / 10 !important;
	}

	body.franco-editorial .franco-category-card h3 {
		margin-top: 10px !important;
		font-size: clamp(20px, 1.5vw, 28px) !important;
		line-height: 1.12 !important;
		letter-spacing: -.025em !important;
		font-weight: 500 !important;
	}

	body.franco-editorial .franco-category-card--large h3 {
		font-size: clamp(24px, 1.85vw, 34px) !important;
		line-height: 1.08 !important;
		max-width: 94%;
	}

	body.franco-editorial .franco-category-card__body {
		padding-top: 16px !important;
		padding-bottom: 4px !important;
	}
}

/* Títulos longos ficam mais equilibrados */
body.franco-editorial .franco-category-card h3,
body.franco-editorial .franco-latest-card h2,
body.franco-editorial .franco-latest-card h3 {
	text-wrap: balance;
}

/* "Ver todos" fica mais discreto */
body.franco-editorial .franco-section-title > a {
	font-weight: 600 !important;
	letter-spacing: .07em !important;
}

/* O número da seção deixa de competir com o título */
body.franco-editorial .franco-section-index {
	font-weight: 600 !important;
	opacity: .7;
}

/* Destaques secundários também com menos peso */
body.franco-editorial .franco-feature-small h3 {
	font-size: clamp(18px, 1.45vw, 25px) !important;
	line-height: 1.1 !important;
}

/* Mantém o mobile exatamente com a lógica anterior */
@media (max-width: 820px) {
	body.franco-editorial .franco-category-card h3,
	body.franco-editorial .franco-category-card--large h3 {
		font-weight: 500 !important;
	}
}


/* =========================================================
   V1.6 — ESCALA EDITORIAL / ARTIGO MAIS REFINADO
   ========================================================= */

/* Imagem destacada alinhada à mesma coluna principal do texto. */
.franco-article-media-row {
	display: grid;
	grid-template-columns: 210px minmax(0, 820px);
	gap: clamp(50px, 8vw, 130px);
	justify-content: center;
	align-items: start;
	margin-top: 16px;
}

.franco-article-media-offset {
	min-width: 0;
}

.franco-article-hero {
	width: 100%;
	margin: 0;
}

.franco-article-hero img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: cover;
}

/* Desktop: escala de blog, não de landing page. Mobile preservado. */
@media (min-width: 821px) {
	body.franco-editorial .franco-blog-head {
		padding-top: 68px !important;
		padding-bottom: 42px !important;
	}

	body.franco-editorial .franco-blog-head h1 {
		font-size: clamp(58px, 6.6vw, 104px) !important;
		line-height: .86 !important;
		font-weight: 500 !important;
		letter-spacing: -.05em !important;
	}

	body.franco-editorial .franco-blog-head__aside p {
		font-size: clamp(16px, 1.05vw, 18px) !important;
		line-height: 1.5 !important;
	}

	body.franco-editorial .franco-section-title > span:first-child,
	body.franco-editorial .franco-section-title h2 {
		font-size: clamp(28px, 2.7vw, 44px) !important;
		line-height: 1 !important;
		font-weight: 500 !important;
		letter-spacing: -.028em !important;
	}

	body.franco-editorial .franco-feature-main h2 {
		font-size: clamp(26px, 2.35vw, 38px) !important;
		line-height: 1.07 !important;
		font-weight: 500 !important;
	}

	body.franco-editorial .franco-feature-small h3 {
		font-size: clamp(17px, 1.15vw, 22px) !important;
		line-height: 1.14 !important;
		font-weight: 500 !important;
	}

	body.franco-editorial .franco-category-card h3 {
		font-size: clamp(17px, 1.18vw, 22px) !important;
		line-height: 1.15 !important;
		font-weight: 500 !important;
	}

	body.franco-editorial .franco-category-card--large h3 {
		font-size: clamp(20px, 1.42vw, 27px) !important;
		line-height: 1.12 !important;
		font-weight: 500 !important;
		max-width: 96% !important;
	}

	body.franco-editorial .franco-latest-card h2,
	body.franco-editorial .franco-latest-card h3 {
		font-size: clamp(18px, 1.3vw, 24px) !important;
		line-height: 1.14 !important;
		font-weight: 500 !important;
	}

	body.franco-editorial .franco-cta h2 {
		font-size: clamp(40px, 4.4vw, 68px) !important;
		line-height: .96 !important;
		font-weight: 500 !important;
	}

	/* Artigo individual */
	body.franco-editorial .franco-article-head {
		padding-top: 48px !important;
		padding-bottom: 32px !important;
	}

	body.franco-editorial .franco-article-head .franco-back-link {
		margin-bottom: 34px !important;
	}

	body.franco-editorial .franco-article-head h1 {
		max-width: 860px !important;
		font-size: clamp(34px, 3.6vw, 54px) !important;
		line-height: 1.04 !important;
		letter-spacing: -.032em !important;
		font-weight: 500 !important;
		text-wrap: balance;
	}

	body.franco-editorial .franco-article-lead {
		max-width: 740px !important;
		margin-top: 20px !important;
		font-size: clamp(16px, 1.1vw, 19px) !important;
		line-height: 1.52 !important;
	}

	body.franco-editorial .franco-article-meta {
		margin-bottom: 16px !important;
	}

	body.franco-editorial .franco-article-media-row {
		grid-template-columns: 210px minmax(0, 820px);
		gap: clamp(50px, 8vw, 130px);
		margin-top: 4px !important;
	}

	body.franco-editorial .franco-article-hero {
		overflow: hidden;
	}

	body.franco-editorial .franco-article-hero img {
		aspect-ratio: 16 / 9;
		object-fit: cover;
	}

	body.franco-editorial .franco-article-layout {
		padding-top: 50px !important;
		padding-bottom: 78px !important;
	}

	body.franco-editorial .franco-article-content {
		font-size: 17px !important;
		line-height: 1.7 !important;
	}

	body.franco-editorial .franco-article-content h2 {
		font-size: clamp(27px, 2.2vw, 36px) !important;
		line-height: 1.14 !important;
		font-weight: 500 !important;
		letter-spacing: -.022em !important;
	}

	body.franco-editorial .franco-article-content h3 {
		font-size: clamp(21px, 1.7vw, 28px) !important;
		line-height: 1.18 !important;
		font-weight: 500 !important;
	}

	body.franco-editorial .franco-article-content strong,
	body.franco-editorial .franco-article-content b {
		font-weight: 600 !important;
	}

	body.franco-editorial .franco-article-aside strong,
	body.franco-editorial .franco-article-aside a {
		font-weight: 550 !important;
	}

	body.franco-editorial .franco-article-cta h2 {
		font-size: clamp(32px, 3.1vw, 48px) !important;
		line-height: 1.04 !important;
		font-weight: 500 !important;
	}

	body.franco-editorial .franco-related {
		padding-top: 68px !important;
		padding-bottom: 82px !important;
	}
}

@media (max-width: 820px) {
	.franco-article-media-row {
		display: block;
		width: calc(100% - 32px) !important;
		margin-left: 16px !important;
		margin-right: 16px !important;
	}

	.franco-article-media-offset {
		display: none;
	}

	.franco-article-hero img {
		width: 100%;
		height: auto;
		aspect-ratio: auto;
	}
}

@media (max-width: 560px) {
	.franco-article-media-row {
		width: calc(100% - 24px) !important;
		margin-left: 12px !important;
		margin-right: 12px !important;
	}
}


/* =========================================================
   V1.7 — BOTÕES BRANCOS + SIDEBAR À DIREITA
   ========================================================= */

/* Qualquer CTA/botão do template mantém texto branco em todos
   os estados, inclusive quando o navegador já visitou o link. */
body.franco-editorial a.franco-button,
body.franco-editorial a.franco-button:link,
body.franco-editorial a.franco-button:visited,
body.franco-editorial a.franco-button:hover,
body.franco-editorial a.franco-button:focus,
body.franco-editorial a.franco-button:active,
body.franco-editorial a.franco-button span,
body.franco-editorial a.franco-button:visited span,
body.franco-editorial a.franco-button:hover span,
body.franco-editorial a.franco-button:focus span {
	color: #ffffff !important;
	text-decoration: none !important;
}

/* Botões que já existem dentro do conteúdo antigo dos posts
   (Gutenberg / WordPress) também recebem texto branco. */
body.franco-editorial .franco-article-content .wp-block-button__link,
body.franco-editorial .franco-article-content .wp-block-button__link:link,
body.franco-editorial .franco-article-content .wp-block-button__link:visited,
body.franco-editorial .franco-article-content .wp-block-button__link:hover,
body.franco-editorial .franco-article-content .wp-block-button__link:focus,
body.franco-editorial .franco-article-content .wp-block-button__link:active,
body.franco-editorial .franco-article-content a.button,
body.franco-editorial .franco-article-content a.button:visited,
body.franco-editorial .franco-article-content a.btn,
body.franco-editorial .franco-article-content a.btn:visited {
	color: #ffffff !important;
	text-decoration: none !important;
}

/* Conteúdo primeiro, informações do artigo à direita. */
@media (min-width: 821px) {
	body.franco-editorial .franco-article-layout,
	body.franco-editorial .franco-article-media-row {
		grid-template-columns: minmax(0, 820px) 210px !important;
		gap: clamp(50px, 8vw, 130px) !important;
		justify-content: center !important;
	}

	body.franco-editorial .franco-article-content {
		grid-column: 1;
	}

	body.franco-editorial .franco-article-aside {
		grid-column: 2;
		text-align: left;
	}

	body.franco-editorial .franco-article-hero {
		grid-column: 1;
	}

	body.franco-editorial .franco-article-media-offset {
		grid-column: 2;
	}
}


/* =========================================================
   V1.8 — LOGO NO HERO DO BLOG
   ========================================================= */

body.franco-editorial .franco-blog-logo-link {
	display: inline-block;
	margin-top: 28px;
	text-decoration: none !important;
}

body.franco-editorial .franco-blog-logo {
	display: block;
	width: min(430px, 78vw);
	height: auto;
}

@media (min-width: 821px) {
	body.franco-editorial .franco-blog-head {
		padding-top: 54px !important;
		padding-bottom: 42px !important;
	}

	body.franco-editorial .franco-blog-head__inner {
		align-items: center !important;
	}
}

@media (max-width: 820px) {
	body.franco-editorial .franco-blog-logo-link {
		margin-top: 20px;
	}

	body.franco-editorial .franco-blog-logo {
		width: min(360px, 88vw);
	}
}


/* =========================================================
   V1.9 — ORGANIZAÇÃO DO LOGO NO HERO
   ========================================================= */

body.franco-editorial .franco-blog-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	max-width: min(430px, 78vw);
}

body.franco-editorial .franco-blog-brand__kicker {
	display: block;
	margin: 0;
	color: var(--franco-accent) !important;
	letter-spacing: .18em !important;
}

body.franco-editorial .franco-blog-logo-link {
	margin-top: 0 !important;
}

body.franco-editorial .franco-blog-logo {
	width: 100% !important;
	max-width: 430px;
	height: auto;
}

@media (min-width: 821px) {
	body.franco-editorial .franco-blog-head__inner {
		grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr) !important;
		gap: 56px !important;
		align-items: start !important;
	}

	body.franco-editorial .franco-blog-head__aside {
		padding-top: 8px;
	}
}

@media (max-width: 820px) {
	body.franco-editorial .franco-blog-brand {
		max-width: min(360px, 88vw);
		gap: 12px;
	}

	body.franco-editorial .franco-blog-brand__kicker {
		font-size: 11px;
		letter-spacing: .16em !important;
	}
}


/* =========================================================
   V2.0 — CABEÇALHO DO ARTIGO ALINHADO À IMAGEM
   ========================================================= */

@media (min-width: 821px) {
	body.franco-editorial .franco-article-head-grid {
		display: grid;
		grid-template-columns: minmax(0, 820px) 210px;
		gap: clamp(50px, 8vw, 130px);
		justify-content: center;
		align-items: start;
	}

	body.franco-editorial .franco-article-head-main {
		grid-column: 1;
		min-width: 0;
	}

	body.franco-editorial .franco-article-head-offset {
		grid-column: 2;
	}

	body.franco-editorial .franco-article-head h1,
	body.franco-editorial .franco-article-lead {
		max-width: 820px !important;
	}
}

@media (max-width: 820px) {
	body.franco-editorial .franco-article-head-grid {
		display: block;
	}

	body.franco-editorial .franco-article-head-offset {
		display: none;
	}
}
