/*
 * Cridare News — leitura editorial da matéria individual.
 *
 * Carregado somente em single.php; não altera os blocos da Home.
 *
 * @package Cridare_News
 */

html:has(body.single) {
	overflow-x: hidden;
}

body.single {
	overflow-x: hidden;
}

body.single .cn-news-ticker__items,
body.single .cn-news-ticker__item,
body.single .cn-news-ticker__item a {
	min-width: 0;
	max-width: 100%;
}

body.single .cn-news-ticker__items {
	width: 100%;
}

body.single .cn-search-panel .search-submit {
	min-width: 0;
	max-width: 100%;
}

.cn-single {
	overflow: hidden;
}

.cn-single__shell {
	width: min(100% - 2rem, var(--cn-wide-width));
	margin-inline: auto;
	padding-block-end: var(--cn-space-8);
}

.cn-single__ad {
	width: min(100%, 760px);
	margin-inline: auto;
}

.cn-single__ad--top {
	margin-block: var(--cn-space-3) var(--cn-space-5);
}

.cn-single__ad--bottom {
	margin-block: var(--cn-space-7) 0;
}

.cn-single__breadcrumb {
	width: min(100%, var(--cn-content-width));
	margin-inline: auto;
	color: var(--cn-text-muted);
	font-family: var(--cn-font-ui);
	font-size: 0.78rem;
}

.cn-single__breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cn-space-1) var(--cn-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cn-single__breadcrumb li {
	min-width: 0;
}

.cn-single__breadcrumb li:not(:last-child)::after {
	margin-inline-start: var(--cn-space-2);
	color: var(--cn-border-strong);
	content: "/";
}

.cn-single__breadcrumb a {
	color: var(--cn-text-muted);
	text-decoration: none;
}

.cn-single__breadcrumb a:hover,
.cn-single__breadcrumb a:focus-visible {
	color: var(--cn-brand-primary);
	text-decoration: underline;
}

.cn-single__post {
	width: min(100%, var(--cn-content-width));
	margin-inline: auto;
}

.cn-single__header {
	padding-block: var(--cn-space-5) var(--cn-space-4);
}

.cn-single__category {
	margin-block-end: var(--cn-space-3);
}

.cn-single__title {
	max-width: 19ch;
	margin: 0;
	color: var(--cn-brand-primary);
	font-size: clamp(2rem, 5vw, 3.85rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.04;
	overflow-wrap: anywhere;
}

.cn-single__excerpt {
	max-width: 62ch;
	margin: var(--cn-space-4) 0 0;
	color: var(--cn-text-muted);
	font-family: var(--cn-font-editorial);
	font-size: clamp(1.15rem, 2.2vw, 1.4rem);
	line-height: 1.45;
}

.cn-single__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cn-space-2) var(--cn-space-4);
	margin-block-start: var(--cn-space-5);
	color: var(--cn-text-muted);
	font-family: var(--cn-font-ui);
	font-size: 0.83rem;
	line-height: 1.4;
}

.cn-single__meta-item {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.18rem;
}

.cn-single__meta-item + .cn-single__meta-item::before {
	margin-inline-end: var(--cn-space-4);
	color: var(--cn-border-strong);
	content: "•";
}

.cn-single__meta a {
	color: var(--cn-brand-primary);
	font-weight: 750;
	text-decoration: none;
}

.cn-single__meta a:hover,
.cn-single__meta a:focus-visible {
	text-decoration: underline;
}

.cn-single__share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--cn-space-2) var(--cn-space-3);
	margin-block: var(--cn-space-4) var(--cn-space-6);
	padding-block: var(--cn-space-3);
	border-block: 1px solid var(--cn-border);
	font-family: var(--cn-font-ui);
}

.cn-single__share-label {
	margin-inline-end: var(--cn-space-1);
	color: var(--cn-text-muted);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.cn-single__share-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cn-space-2);
}

.cn-single__share-button {
	display: inline-flex;
	min-height: 2.35rem;
	align-items: center;
	justify-content: center;
	padding: 0.45rem 0.75rem;
	border: 1px solid var(--cn-border-strong);
	border-radius: var(--cn-radius-sm);
	background: var(--cn-surface);
	color: var(--cn-brand-primary);
	font: inherit;
	font-size: 0.78rem;
	font-weight: 750;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}

.cn-single__share-button:hover,
.cn-single__share-button:focus-visible {
	border-color: var(--cn-brand-primary);
	background: var(--cn-surface-muted);
	color: var(--cn-brand-primary);
	text-decoration: none;
}

.cn-single__share-feedback {
	min-height: 1.2em;
	color: var(--cn-brand-secondary);
	font-size: 0.78rem;
	font-weight: 750;
}

