/* =========================================================
   Ανακύκλωση Καλλιθέας — design system
   Το θέμα καθορίζει την εμφάνιση· ο Elementor τη δομή/περιεχόμενο.
   ========================================================= */

:root {
	/* Χρώματα */
	--green-950: #052E16;
	--green-900: #0B4A2A;
	--green-800: #0E5B33;
	--green-700: #15803D;
	--green-600: #16A34A;
	--green-500: #22C55E;
	--green-200: #BBF7D0;
	--green-100: #DCFCE7;
	--green-50:  #F0FDF4;
	--teal-600:  #0D9488;
	--amber-500: #F59E0B;
	--red-600:   #DC2626;
	--red-700:   #B91C1C;
	--red-50:    #FEF2F2;

	--ink:       #14271C;
	--body:      #3B4A41;
	--muted:     #64756B;
	--line:      #E3EEE7;
	--bg:        #FFFFFF;
	--bg-tint:   #F3FAF5;

	/* Τυπογραφία */
	--font-head: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
	--font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;

	/* Διάφορα */
	--radius: 18px;
	--radius-sm: 12px;
	--shadow-sm: 0 1px 2px rgba(5, 46, 22, 0.06), 0 4px 12px rgba(5, 46, 22, 0.06);
	--shadow-md: 0 6px 24px rgba(5, 46, 22, 0.10);
	--shadow-lg: 0 16px 44px rgba(5, 46, 22, 0.16);
	--header-h: 82px; /* συνολικό sticky ύψος — ενημερώνεται δυναμικά από JS */
	--nav-h: 82px;    /* ύψος μόνο της γραμμής μενού */
	--maxw: 1200px;
}

