/* components.css — τα components του σχεδιαστικού συστήματος MOUSAON 9.
   Κάθε τιμή βγαίνει από token. Καμία σταθερά χρώματος ή κενού εδώ μέσα. */

/* ---------- βάση ---------- */

body {
  background: var(--surface-page);
  color: var(--ink-body);
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .ast-archive-title {
  font-family: var(--font-display);
  color: var(--ink-strong);
  letter-spacing: -0.01em;
}

/* Astra Pro used to inject h1-h6 { margin-bottom: 20px }. Pro is off; keep
   the rhythm here so body prose spacing does not depend on the addon. */
h1, h2, h3, h4, h5, h6 { margin-bottom: var(--space-6); }

:where(a):focus-visible,
:where(button):focus-visible,
:where(input, select, textarea):focus-visible,
.m-card:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}

.m-section { padding-block: var(--space-24); }
@media (max-width: 921px) { .m-section { padding-block: var(--space-16); } }
@media (max-width: 544px)  { .m-section { padding-block: var(--space-12); } }

/* ---------- άξονες ---------- */

:root { --pylonas-ink: var(--aegean-700); --pylonas-fill: var(--aegean-500); --pylonas-on-dark: var(--aegean-300); }
.pylonas-epistimis { --pylonas-ink: var(--aegean-700); --pylonas-fill: var(--aegean-500); --pylonas-on-dark: var(--aegean-300); }
.pylonas-technis   { --pylonas-ink: var(--clay-700);   --pylonas-fill: var(--clay-500);   --pylonas-on-dark: var(--clay-300); }
.pylonas-tourismou { --pylonas-ink: var(--brass-700);  --pylonas-fill: var(--brass-500);  --pylonas-on-dark: var(--brass-300); }

/* ---------- Button ---------- */

.m-btn {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1;
  padding: 14px var(--space-6);
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  text-decoration: none;
  cursor: pointer;
}
.m-btn--primary { background: var(--brass-500); color: var(--ink-strong); }
.m-btn--primary:hover, .m-btn--primary:focus { background: var(--brass-300); color: var(--ink-strong); }
.m-btn--secondary { background: transparent; color: var(--ink-strong); border-color: var(--line-control); }
.m-btn--secondary:hover { border-color: var(--line-strong); }
.m-btn--quiet {
  background: transparent; color: var(--pylonas-ink);
  padding-inline: 0; border-radius: 0;
  border-bottom: 1px solid var(--pylonas-ink);
}

.m-dark .m-btn--secondary { color: var(--ink-inverse); border-color: var(--ink-inverse-muted); }
.m-dark .m-btn--quiet { color: var(--brass-300); border-bottom-color: var(--brass-300); }

/* ---------- PillarTag ---------- */

.m-tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 7px 14px;
  border: 1px solid currentColor;
  border-radius: var(--radius-pill);
}
.m-tag__dot { width: 7px; height: 7px; border-radius: var(--radius-pill); background: currentColor; }
.m-tag--epistimis { color: var(--aegean-700); }
.m-tag--technis   { color: var(--clay-700); }
.m-tag--tourismou { color: var(--brass-700); }
.m-dark .m-tag--epistimis { color: var(--aegean-300); }
.m-dark .m-tag--technis   { color: var(--clay-300); }
.m-dark .m-tag--tourismou { color: var(--brass-300); }

/* ---------- SectionHead ---------- */

.m-head { max-width: 680px; margin-bottom: var(--space-12); }
.m-head--center { margin-inline: auto; text-align: center; }
.m-head__eyebrow {
  font-family: var(--font-sans);
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--pylonas-ink);
  margin: 0 0 var(--space-3);
}
.m-dark .m-head__eyebrow { color: var(--brass-300); }
/* Η γραμμή τίτλου είναι line-strong, δηλαδή σκούρα στο light theme —
   πάνω σε surface-invert θα ήταν αόρατη. */
