/* ==========================================================================
   ΑΥΓΕΡΟΣ — CONTENT
   Core blocks (paragraph, heading, list, image, buttons) ανάμεσα στις ACF
   ενότητες, τίτλος σελίδας, και οι "Ρυθμίσεις σελίδας" (body classes).
   Φορτώνεται στο frontend και στον editor.

   Frontend wrapper:  .site-content
   Editor wrapper:    .is-root-container
   Οι ACF ενότητες είναι <section data-block> (στον editor μέσα σε .wp-block-acf-*).
   ========================================================================== */

/* ---------- ΤΙΤΛΟΣ ΣΕΛΙΔΑΣ (σελίδες χωρίς hero) ---------- */
.page-header {
	background-color: var(--color-bg-alt);
	border-bottom: var(--border-width) solid var(--color-border);
}

.page-header__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: var(--section-py-tight) var(--container-pad);
}

.page-header__title {
	max-width: 54rem;
	font-size: var(--fs-h2);
	color: var(--color-text);
}

/* ---------- CORE BLOCKS: ΣΤΗΛΗ ΚΕΙΜΕΝΟΥ ---------- */
:where(.site-content, .is-root-container) > :not(section[data-block]):not([class*="wp-block-acf-"]) {
	box-sizing: content-box;
	max-width: var(--content-max);
	margin-inline: auto;
	padding-inline: var(--container-pad);
}

/* Ρυθμός: απόσταση μεταξύ διαδοχικών core blocks. */
:where(.site-content, .is-root-container) > :not(section[data-block]):not([class*="wp-block-acf-"]) + :not(section[data-block]):not([class*="wp-block-acf-"]) {
	margin-top: var(--space-md);
}

/* Ομάδα core blocks ανάμεσα σε ενότητες: αέρας πάνω/κάτω ίσος με section padding. */
:where(.site-content, .is-root-container) > :not(section[data-block]):not([class*="wp-block-acf-"]):first-child,
:where(.site-content, .is-root-container) > :is(section[data-block], [class*="wp-block-acf-"]) + :not(section[data-block]):not([class*="wp-block-acf-"]) {
	margin-top: var(--section-py);
}

:where(.site-content, .is-root-container) > :not(section[data-block]):not([class*="wp-block-acf-"]):last-child,
:where(.site-content, .is-root-container) > :not(section[data-block]):not([class*="wp-block-acf-"]):has(+ :is(section[data-block], [class*="wp-block-acf-"])) {
	margin-bottom: var(--section-py);
}

:where(.site-content, .is-root-container) :is(h2, h3, h4) {
	color: var(--color-text);
}

:where(.site-content, .is-root-container) > h2 {
	font-size: var(--fs-h2-sm);
}

:where(.site-content, .is-root-container) > :is(h3, h4) {
	font-size: var(--fs-item-title);
	line-height: var(--lh-snug);
	letter-spacing: var(--ls-tight);
}

:where(.site-content, .is-root-container) > :is(h2, h3, h4):not(:first-child) {
	margin-top: var(--space-xl);
}

:where(.site-content, .is-root-container) > p,
:where(.site-content, .is-root-container) > :is(ul, ol) {
	font-size: var(--fs-body-lg);
	line-height: var(--lh-prose);
	color: var(--color-text-soft);
}

:where(.site-content, .is-root-container) > p a,
:where(.site-content, .is-root-container) > :is(ul, ol) a {
	color: var(--color-primary);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

:where(.site-content, .is-root-container) > ul > li { list-style: square; }
:where(.site-content, .is-root-container) > ol > li { list-style: decimal; }

:where(.site-content, .is-root-container) > :is(ul, ol) {
	padding-left: calc(var(--container-pad) + var(--space-md));
}

:where(.site-content, .is-root-container) > :is(ul, ol) > li + li {
	margin-top: var(--space-2xs);
}

:where(.site-content, .is-root-container) > :is(ul, ol) > li::marker {
	color: var(--color-primary);
}

/* ---------- CORE/IMAGE ---------- */
.wp-block-image img {
	width: 100%;
	height: auto;
}

.wp-block-image figcaption {
	margin-top: var(--space-2xs);
	font-size: var(--fs-xs);
	letter-spacing: var(--ls-tight);
	color: var(--color-text-muted);
}

/* ---------- CORE/BUTTONS ---------- */
.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
}

.wp-block-button__link,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--control-height-lg);
	padding-inline: var(--space-lg);
	border-radius: var(--radius);
	transition:
		background-color var(--dur) var(--ease),
		border-color var(--dur) var(--ease),
		color var(--dur) var(--ease);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	border: var(--border-width) solid var(--color-border-strong);
	background-color: transparent;
	color: var(--color-text);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	background-color: var(--color-text);
	color: var(--color-text-on-dark);
}

/* ---------- ΛΙΣΤΑ ΑΡΘΡΩΝ (index.php) ---------- */
.post-list__item + .post-list__item {
	margin-top: var(--space-xl);
	padding-top: var(--space-xl);
	border-top: var(--border-width) solid var(--color-border);
}

.post-list__title {
	font-size: var(--fs-item-title);
	line-height: var(--lh-snug);
}

.post-list__link:hover,
.post-list__link:focus-visible { color: var(--color-primary); }

.post-list__meta {
	margin-block: var(--space-2xs);
	font-size: var(--fs-xs);
	letter-spacing: var(--ls-label);
	color: var(--color-text-muted);
}

/* ==========================================================================
   ΡΥΘΜΙΣΕΙΣ ΣΕΛΙΔΑΣ (body classes από inc/page-settings.php)
   ========================================================================== */

/* page_width = boxed: ενότητες και κείμενο μέσα στο container. */
.avgeros-width-boxed .site-content {
	max-width: var(--container-max);
	margin-inline: auto;
}

.avgeros-width-boxed .site-content > :not(section[data-block]) {
	max-width: none;
}

/* heading_style = accent: κόκκινο tick πάνω από H2/H3 και κόκκινη πρώτη γραμμή.
   Το tick είναι background (όχι ::before) ώστε να δουλεύει το ::first-line. */
.avgeros-headings-accent .site-content > :is(h2, h3),
.avgeros-headings-accent .page-header__title {
	padding-top: calc(var(--tick-height) + var(--space-sm));
	background-image: linear-gradient(var(--color-primary), var(--color-primary));
	background-repeat: no-repeat;
	background-size: var(--tick-width) var(--tick-height);
	background-position: left var(--container-pad) top 0;
}

.avgeros-headings-accent .page-header__title {
	background-position: left top;
}

.avgeros-headings-accent .site-content > :is(h2, h3)::first-line,
.avgeros-headings-accent .page-header__title::first-line {
	color: var(--color-primary);
}
