/* Koinonia Related Posts. Μεταβλητές: --krp-cols, --krp-ratio, --krp-accent, --krp-kicker (από τις ρυθμίσεις). */
.krp {
	--krp-ink: #1f2326;
	--krp-muted: #6b7076;
	--krp-line: #e4e0da;
	--krp-card: #fff;
	--krp-radius: 6px;
	--krp-gap: clamp(1rem, 2.4vw, 1.75rem);
	--krp-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;
	--krp-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	clear: both;
	margin: clamp(2.5rem, 6vw, 4rem) 0 2rem;
	color: var(--krp-ink);
	font-family: var(--krp-sans);
}

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

/* Τίτλος ενότητας: κείμενο με λεπτή γραμμή και μικρό χρωματιστό τμήμα */
.krp__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0 0 var(--krp-gap);
	padding: 0;
	border: 0;
	font-family: var(--krp-serif);
	font-size: clamp(1.25rem, 2.6vw, 1.6rem);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .005em;
	color: var(--krp-ink);
}
.krp__heading::after {
	content: "";
	flex: 1;
	height: 1px;
	background: linear-gradient(to right, var(--krp-accent) 0 3rem, var(--krp-line) 3rem);
}
.krp__heading span { flex: none; }

.krp__grid {
	display: grid;
	grid-template-columns: repeat(var(--krp-cols, 3), minmax(0, 1fr));
	gap: var(--krp-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.krp__item { margin: 0; padding: 0; min-width: 0; }
.krp__item::before,
.krp__item::marker { content: none; }

.krp__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none !important;
	border-radius: var(--krp-radius);
	-webkit-tap-highlight-color: transparent;
}
.krp__link:focus-visible {
	outline: 2px solid var(--krp-accent);
	outline-offset: 3px;
}

/* Εικόνα */
.krp__media {
	position: relative;
	display: block;
	aspect-ratio: var(--krp-ratio, 3/2);
	overflow: hidden;
	border-radius: var(--krp-radius);
	background: #ece8e2;
}
.krp__media--empty {
	background:
		radial-gradient(circle at 30% 20%, rgb(255 255 255 / .35), transparent 60%),
		linear-gradient(135deg, var(--krp-accent), color-mix(in srgb, var(--krp-accent) 60%, #000));
}
.krp .krp__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	transition: transform .5s cubic-bezier(.2, .7, .2, 1), filter .3s ease;
}

/* Κείμενο */
.krp__body {
	display: flex;
	flex-direction: column;
	gap: .4rem;
	padding: .85rem .1rem 0;
}
.krp__kicker {
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--krp-kicker);
	line-height: 1.3;
}
.krp__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-family: var(--krp-serif);
	font-size: clamp(1.02rem, 1.5vw, 1.14rem);
	font-weight: 600;
	line-height: 1.35;
	color: var(--krp-ink);
	text-wrap: pretty;
	background-image: linear-gradient(var(--krp-accent), var(--krp-accent));
	background-size: 0 1px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: color .2s ease;
}
.krp__date {
	font-size: .8rem;
	color: var(--krp-muted);
}

@media (hover: hover) {
	.krp__link:hover .krp__img { transform: scale(1.045); }
	.krp__link:hover .krp__title { color: var(--krp-accent); }
}

/* Στυλ «Κάρτες» */
.krp--cards .krp__link {
	background: var(--krp-card);
	box-shadow: 0 1px 2px rgb(0 0 0 / .06), 0 6px 18px rgb(0 0 0 / .06);
	overflow: hidden;
	transition: box-shadow .25s ease, transform .25s ease;
}
.krp--cards .krp__media { border-radius: 0; }
.krp--cards .krp__body { padding: 1rem 1.1rem 1.15rem; }
@media (hover: hover) {
	.krp--cards .krp__link:hover {
		transform: translateY(-3px);
		box-shadow: 0 2px 4px rgb(0 0 0 / .06), 0 14px 30px rgb(0 0 0 / .1);
	}
}

