/* Blogbejegyzés – közös sablon (fejléc, tartalom, tartalomjegyzék) */

.post-preview { margin: 0; padding: 10px 16px; background: #fff4d6; color: #7a5b00; font-weight: 600; text-align: center; }

/* Halványzöld, átmenetes fejléc: cím + dátum, jobbra a borítókép */
.post-hero {
	background:
		linear-gradient(rgba(255, 255, 255, .69), rgba(255, 255, 255, .69)),
		linear-gradient(135deg, var(--green) 0%, #fff 100%);
}
.post-hero__in {
	display: grid;
	grid-template-columns: 65fr 35fr;
	align-items: center;
	max-width: var(--wrap);
	margin-inline: auto;
	padding-block: 16px;
}
.post-hero__in--solo { grid-template-columns: 1fr; }
.post-hero__text { padding: 48px 80px 58px 16px; }
.post-hero__title { color: var(--dark); font-size: 34px; line-height: 1.2; letter-spacing: -1px; }
.post-hero__date {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 10px 0 0;
	color: var(--green-dark);
	font-family: var(--marker);
	font-size: 16px;
	line-height: 24px;
}
.post-hero__date .ci { font-size: 18px; vertical-align: 0; }
.post-hero__media { margin: 0; padding: 10px; }
.post-hero__media img, .post-hero__ph { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; border-radius: 15px; object-fit: cover; }
.post-hero__ph { background: transparent; }

/* Tartalom (70%) + tartalomjegyzék (30%) */
.post-body {
	display: grid;
	grid-template-columns: 70fr 30fr;
	align-items: start;
	max-width: var(--wrap);
	margin-inline: auto;
	padding: 32px 0 112px;
}
.post-body--solo { grid-template-columns: minmax(0, 896px); justify-content: center; }
.post-main { min-width: 0; padding: 16px 48px 16px 16px; }

.post-content { margin-top: 10px; color: var(--dark); font-size: 18px; line-height: 24px; }
.post-content > :first-child { margin-top: 0; }
.post-content p, .post-content ul, .post-content ol, .post-content blockquote, .post-content table { margin: 0 0 14.4px; }
.post-content ul, .post-content ol { padding-left: 40px; }
.post-content li { margin: 0; }
.post-content h2, .post-content h3, .post-content h4 {
	margin: 24px 0 20px;
	color: var(--dark);
	line-height: 1.2;
	letter-spacing: -1px;
	scroll-margin-top: 20px;
}
.post-content h2 { font-family: var(--marker); font-size: 22px; font-weight: 700; }
.post-content h3 { font-size: 18px; font-style: italic; }
.post-content h4 { font-size: 18px; }
.post-content a { color: var(--text); font-weight: 700; font-style: italic; text-decoration: underline; }
.post-content a:hover { color: var(--green-dark); }
.post-content u a, .post-content a u { text-decoration: none; }
.post-content figure { margin: 24px 0; }
.post-content img { max-width: 100%; height: auto; margin: 0; border-radius: 15px; }
.post-content figcaption { margin-top: 8px; color: var(--text); font-size: 15px; line-height: 1.4; text-align: center; }
.post-content blockquote { padding: 4px 0 4px 20px; border-left: 3px solid var(--green); font-style: italic; }
.post-content > :last-child { margin-bottom: 0; }

.post-sep { margin: 29.6px 0 0; padding: 0; border: 0; border-top: 1px dashed var(--green); }
.post-cta { margin-top: 25px; }

/* „Ebben a cikkben” */
.post-toc { position: sticky; top: 20px; padding: 37px 26px 16px; }
.post-toc__title {
	border-bottom: 2px solid var(--text);
	color: var(--dark);
	font-size: 22px;
	line-height: 1.2;
	letter-spacing: -1px;
}
.post-toc ul { margin: 5px 0 0; padding: 0; list-style: none; }
.post-toc a {
	display: block;
	padding: 10px 5px;
	color: var(--dark);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -1px;
	transition: color .2s, background-color .2s;
}
.post-toc a:hover, .post-toc a:focus-visible { background: var(--green); color: #fff; }
.post-toc .is-sub a { padding-left: 20px; font-size: 16px; }

@media (max-width: 1024px) {
	.post-hero__in { grid-template-columns: 1fr; }
	.post-hero__text { padding: 32px 32px 42px; text-align: center; }
	.post-hero__title { font-size: 37px; }
	.post-hero__date { justify-content: center; }
	.post-hero__media img, .post-hero__ph { max-height: 425px; aspect-ratio: 16 / 9; }
	.post-body { grid-template-columns: 1fr; padding: 48px 0; }
	.post-toc { position: static; order: -1; padding: 0 16px 16px; }
	.post-main { padding: 16px; }
	.post-content { font-size: 15px; }
}

@media (max-width: 767px) {
	.post-hero__in { padding-block: 14px; }
	.post-hero__text { padding: 21px 21px 31px; }
	.post-hero__title { font-size: 28px; }
	.post-hero__date { margin-top: 24px; }
	.post-hero__media img, .post-hero__ph { height: 200px; }
	.post-body { padding: 14px 0 28px; }
	.post-toc { display: none; }
	.post-main { padding: 14px; }
	.post-content { font-size: 16px; line-height: 21px; }
	.post-content h2, .post-content h3, .post-content h4 { margin: 25px 0 20px; font-size: 20px; }
	.post-content ul, .post-content ol { padding-left: 40px; }
}