.cn-single__featured {
	margin: 0 0 var(--cn-space-6);
}

.cn-single__featured-media {
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--cn-surface-subtle);
}

.cn-single__featured-image {
	display: block;
	width: 100%;
	height: 100%;
}

.cn-single__featured-image .cn-media__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cn-single__caption {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cn-space-1) var(--cn-space-3);
	margin-block-start: var(--cn-space-2);
	color: var(--cn-text-muted);
	font-family: var(--cn-font-ui);
	font-size: 0.74rem;
	line-height: 1.4;
}

.cn-single__credit {
	font-style: italic;
}

.cn-single__credit::before {
	content: "— ";
}

.cn-single__content {
	max-width: 100%;
	color: var(--cn-text);
	font-family: var(--cn-font-editorial);
	font-size: clamp(1.12rem, 1.55vw, 1.28rem);
	line-height: 1.72;
	overflow-wrap: break-word;
}

.cn-single__content > * {
	max-width: 100%;
}

.cn-single__content p,
.cn-single__content ul,
.cn-single__content ol,
.cn-single__content blockquote,
.cn-single__content figure,
.cn-single__content pre {
	margin-block: 0 var(--cn-space-5);
}

.cn-single__content h2,
.cn-single__content h3,
.cn-single__content h4 {
	margin-block: var(--cn-space-7) var(--cn-space-3);
	color: var(--cn-brand-primary);
	font-family: var(--cn-font-ui);
	line-height: 1.15;
}

.cn-single__content h2 {
	font-size: clamp(1.55rem, 3vw, 2.15rem);
}

.cn-single__content h3 {
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.cn-single__content h4 {
	font-size: 1.2rem;
}

.cn-single__content a {
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.12em;
}

.cn-single__content img,
.cn-single__content video,
.cn-single__content iframe {
	display: block;
	max-width: 100%;
	margin-inline: auto;
}

.cn-single__content blockquote {
	margin-inline: 0;
	padding-inline-start: var(--cn-space-5);
	border-inline-start: 3px solid var(--cn-brand-secondary);
	color: var(--cn-brand-primary);
	font-size: 1.18em;
	font-style: italic;
}

.cn-single__content ul,
.cn-single__content ol {
	padding-inline-start: 1.4em;
}

.cn-single__content pre {
	max-width: 100%;
	padding: var(--cn-space-4);
	overflow-x: auto;
	background: var(--cn-neutral-900);
	color: var(--cn-brand-on-primary);
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 0.86em;
}

.cn-single__content .alignwide,
.cn-single__content .alignfull {
	width: auto;
	margin-inline: 0;
}

.cn-single__pagination {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cn-space-2);
	align-items: center;
	margin-block-start: var(--cn-space-6);
	font-family: var(--cn-font-ui);
	font-size: 0.85rem;
}

.cn-single__pagination a,
.cn-single__pagination span {
	display: inline-block;
	padding: 0.35rem 0.65rem;
	border: 1px solid var(--cn-border);
	text-decoration: none;
}

.cn-single__inline-ad {
	margin-block: var(--cn-space-6);
}

.cn-single__inline-ad .cn-ad-slot {
	margin-block: 0;
}

.cn-single__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cn-space-2) var(--cn-space-3);
	align-items: baseline;
	margin-block: var(--cn-space-6);
	padding-block-start: var(--cn-space-4);
	border-block-start: 1px solid var(--cn-border);
	font-family: var(--cn-font-ui);
}

.cn-single__tags-label {
	color: var(--cn-text-muted);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.cn-single__tags-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cn-space-2);
}

.cn-single__tags-list a {
	padding: 0.25rem 0.55rem;
	border: 1px solid var(--cn-border);
	border-radius: var(--cn-radius-pill);
	color: var(--cn-brand-primary);
	font-size: 0.78rem;
	text-decoration: none;
}

.cn-single__tags-list a:hover,
.cn-single__tags-list a:focus-visible {
	border-color: var(--cn-brand-primary);
	background: var(--cn-surface-muted);
}

.cn-single__post > .cn-single__share:last-child {
	margin-block: var(--cn-space-6) 0;
}

.cn-single__related {
	width: min(100%, var(--cn-wide-width));
	margin: var(--cn-space-8) auto 0;
	padding-block-start: var(--cn-space-6);
	border-block-start: 1px solid var(--cn-border);
}

.cn-single__related-heading h2 {
	margin: 0 0 var(--cn-space-5);
	color: var(--cn-brand-primary);
	font-size: clamp(1.5rem, 3vw, 2rem);
	letter-spacing: -0.02em;
	line-height: 1.15;
}