/* ---------- Βάση ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }

html, body { max-width: 100%; overflow-x: hidden; overflow-x: clip; }

body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--body);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-head);
	font-weight: 800;
	line-height: 1.18;
	color: var(--green-900);
	margin: 0 0 0.6em;
	overflow-wrap: break-word;
}

h1 { font-size: clamp(2.1rem, 4.2vw, 3.1rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.15rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.45rem); }
h4 { font-size: 1.15rem; }

p { margin: 0 0 1.1em; }

a { color: var(--green-700); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--green-600); }

img { max-width: 100%; height: auto; }

ul, ol { padding-left: 1.3em; }

::selection { background: var(--green-200); color: var(--green-950); }

:focus-visible { outline: 3px solid var(--green-500); outline-offset: 2px; border-radius: 4px; }

.container { width: min(var(--maxw), 92%); margin-inline: auto; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute !important; word-wrap: normal !important;
}

.skip-link:focus {
	clip: auto; clip-path: none; height: auto; width: auto;
	position: fixed !important; top: 10px; left: 10px; z-index: 100000;
	background: var(--green-900); color: #fff; padding: 12px 18px; border-radius: 8px;
}

/* ---------- Λωρίδα λογοτύπων φορέων (sticky, μέσα στο header) ---------- */
.logo-strip { background: #fff; border-bottom: 1px solid var(--line); }
.logo-strip-inner {
	width: min(var(--maxw), 94%); margin-inline: auto;
	display: flex; align-items: center; justify-content: center;
}
.logo-strip-item { display: flex; align-items: center; padding: 12px 34px; }
.logo-strip-item + .logo-strip-item { border-left: 1px solid #E3E7E5; }
.logo-strip-item img { height: 100px; width: auto; display: block; }

@media (max-width: 1024px) {
	.logo-strip-item { padding: 8px 16px; }
	.logo-strip-item img { height: 60px; }
}
@media (max-width: 600px) {
	.logo-strip-item { padding: 6px 10px; }
	.logo-strip-item img { height: 40px; }
}

/* ---------- Κεφαλίδα ---------- */
.site-header {
	position: sticky; top: 0; z-index: 999;
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-bottom: 1px solid transparent;
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.site-header.is-scrolled { box-shadow: var(--shadow-sm); border-bottom-color: var(--line); }

.header-inner {
	width: min(var(--maxw), 94%); margin-inline: auto;
	min-height: var(--nav-h);
	display: flex; align-items: center; justify-content: space-between; gap: 18px;
}

.site-brand { flex-shrink: 0; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-mark { display: block; width: 52px; height: 52px; }
.brand-text { display: flex; flex-direction: column; line-height: 1.12; }
.brand-title { font-family: var(--font-head); font-weight: 800; font-size: 1.28rem; color: var(--green-900); letter-spacing: -0.01em; }
.brand-sub { font-family: var(--font-head); font-weight: 700; font-size: 0.82rem; color: var(--green-600); }

.custom-logo { max-height: 60px; width: auto; }

/* Μενού (desktop) */
.main-nav .menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.main-nav .menu > li { position: relative; }
.main-nav .menu a {
	display: flex; align-items: center; gap: 5px;
	font-family: var(--font-head); font-weight: 700; font-size: 0.93rem;
	color: var(--ink); text-decoration: none;
	padding: 9px 10px; border-radius: 10px;
	transition: background 0.18s ease, color 0.18s ease;
	white-space: nowrap;
}
.main-nav .menu a:hover { background: var(--green-50); color: var(--green-800); }
.main-nav .menu > li.current-menu-item > a,
.main-nav .menu > li.current-menu-ancestor > a,
.main-nav .menu > li.current_page_parent > a {
	background: linear-gradient(100deg, var(--green-600), var(--teal-600));
	color: #fff;
	box-shadow: 0 6px 16px rgba(22, 163, 74, 0.32);
}
.main-nav .sub-menu li.current-menu-item > a {
	background: linear-gradient(100deg, var(--green-600), var(--teal-600));
	color: #fff;
}

.submenu-caret {
	width: 8px; height: 8px; flex: 0 0 auto;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	opacity: 0.55;
}

/* Υπομενού */
.main-nav .sub-menu {
	list-style: none; margin: 0; padding: 8px;
	position: absolute; top: calc(100% + 8px); left: 0; z-index: 1000;
	min-width: 280px;
	background: #fff; border: 1px solid var(--line); border-radius: 14px;
	box-shadow: var(--shadow-lg);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.main-nav .menu > li:hover > .sub-menu,
.main-nav .menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.main-nav .sub-menu a { padding: 10px 14px; border-radius: 9px; white-space: normal; font-weight: 600; font-size: 0.94rem; }

/* Burger */
.nav-toggle {
	display: none; flex-direction: column; justify-content: center; gap: 5px;
	width: 46px; height: 46px; padding: 10px;
	background: var(--green-50); border: 1px solid var(--line); border-radius: 12px; cursor: pointer;
}
.nav-toggle-bar { display: block; height: 2.5px; width: 100%; background: var(--green-900); border-radius: 2px; transition: transform 0.22s ease, opacity 0.22s ease; }
body.nav-open .nav-toggle-bar:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
body.nav-open .nav-toggle-bar:nth-child(2) { opacity: 0; }
body.nav-open .nav-toggle-bar:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

/* Μενού (mobile) */
@media (max-width: 1240px) {
	.nav-toggle { display: flex; }
	.main-nav {
		position: fixed; inset: var(--header-h) 0 0 0; z-index: 998;
		background: #fff; overflow-y: auto; padding: 18px 6vw 40px;
		transform: translateX(100%); visibility: hidden;
		transition: transform 0.28s ease, visibility 0.28s;
	}
	body.nav-open .main-nav { transform: translateX(0); visibility: visible; }
	body.nav-open { overflow: hidden; }

	.main-nav .menu { flex-direction: column; align-items: stretch; gap: 2px; }
	.main-nav .menu a { padding: 14px 12px; font-size: 1.08rem; white-space: normal; }
	.main-nav .sub-menu {
		position: static; min-width: 0; box-shadow: none; border: 0;
		border-left: 3px solid var(--green-100); border-radius: 0;
		margin: 0 0 6px 14px; padding: 0 0 0 6px;
		opacity: 1; visibility: visible; transform: none;
		display: none;
	}
	.main-nav li.open > .sub-menu { display: block; }
	.submenu-caret { margin-left: auto; }
}

/* ---------- Δευτερεύον μενού (κάτω από το κύριο) ---------- */
.subnav { border-top: 1px solid var(--line); background: #F6FAF7; }
.subnav-inner {
	width: min(var(--maxw), 94%); margin-inline: auto;
	display: flex; justify-content: flex-end;
}
.subnav .menu { list-style: none; margin: 0; padding: 5px 0; display: flex; gap: 4px; }
.subnav .menu a {
	display: inline-flex; align-items: center; gap: 7px;
	font-family: var(--font-head); font-weight: 700; font-size: 0.86rem;
	color: var(--muted); text-decoration: none;
	padding: 5px 11px; border-radius: 8px;
	transition: background 0.18s ease, color 0.18s ease;
	white-space: nowrap;
}

/* Flat εικονίδια στα items του δευτερεύοντος μενού (με βάση το URL) */
.subnav .menu a::before {
	content: ""; flex: 0 0 auto; width: 15px; height: 15px;
	background: currentColor;
	-webkit-mask: var(--subnav-icon) center / contain no-repeat;
	mask: var(--subnav-icon) center / contain no-repeat;
}
.subnav .menu a[href*="ekdiloseis"], .subnav .menu a[href*="events"] {
	--subnav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}
.subnav .menu a[href*="vivliothiki"], .subnav .menu a[href*="library"] {
	--subnav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
}
.subnav .menu a[href*="epikoinonia"], .subnav .menu a[href*="contact"] {
	--subnav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
}
.subnav .menu a:not([style*="--subnav-icon"]):not([href*="ekdiloseis"]):not([href*="events"]):not([href*="vivliothiki"]):not([href*="library"]):not([href*="epikoinonia"]):not([href*="contact"])::before { display: none; }
.subnav .menu a:hover { background: var(--green-100); color: var(--green-900); }
.subnav .menu .current-menu-item > a { color: var(--green-800); background: var(--green-100); }

@media (max-width: 600px) {
	.subnav-inner { justify-content: center; flex-wrap: wrap; }
	.subnav .menu a { font-size: 0.82rem; padding: 5px 9px; }
}

/* Εναλλαγή γλώσσας (Polylang) */
.lang-switch {
	list-style: none; display: flex; align-items: center; gap: 3px;
	margin: 0 0 0 12px; padding: 4px 0 4px 12px;
	border-left: 1px solid var(--line);
}
.lang-switch a {
	display: block;
	font-family: var(--font-head); font-weight: 800; font-size: 0.78rem;
	text-transform: uppercase; letter-spacing: 0.04em;
	color: var(--muted); text-decoration: none;
	padding: 4px 9px; border-radius: 7px;
	transition: background 0.15s ease, color 0.15s ease;
}
.lang-switch a:hover { background: var(--green-50); color: var(--green-800); }
.lang-switch .current-lang a { background: var(--green-600); color: #fff; }

/* ---------- Βιβλιοθήκη ---------- */
.library-warning {
	display: flex; align-items: center; gap: 10px;
	background: var(--red-50); border: 1px solid #FECACA; border-left: 5px solid var(--red-600);
	color: var(--red-700); font-family: var(--font-head); font-weight: 800; font-size: 1.02rem;
	padding: 14px 18px; border-radius: 12px; margin-bottom: 32px;
}
.library-warning svg { flex: 0 0 auto; }

.library-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 22px; margin-top: 10px;
}
.library-card {
	display: flex; flex-direction: column;
	align-items: stretch; text-align: center;
	background: #fff; border: 1px solid var(--line); border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(5, 46, 22, 0.05);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.library-card:hover {
	transform: translateY(-6px);
	border-color: rgba(22, 163, 74, 0.35);
	box-shadow: 0 20px 44px rgba(5, 46, 22, 0.14);
}

/* Preview πρώτης σελίδας */
.lib-preview {
	position: relative; display: block;
	aspect-ratio: 16 / 11; overflow: hidden;
	background:
		radial-gradient(360px 200px at 80% -20%, rgba(34, 197, 94, 0.12), transparent 60%),
		linear-gradient(160deg, #F2FBF5 0%, #E6F6EF 100%);
	border-bottom: 1px solid var(--line);
}
.lib-preview img {
	width: 100%; height: 100%;
	object-fit: cover; object-position: center top;
	transition: transform 0.4s ease;
}
.library-card:hover .lib-preview img { transform: scale(1.06); }
.lib-preview-ph {
	display: flex; align-items: center; justify-content: center;
	height: 100%; color: var(--green-500);
}

/* Badge τύπου αρχείου πάνω στο preview */
.library-card .file-badge {
	position: absolute; top: 12px; left: 12px;
	display: inline-flex; align-items: center; gap: 5px;
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	color: var(--red-600);
	font-family: var(--font-head); font-weight: 800; font-size: 0.7rem; letter-spacing: 0.07em;
	padding: 5px 10px; border-radius: 999px;
	box-shadow: 0 2px 8px rgba(5, 46, 22, 0.14);
}

/* Σώμα κάρτας */
.lib-body { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 20px 22px 24px; flex: 1; }
.library-card h3 { font-size: 1.06rem; margin: 0; line-height: 1.35; }
.library-card .file-desc { font-size: 0.9rem; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.library-card .file-desc p { margin: 0; }
.library-card .file-meta {
	font-family: var(--font-head); font-weight: 700; font-size: 0.76rem;
	color: var(--muted); letter-spacing: 0.05em; text-transform: uppercase; margin: 0;
}
.library-card .btn-download {
	margin-top: auto;
	display: inline-flex; align-items: center; gap: 7px;
	background: var(--green-600); color: #fff; text-decoration: none;
	font-family: var(--font-head); font-weight: 700; font-size: 0.9rem;
	padding: 10px 22px; border-radius: 999px;
	box-shadow: 0 4px 14px rgba(22, 163, 74, 0.3);
	transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.library-card .btn-download:hover { background: var(--green-700); color: #fff; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(22, 163, 74, 0.38); }
.library-card .btn-download svg { transition: transform 0.18s ease; }
.library-card .btn-download:hover svg { transform: translate(2px, -2px); }
.library-empty { color: var(--muted); }

/* ---------- Προστατευμένος PDF viewer ---------- */
.pdf-viewer-canvases {
	display: flex; flex-direction: column; align-items: center; gap: 22px;
	background: var(--bg-tint); border: 1px solid var(--line); border-radius: 20px;
	padding: clamp(14px, 3vw, 34px);
	user-select: none; -webkit-user-select: none;
}
.pdf-page-canvas {
	max-width: 100%; height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 18px rgba(5, 46, 22, 0.14);
	background: #fff;
}
.pdf-loading { color: var(--muted); padding: 40px 0; }
.pdf-print-notice { display: none; }

@media print {
	body.page-template-template-pdf-viewer > * { display: none !important; }
	body.page-template-template-pdf-viewer::before {
		content: "Η εκτύπωση αυτού του εγγράφου δεν επιτρέπεται.";
		display: block; font-family: sans-serif; font-size: 18pt; font-weight: 700;
		text-align: center; padding-top: 40mm;
	}
	body.page-template-template-pdf-viewer:lang(en)::before {
		content: "Printing this document is not allowed.";
	}
}

/* ---------- Εκδηλώσεις / αρχεία κατηγοριών ---------- */
.event-item { padding: 26px 0; border-bottom: 1px solid var(--line); }
.event-item h2 { font-size: 1.35rem; margin-bottom: 6px; }
.event-item h2 a { color: var(--green-900); text-decoration: none; }
.event-item h2 a:hover { color: var(--green-600); }
.event-date { font-family: var(--font-head); font-weight: 700; font-size: 0.85rem; color: var(--green-600); margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.04em; }
.event-thumb img { border-radius: 14px; margin: 8px 0; }
.event-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 6px 0 10px; }
.event-meta-item { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-head); font-weight: 700; font-size: 0.92rem; color: var(--green-800); }
.event-meta-item svg { flex: 0 0 auto; color: var(--green-600); }
.event-kicker a { font-family: var(--font-head); font-weight: 700; font-size: 0.9rem; text-decoration: none; }
.event-single-thumb img { border-radius: 18px; margin-bottom: 24px; }
.event-more { font-family: var(--font-head); font-weight: 700; text-decoration: none; }
.events-empty {
	text-align: center; padding: 56px 24px;
	border: 2px dashed var(--green-200); border-radius: var(--radius); background: var(--green-50);
}
.events-empty p { font-family: var(--font-head); font-weight: 800; font-size: 1.2rem; color: var(--green-900); margin: 0; }
.events-empty .events-empty-sub { font-family: var(--font-body); font-weight: 400; font-size: 0.98rem; color: var(--muted); margin-top: 8px; }

/* ---------- Υποσέλιδο ---------- */
.site-footer { background: var(--green-950); color: #C8E6D3; margin-top: 0; }
.footer-inner {
	width: min(var(--maxw), 92%); margin-inline: auto;
	display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: 48px;
	padding: 64px 0 48px;
}
.footer-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.footer-brand .brand-title { color: #fff; }
.footer-brand .brand-sub { color: var(--green-500); }
.footer-about p { font-size: 0.96rem; color: #A9CDB8; }

.site-footer h3 {
	color: #fff; font-size: 0.95rem; font-weight: 800;
	text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 18px;
}
.footer-menu, .footer-contact-list { list-style: none; margin: 0; padding: 0; }
.footer-menu li, .footer-contact-list li { padding: 5px 0; font-size: 0.96rem; }
.site-footer a { color: #9FD8B4; text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; }

.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.10); }
.footer-bottom-inner {
	width: min(var(--maxw), 92%); margin-inline: auto;
	display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; justify-content: space-between;
	padding: 18px 0; font-size: 0.85rem; color: #8FB89E;
}
.footer-bottom-inner p { margin: 0; }

@media (max-width: 900px) {
	.footer-inner { grid-template-columns: 1fr; gap: 34px; padding: 48px 0 34px; }
}

/* ---------- Layout με πλευρικό μενού ενότητας ---------- */
.layout-sidebar {
	display: grid;
	grid-template-columns: 335px minmax(0, 1fr);
}
.layout-content { min-width: 0; }

.side-nav {
	background: var(--bg-tint);
	border-right: 1px solid var(--line);
	padding: 28px clamp(14px, 1.6vw, 24px) 28px clamp(16px, 2.5vw, 32px);
}
.side-nav-card {
	position: sticky;
	top: calc(var(--header-h) + 20px);
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 14px;
	box-shadow: var(--shadow-sm);
}
.side-nav-title {
	display: block;
	font-family: var(--font-head); font-weight: 800; font-size: 1rem;
	color: var(--green-900); text-decoration: none;
	background: var(--green-50);
	padding: 10px 13px; border-radius: 11px;
	margin-bottom: 10px;
}
.side-nav-title:hover { background: var(--green-100); color: var(--green-900); }
.side-nav-title.current {
	background: linear-gradient(100deg, var(--green-600), var(--teal-600));
	color: #fff;
	box-shadow: 0 6px 16px rgba(22, 163, 74, 0.32);
}

.side-nav-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.side-nav-list li a {
	display: block;
	font-family: var(--font-head); font-weight: 600; font-size: 0.93rem;
	color: var(--body); text-decoration: none;
	padding: 9px 12px; border-radius: 10px;
	transition: background 0.15s ease, color 0.15s ease;
}
.side-nav-list li a:hover { background: var(--green-50); color: var(--green-800); }
.side-nav-list li.current a {
	background: linear-gradient(100deg, var(--green-600), var(--teal-600));
	color: #fff; font-weight: 700;
	box-shadow: 0 6px 16px rgba(22, 163, 74, 0.32);
}

@media (max-width: 1024px) {
	.layout-sidebar { grid-template-columns: 1fr; }
	/* Σε κινητά/tablet κρύβεται — η πλοήγηση γίνεται από το κύριο μενού */
	.side-nav { display: none; }
}

/* ---------- Απλές σελίδες (χωρίς Elementor) ---------- */
.plain-hero { background: linear-gradient(135deg, var(--green-100), var(--bg-tint)); padding: 64px 0 48px; }
.plain-hero h1 { margin: 0; }
.entry-content { padding: 48px 0 80px; }
.archive-item { padding: 20px 0; border-bottom: 1px solid var(--line); }
.btn-link { font-weight: 700; }

/* =========================================================
   Στυλ για δομές Elementor (μέσω CSS classes στα containers)
   ========================================================= */

/* Γενικές ενότητες: το padding oρίζεται εδώ ώστε να είναι παντού συνεπές */
.e-con.sec, .sec { padding: 84px clamp(16px, 4vw, 40px); }
.e-con.sec-sm, .sec-sm { padding: 56px clamp(16px, 4vw, 40px); }

/* Ζώνη τίτλου ενότητας με υπογράμμιση */
.section-title .elementor-heading-title { position: relative; padding-bottom: 16px; }
.section-title .elementor-heading-title::after {
	content: ""; display: block; position: absolute; left: 0; bottom: 0;
	width: 64px; height: 5px; border-radius: 99px;
	background: linear-gradient(90deg, var(--green-500), var(--teal-600));
}
.section-title.center .elementor-heading-title { text-align: center; }
.section-title.center .elementor-heading-title::after { left: 50%; transform: translateX(-50%); }

.kicker .elementor-heading-title {
	font-size: 0.88rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--green-600);
}

.lead, .lead p { font-size: 1.16rem; color: var(--muted); line-height: 1.7; }

/* ---------- Hero αρχικής ---------- */
.sec-hero {
	position: relative;
	background:
		radial-gradient(900px 420px at 85% -10%, rgba(134, 239, 172, 0.28), transparent 60%),
		radial-gradient(700px 380px at -10% 110%, rgba(13, 148, 136, 0.35), transparent 60%),
		linear-gradient(135deg, #0A4D2B 0%, #106B3C 55%, #17A25C 100%);
	color: #E7F8EC;
	padding-top: 110px; padding-bottom: 130px;
	overflow: hidden;
}
.sec-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image: url("../img/leaves.svg");
	background-size: 340px; opacity: 0.5;
}
/* Κινούμενο κύμα: δύο περιοδικά (seamless) στρώματα που γλιστρούν αντίθετα */
.sec-hero::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 70px; pointer-events: none;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0,50 C360,15 360,85 720,50 C1080,15 1080,85 1440,50 L1440,90 L0,90 Z' fill='%23ffffff'/%3E%3C/svg%3E"),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0,55 C360,85 360,25 720,55 C1080,85 1080,25 1440,55 L1440,90 L0,90 Z' fill='%23ffffff' fill-opacity='0.35'/%3E%3C/svg%3E");
	background-repeat: repeat-x, repeat-x;
	background-size: 1440px 70px, 1440px 70px;
	background-position: 0 bottom, 0 bottom;
	animation: kal-wave 22s linear infinite;
}
@keyframes kal-wave {
	to { background-position: -1440px bottom, 1440px bottom; }
}
@media (prefers-reduced-motion: reduce) {
	.sec-hero::after { animation: none; }
}
.e-con.sec-hero { padding-left: clamp(16px, 4vw, 40px); padding-right: clamp(16px, 4vw, 40px); }
.sec-hero .elementor-heading-title { color: #fff; }
.sec-hero .kicker .elementor-heading-title { color: #A7F3C4; }
.sec-hero h1.elementor-heading-title, .sec-hero .h1 .elementor-heading-title { font-size: clamp(2.4rem, 5vw, 3.6rem); letter-spacing: -0.015em; }
.sec-hero .lead, .sec-hero .lead p { color: #D2F0DC; font-size: 1.22rem; max-width: 700px; }

/* ---------- Hero εσωτερικών σελίδων ---------- */
.page-hero {
	background:
		radial-gradient(700px 300px at 90% -20%, rgba(34, 197, 94, 0.16), transparent 60%),
		linear-gradient(135deg, #E9F8EF 0%, #F3FAF5 70%);
	border-bottom: 1px solid var(--line);
	padding-top: 74px; padding-bottom: 58px;
}
.page-hero .kicker .elementor-heading-title { color: var(--green-600); margin-bottom: 2px; }
.page-hero .elementor-heading-title { color: var(--green-950); }
.page-hero .lead, .page-hero .lead p { max-width: 760px; }

/* ---------- Hero δύο στηλών (κείμενο + εικονογράφηση) ---------- */
.e-con.hero-cols { align-items: center; }
.e-con.hero-cols > .e-con { min-width: 0; }
.e-con.hero-cols > .e-con.hero-col-text { flex: 1.15 1 420px; }
.e-con.hero-cols > .e-con.hero-col-illu { flex: 0.85 1 320px; }
.hero-illu { max-width: 460px; margin-inline: auto; }
.hero-illu img {
	border-radius: 26px;
	box-shadow: 0 34px 70px rgba(3, 35, 18, 0.35);
	transform: rotate(-2deg);
	transition: transform 0.35s ease;
}
.hero-illu:hover img { transform: rotate(0deg) scale(1.02); }

/* ---------- Δίστηλες ενότητες περιεχομένου (κείμενο + εικόνα) ---------- */
.e-con.split-row { align-items: stretch; }
.e-con.split-row > .e-con { min-width: 0; }
.e-con.split-row > .e-con.split-text { flex: 1.25 1 380px; }
.e-con.split-row > .e-con.split-media { flex: 1 1 300px; align-content: start; }
/* Η εικόνα "κολλάει" κάτω από το header όσο κυλά η μεγάλη λίστα δίπλα της */
.split-media .elementor-widget-image { position: sticky; top: calc(var(--header-h) + 24px); }
.split-photo img, .split-media .elementor-widget-image img {
	width: 100%;
	border-radius: 22px;
	box-shadow: var(--shadow-md);
}
.split-media .illu-frame img {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 24px;
	box-shadow: var(--shadow-md);
}

/* ---------- Ενιαίος τόνος φωτογραφιών ----------
   Απαλό «film wash» + διακριτική πράσινη απόχρωση, ώστε φωτογραφίες
   από διαφορετικές πηγές να μοιάζουν μέρος της ίδιας οικογένειας.
   (Δεν εφαρμόζεται σε εικονογραφήσεις, λογότυπα και previews PDF.) */
:root {
	--photo-filter: saturate(0.87) contrast(1.05) brightness(1.02) sepia(0.08);
	--photo-tint: rgba(11, 74, 42, 0.07);
}

.split-photo img,
.img-banner img,
.event-thumb img,
.event-single-thumb img { filter: var(--photo-filter); }

.elementor-widget-image.split-photo,
.elementor-widget-image.img-banner,
.event-thumb,
.event-single-thumb { isolation: isolate; }

.elementor-widget-image.img-banner,
.event-thumb,
.event-single-thumb { position: relative; display: block; }

.elementor-widget-image.split-photo::after,
.elementor-widget-image.img-banner::after,
.event-thumb::after,
.event-single-thumb::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: var(--photo-tint);
	mix-blend-mode: multiply;
}
.elementor-widget-image.split-photo::after { border-radius: 22px; }
.elementor-widget-image.img-banner::after { border-radius: 24px; }
.event-thumb::after { border-radius: 14px; }
.event-single-thumb::after { border-radius: 18px; }

/* ---------- Εικόνα-banner πλήρους πλάτους ---------- */
.img-banner img {
	width: 100%;
	aspect-ratio: 21 / 8;
	object-fit: cover;
	border-radius: 24px;
	box-shadow: var(--shadow-md);
}
.img-banner { margin-bottom: 18px; }

@media (max-width: 767px) {
	.img-banner img { aspect-ratio: 16 / 9; }
	.hero-illu { max-width: 340px; }
}

/* =========================================================
   Αρχική: μεταβάσεις ενοτήτων & animations
   ========================================================= */

/* Σκισμένο χαρτί: η ενότητα από πάνω "σκίζεται" και αποκαλύπτει την επόμενη */
body.home .site-main .e-con.e-parent.sec-dark,
body.home .site-main .e-con.e-parent.sec-tint,
body.home .site-main .e-con.e-parent.sec-sm {
	--torn-a: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1200 72%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0,0 H1200 V24.3 L1200,24.3 L1199.4,21.6 L1191.7,25.1 L1185.2,22.2 L1178.4,22.3 L1171.1,20.7 L1164.7,21.0 L1158.7,20.6 L1151.8,24.9 L1145.7,24.8 L1139.3,25.1 L1133.2,24.9 L1129.7,25.5 L1126.4,25.1 L1120.9,21.8 L1117.6,21.3 L1112.7,22.8 L1106.0,23.1 L1100.7,24.5 L1094.9,22.6 L1088.0,23.5 L1081.9,27.5 L1078.6,26.1 L1075.1,26.5 L1065.6,28.7 L1059.3,28.8 L1054.7,26.5 L1050.4,26.9 L1045.8,28.2 L1042.6,29.1 L1035.1,30.7 L1029.5,28.9 L1022.2,29.7 L1013.1,30.0 L1005.9,27.3 L999.9,27.8 L992.2,31.4 L984.2,32.1 L975.4,32.0 L967.3,32.6 L962.6,33.0 L956.4,30.2 L949.3,31.7 L941.1,28.3 L934.7,29.2 L929.1,30.3 L924.9,31.5 L921.8,30.1 L915.5,29.5 L907.5,32.4 L904.1,32.2 L894.7,28.6 L890.5,30.2 L884.1,27.6 L880.4,28.2 L873.0,30.8 L866.7,31.7 L857.8,28.0 L854.7,28.9 L850.8,28.9 L842.4,28.1 L834.7,27.5 L825.9,28.0 L816.9,28.6 L808.1,30.8 L803.6,30.2 L795.0,30.6 L787.9,28.5 L781.5,29.8 L775.6,29.2 L771.0,29.1 L763.3,31.8 L758.0,32.4 L753.5,28.2 L749.6,32.6 L745.4,32.1 L736.5,32.5 L732.7,31.9 L723.7,33.1 L717.2,34.9 L711.0,35.8 L705.4,36.9 L702.2,34.9 L695.7,35.6 L689.3,37.3 L685.0,37.5 L679.5,36.4 L671.0,37.1 L663.3,36.9 L658.8,39.1 L652.6,38.0 L644.2,37.4 L640.2,38.8 L635.0,38.9 L631.6,42.4 L623.6,37.3 L620.1,39.3 L611.2,38.9 L604.7,39.7 L595.8,38.3 L588.7,38.1 L584.3,36.7 L575.2,38.4 L568.5,38.3 L561.4,34.2 L553.7,33.7 L544.9,34.7 L536.9,34.9 L529.4,33.3 L525.2,34.0 L522.2,33.9 L517.9,35.9 L509.6,33.9 L503.7,33.3 L499.2,30.5 L493.2,28.1 L488.2,33.3 L484.9,36.0 L479.0,33.5 L474.0,32.3 L468.3,30.4 L462.3,30.2 L453.2,32.7 L444.7,29.2 L439.7,30.3 L430.9,32.2 L425.1,31.5 L420.0,30.4 L412.7,29.1 L408.4,29.8 L405.3,32.8 L398.3,31.8 L393.8,31.4 L390.6,28.9 L382.2,31.5 L374.4,32.3 L365.7,32.1 L362.2,31.9 L356.7,31.9 L348.1,31.3 L339.4,32.8 L334.1,33.4 L326.6,34.0 L318.8,30.2 L309.3,33.4 L303.1,36.7 L295.6,36.6 L291.7,33.1 L284.4,34.0 L279.0,32.4 L273.7,29.8 L267.8,29.5 L263.4,30.6 L256.4,31.8 L252.0,32.4 L247.8,31.6 L239.5,31.8 L234.9,36.1 L229.2,32.1 L220.0,31.9 L212.2,28.1 L203.9,27.1 L199.7,28.8 L193.5,27.8 L188.1,26.5 L181.3,25.2 L176.4,28.2 L171.7,29.0 L168.1,28.1 L162.5,27.9 L157.5,28.0 L152.8,25.0 L149.0,23.4 L141.3,24.5 L134.6,25.8 L131.2,23.0 L127.5,26.3 L122.3,22.7 L114.3,21.5 L108.7,23.2 L99.8,20.7 L91.2,22.4 L82.7,24.2 L79.3,21.6 L74.2,24.5 L64.8,21.9 L58.8,23.0 L51.6,24.8 L45.8,21.4 L41.5,23.5 L38.4,24.0 L31.2,26.0 L27.9,25.3 L24.3,22.0 L16.2,24.3 L12.0,24.5 L5.9,25.0 L0,30 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");
	--torn-b: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1200 72%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0,0 H1200 V35.5 L1200,35.5 L1197.5,32.3 L1194.3,34.3 L1188.1,32.9 L1179.7,31.4 L1175.1,31.1 L1168.7,31.0 L1159.4,30.9 L1154.0,32.8 L1145.0,29.2 L1138.4,31.6 L1135.3,30.9 L1129.3,29.2 L1124.0,32.7 L1118.8,32.4 L1109.4,31.1 L1102.8,32.2 L1098.3,28.7 L1092.4,30.7 L1085.1,30.0 L1076.7,28.7 L1070.1,30.6 L1065.0,26.8 L1061.8,30.2 L1058.3,32.1 L1050.5,32.7 L1044.7,29.6 L1041.4,33.3 L1037.8,31.4 L1032.5,31.2 L1026.7,31.7 L1021.4,33.5 L1012.9,34.3 L1004.0,34.9 L998.1,35.3 L993.5,33.4 L987.7,35.4 L984.3,33.4 L975.9,33.0 L967.0,37.1 L963.9,38.1 L960.7,35.1 L954.6,35.3 L951.0,35.4 L943.9,36.0 L937.1,35.6 L930.7,36.5 L923.6,38.8 L915.9,39.3 L907.0,43.6 L898.6,39.9 L889.4,38.1 L880.0,37.4 L872.9,36.5 L868.0,35.9 L860.1,39.5 L856.6,37.1 L851.2,36.6 L842.8,38.1 L836.3,35.4 L833.0,36.6 L828.9,38.3 L825.7,35.6 L817.8,39.0 L814.0,34.4 L805.3,45.3 L800.3,37.0 L795.6,38.3 L789.3,35.3 L782.2,34.7 L778.1,33.8 L769.1,35.6 L760.9,35.0 L754.8,36.0 L748.5,37.8 L743.6,34.5 L736.5,37.7 L729.1,36.5 L723.3,39.3 L717.9,36.2 L711.2,35.7 L706.8,37.1 L701.8,37.1 L694.6,37.5 L689.3,40.8 L684.6,36.9 L677.7,40.5 L674.5,38.6 L669.4,39.2 L660.0,42.6 L653.4,39.5 L645.9,39.6 L642.5,39.3 L638.9,41.0 L635.8,40.8 L629.4,43.4 L624.8,41.0 L618.8,41.3 L610.8,41.3 L606.8,48.7 L598.4,42.7 L591.5,45.2 L583.0,44.3 L574.8,45.6 L566.7,44.1 L562.2,46.7 L554.9,43.2 L549.9,40.4 L545.3,47.3 L536.5,45.9 L533.1,46.9 L528.8,43.6 L520.3,50.4 L516.8,47.0 L510.7,45.5 L503.2,45.2 L498.3,44.2 L490.9,44.6 L484.8,43.4 L479.4,44.3 L475.4,44.5 L470.4,41.2 L464.0,44.5 L459.4,44.5 L453.1,44.1 L445.5,43.9 L441.3,43.0 L432.6,39.1 L426.1,39.7 L416.7,40.4 L412.1,39.5 L406.2,41.6 L400.8,41.5 L396.9,39.7 L391.7,39.7 L385.6,39.8 L377.8,42.0 L373.3,41.5 L365.8,37.7 L362.6,41.1 L355.4,38.2 L348.7,40.6 L341.7,39.9 L333.9,39.5 L327.7,40.6 L322.9,39.8 L315.1,38.3 L307.6,40.9 L302.8,39.2 L299.5,41.3 L292.8,39.4 L287.6,38.4 L281.9,41.4 L278.0,38.5 L274.0,39.2 L269.3,43.2 L260.7,41.3 L253.7,39.9 L247.8,43.7 L242.3,39.9 L237.8,42.2 L228.6,43.0 L224.4,40.6 L219.3,41.7 L214.6,42.2 L208.9,39.8 L205.3,40.5 L196.8,41.8 L187.7,41.6 L182.5,42.3 L173.1,38.1 L163.7,43.7 L157.8,37.2 L149.6,39.4 L146.0,36.4 L139.1,46.5 L129.9,37.3 L126.2,39.3 L119.2,36.0 L112.4,37.5 L103.9,36.5 L97.4,37.0 L89.3,32.6 L81.9,34.5 L73.3,33.7 L64.6,34.7 L55.4,25.0 L48.7,32.8 L40.7,32.1 L37.1,33.5 L28.5,31.4 L20.6,33.3 L15.2,30.4 L9.3,32.3 L3.3,32.4 L0,38 Z%22 fill=%22%23000%22/%3E%3C/svg%3E");
	padding-top: 124px;
}
body.home .site-main .e-con.e-parent.sec-sm { background: var(--bg); }

/* Το επάνω φύλλο (χρώμα της προηγούμενης ενότητας) */
body.home .site-main .e-con.e-parent.sec-dark::before,
body.home .site-main .e-con.e-parent.sec-tint::before,
body.home .site-main .e-con.e-parent.sec-sm::before,
/* ...και το από κάτω φύλλο, ελαφρώς μετατοπισμένο */
body.home .site-main .e-con.e-parent.sec-dark::after,
body.home .site-main .e-con.e-parent.sec-tint::after,
body.home .site-main .e-con.e-parent.sec-sm::after {
	content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 72px;
	pointer-events: none;
}
body.home .site-main .e-con.e-parent.sec-dark::before,
body.home .site-main .e-con.e-parent.sec-tint::before,
body.home .site-main .e-con.e-parent.sec-sm::before {
	z-index: 4;
	-webkit-mask: var(--torn-a) top center / 100% 100% no-repeat;
	mask: var(--torn-a) top center / 100% 100% no-repeat;
	filter: drop-shadow(0 2px 2px rgba(5, 46, 22, 0.20));
}
body.home .site-main .e-con.e-parent.sec-dark::after,
body.home .site-main .e-con.e-parent.sec-tint::after,
body.home .site-main .e-con.e-parent.sec-sm::after {
	z-index: 3; opacity: 0.42;
	-webkit-mask: var(--torn-b) top center / 100% 100% no-repeat;
	mask: var(--torn-b) top center / 100% 100% no-repeat;
}

/* Χρώμα "χαρτιού" ανά μετάβαση */
body.home .site-main .e-con.e-parent.sec-dark::before,
body.home .site-main .e-con.e-parent.sec-dark::after { background-color: #FFFFFF; }
body.home .site-main .e-con.e-parent.sec-tint::before,
body.home .site-main .e-con.e-parent.sec-tint::after { background-color: #0B4A2A; }
body.home .site-main .e-con.e-parent.sec-sm::before,
body.home .site-main .e-con.e-parent.sec-sm::after { background-color: var(--bg-tint); }

@media (max-width: 767px) {
	body.home .site-main .e-con.e-parent.sec-dark,
	body.home .site-main .e-con.e-parent.sec-tint,
	body.home .site-main .e-con.e-parent.sec-sm { padding-top: 92px; }
	body.home .site-main .e-con.e-parent.sec-dark::before,
	body.home .site-main .e-con.e-parent.sec-tint::before,
	body.home .site-main .e-con.e-parent.sec-sm::before,
	body.home .site-main .e-con.e-parent.sec-dark::after,
	body.home .site-main .e-con.e-parent.sec-tint::after,
	body.home .site-main .e-con.e-parent.sec-sm::after { height: 40px; }
}

/* Εμφάνιση στοιχείων κατά το scroll */
.js-anim .kal-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.75s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.75s cubic-bezier(0.22, 0.61, 0.36, 1);
	transition-delay: var(--kal-delay, 0ms);
	will-change: opacity, transform;
}
.js-anim .kal-reveal.is-in { opacity: 1; transform: none; }

/* Οι κάρτες έρχονται με ελαφρύ zoom */
.js-anim .cards-row > .e-con.kal-reveal { transform: translateY(30px) scale(0.97); }
.js-anim .cards-row > .e-con.kal-reveal.is-in { transform: none; }

/* Η υπογράμμιση των τίτλων "γράφεται" όταν εμφανιστεί ο τίτλος */
.js-anim .section-title .elementor-heading-title::after {
	transform: scaleX(0); transform-origin: left;
	transition: transform 0.8s 0.15s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.js-anim .section-title.center .elementor-heading-title::after {
	transform: translateX(-50%) scaleX(0); transform-origin: center;
}
.js-anim .section-title.kal-reveal.is-in .elementor-heading-title::after { transform: scaleX(1); }
.js-anim .section-title.center.kal-reveal.is-in .elementor-heading-title::after { transform: translateX(-50%) scaleX(1); }

/* Η εικονογράφηση του hero αιωρείται απαλά */
body.home .hero-illu { animation: kal-illu-float 9s ease-in-out infinite; }
@keyframes kal-illu-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }

@media (prefers-reduced-motion: reduce) {
	.js-anim .kal-reveal,
	.js-anim .cards-row > .e-con.kal-reveal { opacity: 1; transform: none; transition: none; }
	.js-anim .section-title .elementor-heading-title::after { transform: scaleX(1); transition: none; }
	.js-anim .section-title.center .elementor-heading-title::after { transform: translateX(-50%) scaleX(1); }
	body.home .hero-illu { animation: none; }
}

/* ---------- Χρωματικές παραλλαγές ενοτήτων ---------- */
.sec-tint { background: var(--bg-tint); }

.sec-dark {
	background:
		radial-gradient(800px 400px at 90% 0%, rgba(34, 197, 94, 0.18), transparent 55%),
		linear-gradient(160deg, #06301B 0%, #0B4A2A 100%);
	color: #CFEBDA;
}
.sec-dark .elementor-heading-title { color: #fff; }
.sec-dark .lead, .sec-dark .lead p { color: #A9D8BD; }
.sec-dark .section-title .elementor-heading-title::after { background: linear-gradient(90deg, var(--green-500), var(--amber-500)); }

/* ---------- Κάρτες ---------- */
.e-con.cards-row { align-items: stretch; }
.e-con.cards-row > .e-con { --width: auto; flex: 1 1 300px; max-width: 100%; min-width: 0; }
.e-con.cards-row.cols-2 > .e-con { flex-basis: 380px; }
.e-con.cards-row.cols-1 > .e-con { flex: 1 1 100%; }
.e-con.cards-row > .e-con.stat-card { flex-basis: 220px; }

/* Κουμπιά στο hero: δίπλα-δίπλα, όχι full width */
.hero-buttons { margin-top: 12px; }
.hero-buttons .elementor-widget-button { width: auto; }

.card {
	background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }

.sec-dark .card { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.14); }

/* Icon-box μέσα σε κάρτες */
.card .elementor-icon-box-icon { margin-bottom: 14px; }
.card .elementor-icon { font-size: 40px; color: var(--green-600); }
.card .elementor-icon-box-title { color: var(--green-900); margin-bottom: 8px; font-size: 1.22rem; }
.card .elementor-icon-box-title a { color: inherit; text-decoration: none; }
.card .elementor-icon-box-description { color: var(--muted); font-size: 0.99rem; }
.card:hover .elementor-icon-box-title a { color: var(--green-600); }

/* ---------- Κάρτες-σύνδεσμοι (μοντέρνο στυλ) ---------- */
.card.linkcard {
	position: relative;
	border-radius: 22px;
	background: linear-gradient(180deg, #FFFFFF 0%, #FBFEFC 100%);
	overflow: hidden;
}

/* Ολόκληρη η κάρτα clickable: ο σύνδεσμος του τίτλου "απλώνεται" σε όλη την κάρτα */
.card.linkcard .elementor-icon-box-title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Αριστερή στοίχιση περιεχομένου + χώρος για το βελάκι */
.card.linkcard .elementor-icon-box-wrapper { text-align: left; padding-bottom: 22px; }
.card.linkcard .elementor-icon-box-title { font-size: 1.18rem; }
.card.linkcard .elementor-icon-box-description { padding-right: 40px; }

/* Εικονίδιο μέσα σε στρογγυλεμένο "chip" */
.card.linkcard .elementor-icon-box-icon { margin-bottom: 18px; }
.card.linkcard .elementor-icon {
	font-size: 26px;
	color: var(--green-700);
	background: linear-gradient(135deg, var(--green-100) 0%, #E3F7F1 100%);
	width: 58px; height: 58px; border-radius: 18px;
	display: inline-flex; align-items: center; justify-content: center;
	transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
.card.linkcard:hover .elementor-icon {
	background: linear-gradient(135deg, var(--green-600) 0%, var(--teal-600) 100%);
	color: #fff;
	transform: scale(1.07) rotate(-4deg);
}
/* Τα εικονίδια είναι SVG με fill από element-specific κανόνα του Elementor — χρειάζεται !important */
.card.linkcard:hover .elementor-icon svg { fill: #fff !important; }

/* Λεπτή χρωματιστή γραμμή στην κορυφή στο hover */
.card.linkcard::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
	background: linear-gradient(90deg, var(--green-500), var(--teal-600));
	opacity: 0; transition: opacity 0.22s ease;
}
.card.linkcard:hover::before { opacity: 1; }

/* Στρογγυλό κουμπάκι-βέλος κάτω δεξιά */
.card.linkcard::after {
	content: "→"; position: absolute; right: 20px; bottom: 18px;
	width: 38px; height: 38px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--green-50); color: var(--green-700);
	border: 1px solid var(--green-100);
	font-family: var(--font-head); font-weight: 800; font-size: 1.05rem;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.card.linkcard:hover::after { background: var(--green-600); border-color: var(--green-600); color: #fff; transform: translateX(4px); }

.card.linkcard:hover { border-color: rgba(22, 163, 74, 0.35); box-shadow: 0 18px 40px rgba(5, 46, 22, 0.13); }

/* ---------- Στατιστικά / counters ---------- */
.stat-card { text-align: center; padding: 10px; }
.elementor-counter { font-family: var(--font-head); }
.elementor-counter .elementor-counter-number-wrapper {
	justify-content: center;
	color: var(--green-600); font-size: clamp(2.2rem, 3.6vw, 3rem); font-weight: 800; line-height: 1.1;
	/* Αριθμός και μονάδα μέτρησης σε ξεχωριστές γραμμές */
	flex-direction: column; align-items: center; gap: 5px;
}
.elementor-counter .elementor-counter-number-suffix {
	font-size: 1.15rem; font-weight: 700; line-height: 1.3; opacity: 0.9;
}
.elementor-counter .elementor-counter-title {
	margin-top: 10px; font-size: 0.98rem; font-weight: 600; color: var(--muted); line-height: 1.45;
}
.sec-dark .elementor-counter .elementor-counter-number-wrapper { color: #7BF0A8; }
.sec-dark .elementor-counter .elementor-counter-title { color: #C4E7D2; }

/* ---------- «Με μια ματιά»: aurora background + glass κάψουλες ---------- */
.e-con.glance-aurora { position: relative; overflow: hidden; isolation: isolate; }

/* Κινούμενα χρωματικά blobs */
.e-con.glance-aurora::before,
.e-con.glance-aurora::after {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	border-radius: 50%;
}
.e-con.glance-aurora::before {
	width: 540px; height: 540px; left: -150px; top: -200px;
	background: radial-gradient(circle at 32% 32%, rgba(52, 211, 153, 0.55), transparent 62%);
	filter: blur(70px);
	animation: kal-aurora-a 16s ease-in-out infinite alternate;
}
.e-con.glance-aurora::after {
	width: 640px; height: 640px; right: -190px; bottom: -260px;
	background:
		radial-gradient(circle at 68% 58%, rgba(13, 148, 136, 0.6), transparent 62%),
		radial-gradient(circle at 28% 82%, rgba(190, 242, 100, 0.28), transparent 55%);
	filter: blur(80px);
	animation: kal-aurora-b 20s ease-in-out infinite alternate;
}
@keyframes kal-aurora-a { to { transform: translate(90px, 70px) scale(1.15); } }
@keyframes kal-aurora-b { to { transform: translate(-80px, -60px) scale(1.1); } }

/* Frosted glass κάψουλες που "αιωρούνται" */
.glance-aurora .stat-card {
	background: rgba(255, 255, 255, 0.08);
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 30px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 22px 46px rgba(0, 0, 0, 0.26);
	padding-top: 88px;
	position: relative;
	animation: kal-float 7s ease-in-out infinite;
}
.glance-aurora .stat-card:nth-child(2) { animation-delay: -1.7s; }
.glance-aurora .stat-card:nth-child(3) { animation-delay: -3.4s; }
.glance-aurora .stat-card:nth-child(4) { animation-delay: -5.1s; }
@keyframes kal-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }

/* Περιστρεφόμενο conic-gradient δαχτυλίδι */
.glance-aurora .stat-card::before {
	content: ""; position: absolute; top: 22px; left: 50%; margin-left: -23px;
	width: 46px; height: 46px; border-radius: 50%;
	background: conic-gradient(from 0deg, #34D399, #0D9488, #A3E635, #34D399);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4.5px), #000 calc(100% - 3.5px));
	mask: radial-gradient(farthest-side, transparent calc(100% - 4.5px), #000 calc(100% - 3.5px));
	animation: kal-spin 6s linear infinite;
}
@keyframes kal-spin { to { transform: rotate(1turn); } }

/* Αριθμοί με glow */
.glance-aurora .elementor-counter .elementor-counter-number-wrapper {
	color: #fff;
	text-shadow: 0 0 26px rgba(123, 240, 168, 0.5);
}
.glance-aurora .elementor-counter .elementor-counter-number-suffix { color: #A7F3C4; }

@media (prefers-reduced-motion: reduce) {
	.e-con.glance-aurora::before,
	.e-con.glance-aurora::after,
	.glance-aurora .stat-card,
	.glance-aurora .stat-card::before { animation: none; }
}

/* ---------- Bento grid στατιστικών («Οι αριθμοί») ---------- */
.e-con.stats-bento {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-flow: dense;
	gap: 24px;
	counter-reset: kal-stat;
}
.stats-bento > .card {
	position: relative; overflow: hidden;
	counter-increment: kal-stat;
	border: 1.5px solid transparent;
	border-radius: 24px;
	background:
		linear-gradient(180deg, #FFFFFF 0%, #FAFDFB 100%) padding-box,
		linear-gradient(135deg, rgba(22, 163, 74, 0.45), rgba(13, 148, 136, 0.2)) border-box;
	box-shadow: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.stats-bento > .card:hover { transform: translateY(-5px); box-shadow: 0 18px 44px rgba(5, 46, 22, 0.13); }

/* Τεράστιος αριθμός-υδατογράφημα (01–09) */
.stats-bento > .card::after {
	content: counter(kal-stat, decimal-leading-zero);
	position: absolute; top: -16px; right: 4px;
	font-family: var(--font-head); font-weight: 800; font-size: 100px; line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(22, 163, 74, 0.13);
	pointer-events: none;
}

/* Gradient κείμενο στα νούμερα */
.stats-bento .stat-num .elementor-heading-title {
	display: inline-block;
	font-size: clamp(1.9rem, 2.6vw, 2.5rem);
	background: linear-gradient(120deg, var(--green-600), var(--teal-600));
	-webkit-background-clip: text; background-clip: text;
	color: transparent; -webkit-text-fill-color: transparent;
}
.stats-bento .stat-label, .stats-bento .stat-label p { position: relative; z-index: 1; }

/* Accent tiles: 1ο, 5ο και 9ο σε gradient γεμάτο χρώμα, διπλό πλάτος */
@media (min-width: 641px) {
	.stats-bento > .card:nth-child(1),
	.stats-bento > .card:nth-child(5),
	.stats-bento > .card:nth-child(9) { grid-column: span 2; }
}
.stats-bento > .card:nth-child(1),
.stats-bento > .card:nth-child(5),
.stats-bento > .card:nth-child(9) {
	border: none;
	background:
		radial-gradient(420px 220px at 88% -18%, rgba(255, 255, 255, 0.22), transparent 60%),
		linear-gradient(125deg, var(--green-700) 0%, var(--green-600) 45%, var(--teal-600) 100%);
}
.stats-bento > .card:nth-child(1)::after,
.stats-bento > .card:nth-child(5)::after,
.stats-bento > .card:nth-child(9)::after { -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.25); }
.stats-bento > .card:nth-child(1) .stat-num .elementor-heading-title,
.stats-bento > .card:nth-child(5) .stat-num .elementor-heading-title,
.stats-bento > .card:nth-child(9) .stat-num .elementor-heading-title {
	background: none; color: #fff; -webkit-text-fill-color: #fff;
}
.stats-bento > .card:nth-child(1) .stat-label,
.stats-bento > .card:nth-child(5) .stat-label,
.stats-bento > .card:nth-child(9) .stat-label,
.stats-bento > .card:nth-child(1) .stat-label p,
.stats-bento > .card:nth-child(5) .stat-label p,
.stats-bento > .card:nth-child(9) .stat-label p { color: #E7FAEE; }
.stats-bento > .card:nth-child(1) .stat-label strong,
.stats-bento > .card:nth-child(5) .stat-label strong,
.stats-bento > .card:nth-child(9) .stat-label strong { color: #fff; }

@media (max-width: 1024px) {
	.e-con.stats-bento { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.e-con.stats-bento { grid-template-columns: 1fr; }
}

/* Μεγάλος αριθμός-κάρτα (χωρίς counter) */
.stat-num .elementor-heading-title { color: var(--green-600); font-size: clamp(1.9rem, 3vw, 2.5rem); margin-bottom: 2px; }
.stat-label, .stat-label p { color: var(--muted); font-size: 0.97rem; line-height: 1.55; }

/* ---------- Λίστες ---------- */
.elementor-icon-list-items .elementor-icon-list-item {
	padding: 8px 0;
	/* Το εικονίδιο στοιχίζεται με την πρώτη γραμμή του κειμένου, όχι στη μέση */
	align-items: flex-start;
	--icon-vertical-align: flex-start;
}
.elementor-icon-list-icon { margin-top: 5px; }
.elementor-icon-list-text { line-height: 1.65; text-align: justify; }
.list-relaxed .elementor-icon-list-item { padding: 11px 0; }
.list-relaxed .elementor-icon-list-item:not(:last-child) { border-bottom: 1px dashed var(--line); }

/* ---------- Κουτιά Μύθος / Πραγματικότητα (floating badge design) ---------- */
.myth-card, .fact-card {
	position: relative;
	border-radius: 20px;
	padding: 36px 30px 28px;
	margin-top: 26px;
}
.myth-card::before, .fact-card::before {
	content: ""; position: absolute; top: -20px; left: 26px;
	width: 44px; height: 44px; border-radius: 50%;
	background-position: center, center;
	background-repeat: no-repeat, no-repeat;
	background-size: 20px, cover;
}
.fact-card {
	background: linear-gradient(160deg, #F4FCF7 0%, #E7F8EF 100%);
	border: 1px solid #D8F1E2;
	box-shadow: 0 12px 30px rgba(5, 46, 22, 0.08);
}
.fact-card::before {
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"),
		linear-gradient(135deg, var(--green-600), var(--teal-600));
	box-shadow: 0 8px 18px rgba(22, 163, 74, 0.35), 0 0 0 5px #fff;
}
.fact-card h3, .fact-card .fact-tag { color: var(--green-800); }

.myth-card {
	background: linear-gradient(160deg, #FFF7F7 0%, #FCEBEB 100%);
	border: 1px solid #F6D8D8;
	box-shadow: 0 12px 30px rgba(90, 15, 15, 0.07);
}
.myth-card::before {
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"),
		linear-gradient(135deg, var(--red-600), #F97316);
	box-shadow: 0 8px 18px rgba(220, 38, 38, 0.3), 0 0 0 5px #fff;
}
.myth-card h3, .myth-card .myth-tag { color: var(--red-700); }

.info-card { border-radius: var(--radius); padding: 26px 28px; }
.myth-card p:last-child, .fact-card p:last-child, .info-card p:last-child { margin-bottom: 0; }
.myth-tag, .fact-tag {
	display: inline-block; font-family: var(--font-head); font-weight: 800;
	font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase;
	margin-bottom: 8px;
}

.info-card { background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.info-card h3 { display: flex; align-items: center; gap: 12px; }
.info-icon {
	flex: 0 0 auto;
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 12px;
	background: var(--green-100); color: var(--green-700);
}
.info-card h4 { color: var(--green-800); }

/* ---------- Accordion ---------- */
.elementor-accordion .elementor-accordion-item {
	background: #fff; border: 1px solid var(--line) !important; border-radius: var(--radius-sm);
	margin-bottom: 14px; overflow: hidden; box-shadow: var(--shadow-sm);
}
.elementor-accordion .elementor-tab-title {
	font-family: var(--font-head); font-weight: 800; font-size: 1.08rem; color: var(--green-900);
	padding: 18px 22px;
}
.elementor-accordion .elementor-tab-title.elementor-active { color: var(--green-600); border-bottom: 1px solid var(--line); }
.elementor-accordion .elementor-tab-title .elementor-accordion-icon { color: var(--green-600); }
.elementor-accordion .elementor-tab-content { padding: 20px 22px; border-top: 0 !important; }

/* ---------- Κουμπιά ---------- */
.elementor-button, .elementor-button:visited {
	font-family: var(--font-head); font-weight: 800; font-size: 1rem;
	background: var(--green-600); color: #fff;
	border-radius: 999px; padding: 15px 30px;
	box-shadow: 0 6px 18px rgba(22, 163, 74, 0.35);
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.elementor-button:hover, .elementor-button:focus { background: var(--green-700); color: #fff; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(22, 163, 74, 0.4); }

.btn-ghost .elementor-button { background: transparent; border: 2px solid rgba(255, 255, 255, 0.65); box-shadow: none; }
.btn-ghost .elementor-button:hover { background: rgba(255, 255, 255, 0.12); border-color: #fff; transform: translateY(-2px); }

.btn-light .elementor-button { background: #fff; color: var(--green-800); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18); }
.btn-light .elementor-button:hover { background: var(--green-100); color: var(--green-900); }

.btn-amber .elementor-button { background: var(--amber-500); box-shadow: 0 6px 18px rgba(245, 158, 11, 0.35); }
.btn-amber .elementor-button:hover { background: #D97706; }

/* ---------- Κάρτες επικοινωνίας ---------- */
.contact-card .elementor-icon-list-item { padding: 9px 0; }
.contact-card .elementor-icon-list-text { font-size: 1.02rem; }
.contact-card h3, .contact-card .elementor-heading-title { margin-bottom: 6px; }

/* ---------- "Έρχεται σύντομα" ---------- */
.coming-soon {
	border: 2px dashed var(--green-200); border-radius: var(--radius);
	background: var(--green-50); text-align: center; padding: 56px 30px;
}
.coming-soon .elementor-icon { font-size: 44px; color: var(--green-500); }
.coming-soon .elementor-icon-box-title { color: var(--green-900); }
.coming-soon .elementor-icon-box-description { color: var(--muted); }

/* ---------- CTA band ---------- */
.sec-cta {
	background:
		radial-gradient(600px 300px at 10% 120%, rgba(245, 158, 11, 0.18), transparent 60%),
		linear-gradient(120deg, #0D9488 0%, #16A34A 100%);
	border-radius: 26px;
	color: #fff;
	box-shadow: var(--shadow-lg);
}
.sec-cta .elementor-heading-title { color: #fff; }
.sec-cta p { color: #E4FBEA; }

/* ---------- Elementor μικροδιορθώσεις ---------- */
.elementor-widget-text-editor { color: var(--body); text-align: justify; }
.lead, .lead p { text-align: left; }
.stat-label, .stat-label p { text-align: left; }
.elementor-accordion .elementor-tab-content { text-align: justify; }
.entry-content > p, .entry-content .file-desc { text-align: justify; }
.elementor-icon-list-text { color: var(--body); }
.sec-dark .elementor-icon-list-text, .sec-dark .elementor-widget-text-editor { color: #D6EEDF; }

/* Απόσταση της πρώτης ενότητας κάτω από το sticky header σε σελίδες Elementor */
.kal-elementor-page .site-main { min-height: 40vh; }

@media (max-width: 767px) {
	.sec { padding-top: 60px; padding-bottom: 60px; }
	.sec-hero { padding-top: 72px; padding-bottom: 96px; }
	.myth-card, .fact-card, .info-card { padding: 22px 20px; }
}
