/* ==========================================================================
   ΧΕΑ Καλοκαίρι · κύριο φύλλο στυλ
   Πρώτα το κινητό· ο υπολογιστής από 960px και πάνω.
   ========================================================================== */

:root {
	--bg: #FFFFFF;
	--surface: #F2F5FA;
	--surface-2: #E8EEF7;
	--ink: #121C33;
	--muted: #4A5670;
	--line: #DCE3EF;
	--line-strong: #B9C4D8;
	--brand: #1D4FD1;
	--brand-deep: #163FA8;
	--on-brand: #FFFFFF;
	--brand-tint: #E1E8FB;
	--accent: #FFC83A;
	--on-accent: #121C33;
	--p-xea: #1D4FD1;
	--p-xea-t: #E1E8FB;
	--p-gir: #B23A24;
	--p-gir-t: #FDEBE6;
	--p-kat: #0B6E49;
	--p-kat-t: #DDF2E8;
	--dark: #121C33;
	--on-dark: #FFFFFF;
	--on-dark-muted: #B7C1D6;
	--dark-line: rgba(255, 255, 255, .16);
	--f-display: 'Fira Sans Condensed', 'Arial Narrow', sans-serif;
	--f-body: 'Alegreya Sans XEA', system-ui, sans-serif;
	--f-ui: 'Alegreya Sans XEA', system-ui, sans-serif;
	--f-verse: 'Literata', 'GFS Philostratos', Georgia, serif;
	--f-logo: 'GFS Philostratos', Georgia, serif;
	--h-weight: 800;
	--h-track: -0.005em;
	--h2: 34px;
	--h3: 21px;
	--r: 22px;
	--r-sm: 14px;
	--r-btn: 999px;
	--shadow-card: 0 12px 32px rgba(18, 28, 51, .14);
	--wrap: 1280px;
	--gutter: 16px;
}

@media (min-width: 960px) {
	:root { --gutter: 40px; }
}

/* ------------------------------------------------------------------ βάση */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
body {
	margin: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: var(--bg);
	color: var(--ink);
	font-family: var(--f-body);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--brand); }
a:hover { color: var(--brand-deep); }
button { font: inherit; color: inherit; }
h1, h2, h3, h4, p, ul, ol, figure { margin: 0; }
.icon { flex-shrink: 0; }
.site-main { flex: 1 0 auto; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.stack { display: flex; flex-direction: column; gap: 10px; }

:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; border-radius: 6px; }
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 200; padding: 10px 16px; border-radius: 10px; background: var(--ink); color: #fff; font-family: var(--f-ui); font-weight: 700; text-decoration: none; }
.skip-link:focus { top: 12px; color: #fff; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

@media (max-width: 959.98px) { .only-desk { display: none !important; } }
@media (min-width: 960px) { .only-mob { display: none !important; } }

/* ------------------------------------------------------------------ μικρά κομμάτια */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--r-btn);
	font-family: var(--f-ui);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}
.btn--primary { background: var(--brand); color: var(--on-brand); }
.btn--primary:hover { background: var(--brand-deep); color: var(--on-brand); }
.btn--secondary { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line-strong); }
.btn--secondary:hover { color: var(--ink); background: var(--surface); }
.btn--accent { background: var(--accent); color: var(--on-accent); }
.btn--accent:hover { color: var(--on-accent); filter: brightness(1.04); }
.btn--light { background: var(--surface); color: var(--ink); }
.btn--dark { background: var(--dark); color: var(--on-dark); }

.sticker {
	display: inline-block;
	align-self: flex-start;
	transform: rotate(-3deg);
	padding: 7px 12px 6px;
	border-radius: 8px;
	background: var(--accent);
	color: var(--on-accent);
	font-family: var(--f-display);
	font-size: 18px;
	font-weight: 800;
	letter-spacing: .05em;
	line-height: 1;
	white-space: nowrap;
}

.pill {
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 9px;
	border-radius: 999px;
	font-family: var(--f-ui);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .07em;
	line-height: 1;
	white-space: nowrap;
}
.pill--xea { background: var(--p-xea-t); color: var(--p-xea); }
.pill--gir { background: var(--p-gir-t); color: var(--p-gir); }
.pill--kat { background: var(--p-kat-t); color: var(--p-kat); }
.kindlab { font-family: var(--f-ui); font-size: 11px; font-weight: 700; letter-spacing: .07em; color: var(--muted); white-space: nowrap; }

.sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.sec-head__text { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.sec-head__deco { display: block; width: 36px; height: 6px; border-radius: 3px; background: var(--accent); }
.sec-head__title { font-family: var(--f-display); font-weight: var(--h-weight); font-size: var(--h2); line-height: 1; letter-spacing: var(--h-track); }
.sec-head__sub { margin-top: -2px; font-family: var(--f-ui); font-size: 14px; line-height: 1.45; color: var(--muted); }
.sec-head__link { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; font-family: var(--f-ui); font-size: 14px; font-weight: 700; color: var(--brand); text-decoration: none; white-space: nowrap; }

.verse { font-family: var(--f-verse); font-size: 22px; font-weight: 500; line-height: 1.2; }
.verse__ref { font-family: var(--f-ui); font-size: 13px; font-weight: 600; white-space: nowrap; }

.img-fallback { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: var(--surface-2); color: var(--line-strong); }

/* ------------------------------------------------------------------ κεφαλίδα */
.site-header { position: relative; z-index: 30; background: var(--bg); }
.site-header__in { display: flex; align-items: center; gap: 8px; min-height: 64px; padding-right: 12px; border-bottom: 1px solid var(--line); }
.site-header--pillar .site-header__in { border-bottom: 0; }
.brand { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; color: var(--ink); text-decoration: none; }
.brand:hover { color: var(--ink); }
.brand__logo { width: 44px; height: 40px; }
.brand__name { display: flex; flex-direction: column; font-family: var(--f-logo); font-weight: 400; font-size: 23.4px; line-height: 1.02; letter-spacing: .01em; }
.mainnav { display: none; }
.menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--r-btn); background: transparent; color: var(--ink); cursor: pointer; }