.cn-single__related-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--cn-space-6) var(--cn-space-5);
}

.cn-single__related-grid .cn-card__content {
	padding-block-end: 0;
}

@media (min-width: 640px) {
	.cn-single__shell {
		width: min(100% - 3rem, var(--cn-wide-width));
	}

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

@media (min-width: 900px) {
	.cn-single__related-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.cn-single__shell {
		width: min(100% - 4rem, var(--cn-wide-width));
	}

	.cn-single__header {
		padding-block-start: var(--cn-space-6);
	}
}

@media (max-width: 480px) {
	.cn-single__title {
		font-size: clamp(1.9rem, 10vw, 2.7rem);
	}

	.cn-single__meta {
		display: block;
	}

	.cn-single__meta-item {
		display: flex;
		margin-block-end: var(--cn-space-2);
	}

	.cn-single__meta-item + .cn-single__meta-item::before {
		display: none;
	}

	.cn-single__share {
		align-items: flex-start;
		flex-direction: column;
	}

	.cn-single__share-actions {
		width: 100%;
	}

	.cn-single__share-button {
		flex: 1 1 auto;
	}

	.cn-single__content .alignwide,
	.cn-single__content .alignfull {
		margin-inline: 0;
	}
}
/*
 * Refinamento editorial da identidade da Single.
 */

.cn-single__breadcrumb {
	font-size: 0.72rem;
	letter-spacing: 0.01em;
	opacity: 0.82;
}

.cn-single__header {
	padding-block: clamp(1.5rem, 4vw, 2.75rem) var(--cn-space-5);
}

.cn-single__category {
	margin-block-end: var(--cn-space-4);
	font-size: 0.8rem;
	letter-spacing: 0.08em;
}

.cn-single__title {
	margin-block-end: 0;
}

.cn-single__excerpt {
	margin-block-start: var(--cn-space-5);
	color: var(--cn-text-muted);
}

.cn-single__byline {
	display: flex;
	align-items: flex-start;
	gap: var(--cn-space-3);
	margin-block-start: var(--cn-space-6);
	color: var(--cn-text-muted);
	font-family: var(--cn-font-ui);
}

.cn-single__avatar {
	flex: 0 0 3rem;
	width: 3rem;
	height: 3rem;
	overflow: hidden;
	border-radius: 50%;
	background: var(--cn-surface-subtle);
}

.cn-single__avatar-image,
.cn-single__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cn-single__byline-content {
	min-width: 0;
	padding-block-start: 0.05rem;
}

.cn-single__byline-author,
.cn-single__byline-meta,
.cn-single__byline-updated {
	margin: 0;
	line-height: 1.4;
}

.cn-single__byline-author {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	color: var(--cn-text);
	font-size: 0.88rem;
	font-weight: 750;
}

.cn-single__byline-author a {
	color: var(--cn-brand-primary);
	text-decoration: none;
}

.cn-single__byline-author a:hover,
.cn-single__byline-author a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.cn-single__byline-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-block-start: 0.18rem;
	font-size: 0.8rem;
}

.cn-single__byline-separator {
	color: var(--cn-border-strong);
}

.cn-single__byline-updated {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
	margin-block-start: 0.2rem;
	color: var(--cn-text-muted);
	font-size: 0.72rem;
}

.cn-single__share {
	align-items: center;
	margin-block: var(--cn-space-5) var(--cn-space-7);
	padding-block: var(--cn-space-4);
	border-block: 0;
}

.cn-single__share-label {
	margin-inline-end: var(--cn-space-2);
	font-size: 0.72rem;
}

.cn-single__share-actions {
	align-items: center;
}

.cn-single__share-button {
	width: 2.5rem;
	height: 2.5rem;
	min-height: 2.5rem;
	flex: 0 0 2.5rem;
	padding: 0;
	border-radius: 50%;
}

.cn-single__share-button svg {
	display: block;
	width: 1.1rem;
	height: 1.1rem;
}

.cn-single__share-button[data-cn-share-network="whatsapp"]:hover,
.cn-single__share-button[data-cn-share-network="whatsapp"]:focus-visible {
	border-color: #25d366;
	color: #168c45;
}

.cn-single__share-button[data-cn-share-network="facebook"]:hover,
.cn-single__share-button[data-cn-share-network="facebook"]:focus-visible {
	border-color: #1877f2;
	color: #1877f2;
}

.cn-single__share-button[data-cn-share-network="x"]:hover,
.cn-single__share-button[data-cn-share-network="x"]:focus-visible {
	border-color: var(--cn-neutral-900);
	color: var(--cn-neutral-900);
}