/* Στυλ «Επικάλυψη»: τίτλος πάνω στην εικόνα */
.krp--overlay .krp__link { position: relative; overflow: hidden; }
.krp--overlay .krp__media { aspect-ratio: 4/5; }
.krp--overlay .krp__body {
	position: absolute;
	inset: auto 0 0;
	padding: 3.5rem 1rem 1rem;
	background: linear-gradient(to top, rgb(10 8 8 / .88), rgb(10 8 8 / .55) 55%, transparent);
	border-radius: 0 0 var(--krp-radius) var(--krp-radius);
}
.krp--overlay .krp__title,
.krp--overlay .krp__date { color: #fff; }
.krp--overlay .krp__kicker { color: #e7c896; }
@media (hover: hover) {
	.krp--overlay .krp__link:hover .krp__title { color: #fff; background-size: 100% 1px; }
}

/* Στυλ «Περιοδικό»: ένα μεγάλο (το πιο σχετικό, με απόσπασμα) και δίπλα λίστα με τα επόμενα */
.krp--magazine .krp__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: start; }
.krp__rest { margin: 0; padding: 0; min-width: 0; }
.krp__rest::before,
.krp__rest::marker { content: none; }
.krp__list { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.krp__list .krp__item + .krp__item { padding-top: 1rem; border-top: 1px solid var(--krp-line); }
.krp--magazine .krp__list .krp__link { flex-direction: row; align-items: center; gap: .9rem; }
.krp--magazine .krp__list .krp__media { flex: 0 0 6.5rem; aspect-ratio: 1; }
.krp--magazine .krp__list .krp__body { padding: 0; gap: .25rem; }
.krp--magazine .krp__list .krp__title { font-size: 1rem; }
.krp--magazine .krp__item--lead .krp__media { aspect-ratio: 4/3; }
.krp--magazine .krp__item--lead .krp__body { padding-top: .9rem; gap: .45rem; }
.krp--magazine .krp__item--lead .krp__title { font-size: clamp(1.2rem, 2.2vw, 1.45rem); -webkit-line-clamp: 4; }
.krp__excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-family: var(--krp-serif);
	font-size: 1rem;
	line-height: 1.55;
	color: #4d5257;
}

/* «Ζώνη φόντου»: χρωματιστό φόντο (--krp-band-bg) με χρυσές κατηγορίες (--krp-band-kick), με οποιοδήποτε στυλ */
.krp--band {
	--krp-kicker: var(--krp-band-kick) !important;
	padding: clamp(1.2rem, 3vw, 1.9rem) clamp(1rem, 3vw, 1.7rem) clamp(1.4rem, 3vw, 2rem);
	background: var(--krp-band-bg);
	border-radius: var(--krp-radius);
}
.krp--band-dark {
	--krp-ink: #f3efe9;
	--krp-muted: #a8a099;
	--krp-line: rgb(255 255 255 / .13);
	--krp-sub: #d3cbc1;
	--krp-card: color-mix(in srgb, var(--krp-band-bg) 88%, #fff);
}
.krp--band-light {
	--krp-ink: #2b211b;
	--krp-muted: #8a7b6e;
	--krp-line: rgb(90 61 58 / .18);
	--krp-sub: #5a4b40;
	--krp-card: color-mix(in srgb, var(--krp-band-bg) 45%, #fff);
}
.krp--band .krp__heading::after { background: linear-gradient(to right, var(--krp-band-kick) 0 3rem, var(--krp-line) 3rem); }
.krp--band-dark .krp__media { box-shadow: 0 6px 18px rgb(0 0 0 / .3); }
.krp--band .krp__excerpt { color: var(--krp-sub); }
.krp--band .krp__link:focus-visible { outline-color: var(--krp-band-kick); }
@media (hover: hover) {
	.krp--band .krp__link:hover .krp__title { color: var(--krp-band-kick); }
}

/* Tablet: 2 στήλες */
@media (max-width: 59.99em) {
	.krp__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.krp--magazine .krp__grid { grid-template-columns: 1fr; }
}

/* Κινητό: λίστα με μικρή εικόνα αριστερά και τίτλο δεξιά */
@media (max-width: 37.49em) {
	.krp { --krp-gap: .9rem; }
	.krp__grid { grid-template-columns: 1fr; }
	.krp__link,
	.krp--overlay .krp__link {
		flex-direction: row;
		align-items: center;
		gap: .9rem;
	}
	.krp__media,
	.krp--overlay .krp__media {
		flex: 0 0 7.5rem;
		aspect-ratio: 4/3;
	}
	.krp__body,
	.krp--cards .krp__body,
	.krp--overlay .krp__body {
		position: static;
		padding: 0;
		background: none;
		gap: .25rem;
	}
	.krp--cards .krp__link { padding-right: .9rem; }
	.krp--overlay .krp__title { color: var(--krp-ink); }
	.krp--overlay .krp__date { color: var(--krp-muted); }
	.krp--overlay .krp__kicker { color: var(--krp-kicker); }
	.krp__title { font-size: 1rem; -webkit-line-clamp: 3; }
	.krp__item + .krp__item { padding-top: .9rem; border-top: 1px solid var(--krp-line); }
	.krp--magazine .krp__item--lead .krp__link { flex-direction: column; align-items: stretch; }
	.krp--magazine .krp__item--lead .krp__media { flex: none; aspect-ratio: 4/3; }
	.krp--magazine .krp__item--lead .krp__body { padding-top: .8rem; }
	.krp--magazine .krp__list .krp__media { flex-basis: 6rem; }
	.krp--magazine .krp__excerpt { -webkit-line-clamp: 2; font-size: .95rem; }
	.krp--cards .krp__item + .krp__item { padding-top: 0; border-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.krp .krp__img,
	.krp__link,
	.krp__title { transition: none; }
	.krp__link:hover .krp__img { transform: none; }
	.krp--cards .krp__link:hover { transform: none; }
}

@media print {
	.krp { display: none !important; }
}