/* υπομενού πυλώνα */
.subbar { color: #fff; }
.subbar--gir { background: var(--p-gir); }
.subbar--kat { background: var(--p-kat); }
.subbar__in { padding-left: 10px; padding-right: 10px; }
.subbar__links { display: flex; align-items: center; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.subbar__links::-webkit-scrollbar { display: none; }
.subbar__links--desk { display: none; }
.subbar__link { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 50px; padding: 0 12px; color: #fff; font-family: var(--f-ui); font-size: 14.5px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.subbar__link:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.subbar__link[aria-current="page"] { font-weight: 800; box-shadow: inset 0 -4px 0 var(--accent); }
.subbar__link[aria-current="page"]:hover { text-decoration: none; }

@media (min-width: 960px) {
	.site-header__in { min-height: 84px; gap: 12px 24px; padding-right: var(--gutter); }
	.brand { flex: 0 0 auto; gap: 12px; }
	.brand__logo { width: 52px; height: 47px; }
	.brand__name { font-size: 27px; }
	.menu-toggle { display: none; }
	.mainnav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 2px; flex: 1; }
	.mainnav__item { position: relative; }
	.mainnav__link {
		display: inline-flex; align-items: center; gap: 4px; height: 44px; padding: 0 12px; border: 0; border-radius: 999px;
		background: transparent; color: var(--ink); font-family: var(--f-ui); font-size: 15px; font-weight: 700; line-height: 1.1;
		text-decoration: none; white-space: nowrap; cursor: pointer;
	}
	button.mainnav__link { padding: 0 14px; }
	.mainnav__link:hover, .mainnav__link[aria-expanded="true"] { background: var(--surface-2); color: var(--ink); }
	.mainnav__link[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--accent); border-radius: 0; }
	.mainnav__link--two { flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; text-align: left; }
	.mainnav__link .icon { transition: transform .15s; }
	.mainnav__link[aria-expanded="true"] .icon { transform: rotate(180deg); }

	.dropdown {
		position: absolute; top: 56px; left: -16px; z-index: 40; padding: 18px; border-radius: var(--r);
		background: var(--bg); box-shadow: 0 22px 48px rgba(18, 28, 51, .18), 0 0 0 1px var(--line);
	}
	.dropdown[hidden] { display: none; }
	.dropdown--xea { width: 620px; display: grid; grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); gap: 16px; }
	.dropdown--list { width: 260px; display: flex; flex-direction: column; gap: 2px; padding: 10px; }
	.dropdown__col { display: flex; flex-direction: column; gap: 2px; }
	.dropdown__sep { background: var(--line); }
	.dropdown__label { padding: 2px 12px 8px; font-family: var(--f-ui); font-size: 11px; font-weight: 800; letter-spacing: .08em; color: var(--muted); }
	.dropdown__item { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: var(--r-sm); color: var(--ink); text-decoration: none; font-family: var(--f-ui); }
	.dropdown__item:hover { background: var(--surface); color: var(--ink); }
	.dropdown__item strong { font-size: 15.5px; font-weight: 700; }
	.dropdown__item span { font-size: 13.5px; line-height: 1.4; color: var(--muted); }

	/* σελίδες πυλώνα: ο πυλώνας γίνεται καρτέλα ενωμένη με τη χρωματιστή γραμμή */
	.site-header--pillar .site-header__in { min-height: 88px; align-items: stretch; }
	.site-header--pillar .brand { align-self: center; }
	.site-header--pillar .mainnav { align-items: flex-end; flex-wrap: nowrap; }
	.site-header--pillar .mainnav__link { height: 64px; border-radius: 14px 14px 0 0; }
	.site-header--pillar .mainnav__link:hover, .site-header--pillar .mainnav__link[aria-expanded="true"] { background: var(--surface); }
	.site-header--pillar .dropdown { top: 64px; }
	.mainnav__tab {
		position: relative; display: inline-flex; align-items: center; height: 64px; padding: 0 22px; border-radius: 14px 14px 0 0;
		color: #fff; font-family: var(--f-ui); font-size: 15px; font-weight: 800; text-decoration: none; white-space: nowrap;
	}
	.mainnav__tab:hover { color: #fff; }
	.in-pillar--gir .mainnav__tab { background: var(--p-gir); --pc: var(--p-gir); }
	.in-pillar--kat .mainnav__tab { background: var(--p-kat); --pc: var(--p-kat); }
	.concave { position: absolute; bottom: 0; width: 14px; height: 14px; pointer-events: none; }
	.concave--l { left: -14px; background: radial-gradient(circle at 0 0, var(--bg) 13.5px, var(--pc) 14px); }
	.concave--r { right: -14px; background: radial-gradient(circle at 100% 0, var(--bg) 13.5px, var(--pc) 14px); }
	.subbar__in { padding-left: var(--gutter); padding-right: var(--gutter); }
	.subbar__links--mob { display: none; }
	.subbar__links--desk { display: flex; min-height: 56px; overflow: visible; justify-content: flex-end; }
	.subbar__links--desk .subbar__link { min-height: 56px; padding: 0 11px; }
}

/* ------------------------------------------------------------------ μενού κινητού */
.mmenu { position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column; overflow-y: auto; background: var(--bg); }
.mmenu[hidden] { display: none; }
.mmenu__head { display: flex; align-items: center; gap: 8px; min-height: 64px; padding: 0 12px 0 16px; border-bottom: 1px solid var(--line); }
.mmenu__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 999px; background: var(--surface); color: var(--ink); cursor: pointer; }
.mmenu__nav { display: flex; flex-direction: column; padding: 6px 16px 0; }
.mmenu__group { border-bottom: 1px solid var(--line); }
.mmenu__group summary {
	display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 0 4px; list-style: none; cursor: pointer;
	font-family: var(--f-display); font-size: 24px; font-weight: 800; letter-spacing: -.02em;
}
.mmenu__group summary::-webkit-details-marker { display: none; }
.mmenu__group[open] summary .icon { transform: rotate(180deg); }
.mmenu__gname { flex: 1; }
.dot { display: block; width: 10px; height: 10px; border-radius: 50%; }
.dot--xea { background: var(--p-xea); }
.dot--gir { background: var(--p-gir); }
.dot--kat { background: var(--p-kat); }
.mmenu__subs { display: flex; flex-direction: column; padding: 0 0 12px; }
.mmenu__subs a { display: flex; align-items: center; min-height: 46px; padding: 0 12px 0 26px; color: var(--ink); font-family: var(--f-ui); font-size: 16.5px; font-weight: 600; text-decoration: none; }
.mmenu__label { display: flex; align-items: center; gap: 10px; padding: 12px 12px 4px 26px; font-family: var(--f-ui); font-size: 11px; font-weight: 800; letter-spacing: .08em; color: var(--muted); }
.mmenu__label::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.mmenu__plain { display: flex; align-items: center; min-height: 56px; padding: 0 4px 0 26px; border-bottom: 1px solid var(--line); color: var(--ink); font-family: var(--f-display); font-size: 20px; font-weight: 700; letter-spacing: -.01em; text-decoration: none; }
.mmenu__foot { margin-top: auto; padding: 14px 16px 18px; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 18px; background: var(--surface-2); font-family: var(--f-ui); font-size: 14.5px; font-weight: 700; }
.mmenu__foot a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--ink); text-decoration: none; }
body.menu-open { overflow: hidden; }

/* ------------------------------------------------------------------ εισαγωγή (hero) */
.hero__media { height: 420px; background: var(--surface-2); }
.hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; }
.hero__row { position: relative; margin-top: -72px; padding-left: 14px; padding-right: 14px; }
.hero__card { display: flex; flex-direction: column; gap: 14px; padding: 22px 20px; background: var(--bg); border-radius: var(--r); box-shadow: var(--shadow-card); }
.hero__title { font-family: var(--f-display); font-weight: 800; font-size: 52px; line-height: .95; letter-spacing: -.01em; }
.hero__lead { font-size: 16px; line-height: 1.55; color: var(--muted); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 4px; }