.cn-single__share-button--copy:hover,
.cn-single__share-button--copy:focus-visible,
.cn-single__share-button[data-cn-copy-state="copied"] {
	border-color: var(--cn-brand-secondary);
	color: var(--cn-brand-secondary);
}

.cn-single__content p {
	margin-block-end: 1.4rem;
}

.cn-single__content p + p {
	margin-block-start: 0.1rem;
}

.cn-single__content h2,
.cn-single__content h3,
.cn-single__content h4 {
	margin-block-start: clamp(2.3rem, 5vw, 3.4rem);
}

.cn-single__content blockquote {
	margin-block: clamp(2rem, 4vw, 2.75rem);
	padding-block: 0.2rem;
}

.cn-single__content li + li {
	margin-block-start: 0.45rem;
}

.cn-single__content a:hover,
.cn-single__content a:focus-visible {
	color: var(--cn-brand-secondary);
}

.cn-single__content hr {
	margin-block: var(--cn-space-7);
	border: 0;
	border-block-start: 1px solid var(--cn-border);
}

.cn-single__content figcaption,
.cn-single__content .wp-caption-text {
	margin-block-start: var(--cn-space-2);
	color: var(--cn-text-muted);
	font-family: var(--cn-font-ui);
	font-size: 0.76rem;
	line-height: 1.45;
}

.cn-single__caption {
	margin-block-start: var(--cn-space-3);
	padding-block-start: var(--cn-space-2);
	border-block-start: 1px solid var(--cn-border);
	font-size: 0.73rem;
}

.cn-single__related {
	margin-top: clamp(4.5rem, 9vw, 7rem);
	padding-block-start: var(--cn-space-7);
	border-block-start-color: var(--cn-border-strong);
}

.cn-single__related-heading h2 {
	display: flex;
	align-items: center;
	gap: var(--cn-space-4);
	margin-block-end: var(--cn-space-6);
	font-size: clamp(1.45rem, 3vw, 1.9rem);
}

.cn-single__related-heading h2::after {
	display: block;
	height: 1px;
	flex: 1 1 auto;
	background: var(--cn-border);
	content: "";
}

@media (max-width: 480px) {
	.cn-single__byline {
		gap: var(--cn-space-3);
		margin-block-start: var(--cn-space-5);
	}

	.cn-single__avatar {
		flex-basis: 2.75rem;
		width: 2.75rem;
		height: 2.75rem;
	}

	.cn-single__byline-author {
		font-size: 0.84rem;
	}

	.cn-single__byline-meta {
		font-size: 0.76rem;
	}

	.cn-single__share {
		margin-block-end: var(--cn-space-6);
		padding-block: var(--cn-space-3);
	}

	.cn-single__share-actions {
		width: auto;
	}

	.cn-single__share-button {
		width: 2.35rem;
		height: 2.35rem;
		min-height: 2.35rem;
		flex-basis: 2.35rem;
	}

	.cn-single__related {
		margin-top: var(--cn-space-8);
		padding-block-start: var(--cn-space-6);
	}
}
/*
 * Acabamento 9.2: contraste editorial e compartilhamento lateral.
 */

.cn-single__content-layout {
	display: block;
}

.cn-single__body-column {
	min-width: 0;
}

.cn-single__share-rail {
	display: none;
}

.cn-single__category {
	position: relative;
	padding-inline-start: 0.8rem;
	color: var(--cn-brand-secondary);
}

.cn-single__category::before {
	position: absolute;
	inset-block: 0.15em;
	inset-inline-start: 0;
	width: 0.22rem;
	border-radius: var(--cn-radius-pill);
	background: var(--cn-brand-secondary);
	content: "";
}

.cn-single__share-button {
	width: 2.5rem;
	height: 2.5rem;
	min-height: 2.5rem;
	flex-basis: 2.5rem;
	border-color: var(--cn-border-strong);
	background: var(--cn-surface);
	color: var(--cn-brand-primary);
}

.cn-single__share-button[data-cn-share-network="whatsapp"]:hover,
.cn-single__share-button[data-cn-share-network="whatsapp"]:focus-visible {
	border-color: #25d366;
	background: #f0fff5;
	color: #168c45;
}

.cn-single__share-button[data-cn-share-network="facebook"]:hover,
.cn-single__share-button[data-cn-share-network="facebook"]:focus-visible {
	border-color: #1877f2;
	background: #eff6ff;
	color: #1877f2;
}

.cn-single__share-button[data-cn-share-network="x"]:hover,
.cn-single__share-button[data-cn-share-network="x"]:focus-visible {
	border-color: var(--cn-neutral-900);
	background: var(--cn-neutral-900);
	color: var(--cn-brand-on-primary);
}

