/* Article components adapted from JJFrías, isolated from pages and applications. */
body.single-post {
	--aula-article-paper: #fffdf8;
	--aula-article-line: #d9e5e2;
	--aula-article-teal: #23877c;
	--aula-article-gold: #a96b08;
}
body.single-post .aula-entry-featured {
	max-width: 1080px !important;
	margin-bottom: 0;
	border-radius: 24px 24px 0 0;
}
body.single-post :is(.aula-article__meta-row, .aula-article__end) {
	box-sizing: border-box;
	width: 100%;
	max-width: 1080px;
	margin-inline: auto;
	font-family: "Aula Inter", system-ui, sans-serif;
}
body.single-post .aula-article__meta-row {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) auto;
	align-items: center;
	gap: 1rem;
	margin-block: 0 2.5rem;
	padding: 1.125rem 1.5rem;
	border: 1px solid var(--aula-article-line);
	border-radius: 0 0 24px 24px;
	background: var(--aula-article-paper);
	box-shadow: 0 12px 32px rgb(24 50 58 / 6%);
}
body.single-post .aula-article__author {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: .8rem;
	align-items: center;
	min-width: 0;
	color: var(--aula-ink);
	text-decoration: none;
}
body.single-post .aula-article__author-photo {
	display: block;
	width: 56px;
	height: 56px;
	border: 3px solid white;
	border-radius: 50%;
	background: #e8efea;
	object-fit: cover;
	object-position: 50% 35%;
	box-shadow: 0 7px 18px rgb(24 50 58 / 14%);
}
body.single-post .aula-article__author-name {
	display: block;
	font-size: .9rem;
	font-weight: 800;
	line-height: 1.35;
}
body.single-post .aula-article__author-date {
	display: block;
	margin-top: .2rem;
	color: var(--aula-muted);
	font-size: .77rem;
	line-height: 1.4;
}
body.single-post .aula-article__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .6rem;
	min-width: 0;
}
body.single-post .aula-article__actions-label {
	color: var(--aula-article-teal);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .025em;
}
body.single-post .aula-article__socials {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: .2rem;
	margin: 0;
}
body.single-post .aula-article__social-link {
	display: grid;
	place-items: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border: 1px solid transparent;
	border-radius: 50%;
	color: var(--aula-ink);
	background: transparent;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
body.single-post .aula-article__social-link svg { width: 20px; height: 20px; }
body.single-post .aula-article__social-link.is-newsletter {
	border-color: #efd59f;
	background: #fff1d2;
	color: var(--aula-article-gold);
}
body.single-post .aula-article__social-link:hover {
	border-color: var(--aula-article-teal);
	background: #edf4f0;
	transform: translateY(-2px);
}
body.single-post .aula-article__save {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	min-height: 44px;
	padding: .6rem .9rem;
	border: 1px solid #efd59f;
	border-radius: 14px;
	background: #fff5da;
	color: var(--aula-article-gold);
	font: 750 .8rem/1.3 "Aula Inter", system-ui, sans-serif;
	cursor: pointer;
}
body.single-post .aula-article__save[hidden] { display: none; }
body.single-post .aula-article__save svg { width: 18px; height: 18px; flex: 0 0 18px; }
body.single-post .aula-article__save:hover { border-color: #a96b08; background: #ffedbc; }
body.single-post .aula-article__save.is-saved { color: #176c61; background: #e6f2e9; border-color: #86b8a2; }
body.single-post .aula-article__save.is-saved svg { fill: currentColor; }
body.single-post .aula-article__related {
	box-sizing: border-box;
	width: 100%;
	max-width: 1080px;
	margin: 3rem auto;
	padding: 0;
	font-family: "Aula Inter", system-ui, sans-serif;
	clear: both;
}
body.single-post .aula-article__related-heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1.25rem;
	color: var(--aula-article-teal);
	font: 800 .78rem/1.4 "Aula Inter", system-ui, sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
}
body.single-post .aula-article__related-heading::after { content: ""; flex: 1; height: 1px; background: var(--aula-article-line); }
body.single-post .aula-article__related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
body.single-post .aula-article__related-card {
	--aula-card-accent: var(--aula-article-teal);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--aula-article-line);
	border-top: 3px solid var(--aula-card-accent);
	border-radius: 18px;
	background: var(--aula-article-paper);
	color: var(--aula-ink);
	box-shadow: 0 12px 28px rgb(24 50 58 / 5%);
	text-decoration: none;
	transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
body.single-post .aula-article__related-card.is-tone-2 { --aula-card-accent: #b57809; }
body.single-post .aula-article__related-card.is-tone-3 { --aula-card-accent: #3d7faf; }
/* A non-replaced frame sets the size; the image cannot enlarge the card. */
body.single-post .aula-article__related-media {
	position: relative;
	display: block;
	flex: none;
	min-width: 0;
	width: 100%;
	aspect-ratio: 2.1 / 1;
	overflow: hidden;
	background: #eff4ef;
}
body.single-post .aula-article__related-media > :is(.aula-article__related-image, .aula-article__related-placeholder) {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	max-width: none;
	max-height: none;
	aspect-ratio: auto;
	object-fit: cover;
	margin: 0;
	border-radius: 0;
}
body.single-post :is(.aula-article__related-placeholder, .aula-article__nav-placeholder) {
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #e2ede7, #fff2d4);
	color: var(--aula-article-teal);
	font-weight: 800;
}
body.single-post .aula-article__related-media > .aula-article__related-placeholder { display: grid; }
body.single-post .aula-article__related-copy { display: block; min-width: 0; padding: 1rem 1.1rem 1.25rem; }
body.single-post .aula-article__related-category { display: block; margin-bottom: .5rem; color: var(--aula-card-accent); font-size: .7rem; font-weight: 800; letter-spacing: .07em; line-height: 1.35; text-transform: uppercase; }
body.single-post .aula-article__related-title { display: block; color: var(--aula-ink); font-size: 1.02rem; font-weight: 780; line-height: 1.4; overflow-wrap: anywhere; }
body.single-post .aula-article__related-excerpt { display: block; margin-top: .6rem; color: #4c6268; font-size: .82rem; font-weight: 400; line-height: 1.55; overflow-wrap: anywhere; }
body.single-post :is(.aula-article__related-card, .aula-article__nav-link):hover { border-color: var(--aula-article-teal); transform: translateY(-3px); box-shadow: 0 15px 30px rgb(24 50 58 / 10%); }
body.single-post .aula-article__end { margin-block: 3.5rem 0; }
body.single-post .aula-article__end-tools {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 2rem;
	overflow: hidden;
	padding: 1.7rem 2rem;
	border: 1px solid #ccdfd7;
	border-radius: 22px;
	background: linear-gradient(110deg, #f0f6f2, #fffdfa 55%, #fdf7e6);
	box-shadow: 0 14px 32px rgb(24 50 58 / 6%);
}
body.single-post .aula-article__end-tools::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, #52a6b6 0 28%, #23877c 28% 58%, #f4c95d 58% 79%, #ed8d45 79%); }
body.single-post .aula-article__end-heading { margin: 0 0 1rem; color: var(--aula-ink); font: 800 .72rem/1.4 "Aula Inter", system-ui, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
body.single-post .aula-article__topic-links { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0; padding: 0; list-style: none; }
body.single-post .aula-article__topic-links li { flex: 1 1 170px; min-width: 0; margin: 0; }
body.single-post .aula-article__topic-links a { display: flex; align-items: center; min-height: 44px; padding: .55rem .85rem; border: 1px solid #d4e6df; border-radius: 999px; color: #315d59; background: rgb(255 255 255 / 80%); font: 700 1rem/1.35 Georgia, serif; text-decoration: none; overflow-wrap: anywhere; }
body.single-post .aula-article__topic-links a:hover { background: #e5f2eb; border-color: #23877c; }
body.single-post .aula-article__end-actions { min-width: 0; padding-left: 2rem; border-left: 1px solid var(--aula-article-line); }
body.single-post .aula-article__share { display: flex; flex-wrap: wrap; gap: .75rem; }
body.single-post .aula-article__share .aula-article__socials { flex-wrap: wrap; }
body.single-post .aula-article__share .aula-article__social-link { border-color: var(--aula-article-line); background: rgb(255 255 255 / 80%); color: var(--aula-article-teal); }
body.single-post .aula-article__share .aula-article__social-link.is-newsletter { border-color: #efd59f; background: #fff1d2; color: var(--aula-article-gold); }
body.single-post .aula-article__share .aula-article__save { border-radius: 999px; }
body.single-post .aula-article__end-tools.has-no-topics { grid-template-columns: 1fr; }
body.single-post .aula-article__end-tools.has-no-topics .aula-article__end-actions { padding: 0; border: 0; }
body.single-post .aula-article__post-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }
body.single-post .aula-article__nav-link { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 1rem; min-width: 0; padding: 1rem; border: 1px solid var(--aula-article-line); border-top: 3px solid #52a6b6; border-radius: 18px; background: linear-gradient(135deg, #f0f6f5, #fffdf8 55%); color: var(--aula-ink); text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; }
body.single-post .aula-article__nav-link.is-next { grid-template-columns: minmax(0, 1fr) 112px; border-top-color: var(--aula-article-teal); background: linear-gradient(225deg, #f0f6f5, #fffdf8 55%); text-align: right; }
body.single-post .aula-article__nav-link:only-child { grid-column: 1 / -1; }
body.single-post :is(.aula-article__nav-thumb, .aula-article__nav-placeholder) { width: 112px; height: 100px; border-radius: 13px; object-fit: cover; }
body.single-post .aula-article__nav-kicker { display: block; margin-bottom: .55rem; color: var(--aula-article-teal); font-size: .65rem; font-weight: 800; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }
body.single-post .aula-article__nav-title { display: block; font: 700 clamp(1rem, 1.5vw, 1.25rem)/1.35 Georgia, serif; overflow-wrap: anywhere; }
body.single-post .aula-article__save-status { position: fixed; right: 1rem; bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 1000; max-width: min(350px, calc(100vw - 2rem)); border-radius: 12px; background: #18323a; color: white; box-shadow: var(--aula-shadow); font-size: .85rem; line-height: 1.45; }
body.single-post .aula-article__save-status:not(:empty) { padding: .8rem 1rem; }
body.single-post :is(.aula-article__meta-row, .aula-article__related, .aula-article__end) :is(a, button):focus-visible { outline: 3px solid #c38b19; outline-offset: 3px; }
@media (max-width: 1050px) {
	body.single-post .aula-article__meta-row { grid-template-columns: 1fr; gap: 1rem; }
	body.single-post .aula-article__actions { justify-content: flex-start; flex-wrap: wrap; }
	body.single-post .aula-article__end-tools { gap: 1.25rem; padding: 1.5rem; }
	body.single-post .aula-article__end-actions { padding-left: 1.25rem; }
}
@media (max-width: 700px) {
	body.single-post .aula-article__end-tools { grid-template-columns: 1fr; }
	body.single-post .aula-article__end-actions { border-left: 0; border-top: 1px solid var(--aula-article-line); padding: 1.25rem 0 0; }
	body.single-post .aula-article__post-nav { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
	body.single-post .aula-article__meta-row { padding: 1rem; }
	body.single-post .aula-article__author-name { font-size: .85rem; }
	body.single-post .aula-article__actions { gap: .6rem; }
	body.single-post .aula-article__actions-label { flex: 1 0 100%; }
	body.single-post .aula-article__socials { flex-wrap: nowrap; gap: 0; }
	body.single-post .aula-article__social-link { flex-basis: clamp(32px, calc((100vw - 5rem) / 7), 44px); width: clamp(32px, calc((100vw - 5rem) / 7), 44px); height: clamp(32px, calc((100vw - 5rem) / 7), 44px); }
	body.single-post .aula-article__related { margin-block: 2rem; }
	body.single-post .aula-article__related-grid { grid-template-columns: 1fr; gap: .75rem; }
	body.single-post .aula-article__related-card { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: start; border-top-width: 1px; border-left: 3px solid var(--aula-card-accent); border-radius: 14px; }
	body.single-post .aula-article__related-media { width: 96px; height: 120px; aspect-ratio: 4 / 5; }
	body.single-post .aula-article__related-copy { padding: .8rem; }
	body.single-post .aula-article__related-title { font-size: .9rem; }
	body.single-post .aula-article__related-excerpt { font-size: .78rem; }
	body.single-post .aula-article__related-category { font-size: .63rem; }
	body.single-post .aula-article__related-heading { font-size: .7rem; gap: .6rem; }
	body.single-post .aula-article__end { margin-top: 2.5rem; }
	body.single-post .aula-article__end-tools { padding: 1.25rem; }
	body.single-post .aula-article__nav-link { grid-template-columns: 72px minmax(0, 1fr); gap: .75rem; padding: .85rem; }
	body.single-post .aula-article__nav-link.is-next { grid-template-columns: minmax(0, 1fr) 72px; }
	body.single-post :is(.aula-article__nav-thumb, .aula-article__nav-placeholder) { width: 72px; height: 80px; }
	body.single-post .aula-article__nav-title { font-size: 1.05rem; }
}
@media (prefers-reduced-motion: reduce) {
	body.single-post :is(.aula-article__social-link, .aula-article__related-card, .aula-article__nav-link) { transition: none; transform: none; }
}
@media print {
	body.single-post :is(.aula-article__actions, .aula-article__related, .aula-article__end) { display: none; }
	body.single-post .aula-article__meta-row { box-shadow: none; border: 0; background: white; }
}