.m-dark .m-head__rule { background: var(--ink-inverse); }
.m-head__rule { display: block; width: 56px; height: 3px; background: var(--line-strong); margin: 0 0 var(--space-4); }
.m-head--center .m-head__rule { margin-inline: auto; }
.m-head__lead { font-size: 19px; line-height: 1.6; font-weight: 300; margin: 0; }

/* ---------- HeroBand ---------- */

.m-hero { position: relative; background: var(--surface-invert); overflow: hidden; }
.m-hero__img { display: block; width: 100%; height: 520px; object-fit: cover; opacity: 0.55; }
.m-hero__plate {
  position: absolute; inset-inline-start: 0; inset-block-end: 0;
  width: min(720px, 72%);
  background: var(--surface-plate);
  padding: var(--space-12) var(--space-12) var(--space-8);
  color: var(--ink-inverse);
}
.m-hero__plate h1, .m-hero__plate p { color: var(--ink-inverse); }
@media (max-width: 921px) {
  .m-hero__img { height: 320px; }
  .m-hero__plate { width: 100%; padding: var(--space-8) var(--space-6); }
}
@media (max-width: 544px) { .m-hero__img { height: 280px; } }

/* ---------- ThematicCard ---------- */

.m-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
@media (max-width: 921px) { .m-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 544px)  { .m-grid { grid-template-columns: 1fr; } }

.m-card {
  display: block;
  text-decoration: none;
  background: var(--surface-raised);
  border: 1px solid var(--line-hairline);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.m-card:hover { box-shadow: var(--shadow-card); border-color: var(--line-control); }
.m-card__img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.m-card__placeholder {
  display: grid; place-items: center;
  width: 100%; aspect-ratio: 1 / 1;
  background: var(--surface-sunken);
  font-family: var(--font-display); font-size: 56px; font-weight: 300;
  color: var(--ink-muted);
}
.m-card__body { padding: var(--space-4) var(--space-4) var(--space-6); }
.m-card__num {
  font-size: 12px; font-weight: 600; letter-spacing: 0.16em;
  color: var(--ink-muted); margin: 0 0 var(--space-2);
}
.m-card__title { font-size: 20px; line-height: 1.3; font-weight: 500; margin: 0 0 var(--space-2); }
.m-card__sub {
  font-size: 15px; line-height: 1.5; color: var(--ink-body);
  margin: 0 0 var(--space-3); min-height: 2.6em; /* ίδιο ύψος σε EL και EN */
}

/* ---------- MuseProfile ---------- */

.m-mousa {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-16);
  align-items: start;
  background: var(--surface-invert); color: var(--ink-inverse);
  padding: var(--space-24) var(--space-8);
}
.m-mousa__name { font-family: var(--font-display); font-size: 44px; line-height: 1.1; font-weight: 300; color: var(--ink-inverse); margin: 0 0 var(--space-2); }
.m-mousa__role { font-size: 15px; font-weight: 600; letter-spacing: 0.08em; color: var(--brass-300); margin: 0 0 var(--space-6); }
.m-mousa__text { color: var(--ink-inverse); }
.m-mousa img { width: 100%; height: auto; border-radius: var(--radius-none); }
@media (max-width: 921px) { .m-mousa { grid-template-columns: 1fr; gap: var(--space-8); padding-inline: var(--space-6); } }

/* ---------- PersonList ---------- */

.m-people { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-8); }
@media (max-width: 921px) { .m-people { grid-template-columns: 1fr; } }
.m-people li { padding: var(--space-4) 0; border-top: 1px solid var(--line-hairline); }
.m-people__name { font-family: var(--font-display); font-size: 20px; line-height: 1.3; font-weight: 500; color: var(--ink-strong); margin: 0 0 var(--space-1); }
.m-people__role { font-size: 15px; line-height: 1.6; color: var(--ink-muted); margin: 0; }