.flash {
	display: flex; flex-direction: column; gap: 6px; margin-top: 22px; padding: 16px 18px; border-radius: var(--r);
	background: var(--accent); color: var(--on-accent); text-decoration: none;
}
.flash:hover { color: var(--on-accent); }
.flash__label { font-family: var(--f-ui); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.flash__title { font-family: var(--f-display); font-weight: var(--h-weight); font-size: 21px; line-height: 1.2; letter-spacing: var(--h-track); }
.flash__link { display: inline-flex; align-items: center; gap: 6px; font-family: var(--f-ui); font-size: 14.5px; font-weight: 700; }

@media (min-width: 960px) {
	.hero__media { height: 600px; }
	.hero--home .hero__img { object-position: center 20%; }
	.hero__row { margin-top: -230px; padding-left: var(--gutter); padding-right: var(--gutter); display: flex; flex-wrap: wrap; align-items: flex-end; gap: 28px; }
	.hero__card { flex: 1 1 560px; max-width: 700px; padding: 40px 44px 44px; gap: 18px; box-shadow: 0 22px 54px rgba(18, 28, 51, .2); }
	.hero__card .sticker--lg { padding: 9px 14px 8px; border-radius: 10px; font-size: 22px; }
	.hero__title { font-size: 78px; line-height: .94; }
	.hero__lead { max-width: 560px; font-size: 18px; }
	.flash--hero { flex: 0 1 340px; margin: 0 0 26px; gap: 10px; padding: 26px 28px; transform: rotate(2deg); box-shadow: 0 16px 36px rgba(18, 28, 51, .18); }
	.flash--hero .flash__label { font-size: 12px; }
	.flash--hero .flash__title { font-size: 34px; line-height: 1; }
	.flash--hero .flash__link { gap: 8px; font-size: 15px; font-weight: 800; }
}

/* ------------------------------------------------------------------ κάρτες ΧΕΑ, Γηροκομείο, Κατασκήνωση */
.pillar-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding-top: 14px; padding-left: 14px; padding-right: 14px; }
.pcard { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--r-sm); color: #fff; text-decoration: none; }
.pcard:hover { color: #fff; }
.pcard--xea { background: var(--p-xea); }
.pcard--gir { background: var(--p-gir); }
.pcard--kat { background: var(--p-kat); }
.pcard__img { width: 100%; height: 84px; object-fit: cover; }
.pcard__body { display: flex; flex-direction: column; gap: 4px; padding: 9px 10px 12px; }
.pcard__name { font-family: var(--f-display); font-size: 16px; font-weight: 800; line-height: 1; }
.pcard__line { font-family: var(--f-ui); font-size: 13px; font-weight: 500; line-height: 1.3; }

@media (min-width: 960px) {
	.pillar-cards { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 20px; padding-top: 64px; padding-left: var(--gutter); padding-right: var(--gutter); }
	.pcard { border-radius: var(--r); }
	.pcard__img { height: 230px; }
	.pcard__body { gap: 10px; padding: 22px 24px 26px; }
	.pcard__name { font-size: 38px; }
	.pcard__text { font-size: 16px; line-height: 1.5; }
	.pcard__more { display: inline-flex; align-items: center; gap: 6px; font-family: var(--f-ui); font-size: 15px; font-weight: 800; }
	.pcard:hover .pcard__more { text-decoration: underline; text-underline-offset: 4px; }
}

/* ------------------------------------------------------------------ αρχική: ανακοινώσεις και εβδομάδα */
.home-split { display: flex; flex-direction: column; }
.home-ann { display: flex; flex-direction: column; gap: 14px; padding-top: 36px; }
.home-week { display: flex; flex-direction: column; gap: 16px; margin: 38px calc(-1 * var(--gutter)) 0; padding: 30px var(--gutter); background: var(--surface-2); }
.week { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 2px; border-radius: var(--r); overflow: hidden; }
.week__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 16px; background: var(--surface); font-family: var(--f-ui); }
.week__what { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.week__what strong { font-size: 15.5px; font-weight: 700; line-height: 1.3; }
.week__what span { font-size: 13px; line-height: 1.35; color: var(--muted); }
.week__when { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; width: 112px; text-align: right; }
.week__when strong { font-size: 14px; font-weight: 800; color: var(--brand); }
.week__when span { font-size: 12.5px; color: var(--muted); }

@media (min-width: 960px) {
	.home-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: 40px; align-items: start; padding-top: 72px; }
	.home-ann { padding-top: 0; gap: 16px; }
	.home-ann .stack { gap: 12px; }
	.home-week { margin: 0; padding: 28px; border-radius: var(--r); }
	.week { border-radius: var(--r-sm); }
	.week__row { gap: 16px; padding: 14px 18px; background: var(--bg); }
	.week__what span { font-size: 13.5px; }
	.week__when { width: auto; }
	.week__when span { font-size: 13px; }
}

/* γραμμή επόμενης εκδήλωσης */
.event-row { display: flex; gap: 14px; align-items: flex-start; padding: 14px; border-radius: var(--r); background: var(--surface); color: var(--ink); text-decoration: none; }
.event-row:hover { color: var(--ink); background: var(--surface-2); }
.datebox { flex-shrink: 0; width: 60px; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 9px 0 10px; border-radius: var(--r-sm); background: var(--dark); color: #fff; font-family: var(--f-ui); text-align: center; }
.datebox__dow { font-size: 11px; font-weight: 800; letter-spacing: .08em; color: var(--accent); }
.datebox__day { font-family: var(--f-display); font-size: 26px; font-weight: var(--h-weight); line-height: 1; }
.datebox__mon { font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.event-row__body { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; }
.event-row__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.event-row__title { font-family: var(--f-display); font-weight: var(--h-weight); font-size: var(--h3); line-height: 1.25; }
.event-row__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-family: var(--f-ui); font-size: 13.5px; color: var(--muted); }
.event-row__meta > span { display: inline-flex; align-items: center; gap: 5px; }
.event-row__who { font-family: var(--f-ui); font-size: 13.5px; line-height: 1.45; color: var(--muted); }

/* ------------------------------------------------------------------ ανταποκρίσεις */
.home-reports { display: flex; flex-direction: column; gap: 14px; padding-top: 36px; }
.rgrid { display: flex; flex-direction: column; gap: 10px; }
.rcard { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--r); background: var(--surface); color: var(--ink); text-decoration: none; }
.rcard:hover { color: var(--ink); background: var(--surface-2); }
.rcard__media { position: relative; display: block; height: 210px; background: var(--surface-2); }
.rcard__img { width: 100%; height: 100%; object-fit: cover; }
.rcard__sticker { position: absolute; left: 12px; bottom: 12px; padding: 6px 10px 5px; font-family: var(--f-ui); font-size: 12px; letter-spacing: 0; }
.rcard__body { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "pill date" "title title"; align-items: center; gap: 8px 10px; padding: 14px 16px 16px; }
.rcard__pill { grid-area: pill; display: flex; }
.rcard__date { grid-area: date; font-family: var(--f-ui); font-size: 13px; color: var(--muted); }
.rcard__title { grid-area: title; font-family: var(--f-display); font-weight: var(--h-weight); font-size: 21px; line-height: 1.2; letter-spacing: var(--h-track); }
.rcard .rcard__sticker { display: none; }

