.pt-single-main,
.pt-page-main {
	padding-top: clamp(2rem, 5vw, 4.5rem);
}

.pt-breadcrumbs {
	margin-bottom: var(--pt-space-6);
	color: var(--pt-text-muted);
	font-size: var(--pt-text-sm);
}

.pt-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4rem .65rem; margin: 0; padding: 0; list-style: none; }
.pt-breadcrumbs li + li::before { margin-right: .65rem; color: var(--pt-gray-300); content: "/"; }
.pt-breadcrumbs [aria-current="page"] { overflow: hidden; max-width: 24rem; text-overflow: ellipsis; white-space: nowrap; }

.pt-single__header h1,
.pt-page__header h1 { margin: var(--pt-space-5) 0; }
.pt-single__header h1 { max-width: var(--pt-wide); }
.pt-single__lead { color: var(--pt-text-muted); font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.6; }
.pt-single__lead p { margin-bottom: 0; }
.pt-single__intro { display: grid; grid-template-columns: minmax(0, 3fr) minmax(280px, 2fr); gap: var(--pt-space-6); align-items: stretch; margin-top: var(--pt-space-7); margin-bottom: var(--pt-space-7); }
.pt-single__intro--single { grid-template-columns: minmax(0, 1fr); }
.pt-single__featured { display: flex; min-width: 0; margin: 0; align-items: center; overflow: hidden; border-radius: var(--pt-radius-md); background: var(--pt-gray-100); }
.pt-single__featured img { width: 100%; height: 100%; max-height: 480px; border-radius: inherit; object-fit: cover; }
.pt-single__summary { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.25rem, 3vw, 2rem); border: 2px solid var(--pt-brutal-ink); border-radius: var(--pt-radius-md); background: var(--pt-surface); box-shadow: var(--pt-brutal-shadow); }
.pt-single__summary h2 { display: inline-block; align-self: flex-start; margin: 0 0 var(--pt-space-4); padding: .3rem .65rem; border: 1px solid var(--pt-black); border-radius: var(--pt-radius-pill); background: var(--pt-purple); box-shadow: 2px 2px 0 var(--pt-black); color: var(--pt-white); font-size: var(--pt-text-sm); letter-spacing: .02em; }
.pt-entry-content { padding-bottom: var(--pt-space-7); }