/* ---------- σκοτεινή ζώνη ---------- */

.m-dark { background: var(--surface-invert); color: var(--ink-inverse); }
.m-dark h1, .m-dark h2, .m-dark h3 { color: var(--ink-inverse); }
.m-dark p { color: var(--ink-inverse); }

/* ---------- HeroBand: πλήρες πλάτος και περιεχόμενο πλάκας ---------- */

/* Το hero σπάει έξω από τον στενό κορμό του Astra. Το `overflow-x: clip`
   στο body κρατά τη μπάρα κύλισης έξω από το παιχνίδι χωρίς να φτιάχνει
   νέο scroll container (σε αντίθεση με το `hidden`, που σπάει το sticky). */
body { overflow-x: clip; }

.entry-content > .m-hero,
.ast-container .m-hero {
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
}

.m-hero__eyebrow {
  font-family: var(--font-sans);
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brass-300);
  margin: 0 0 var(--space-3);
}

.m-hero__plate h1 {
  font-size: 44px; line-height: 1.1; font-weight: 300;
  letter-spacing: -0.015em;
  margin: 0 0 var(--space-4);
}

.m-hero__lead {
  font-size: 19px; line-height: 1.6; font-weight: 300;
  max-width: 46ch;
  margin: 0 0 var(--space-6);
}

.m-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: 0; }

/* Στην αρχική ο τίτλος ανεβαίνει σε display-xl και η πλάκα φαρδαίνει. */
.m-hero--home .m-hero__img { height: 520px; }
.m-hero--home .m-hero__plate { width: min(720px, 76%); }
.m-hero--home .m-hero__plate h1 {
  font-size: 64px; line-height: 1.04; font-weight: 300; letter-spacing: -0.02em;
}
@media (max-width: 921px) {
  .m-hero--home .m-hero__img { height: 340px; }
  .m-hero--home .m-hero__plate h1 { font-size: 36px; }
  .m-hero__plate h1 { font-size: 30px; }
  .m-hero__lead { font-size: 17px; }
}
@media (max-width: 544px) {
  .m-hero--home .m-hero__img { height: 300px; }
  .m-hero--home .m-hero__plate h1 { font-size: 30px; }
}

/* Εσωτερική σελίδα: πιο χαμηλή ζώνη από την αρχική. */
.m-hero:not(.m-hero--home) .m-hero__img { height: 400px; }
@media (max-width: 921px) { .m-hero:not(.m-hero--home) .m-hero__img { height: 320px; } }
@media (max-width: 544px)  { .m-hero:not(.m-hero--home) .m-hero__img { height: 280px; } }


/* Σε κινητό η πλάκα ΔΕΝ μένει absolute: το κείμενο είναι ψηλότερο από τη
   φωτογραφία και το `overflow: hidden` του hero έκοβε τον τίτλο από πάνω.
   Πέφτει κάτω από την εικόνα, σε όλο το πλάτος — όπως λέει το HeroBand. */
@media (max-width: 921px) {
  .m-hero { display: flex; flex-direction: column; }
  .m-hero__plate,
  .m-hero--home .m-hero__plate {
    position: static;
    width: 100%;
    padding: var(--space-8) var(--space-6);
  }
}

/* ---------- Η λωρίδα των τριών αξόνων ---------- */

/* Λέει τι σημαίνουν τα τρία χρώματα πριν ο επισκέπτης τα συναντήσει στις
   κάρτες. Κάθε στήλη παίρνει το χρώμα της από την class `pylonas-*`, άρα
   καμία σταθερά εδώ μέσα. */
.m-pylones {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-8);
  margin-block: var(--space-16);
}
@media (max-width: 921px) { .m-pylones { grid-template-columns: 1fr; gap: var(--space-6); } }