/* μικρή γραμμή στο κινητό */
.rcard--row { flex-direction: row; align-items: center; gap: 12px; padding: 10px; }
.rcard--row .rcard__media { flex-shrink: 0; width: 84px; height: 84px; border-radius: var(--r-sm); overflow: hidden; }
.rcard--row .rcard__body { grid-template-columns: 1fr; grid-template-areas: "pill" "title" "date"; justify-items: start; gap: 5px; padding: 0; }
.rcard--row .rcard__title { font-size: 16px; font-weight: var(--h-weight); line-height: 1.25; }

/* κάρτα στη «ζωή» του πυλώνα: αυτοκόλλητο ημερομηνίας */
.rcard--life .rcard__sticker { display: inline-block; }
.rcard--life .rcard__media { height: 180px; }
.rcard--life .rcard__body { grid-template-columns: 1fr; grid-template-areas: "title"; padding: 14px 16px 18px; }
.rcard--life .rcard__pill, .rcard--life .rcard__date { display: none; }
.rcard--life .rcard__title { font-size: 23px; font-weight: 800; line-height: 1.05; }

@media (min-width: 960px) {
	.home-reports { padding-top: 72px; gap: 18px; }
	.rgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 20px; }
	.rcard, .rcard--row { flex-direction: column; align-items: stretch; gap: 0; padding: 0; }
	.rcard .rcard__media, .rcard--row .rcard__media { width: auto; height: 220px; border-radius: 0; }
	.rcard .rcard__sticker { display: inline-block; left: 14px; bottom: 14px; font-size: 12.5px; }
	.rgrid .rcard:nth-child(even) .rcard__sticker { transform: rotate(2deg); }
	.rcard .rcard__body, .rcard--row .rcard__body { grid-template-columns: 1fr; grid-template-areas: "pill" "title"; justify-items: start; gap: 8px; padding: 16px 18px 22px; }
	.rcard .rcard__date { display: none; }
	.rcard .rcard__title, .rcard--row .rcard__title { font-size: 25px; font-weight: 800; line-height: 1.05; }
}

/* ------------------------------------------------------------------ δωρεές */
.donate { margin-top: 40px; background: var(--brand); color: var(--on-brand); }
.donate__in { padding-top: 30px; padding-bottom: 32px; padding-left: 20px; padding-right: 20px; }
.donate__main { display: flex; flex-direction: column; gap: 14px; }
.donate__title { font-family: var(--f-display); font-weight: var(--h-weight); font-size: var(--h2); line-height: 1; letter-spacing: var(--h-track); }
.donate__text { font-size: 16px; line-height: 1.55; }
.donate__ways { display: flex; flex-direction: column; gap: 10px; padding: 28px 30px; border-radius: var(--r); background: rgba(255, 255, 255, .12); }
.donate__ways-label { font-family: var(--f-ui); font-size: 12px; font-weight: 800; letter-spacing: .09em; }
.donate__way { display: flex; gap: 10px; align-items: flex-start; font-size: 17px; line-height: 1.45; }
.donate__way .icon { color: var(--accent); margin-top: 3px; }

@media (min-width: 960px) {
	.donate { margin-top: 80px; }
	.donate__in { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: 48px; align-items: center; padding: 72px var(--gutter); }
	.donate__main { gap: 16px; }
	.donate__title { font-size: 56px; line-height: .95; }
	.donate .verse { font-size: 28px; }
	.donate__text { max-width: 520px; font-size: 17.5px; }
}

/* ------------------------------------------------------------------ ενημέρωση με email */
.email-box__in { display: flex; flex-direction: column; gap: 12px; padding-top: 32px; padding-bottom: 36px; padding-left: 20px; padding-right: 20px; }
.email-box__text { display: flex; flex-direction: column; gap: 12px; }
.email-box__title { font-family: var(--f-display); font-weight: var(--h-weight); font-size: 24px; line-height: 1.15; letter-spacing: var(--h-track); }
.email-box__text p { font-size: 15.5px; line-height: 1.5; color: var(--muted); }
.email-box__form label { display: block; margin-bottom: 6px; font-family: var(--f-ui); font-size: 13.5px; font-weight: 700; }
.email-box__form input[type="email"], .email-box__form input[type="text"] {
	width: 100%; min-width: 0; height: 48px; padding: 0 14px; border-radius: var(--r-sm); border: 1.5px solid var(--line-strong);
	background: var(--surface); color: var(--ink); font-family: var(--f-ui); font-size: 15px;
}
.email-box__form button, .email-box__form input[type="submit"] {
	height: 48px; padding: 0 18px; border: 0; border-radius: var(--r-btn); background: var(--ink); color: var(--bg);
	font-family: var(--f-ui); font-size: 15px; font-weight: 700; cursor: pointer;
}

@media (min-width: 960px) {
	.email-box { background: var(--surface); }
	.email-box__in { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 48px; padding: 48px var(--gutter); }
	.email-box__text { flex: 1 1 420px; gap: 8px; }
	.email-box__title { font-size: 40px; line-height: 1; }
	.email-box__text p { font-size: 17px; line-height: 1.55; }
	.email-box__form { flex: 1 1 460px; max-width: 560px; }
	.email-box__form input[type="email"], .email-box__form input[type="text"] { height: 52px; padding: 0 16px; background: var(--bg); font-size: 16px; }
	.email-box__form button, .email-box__form input[type="submit"] { height: 52px; padding: 0 24px; font-size: 16px; }
}

/* ------------------------------------------------------------------ υποσέλιδο */
.site-footer { flex-shrink: 0; background: var(--dark); color: var(--on-dark); font-family: var(--f-ui); }
.site-footer a { color: var(--on-dark); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.site-footer__in { display: flex; flex-direction: column; gap: 20px; padding-top: 30px; padding-bottom: 26px; padding-left: 20px; padding-right: 20px; }
.site-footer__grid { display: flex; flex-direction: column; }
.site-footer__brand { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; }
.site-footer__brand img { width: 52px; height: 47px; }
.site-footer__text { display: flex; flex-direction: column; gap: 2px; }
.site-footer__name { font-family: var(--f-logo); font-size: 21.75px; font-weight: 400; line-height: 1.1; }
.site-footer__since { font-size: 13px; font-weight: 500; color: var(--on-dark-muted); }
.site-footer__contact { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; border-top: 1px solid var(--dark-line); }
.site-footer__label { font-size: 11px; font-weight: 800; letter-spacing: .08em; color: var(--on-dark-muted); }
.site-footer__addr { font-size: 14.5px; line-height: 1.4; }
.site-footer__links { display: flex; flex-wrap: wrap; gap: 0 16px; }
.site-footer__links a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; font-size: 14.5px; font-weight: 700; }
.site-footer__bottom { display: flex; flex-direction: column; gap: 20px; }
.site-footer__nav { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 14px; }
.site-footer__nav a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; }
.site-footer__donate { font-weight: 800; }
.site-footer__copy { font-size: 12.5px; color: var(--on-dark-muted); }