html[data-pt-theme="dark"] .pt-single__summary { background: #000; }
html[data-pt-theme="dark"] .pt-single__summary h2 { border-color: var(--pt-white); box-shadow: 2px 2px 0 var(--pt-white); color: var(--pt-white); }

.pt-scroll-highlight {
	background-color: transparent;
	color: inherit;
}

.pt-scroll-highlight__fragment {
	--pt-fragment-progress: 0%;
	background-image: linear-gradient(var(--pt-pink), var(--pt-pink));
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: var(--pt-fragment-progress) 100%;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	will-change: background-size;
}

@media (max-width: 768px) {
	.pt-single__intro { grid-template-columns: 1fr; gap: var(--pt-space-4); }
	.pt-single__featured img { height: auto; max-height: none; }
}

.pt-single__body {
	display: grid;
	grid-template-columns: minmax(0, var(--pt-reading));
	justify-content: center;
	gap: var(--pt-space-7);
}

.pt-single__body--with-toc {
	grid-template-columns: minmax(260px, 280px) minmax(0, var(--pt-reading)) minmax(0, 1fr);
	column-gap: var(--pt-space-6);
	justify-content: stretch;
}

.pt-single__content-column {
	min-width: 0;
}

.pt-single__body--with-toc .pt-single__content-column {
	grid-column: 2 / -1;
}

.pt-article-sidebar {
	grid-column: 1;
	min-width: 0;
}

.pt-toc {
	position: sticky;
	top: calc(var(--pt-header-top-height) + var(--pt-header-nav-height) + 1.5rem);
	max-height: calc(100vh - var(--pt-header-top-height) - var(--pt-header-nav-height) - 3rem);
	overflow-x: hidden;
	overflow-y: auto;
	padding: var(--pt-space-4);
	border: 2px solid var(--pt-brutal-ink);
	border-radius: var(--pt-radius-md);
	background: var(--pt-surface);
	box-shadow: var(--pt-brutal-shadow);
	scrollbar-color: var(--pt-text-muted) transparent;
	scrollbar-width: thin;
}

.pt-toc::-webkit-scrollbar { width: 6px; height: 0; }
.pt-toc::-webkit-scrollbar-track { background: transparent; }
.pt-toc::-webkit-scrollbar-thumb { border-radius: var(--pt-radius-pill); background: var(--pt-text-muted); }
.pt-toc::-webkit-scrollbar-button,
.pt-toc::-webkit-scrollbar-button:single-button,
.pt-toc::-webkit-scrollbar-button:vertical:decrement,
.pt-toc::-webkit-scrollbar-button:vertical:increment { display: none; width: 0; height: 0; }
.pt-toc::-webkit-scrollbar-corner { background: transparent; }

.pt-toc h2 {
	display: inline-block;
	margin: 0 0 var(--pt-space-5);
	padding: .3rem .65rem;
	border: 1px solid var(--pt-black);
	border-radius: var(--pt-radius-pill);
	background: var(--pt-purple);
	box-shadow: 2px 2px 0 var(--pt-black);
	color: var(--pt-white);
	font-size: var(--pt-text-sm);
	font-weight: 800;
	letter-spacing: .02em;
}

html[data-pt-theme="dark"] .pt-toc h2 {
	border-color: var(--pt-white);
	box-shadow: 2px 2px 0 var(--pt-white);
	color: var(--pt-white);
}

.pt-lightbox-trigger { cursor: zoom-in; }
.pt-lightbox-trigger:focus-visible { outline: 3px solid var(--pt-pink); outline-offset: 4px; }
.pt-image-lightbox[hidden] { display: none; }
.pt-image-lightbox { position: fixed; inset: 0; z-index: 10050; display: grid; padding: clamp(1rem, 3vw, 2.5rem); place-items: center; }
.pt-image-lightbox__backdrop { position: absolute; inset: 0; background: rgb(0 0 0 / 88%); backdrop-filter: blur(4px); }
.pt-image-lightbox__dialog { position: relative; z-index: 1; display: grid; width: min(96vw, 1400px); max-height: 94vh; place-items: center; }
.pt-image-lightbox__image { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(94vh - 4rem); border-radius: var(--pt-radius-sm); background: #111; box-shadow: 0 18px 60px rgb(0 0 0 / 55%); object-fit: contain; }
.pt-image-lightbox__caption { max-width: min(90vw, 70rem); margin: .75rem 3rem 0; color: #fff; font-size: var(--pt-text-sm); text-align: center; }
.pt-image-lightbox__caption:empty { display: none; }
.pt-image-lightbox__close { position: absolute; top: .25rem; right: .25rem; z-index: 2; display: grid; width: 2.75rem; height: 2.75rem; padding: 0; place-items: center; border: 1px solid #fff; border-radius: 50%; background: #000; box-shadow: 2px 2px 0 #fff; color: #fff; font: inherit; font-size: 1.5rem; cursor: pointer; }
.pt-image-lightbox__close:hover { background: var(--pt-pink); }
.pt-image-lightbox__close:focus-visible { outline: 3px solid var(--pt-pink); outline-offset: 3px; }
body.pt-lightbox-open { overflow: hidden; }

.pt-toc__list {
	margin: 0;
	padding-left: 0;
	color: var(--pt-gray-500);
	font-size: var(--pt-text-sm);
	list-style: none;
}

.pt-toc__item + .pt-toc__item {
	margin-top: .65rem;
}

.pt-toc__item--h3 {
	margin-left: var(--pt-space-3);
}

.pt-toc__item--h4 {
	margin-left: calc(var(--pt-space-3) * 2);
}

.pt-toc a {
	display: grid;
	grid-template-columns: 2.8rem minmax(0, 1fr);
	padding: .38rem .5rem;
	border: 1px solid transparent;
	border-radius: var(--pt-radius-sm);
	color: var(--pt-text-muted);
	line-height: 1.25;
	overflow-wrap: anywhere;
	text-decoration: none;
	transition: border-color var(--pt-transition-fast), box-shadow var(--pt-transition-fast), color var(--pt-transition-fast), transform var(--pt-transition-fast);
}

.pt-toc__number {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
}

.pt-toc a:hover,
.pt-toc a:focus-visible,
.pt-toc__item.is-active > a {
	border-color: var(--pt-brutal-ink);
	background: transparent;
	box-shadow: 2px 2px 0 var(--pt-brutal-ink);
	color: var(--pt-text);
	font-weight: inherit;
	text-decoration: none;
	transform: translate(1px, 1px);
}

.pt-single__footer { padding-top: var(--pt-space-6); border-top: 1px solid var(--pt-border); }
.pt-post-tags { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: var(--pt-space-6); }
.pt-post-tags span { font-weight: 750; }
.pt-post-tags a { padding: .25rem .65rem; border: 1px solid var(--pt-brutal-ink); border-radius: var(--pt-radius-pill); background: var(--pt-accent-soft); box-shadow: 2px 2px 0 var(--pt-brutal-ink); color: var(--pt-accent-soft-text); font-size: var(--pt-text-sm); text-decoration: none; transition: box-shadow var(--pt-transition-fast), transform var(--pt-transition-fast); }
.pt-post-tags a:hover { box-shadow: 1px 1px 0 var(--pt-brutal-ink); transform: translate(1px, 1px); }
.pt-post-tags a:active { box-shadow: none; transform: translate(2px, 2px); }

.pt-article-favorite__button { bottom: 258px; }
.pt-article-favorite__button.is-favorite { background: var(--pt-pink); color: var(--pt-white); }
.pt-article-favorite__button.is-loading { cursor: wait; opacity: .72; }
.pt-article-favorite__icon { width: 1.25rem; height: 1.25rem; background: currentColor; -webkit-mask: url("../images/estrela.svg") center / contain no-repeat; mask: url("../images/estrela.svg") center / contain no-repeat; }
.pt-article-favorite__button.is-favorite .pt-article-favorite__icon { -webkit-mask-image: url("../images/estrela_marcada.svg"); mask-image: url("../images/estrela_marcada.svg"); }
.pt-article-toast { position: fixed; top: auto; right: auto; bottom: 20px; left: 20px; z-index: 9999; display: inline-block; max-width: min(388px, calc(100vw - 40px)); padding: .8em 1em; border: 2px solid #6212e6; border-radius: 5px; background: #000; box-shadow: 3px 3px 0 #6212e6; color: #fff; font-family: Quicksand, sans-serif; font-size: 16px; font-weight: 400; line-height: 24px; text-align: left; }
.pt-article-toast::before { content: ""; display: inline-block; width: 16px; height: 16px; margin-right: .5em; vertical-align: middle; background: #fff; -webkit-mask: url("/wp-content/uploads/midia/estrela_marcada.svg") no-repeat center / contain; mask: url("/wp-content/uploads/midia/estrela_marcada.svg") no-repeat center / contain; }
.pt-article-toast--error { box-shadow: 3px 3px 0 var(--pt-pink); }
.pt-article-toast__progress { position: relative; display: block; height: 4px; margin-top: .5em; overflow: hidden; border-radius: 9999px; background: rgb(255 255 255 / 30%); }
.pt-article-toast__progress::before { position: absolute; top: 0; left: 0; width: 0; height: 100%; border-radius: 9999px; background: #fff; content: ""; animation: toast-progress 4s linear forwards; }
@keyframes toast-progress { 0% { width: 0; } 100% { width: 100%; } }

@media (prefers-reduced-motion: reduce) {
	.pt-article-toast__progress::before { animation: none; }
	.pt-scroll-highlight__fragment { background-size: 100% 100%; }
}

@media (max-width: 1024px) {
	.pt-article-favorite__button { bottom: 254px; }
}

.pt-author-box { display: flex; gap: var(--pt-space-5); padding: var(--pt-space-5); border: 2px solid var(--pt-brutal-ink); border-radius: var(--pt-radius-md); background: var(--pt-surface); box-shadow: var(--pt-brutal-shadow); }
.pt-author-box img { width: 4.5rem; height: 4.5rem; border-radius: 50%; }
.pt-author-box img.pt-avatar--rogerio { border: 0; outline: 0; background: transparent; object-fit: cover; }
.pt-author-box span { color: var(--pt-text-muted); font-size: var(--pt-text-sm); }
.pt-author-box h2 { margin: .1rem 0 .25rem; font-size: var(--pt-text-xl); }
.pt-author-box p { margin: 0; color: var(--pt-text-muted); }

.post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--pt-space-6); }
.post-navigation a { display: flex; flex-direction: column; height: 100%; padding: var(--pt-space-4); border: 2px solid var(--pt-brutal-ink); border-radius: var(--pt-radius-sm); background: var(--pt-surface-elevated); box-shadow: var(--pt-brutal-shadow); text-decoration: none; transition: box-shadow var(--pt-transition-fast), transform var(--pt-transition-fast); }
.post-navigation .nav-next { text-align: right; }
.post-navigation span { color: var(--pt-text-muted); font-size: var(--pt-text-sm); }
.post-navigation strong { margin-top: .25rem; }
.post-navigation a:hover { box-shadow: 2px 2px 0 var(--pt-brutal-ink); transform: translate(2px, 2px); }
.post-navigation a:active { box-shadow: none; transform: translate(4px, 4px); }
.post-navigation a:hover strong { color: inherit; }
.pt-related { margin-top: var(--pt-space-9); background: var(--pt-gray-100); }

@media (min-width: 1320px) {
	.pt-article-sidebar {
		--pt-toc-offset: clamp(20px, 2vw, 32px);
		width: calc(100% + var(--pt-toc-offset));
		margin-left: calc(var(--pt-toc-offset) * -1);
	}

	.pt-single__body--with-toc .pt-entry-content > *,
	.pt-single__body--with-toc .pt-single__footer {
		max-width: var(--pt-reading);
	}

	.pt-single__body--with-toc .pt-entry-content :where(.alignwide, .alignfull) {
		width: 100%;
		max-width: none;
		margin-left: 0;
		transform: none;
	}
}

@media (max-width: 1319px) {
	.pt-single__body--with-toc {
		grid-template-columns: minmax(0, var(--pt-reading));
		justify-content: center;
	}

	.pt-single__body--with-toc .pt-single__content-column,
	.pt-article-sidebar {
		grid-column: auto;
	}

	.pt-toc {
		position: static;
		max-height: none;
		padding: var(--pt-space-5);
	}
}

/* =========================================================
   TOC lateral — desktops compactos / MacBook Air
   Mantém "Neste artigo" ao lado do conteúdo.
   ========================================================= */
@media (min-width: 1171px) and (max-width: 1319px) {

        .pt-single__body--with-toc {
                display: grid;
                grid-template-columns:
                        minmax(220px, 260px)
                        minmax(0, 1fr);
                align-items: start;
                justify-content: stretch;
                column-gap: clamp(1.75rem, 3vw, 2.75rem);
        }

        .pt-single__body--with-toc .pt-article-sidebar {
                grid-column: 1;
                grid-row: 1;
                min-width: 0;
                align-self: start;
        }

        .pt-single__body--with-toc .pt-single__content-column {
                grid-column: 2;
                grid-row: 1;
                width: 100%;
                max-width: none;
                min-width: 0;
                justify-self: stretch;
        }

        .pt-single__body--with-toc .pt-toc {
                position: sticky;
                top: calc(
                        var(--pt-header-top-height)
                        + var(--pt-header-nav-height)
                        + 1.5rem
                );
                max-height: calc(
                        100vh
                        - var(--pt-header-top-height)
                        - var(--pt-header-nav-height)
                        - 3rem
                );
        }
}