.m-pylones__rule { width: 40px; height: 3px; background: var(--pylonas-fill); margin-bottom: var(--space-4); }
.m-pylones__title {
  font-family: var(--font-display);
  font-size: 20px; line-height: 1.3; font-weight: 500;
  color: var(--ink-strong);
  margin: 0 0 var(--space-2);
}
.m-pylones__list { font-size: 15px; line-height: 1.6; color: var(--ink-muted); margin: 0; }


/* ---------- ζώνη πλήρους πλάτους ---------- */

/* Οι εναλλασσόμενες ζώνες (σκοτεινή αφήγηση, πρόσκληση επικοινωνίας) πιάνουν
   όλο το πλάτος αλλά το κείμενό τους μένει στο μέτρο του κορμού. */
.entry-content > .m-bleed,
.ast-container .m-bleed {
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
}
.m-bleed__inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: var(--space-6);
}
.m-sunken { background: var(--surface-sunken); }

/* Τα βήματα δουλειάς: αριθμός, ρήμα, μία πρόταση. */
.m-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8); }
@media (max-width: 921px) { .m-steps { grid-template-columns: 1fr; gap: var(--space-6); } }
.m-steps li { border-top: 1px solid var(--line-control); padding-top: var(--space-4); }
.m-steps__num { font-size: 12px; font-weight: 600; letter-spacing: 0.16em; color: var(--brass-300); margin: 0 0 var(--space-2); }
.m-steps__verb { font-family: var(--font-display); font-size: 20px; line-height: 1.3; font-weight: 500; color: var(--ink-inverse); margin: 0 0 var(--space-2); }
.m-steps p:last-child { font-size: 15px; line-height: 1.6; color: var(--ink-inverse-muted); margin: 0; }

/* Τα ίδια βήματα σε ανοιχτό φόντο (σελίδα «Πώς το πετυχαίνουμε»). */
.m-steps--light li { border-top-color: var(--line-hairline); }
.m-steps--light .m-steps__num { color: var(--pylonas-ink); }
.m-steps--light .m-steps__verb { color: var(--ink-strong); }
.m-steps--light p:last-child { color: var(--ink-body); }

.m-cta { text-align: center; }
.m-cta h2 { margin: 0 0 var(--space-4); }
.m-cta p { margin: 0 0 var(--space-6); }

/* ---------- σελίδα θεματικής ενότητας ---------- */

/* Η κεφαλίδα δεν είναι HeroBand: το HeroBand θέλει ασπρόμαυρη φωτογραφία της
   εταιρείας και η ενότητα έχει έγχρωμη απόδοση. Το κείμενο στέκεται μόνο του,
   και η απόδοση ακολουθεί ολόκληρη, χωρίς τίποτα από πάνω της. */
.m-enotita__head { max-width: 720px; padding-block: var(--space-16) var(--space-12); }
.m-enotita__title {
  font-family: var(--font-display);
  font-size: 44px; line-height: 1.1; font-weight: 300; letter-spacing: -0.015em;
  margin: 0 0 var(--space-3);
}
.m-enotita__sub {
  font-size: 19px; line-height: 1.6; font-weight: 300;
  color: var(--ink-body);
  margin: 0 0 var(--space-6);
}
@media (max-width: 921px) {
  .m-enotita__head { padding-block: var(--space-12) var(--space-8); }
  .m-enotita__title { font-size: 32px; }
  .m-enotita__sub { font-size: 17px; }
}

.m-enotita__figure { margin: 0 0 var(--space-16); }
.m-enotita__figure img { display: block; width: 100%; height: auto; }

/* Η ενότητα και το αρχείο της ανοίγουν με δική τους ζώνη, οπότε το padding
   του Astra από πάνω αφήνει μια κενή λωρίδα. */
.post-type-archive-thematiki #primary,
.single-thematiki #primary { padding-top: 0; }
.post-type-archive-thematiki #primary { margin-top: 0; }

/* ---------- MuseProfile ---------- */