@media (min-width: 960px) {
	.site-footer__in { gap: 32px; padding: 48px var(--gutter) 32px; }
	.site-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 32px; }
	.site-footer__brand { flex-direction: column; align-items: flex-start; padding: 0; }
	.site-footer__brand img { width: 64px; height: 58px; }
	.site-footer__text { gap: 12px; }
	.site-footer__name { font-size: 22px; }
	.site-footer__since { font-size: 14px; line-height: 1.5; }
	.site-footer__contact { gap: 6px; padding: 0; border: 0; }
	.site-footer__addr { font-size: 15px; }
	.site-footer__links { flex-direction: column; }
	.site-footer__links a { min-height: 32px; font-size: 15px; }
	.site-footer__bottom { flex-direction: row-reverse; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-top: 20px; border-top: 1px solid var(--dark-line); }
	.site-footer__nav { gap: 20px; }
	.site-footer__nav a { min-height: 0; }
	.site-footer__nav .icon { display: none; }
	.site-footer__copy { font-size: 14px; }
}

/* ==========================================================================
   Σελίδες
   ========================================================================== */
.in-pillar--gir { --brand: var(--p-gir); --brand-deep: #8F2E1C; --brand-tint: var(--p-gir-t); }
.in-pillar--kat { --brand: var(--p-kat); --brand-deep: #08573A; --brand-tint: var(--p-kat-t); }

.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-family: var(--f-ui); font-size: 13px; color: var(--muted); }
.crumbs a { display: inline-flex; align-items: center; min-height: 32px; color: var(--muted); }

/* κεφαλή σελίδας */
.page-hero { background: var(--brand-tint); }
.page-hero--img { background: transparent; }
.page-hero__media { height: 400px; background: var(--surface-2); }
.page-hero__img { width: 100%; height: 100%; object-fit: cover; }
.page-hero__grid { padding-top: 18px; padding-bottom: 30px; }
.page-hero--img .page-hero__grid { position: relative; margin-top: -72px; padding: 0 14px; }
.page-hero__card { display: flex; flex-direction: column; gap: 14px; }
.page-hero--img .page-hero__card { padding: 22px 20px; background: var(--bg); border-radius: var(--r); box-shadow: var(--shadow-card); }
.page-hero__title { font-family: var(--f-display); font-weight: 800; font-size: 50px; line-height: .95; letter-spacing: -.01em; overflow-wrap: anywhere; }
.page-hero__lead { font-size: 16px; line-height: 1.55; color: var(--muted); }
.page-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }

@media (min-width: 960px) {
	.page-hero, .page-hero--img { background: var(--brand-tint); }
	.page-hero__grid, .page-hero--img .page-hero__grid {
		margin-top: 0; padding: 28px var(--gutter) 64px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr)); gap: 56px; align-items: center;
	}
	.in-pillar .page-hero__grid { padding-top: 64px; padding-bottom: 72px; }
	.page-hero--img .page-hero__card { padding: 0; background: transparent; box-shadow: none; }
	.page-hero__card { gap: 20px; }
	.page-hero__card .sticker--lg { padding: 9px 14px 8px; border-radius: 10px; font-size: 22px; }
	.page-hero__title { font-size: 96px; line-height: .92; }
	.page-hero:not(.page-hero--img) .page-hero__title { font-size: 88px; }
	.page-hero__lead { max-width: 560px; font-size: 19px; color: var(--ink); }
	.page-hero__actions { gap: 12px; padding-top: 4px; }
	.page-hero__figure { position: relative; }
	.page-hero__figure .page-hero__img { height: 500px; border-radius: var(--r); }
	.page-hero__caption {
		position: absolute; right: 24px; bottom: -18px; transform: rotate(3deg); padding: 10px 16px 9px; border-radius: 10px;
		background: var(--bg); color: var(--ink); box-shadow: 0 12px 30px rgba(18, 28, 51, .18); font-family: var(--f-display); font-size: 21px; font-weight: 800;
	}
}

/* περιεχόμενο σελίδας */
.page-body { padding-bottom: 44px; }
.entry { font-size: 17px; line-height: 1.65; }
.entry--page { padding-top: 6px; }
.entry--page > * { width: min(100% - 2 * var(--gutter), 820px); margin-left: auto; margin-right: auto; }
.entry--page > .alignwide { width: min(100% - 2 * var(--gutter), calc(var(--wrap) - 2 * var(--gutter))); }
.entry--page > .alignfull { width: 100%; }
.entry > * + * { margin-top: 18px; }
.entry > :first-child { margin-top: 26px; }
.entry h2, .entry h3 { font-family: var(--f-display); font-weight: 800; letter-spacing: var(--h-track); }
.entry h2 { font-size: 34px; line-height: 1; margin-top: 40px; }
.entry h3 { font-size: 24px; line-height: 1.05; margin-top: 28px; }
.entry a { text-underline-offset: 3px; }
.entry img { border-radius: var(--r-sm); }
.entry ul, .entry ol { padding-left: 1.3em; }
.entry blockquote, .wp-block-quote.is-style-xea-verse { margin-left: 0; margin-right: 0; padding: 0; border: 0; font-family: var(--f-verse); font-size: 22px; font-weight: 500; line-height: 1.3; }
.entry blockquote cite { display: block; margin-top: 6px; font-family: var(--f-ui); font-size: 13px; font-style: normal; font-weight: 600; }
.entry .wp-block-gallery { gap: 8px; }
.entry .wp-block-table table { border-collapse: collapse; width: 100%; }
.entry .wp-block-table td, .entry .wp-block-table th { padding: 10px 12px; border: 1px solid var(--line); }

/* τίτλος ενότητας με την κίτρινη γραμμή */
.entry .is-style-xea-section { font-size: var(--h2); line-height: 1; margin-top: 38px; }
.entry .is-style-xea-section::before { content: ""; display: block; width: 36px; height: 6px; margin-bottom: 8px; border-radius: 3px; background: var(--accent); }
.entry .xea-section-wrap { margin-top: 38px; }
.entry .xea-section-wrap > * + * { margin-top: 16px; }
.entry .xea-section-wrap > :first-child { margin-top: 0; }

/* κουμπιά μπλοκ */
.entry .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 10px 12px; }
.entry .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 20px; border-radius: var(--r-btn);
	background: var(--brand); color: var(--on-brand); font-family: var(--f-ui); font-size: 15px; font-weight: 700; line-height: 1.1; text-decoration: none;
}
.entry .is-style-xea-accent .wp-block-button__link { background: var(--accent); color: var(--on-accent); }
.entry .is-style-xea-dark .wp-block-button__link { background: var(--dark); color: var(--on-dark); }
.entry .is-style-xea-light .wp-block-button__link { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }
.entry .is-style-xea-outline .wp-block-button__link { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line-strong); }

/* κίτρινο πλαίσιο, κάρτες */
.entry .is-style-xea-box { padding: 22px 20px; border-radius: var(--r); background: var(--accent); color: var(--on-accent); font-family: var(--f-display); font-size: 24px; font-weight: 800; line-height: 1.12; }
.entry .is-style-xea-box > * + * { margin-top: 12px; }
.entry .is-style-xea-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.entry .is-style-xea-cards > * { margin: 0; }
.entry .is-style-xea-card { display: flex; flex-direction: column; gap: 8px; padding: 14px; border-radius: var(--r); background: var(--surface); }
.entry .is-style-xea-card > * { margin: 0; }
.entry .is-style-xea-card h3 { margin: 0; font-size: 21px; line-height: 1.05; }
.entry .is-style-xea-card p { font-size: 13.5px; line-height: 1.45; color: var(--muted); }
.entry [class*="xea-icon-"]::before {
	content: ""; display: block; flex-shrink: 0; width: 42px; height: 42px; border-radius: 50%;
	background: var(--brand) center / 21px no-repeat;
	background-image: none;
}
.entry [class*="xea-icon-"]::after { content: ""; position: absolute; top: 14px; left: 14px; width: 42px; height: 42px; background: #fff;
	-webkit-mask: var(--ico) center / 21px no-repeat; mask: var(--ico) center / 21px no-repeat; }