.cn-single__share-button--copy:hover,
.cn-single__share-button--copy:focus-visible,
.cn-single__share-button[data-cn-copy-state="copied"] {
	border-color: var(--cn-brand-secondary);
	background: #f2faf3;
	color: var(--cn-brand-secondary);
}

.cn-single__content {
	font-size: clamp(1.0625rem, 1.7vw, 1.1875rem);
	line-height: 1.76;
}

.cn-single__content h2 {
	padding-inline-start: 0.7rem;
	border-inline-start: 0.22rem solid var(--cn-brand-secondary);
	color: var(--cn-brand-primary);
	font-weight: 800;
}

.cn-single__content h3 {
	color: var(--cn-brand-primary);
	font-weight: 750;
}

.cn-single__content blockquote {
	padding-block: 0.8rem;
	padding-inline: var(--cn-space-5);
	border-inline-start: 0.25rem solid var(--cn-brand-secondary);
	background: var(--cn-surface-muted);
	color: var(--cn-brand-primary);
	font-size: 1.12em;
	font-weight: 600;
}

.cn-single__content a {
	color: var(--cn-brand-primary);
	text-decoration-line: underline;
	text-decoration-thickness: 0.07em;
	text-underline-offset: 0.16em;
}

.cn-single__content a:hover,
.cn-single__content a:focus-visible {
	color: var(--cn-brand-secondary);
	text-decoration-thickness: 0.1em;
}

.cn-single__related-heading h2 {
	padding-inline-start: 0.7rem;
	border-inline-start: 0.22rem solid var(--cn-brand-secondary);
	color: var(--cn-brand-primary);
}

@media (min-width: 1200px) {
	.cn-single__content-layout {
		width: calc(100% + 7.5rem);
		margin-inline-start: -7.5rem;
		display: grid;
		grid-template-columns: 5rem minmax(0, 47.5rem);
		gap: 2.5rem;
		align-items: start;
	}

	.cn-single__share-rail {
		display: block;
		position: sticky;
		top: 7.5rem;
		align-self: start;
	}

	.cn-single__share--rail {
		display: flex;
		align-items: center;
		flex-direction: column;
		gap: var(--cn-space-3);
		margin: 0;
		padding: 0;
	}

	.cn-single__share--rail .cn-single__share-label {
		margin: 0;
		color: var(--cn-brand-primary);
		font-size: 0.64rem;
		letter-spacing: 0.08em;
		line-height: 1;
		writing-mode: vertical-rl;
		transform: rotate(180deg);
	}

	.cn-single__share--rail .cn-single__share-actions {
		display: flex;
		align-items: center;
		flex-direction: column;
		gap: var(--cn-space-2);
	}

	.cn-single__share--rail .cn-single__share-button {
		width: 2.75rem;
		height: 2.75rem;
		min-height: 2.75rem;
		flex-basis: 2.75rem;
	}
}
/* Etapa 9.3: presença visual dos ícones, sem alterar os círculos. */

.cn-single__share-button {
	border-color: var(--cn-border-strong);
	background: var(--cn-surface);
	color: var(--cn-brand-primary);
	box-shadow: 0 1px 1px rgb(15 23 42 / 7%);
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.cn-single__share-button svg {
	width: 1.2rem;
	height: 1.2rem;
}

.cn-single__share--rail .cn-single__share-button svg {
	width: 1.375rem;
	height: 1.375rem;
}

.cn-single__share-button[data-cn-share-network="facebook"] svg {
	transform: scale(1.12);
}

.cn-single__share-button[data-cn-share-network="whatsapp"]:hover,
.cn-single__share-button[data-cn-share-network="whatsapp"]:focus-visible {
	box-shadow: 0 1px 2px rgb(37 211 102 / 18%);
}

.cn-single__share-button[data-cn-share-network="facebook"]:hover,
.cn-single__share-button[data-cn-share-network="facebook"]:focus-visible {
	box-shadow: 0 1px 2px rgb(24 119 242 / 18%);
}

.cn-single__share-button[data-cn-share-network="x"]:hover,
.cn-single__share-button[data-cn-share-network="x"]:focus-visible {
	box-shadow: 0 1px 2px rgb(15 23 42 / 18%);
}

.cn-single__share-button--copy:hover,
.cn-single__share-button--copy:focus-visible,
.cn-single__share-button[data-cn-copy-state="copied"] {
	color: var(--cn-brand-on-primary);
	background: var(--cn-brand-secondary);
	box-shadow: 0 1px 2px rgb(46 125 50 / 18%);
}