.m-mousa-zone { background: var(--surface-invert); color: var(--ink-inverse); padding-block: var(--space-24); }
.m-mousa {
  max-width: 1200px; margin-inline: auto;
  padding: 0 var(--space-6);
  background: none;
}
.m-mousa__portrait img { display: block; width: 100%; height: auto; }
.m-mousa__body .m-head__eyebrow { color: var(--brass-300); }
.m-mousa__text p { color: var(--ink-inverse); margin: 0 0 var(--space-4); }
.m-mousa__text p:last-child { margin-bottom: 0; }
@media (max-width: 921px) { .m-mousa-zone { padding-block: var(--space-16); } }

/* ---------- «Οι επόμενες ενότητες» ---------- */

.m-related { padding-block: var(--space-24) var(--space-16); }
.m-related .m-head { margin-bottom: var(--space-8); }

/* ---------- κεφαλίδα ---------- */

/* Η κύρια κεφαλίδα κάθεται σε surface-invert (ορισμένο στον Customizer),
   οπότε ό,τι είναι μέσα της γράφεται με ink-inverse. */

.ast-primary-header-bar,
.ast-primary-header-bar .main-header-bar {
  background-color: var(--surface-invert);
}

.ast-primary-header-bar .main-header-menu > .menu-item > .menu-link,
.ast-primary-header-bar .ast-masthead-custom-menu-items,
.ast-primary-header-bar .ast-builder-menu .menu-item > .menu-link {
  color: var(--ink-inverse);
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.ast-primary-header-bar .menu-item > .menu-link:hover,
.ast-primary-header-bar .menu-item > .menu-link:focus {
  color: var(--brass-300);
}

.ast-primary-header-bar .current-menu-item > .menu-link,
.ast-primary-header-bar .current_page_item > .menu-link,
.ast-primary-header-bar .current-menu-ancestor > .menu-link {
  color: var(--brass-300);
  box-shadow: inset 0 -2px 0 0 var(--brass-300);
}

/* Το υπομενού κρεμιέται από σκοτεινή κεφαλίδα, άρα μένει σκοτεινό: ένα λευκό
   ορθογώνιο πάνω από το hero κόβει τη σελίδα στα δύο. Ξεχωρίζει ως επίπεδο με
   ένα σκαλί φωτεινότητας και μια γραμμή, όχι με αλλαγή θέματος. */
.ast-primary-header-bar .sub-menu,
.ast-primary-header-bar .astra-full-megamenu-wrapper,
.ast-primary-header-bar .main-header-menu .sub-menu {
  background-color: var(--surface-invert-raised);
  border: 1px solid var(--line-control);
  box-shadow: var(--shadow-overlay);
}

.ast-primary-header-bar .sub-menu .menu-item > .menu-link,
.ast-primary-header-bar .main-header-menu .sub-menu .menu-link {
  color: var(--ink-inverse);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.ast-primary-header-bar .sub-menu .menu-item > .menu-link:hover,
.ast-primary-header-bar .sub-menu .menu-item > .menu-link:focus,
.ast-primary-header-bar .sub-menu .current-menu-item > .menu-link {
  color: var(--brass-300);
  background-color: var(--surface-invert);
}

/* ---------- μενού κινητού ---------- */

/* Δύο διατάξεις υπάρχουν στο Astra: το inline/dropdown (αυτό που τρέχει —
   `mobile-header-type: dropdown`) και το off-canvas popup. Στυλίζονται και οι
   δύο, ώστε μια αλλαγή διάταξης στον Customizer να μη σπάσει τα χρώματα.

   ΤΑ ΧΡΩΜΑΤΑ ΟΡΙΖΟΝΤΑΙ ΣΤΟΝ CUSTOMIZER, στα πεδία `header-mobile-menu-*`
   (κείμενο = ink-inverse, hover/active = brass-300, φόντο = surface-invert).
   Το Astra τα γράφει με specificity 0-5-0 σε inline CSS· αν τα ξαναγράφαμε
   εδώ θα ήταν πόλεμος specificity χωρίς λόγο. Εδώ μένει η τυπογραφία και οι
   γραμμές.

   Ιστορικό: μέχρι την 1.1.1 αυτό το μπλοκ χτυπούσε μόνο
   `.ast-mobile-popup-drawer`, που αυτή η διάταξη δεν παράγει ποτέ — γι' αυτό
   το μενού έβγαινε λευκό σε λευκό. */

.ast-mobile-header-wrap .ast-mobile-header-content,
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
  background-color: var(--surface-invert);
}

/* Το Astra κρατά #f9f9f9 στο <ul> του μενού κινητού. */
.ast-header-break-point .ast-mobile-header-content .main-header-menu,
.ast-header-break-point .ast-mobile-header-content .ast-nav-menu,
.ast-mobile-popup-drawer .main-header-menu {
  background-color: transparent;
}

.ast-header-break-point .ast-mobile-header-content .menu-item > .menu-link,
.ast-mobile-popup-drawer .menu-item > .menu-link {
  font-family: var(--font-sans);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* Μία γραμμή ανά στοιχείο: σε σκοτεινό πλαίσιο το κενό δεν αρκεί για να
   διαβαστεί το μενού ως λίστα. */
.ast-header-break-point .ast-mobile-header-content .main-header-menu > .menu-item + .menu-item,
.ast-mobile-popup-drawer .main-header-menu > .menu-item + .menu-item {
  border-top: 1px solid var(--line-control);
}

/* Υπομενού μέσα στο κινητό: ένα σκαλί πιο ανοιχτό, όπως και στο desktop. */
.ast-header-break-point .ast-mobile-header-content .sub-menu,
.ast-mobile-popup-drawer .sub-menu {
  background-color: var(--surface-invert-raised);
}

/* Στενότερα κενά στο desktop: επτά στοιχεία δεν χωρούν με τα προεπιλεγμένα
   του Astra. Δεν αντικαθιστά τη σωστή λύση, που είναι λιγότερα στοιχεία
   πρώτου επιπέδου. */
@media (min-width: 922px) {
  .ast-primary-header-bar .main-header-menu > .menu-item > .menu-link {
    padding-inline: var(--space-4);
  }
  .ast-primary-header-bar .site-primary-header-wrap { flex-wrap: nowrap; }
}

/* ---------- εναλλάκτης γλώσσας ---------- */

/* Polylang: κείμενο ΕΛ/EN, όχι σημαίες. Η γλώσσα δεν είναι χώρα — τα αγγλικά
   δεν ανήκουν σε μία σημαία, και τα σημαιάκια είναι 16px θόρυβος σε κάθε
   σελίδα. Το κοντό label το γράφει το `mousaon_short_lang_labels()`.

   Η specificity εδώ (0-5-1) φτιάχτηκε για να νικά το inline CSS του Astra
   (0-5-0) χωρίς !important — το φύλλο μας φορτώνει μετά. */

.ast-primary-header-bar .main-navigation .main-header-menu .lang-item > .menu-link,
.ast-primary-header-bar .main-navigation .main-header-menu .pll-parent-menu-item > .menu-link {
  color: var(--ink-inverse-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 13px;
  font-weight: 600;
}

.ast-primary-header-bar .main-navigation .main-header-menu .lang-item.current-lang > .menu-link {
  color: var(--ink-inverse);
}

.ast-primary-header-bar .main-navigation .main-header-menu .lang-item > .menu-link:hover,
.ast-primary-header-bar .main-navigation .main-header-menu .lang-item > .menu-link:focus {
  color: var(--brass-300);
}

/* Το ενεργό στοιχείο μενού έχει χρυσή υπογράμμιση. Η τρέχουσα γλώσσα ΔΕΝ
   είναι σελίδα — δεν παίρνει την ίδια ένδειξη, αλλιώς φαίνονται δύο ενεργά. */
.ast-primary-header-bar .main-navigation .main-header-menu .lang-item > .menu-link {
  box-shadow: none;
}

/* Χωρίζει τη γλώσσα από την πλοήγηση: είναι άλλο είδος επιλογής. */
@media (min-width: 922px) {
  .ast-primary-header-bar .main-header-menu > .menu-item:not(.lang-item) + .lang-item {
    margin-inline-start: var(--space-4);
    border-inline-start: 1px solid var(--line-control);
  }
}

/* Σε κινητό ο εναλλάκτης μπαίνει στη λίστα, οπότε παίρνει το ύφος της. */
.ast-header-break-point .ast-mobile-header-content .lang-item > .menu-link {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Οι σημαίες κρύβονται ούτως ή άλλως, ακόμη κι αν κάποιος ανοίξει την
   επιλογή στο Polylang. */
.lang-item img.iclflag,
.lang-item > .menu-link img,
.pll-parent-menu-item > .menu-link img { display: none; }

.m-lang { display: inline-flex; gap: var(--space-2); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.m-lang a { color: var(--ink-inverse-muted); text-decoration: none; }
.m-lang .current-lang a, .m-lang a[aria-current="true"] { color: var(--ink-inverse); }

/* ---------- σελίδες χωρίς HeroBand ---------- */

/* Το Astra μηδενίζει το margin-top σε κάθε singular, ώστε ο ήρωας να ακουμπά
   την κεφαλίδα. Όπου δεν υπάρχει ήρωας, ο τίτλος κολλούσε στο μαύρο μενού. */
body.mousaon-no-hero.ast-plain-container #primary { margin-top: var(--space-16); }
@media (max-width: 921px) {
  body.mousaon-no-hero.ast-plain-container #primary { margin-top: var(--space-12); }
}

/* ---------- 404 ---------- */

.m-404 { max-width: 1200px; margin-inline: auto; padding: var(--space-24) var(--space-6); }
.m-404 .m-head { margin-bottom: var(--space-8); }
.m-404__links { display: flex; flex-wrap: wrap; gap: var(--space-4); margin: 0; }
@media (max-width: 921px) { .m-404 { padding-block: var(--space-16); } }

/* ---------- συνεργαζόμενες εταιρείες ---------- */

/* Τα λογότυπα είναι λευκά σε διαφάνεια — ζουν μόνο πάνω σε σκοτεινή ζώνη. */
.m-logos {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-16) var(--space-8);
  align-items: center;
}
.m-logos__item { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); text-align: center; }
/* Σταθερό κουτί, ώστε τα ονόματα να ευθυγραμμίζονται ανεξάρτητα από
   τις πολύ διαφορετικές αναλογίες των τριών λογοτύπων. */
.m-logos__img {
  display: block; width: 100%; height: 72px;
  object-fit: contain; object-position: center;
}
.m-logos__name { font-size: 13px; letter-spacing: 0.04em; color: var(--ink-inverse-muted); }
@media (max-width: 921px) {
  .m-logos { grid-template-columns: 1fr; gap: var(--space-12); }
  .m-logos__img { height: 56px; }
}

/* ---------- νομικοί σύνδεσμοι υποσέλιδου ---------- */

/* Το copyright του Astra είναι block, οπότε οι σύνδεσμοι πέφτουν ούτως ή
   άλλως σε δεύτερη γραμμή — ας είναι καθαρά στοιχισμένη. */
.m-legal { display: block; margin: var(--space-2) 0 0; font-size: 14px; }
.m-legal a { color: var(--ink-inverse-muted); text-decoration: none; border-bottom: 1px solid transparent; }
.m-legal a:hover, .m-legal a:focus { color: var(--brass-300); border-bottom-color: var(--brass-300); }
.m-legal__sep { color: var(--ink-inverse-muted); opacity: 0.5; }


/* ---------- «Το Όραμα» ---------- */

.m-orama { background: var(--surface-sunken); }
.m-orama__grid {
  display: grid; grid-template-columns: 1fr 1.6fr; gap: var(--space-16);
  align-items: start;
}
.m-orama__title {
  font-family: var(--font-display); font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.15; font-weight: 300; margin: 0 0 var(--space-4);
}
.m-orama__body p { max-width: 62ch; margin: 0 0 var(--space-6); }
.m-orama__body p:last-of-type { margin-bottom: 0; }

/* Τα δύο νούμερα του παλιού κειμένου, σε δικό τους βάρος. */
.m-stats {
  list-style: none; margin: var(--space-12) 0 0; padding: var(--space-8) 0 0;
  border-top: 1px solid var(--line-hairline);
  display: flex; flex-wrap: wrap; gap: var(--space-16);
}
.m-stats__num {
  display: block; font-family: var(--font-display);
  font-size: clamp(36px, 4vw, 56px); line-height: 1; font-weight: 300;
  color: var(--brass-500);
}
.m-stats__suffix {
  font-family: var(--font-body); font-size: 0.45em; font-weight: 500;
  vertical-align: 0.9em; margin-left: 0.06em;
}
.m-stats__label {
  display: block; margin-top: var(--space-2);
  font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--ink-muted);
}

@media (max-width: 921px) {
  .m-orama__grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .m-stats { gap: var(--space-12); }
}

/* ---------- Η διαδρομή (χρονογραμμή) ---------- */

.m-chronos__list {
  list-style: none; margin: 0; padding: 0 0 0 var(--space-8);
  border-left: 1px solid var(--line-hairline);
  counter-reset: chronos;
}
.m-chronos__step { position: relative; padding-bottom: var(--space-12); }
.m-chronos__step:last-child { padding-bottom: 0; }
.m-chronos__step::before {
  content: ""; position: absolute; left: calc(-1 * var(--space-8) - 5px); top: 6px;
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--surface-page); border: 2px solid var(--brass-500);
}
.m-chronos__when {
  font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--brass-500); margin: 0 0 var(--space-2);
}
.m-chronos__text { max-width: 60ch; margin: 0 0 var(--space-3); }
.m-chronos__link {
  display: inline-block; font-family: var(--font-display);
  font-size: 18px; letter-spacing: 0.04em; color: var(--ink-strong);
  text-decoration: none; border-bottom: 1px solid var(--line-strong);
  padding-bottom: 2px;
}
.m-chronos__link:hover, .m-chronos__link:focus {
  color: var(--brass-500); border-bottom-color: var(--brass-500);
}