.entry [class*="xea-icon-"] { position: relative; }
.xea-icon-bed{ --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3.5%2018.5v-11M3.5%2014h17v4.5M20.5%2014v-2.5a2.5%202.5%200%200%200-2.5-2.5h-7v5%22%3E%3C/path%3E%3Ccircle%20cx%3D%227.3%22%20cy%3D%2211%22%20r%3D%221.8%22%3E%3C/circle%3E%3C/svg%3E"); }
.xea-icon-meal{ --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%203.5v17M4.5%203.5v5a2.5%202.5%200%200%200%205%200v-5M16.5%2020.5v-17c-2%201-3%203.2-3%206v4h3%22%3E%3C/path%3E%3C/svg%3E"); }
.xea-icon-med{ --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%226.5%22%20width%3D%2217%22%20height%3D%2213%22%20rx%3D%222%22%3E%3C/rect%3E%3Cpath%20d%3D%22M9%206.5v-2h6v2M12%2010v6M9%2013h6%22%3E%3C/path%3E%3C/svg%3E"); }
.xea-icon-walk{ --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%224.8%22%20r%3D%221.8%22%3E%3C/circle%3E%3Cpath%20d%3D%22M10%2021l2.5-6.5%202.5%202.5v4M9%2011.5l3-3%203.5%203%202.5%201M12%208.5l-1.5%205.5%22%3E%3C/path%3E%3C/svg%3E"); }
.xea-icon-smile{ --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.5%22%3E%3C/circle%3E%3Cpath%20d%3D%22M8.5%2014a4.5%204.5%200%200%200%207%200M9%209.5h.01M15%209.5h.01%22%3E%3C/path%3E%3C/svg%3E"); }
.xea-icon-cross{ --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203.5v17M7%208.5h10%22%3E%3C/path%3E%3C/svg%3E"); }
.xea-icon-gift{ --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%229%22%20width%3D%2216%22%20height%3D%2211.5%22%20rx%3D%221.5%22%3E%3C/rect%3E%3Cpath%20d%3D%22M3%209h18M12%209v11.5M12%209C10.5%205.5%207%205%207%207.3S10.5%209%2012%209zM12%209c1.5-3.5%205-4%205-1.7S13.5%209%2012%209z%22%3E%3C/path%3E%3C/svg%3E"); }

/* ζώνη στο χρώμα του πυλώνα (εισαγωγή, εγγραφές) */
.entry .is-style-xea-band { display: flex; flex-direction: column; gap: 14px; margin-left: calc(-1 * var(--gutter)); margin-right: calc(-1 * var(--gutter)); padding: 30px 20px 32px; background: var(--brand); color: #fff; }
.entry .is-style-xea-band > * { margin: 0; }
.entry .is-style-xea-band h2 { margin: 0; color: #fff; font-size: 38px; line-height: .95; }
.entry .is-style-xea-band p { font-size: 16px; line-height: 1.55; }
.entry .is-style-xea-band .wp-block-buttons { flex-direction: column; align-items: stretch; }
.entry .is-style-xea-band a:not(.wp-block-button__link) { color: #fff; }
.entry .xea-sticker { align-self: flex-start; display: inline-block; transform: rotate(-3deg); padding: 7px 12px 6px; border-radius: 8px; background: var(--accent); color: var(--on-accent); font-family: var(--f-display); font-size: 17px; font-weight: 800; letter-spacing: .05em; line-height: 1; }

/* χρονολόγιο */
.entry .is-style-xea-timeline { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.entry .is-style-xea-timeline li { display: grid; grid-template-columns: 78px 1fr; gap: 16px; align-items: start; font-size: 15px; line-height: 1.5; }
.entry .is-style-xea-timeline strong { font-family: var(--f-display); font-size: 40px; font-weight: 800; line-height: .9; color: var(--brand); }

/* περίοδοι κατασκήνωσης */
.entry .is-style-xea-periods { display: flex; flex-direction: column; gap: 10px; }
.entry .is-style-xea-periods > * { margin: 0; }
.entry .is-style-xea-periods .is-style-xea-card { gap: 0; padding: 0; overflow: hidden; }
.entry .is-style-xea-periods h3 { padding: 18px 18px 4px; font-size: 26px; line-height: 1; }
.entry .xea-note { padding: 0 18px 14px; font-size: 13.5px; line-height: 1.4; color: var(--muted); }
.entry .is-style-xea-dates { list-style: none; padding: 0; margin: 0; }
.entry .is-style-xea-dates li { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 18px; border-top: 2px solid var(--bg); font-family: var(--f-ui); font-size: 15px; font-weight: 700; line-height: 1.35; }
.entry .is-style-xea-dates em { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--brand-tint); color: var(--brand); font-size: 13.5px; font-style: normal; font-weight: 800; }

/* κίτρινη ζώνη στήριξης και επικοινωνίας */
.entry .is-style-xea-support { margin-top: 40px; padding: 30px var(--gutter); background: var(--accent); color: var(--on-accent); }
.entry .is-style-xea-support h2 { margin: 0; font-size: 34px; line-height: 1; }
.entry .is-style-xea-support .wp-block-columns { width: 100%; max-width: calc(var(--wrap) - 2 * var(--gutter)); margin: 0 auto; }
.entry .xea-support-text > * + * { margin-top: 12px; }
.entry .xea-support-text p { font-size: 15.5px; line-height: 1.55; }
.page-body:has(.entry > .alignfull:last-child) { padding-bottom: 0; }

/* στήλες */
.entry .wp-block-columns { display: flex; flex-direction: column; gap: 28px; }
.entry .wp-block-column > * + * { margin-top: 16px; }
.entry .wp-block-column > :first-child { margin-top: 0; }

/* κάρτα επικοινωνίας */
.contact-card { display: flex; flex-direction: column; gap: 4px; padding: 18px; border-radius: var(--r); background: var(--surface); color: var(--ink); }
.contact-card__title { font-family: var(--f-display); font-size: 24px; font-weight: 800; line-height: 1.05; }
.contact-card__addr { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: var(--muted); }
.contact-card__addr .icon { color: var(--brand); }
.contact-card--xea { --brand: var(--p-xea); }
.contact-card--gir { --brand: var(--p-gir); }
.contact-card--kat { --brand: var(--p-kat); }
.contact-card__links { display: flex; flex-wrap: wrap; gap: 0 18px; font-family: var(--f-ui); font-size: 15px; font-weight: 800; }
.contact-card__links a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--brand); text-decoration: none; }

/* ανακοινώσεις και ζωή πυλώνα (shortcodes) */
.block-ann { display: flex; flex-direction: column; gap: 14px; }
.entry > .block-ann, .entry > .block-life { margin-top: 38px; }
.ann-grid { display: flex; flex-direction: column; gap: 10px; }
.ann-row { display: flex; gap: 14px; align-items: flex-start; padding: 14px; border-radius: var(--r); background: var(--surface); color: var(--ink); text-decoration: none; }
.ann-row:hover { color: var(--ink); background: var(--surface-2); }
.ann-row__date { flex-shrink: 0; width: 64px; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 9px 0 10px; border-radius: 14px; font-family: var(--f-ui); text-align: center; }
.ann-row__date span { font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.ann-row__date strong { font-family: var(--f-display); font-size: 30px; font-weight: 800; line-height: 1; }
.ann-row--xea .ann-row__date { background: var(--p-xea-t); color: var(--p-xea); }
.ann-row--gir .ann-row__date { background: var(--p-gir-t); color: var(--p-gir); }
.ann-row--kat .ann-row__date { background: var(--p-kat-t); color: var(--p-kat); }
.ann-row__body { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; padding-top: 2px; }
.ann-row__kind { font-family: var(--f-ui); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.ann-row--xea .ann-row__kind { color: var(--p-xea); }
.ann-row--gir .ann-row__kind { color: var(--p-gir); }
.ann-row--kat .ann-row__kind { color: var(--p-kat); }
.ann-row__title { font-family: var(--f-display); font-size: 21px; font-weight: 800; line-height: 1.1; }
.ann-row__meta { font-size: 13.5px; line-height: 1.45; color: var(--muted); }

.block-life { display: flex; flex-direction: column; gap: 16px; }
.block-life .wrap { padding: 0; }
.life-scroll { display: flex; gap: 12px; overflow-x: auto; padding: 0 var(--gutter) 4px; scroll-snap-type: x proximity; }
.life-scroll .rcard { flex: 0 0 264px; scroll-snap-align: start; }

@media (min-width: 960px) {
	.page-body { padding-bottom: 88px; }
	.entry { font-size: 19px; }
	.entry > :first-child { margin-top: 64px; }
	.entry .is-style-xea-section, .entry .xea-section-wrap, .entry > .block-ann, .entry > .block-life { margin-top: 72px; }
	.entry .xea-section-wrap > * + * { margin-top: 20px; }
	.entry .is-style-xea-cards { grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 20px; }
	.entry .is-style-xea-card { padding: 22px; }
	.entry .is-style-xea-cards .is-style-xea-card h3 { font-size: 27px; }
	.entry .is-style-xea-cards .is-style-xea-card p { font-size: 15.5px; }
	.entry [class*="xea-icon-"]::before { width: 52px; height: 52px; }
	.entry [class*="xea-icon-"]::after { top: 22px; left: 22px; width: 52px; height: 52px; -webkit-mask-size: 26px; mask-size: 26px; }
	.entry .wp-block-columns { flex-direction: row; gap: 48px; align-items: flex-start; margin-top: 80px; }
	.entry .wp-block-column { flex: 1 1 0; min-width: 0; }
	.entry .is-style-xea-band { margin: 0; padding: 36px; border-radius: var(--r); gap: 16px; }
	.entry .is-style-xea-band h2 { font-size: 52px; }
	.entry .is-style-xea-band p { font-size: 17px; }
	.entry .is-style-xea-band .wp-block-buttons { flex-direction: row; align-items: center; }
	.entry .xea-sticker { font-size: 20px; }
	.entry .is-style-xea-timeline { gap: 20px; }
	.entry .is-style-xea-timeline li { grid-template-columns: 96px 1fr; font-size: 16px; }
	.entry .is-style-xea-timeline strong { font-size: 46px; }
	.entry .is-style-xea-periods { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 20px; align-items: start; }
	.entry .is-style-xea-support { margin-top: 80px; padding: 64px var(--gutter); }
	.entry .is-style-xea-support .wp-block-columns { margin-top: 0; align-items: center; }
	.entry .is-style-xea-support h2 { font-size: 56px; line-height: .95; }
	.entry .xea-support-text p { max-width: 560px; font-size: 17.5px; }
	.ann-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 20px; }
	.block-ann { gap: 20px; }
	.block-life { gap: 20px; }
	.block-life .wrap { padding: 0; max-width: none; }
	.life-scroll { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 20px; padding: 0; overflow: visible; }
	.life-scroll .rcard .rcard__media { height: 220px; }
	.life-scroll .rcard .rcard__title { font-size: 25px; }
	.entry > .block-life { width: min(100% - 2 * var(--gutter), calc(var(--wrap) - 2 * var(--gutter))); }
	.entry > .block-ann { width: min(100% - 2 * var(--gutter), calc(var(--wrap) - 2 * var(--gutter))); }
}

/* πλοήγηση του συλλόγου (Ποιοι είμαστε, Ιστορία, Διοίκηση) */
.page-body__grid { display: flex; flex-direction: column; }
.section-nav { display: flex; gap: 8px; overflow-x: auto; padding-top: 22px; }
.section-nav a { flex-shrink: 0; display: inline-flex; align-items: center; height: 44px; padding: 0 18px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--line-strong); color: var(--ink); font-family: var(--f-ui); font-size: 14.5px; font-weight: 800; text-decoration: none; }
.section-nav a[aria-current="page"] { background: var(--brand); color: #fff; box-shadow: none; }
.page-body--side .entry { padding: 0 4px; }
@media (min-width: 960px) {
	.page-body__grid { flex-direction: row; flex-wrap: wrap; gap: 48px; align-items: flex-start; padding-top: 64px; }
	.section-nav { flex: 0 1 260px; min-width: 220px; flex-direction: column; gap: 4px; padding: 18px; border-radius: var(--r); background: var(--surface); overflow: visible; }
	.section-nav__label { padding: 0 12px 8px; font-family: var(--f-ui); font-size: 11px; font-weight: 800; letter-spacing: .08em; color: var(--muted); }
	.section-nav a { height: auto; min-height: 44px; padding: 0 12px; border-radius: 12px; box-shadow: none; font-size: 15.5px; font-weight: 600; }
	.section-nav a[aria-current="page"] { font-weight: 800; }
	.page-body--side .entry { flex: 999 1 560px; min-width: 0; max-width: 820px; padding: 0; }
	.page-body--side .entry > :first-child { margin-top: 0; }
}

/* ==========================================================================
   Λίστες ανακοινώσεων και ανταποκρίσεων
   ========================================================================== */
.band { background: var(--brand-tint); }
.band__in { display: flex; flex-direction: column; gap: 14px; padding-top: 18px; padding-bottom: 30px; padding-left: 20px; padding-right: 20px; }
.band__title { font-family: var(--f-display); font-weight: 800; font-size: 50px; line-height: .95; letter-spacing: -.01em; }
.band__lead { font-size: 16px; line-height: 1.55; }
.chips { display: flex; gap: 8px; overflow-x: auto; padding: 6px 0 2px; margin: 0 -20px; padding-left: 20px; padding-right: 20px; scrollbar-width: none; }
.chip { flex-shrink: 0; display: inline-flex; align-items: center; height: 44px; padding: 0 18px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--line-strong); background: var(--bg); color: var(--ink); font-family: var(--f-ui); font-size: 14.5px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.chip:hover { color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
.chip[aria-current="page"] { color: #fff; }
.chip--all[aria-current="page"] { background: var(--ink); box-shadow: none; }
.chip--xea[aria-current="page"] { background: var(--p-xea); box-shadow: none; }
.chip--gir[aria-current="page"] { background: var(--p-gir); box-shadow: none; }
.chip--kat[aria-current="page"] { background: var(--p-kat); box-shadow: none; }

.list-body { display: flex; flex-direction: column; gap: 10px; padding-top: 26px; padding-bottom: 44px; }
.list-group { display: flex; flex-direction: column; gap: 14px; margin-bottom: 8px; }
.year-head { display: flex; align-items: center; gap: 12px; padding-top: 10px; font-family: var(--f-display); font-size: 30px; font-weight: 800; line-height: 1; }
.year-head::after { content: ""; flex: 1; height: 2px; background: var(--line); }
.ann-grid--list { display: flex; flex-direction: column; gap: 10px; }
.list-more { display: flex; flex-direction: column; gap: 10px; padding-top: 12px; }
.list-more .btn { justify-content: center; }
.list-empty { color: var(--muted); }

.rgrid--tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rcard--tile .rcard__media { height: 120px; }
.rcard--tile .rcard__sticker { display: inline-block; left: 10px; bottom: 10px; padding: 5px 9px 4px; font-size: 11.5px; }
.rcard--tile .rcard__body { grid-template-columns: 1fr; grid-template-areas: "pill" "title"; justify-items: start; padding: 12px 14px 16px; }
.rcard--tile .rcard__date { display: none; }
.rcard--tile .rcard__title { font-size: 19px; font-weight: 800; line-height: 1.02; }
.feature .rcard__sticker { display: inline-block; }
.feature .rcard__date { display: none; }
.feature .rcard__body { grid-template-columns: 1fr; grid-template-areas: "pill" "title"; justify-items: start; }

@media (min-width: 960px) {
	.band__in { gap: 18px; padding: 28px var(--gutter) 56px; }
	.band__title { font-size: 88px; line-height: .92; }
	.band__lead { max-width: 640px; font-size: 19px; }
	.band .sticker--lg { padding: 9px 14px 8px; border-radius: 10px; font-size: 20px; }
	.chips { flex-wrap: wrap; margin: 0; padding: 6px 0 0; overflow: visible; }
	.list-body { gap: 18px; padding-top: 56px; padding-bottom: 88px; }
	.list-group { gap: 18px; margin-bottom: 22px; }
	.year-head { padding-top: 18px; font-size: 40px; }
	.ann-grid--list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr)); gap: 16px; }
	.rgrid--tiles { grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 20px; }
	.rcard--tile .rcard__media { height: 200px; }
	.rcard--tile .rcard__title { font-size: 24px; }
	.list-more { flex-direction: row; justify-content: center; padding-top: 16px; }
	.feature .rcard { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); }
	.feature .rcard__media { height: auto; min-height: 420px; }
	.feature .rcard__img { position: absolute; inset: 0; }
	.feature .rcard__sticker { position: static; order: -1; margin-bottom: 4px; transform: rotate(-3deg) !important; font-size: 18px; font-family: var(--f-display); }
	.feature .rcard__body { align-content: center; gap: 14px; padding: 40px; }
	.feature .rcard__title { font-size: 64px; line-height: .95; }
}

/* ==========================================================================
   Άρθρο
   ========================================================================== */
.article__media { height: 340px; background: var(--surface-2); }
.article__img { width: 100%; height: 100%; object-fit: cover; }
.article__card { display: flex; flex-direction: column; gap: 12px; padding: 18px 20px 22px; }
.article--img .article__card { position: relative; margin: -64px 14px 0; background: var(--bg); border-radius: var(--r); box-shadow: var(--shadow-card); }
.article__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.article__tags .sticker { font-size: 16px; }
.article__title { font-family: var(--f-display); font-weight: 800; font-size: 46px; line-height: .96; letter-spacing: -.01em; overflow-wrap: anywhere; }
.article__meta { font-family: var(--f-ui); font-size: 13.5px; line-height: 1.45; color: var(--muted); }
.article__body { width: min(100% - 2 * var(--gutter), 820px); margin: 0 auto; padding-top: 22px; }
.entry--article > :first-child { margin-top: 0; }
.entry--article > * + * { margin-top: 16px; }

.event-box { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px; padding: 20px; border-radius: var(--r); background: var(--surface); }
.event-box__label { font-family: var(--f-ui); font-size: 12px; font-weight: 800; letter-spacing: .09em; color: var(--muted); }
.event-box__dates { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.event-box__dates .datebox { width: 64px; }
.event-box__dates .datebox__day { font-size: 30px; }
.event-box__to { font-family: var(--f-ui); font-size: 14px; color: var(--muted); }
.event-box__time { display: inline-flex; align-items: center; gap: 6px; margin-left: 6px; font-family: var(--f-ui); font-size: 17px; font-weight: 800; }
.event-box__place { display: flex; gap: 10px; align-items: flex-start; font-family: var(--f-ui); font-size: 15px; }
.event-box__place .icon { color: var(--brand); margin-top: 2px; }
.event-box__place > span { display: flex; flex-direction: column; }
.event-box__place > span span { color: var(--muted); font-size: 14px; }
.event-box__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.event-box__actions .btn { min-height: 44px; font-size: 14px; }

.share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--line); }
.share__label { margin-right: 4px; font-family: var(--f-ui); font-size: 12px; font-weight: 800; letter-spacing: .09em; color: var(--muted); text-transform: uppercase; }
.share__btn { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 16px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--line-strong); color: var(--ink); font-family: var(--f-ui); font-size: 14px; font-weight: 700; text-decoration: none; }
.share__btn:hover { color: var(--ink); background: var(--surface); }

.article-more { display: flex; flex-direction: column; gap: 16px; padding: 40px 0 44px; }
.wrap-scroll { display: flex; gap: 12px; overflow-x: auto; padding: 0 var(--gutter) 4px; }
.wrap-scroll > .ann-row { flex: 0 0 300px; }

@media (min-width: 960px) {
	.article__head { display: flex; flex-direction: column; }
	.article__card, .article--img .article__card { width: min(100% - 2 * var(--gutter), 820px); margin: 0 auto; padding: 32px 0 0; gap: 18px; background: transparent; box-shadow: none; }
	.article__tags .sticker { font-size: 20px; }
	.article__title { font-size: 84px; line-height: .92; }
	.article__meta { font-size: 15px; }
	.article__figure { width: min(100% - 2 * var(--gutter), calc(var(--wrap) - 2 * var(--gutter))); margin: 32px auto 0; }
	.article__figure .article__img { height: 560px; border-radius: var(--r); }
	.article__body { padding-top: 40px; }
	.entry--article { font-size: 20px; }
	.entry--article > * + * { margin-top: 22px; }
	.event-box { padding: 26px; margin-bottom: 32px; }
	.article-more { gap: 20px; padding: 72px 0 88px; }
	.article-more > .wrap { padding-left: var(--gutter); padding-right: var(--gutter); }
	.wrap-scroll { width: min(100%, var(--wrap)); margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 20px; overflow: visible; }
	.wrap-scroll > .ann-row { flex: none; }
	.wrap-scroll .rcard .rcard__media { height: 220px; }
}