@media (max-width: 921px) {
  .m-chronos__list { padding-left: var(--space-6); }
  .m-chronos__step::before { left: calc(-1 * var(--space-6) - 5px); }
}

/* ---------- Το κλείσιμο ---------- */

.m-manifesto__lead { max-width: 46ch; margin-bottom: var(--space-12); }
.m-manifesto__lead p {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.2vw, 28px); line-height: 1.4; font-weight: 300;
  color: var(--ink-inverse); margin: 0 0 var(--space-6);
}
.m-manifesto__lead p:last-child { margin-bottom: 0; color: var(--brass-300); }
.m-manifesto__body { max-width: 68ch; margin-bottom: var(--space-16); }
.m-manifesto__body p { color: var(--ink-inverse-muted); margin: 0 0 var(--space-4); }
.m-manifesto__body p:last-child { margin-bottom: 0; }

.m-triad {
  list-style: none; margin: 0; padding: var(--space-8) 0 0;
  border-top: 1px solid var(--line-control);
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8);
}
.m-triad li {
  font-family: var(--font-display); font-size: 20px; line-height: 1.3;
  font-weight: 400; color: var(--ink-inverse);
}
@media (max-width: 921px) {
  .m-triad { grid-template-columns: 1fr; gap: var(--space-4); }
}
