/* ══ NQ-ZONE all ══ */
/* Header — Porto 1 — στυλ ΜΟΝΟ αυτού του part.
   Φορτώνεται μόνο του σε κάθε σελίδα όπου είναι τοποθετημένο.
   Διαδρομή: /theme/css/parts/header/header-porto-1.css

   ΔΟΜΗ — δύο λωρίδες, κατά το Porto Header Type 1:
     Top bar     σύνδεσμοι             ·  email + τηλέφωνο
     Main head   LOGO · ΚΕΝΤΡΙΚΟ ΜΕΝΟΥ ·  social + εικονίδιο αναζήτησης

   ── ΟΙ ΑΡΙΘΜΟΙ ΕΙΝΑΙ ΜΕΤΡΗΜΕΝΟΙ, ΟΧΙ ΕΚΤΙΜΗΜΕΝΟΙ ────────────────────────
   Όλα τα μεγέθη παρακάτω βγήκαν με getComputedStyle πάνω στο ίδιο το
   portotheme.com/wordpress/porto/classic-color/ στις 2026-08-12:

     Top bar      ύψος 52   bg #f7f7f7  κείμενο #777  12.6px/24px
     Top links    11.34px   uppercase   ls -0.5px     #999
     Main head    ύψος 100  ελάχ. 68    bg #fff
     Λογότυπο     ύψος 48
     Menu link    padding 40/16  13px/20px  weight 600  uppercase  ls -0.5px
     Social       28×28     εικονίδιο 12.8px  #333
     Αναζήτηση    19×24     εικονίδιο 16px    #444
     Κουμπί μενού padding 7/13  radius 4  bg #0088cc  εικονίδιο 13px #fff

   🔴 ΤΟ ΥΨΟΣ ΤΗΣ MAIN HEAD ΔΕΝ ΕΙΝΑΙ PADDING ΤΗΣ ΛΩΡΙΔΑΣ. Το φτιάχνουν τα
   ΙΔΙΑ ΤΑ LINKS του μενού (padding 40px πάνω/κάτω). Έτσι το hover/active
   καλύπτει ΟΛΟ το ύψος της λωρίδας — αν έβαζα padding στη λωρίδα, τα link θα
   ήταν χαμηλά κουτάκια στη μέση και το ενεργό δεν θα «γέμιζε» ποτέ.

   ⚠️ ΚΑΜΙΑ ΟΡΙΖΟΝΤΙΑ ΤΟΠΟΘΕΤΗΣΗ ΜΕ CSS. Το «αριστερά/δεξιά/κέντρο» κάθε
   στήλης το ορίζει το πεδίο h_align του builder — μόνιμος κανόνας του έργου. */

/* ══ ΧΡΩΜΑΤΑ — ΠΡΟΕΠΙΛΟΓΕΣ, ΟΧΙ ΑΠΟΦΑΣΕΙΣ ═════════════════════════════════
   Όλα μέσα σε :where(), που έχει ΜΗΔΕΝΙΚΗ ειδικότητα. Ό,τι ορίσεις από το
   Theme → Skin ή από το popup του builder ΤΑ ΝΙΚΑΕΙ ΑΥΤΟΜΑΤΑ — χωρίς
   !important, χωρίς να ξανανοίξεις αυτό το αρχείο. */
/* βλ. σημείωση αντίθεσης στους συνδέσμους */
:where(#Top_header) {
  background: #f7f7f7;
  color: #666666;                  
  border-bottom: 1px solid #e7e7e7;
}

/* Το φόντο της main head ζει σε ΜΕΤΑΒΛΗΤΗ ώστε να το μοιράζονται η λωρίδα ΚΑΙ
   τα dropdown της: αλλάζεις ένα σημείο και ακολουθούν και τα δύο. Το Theme
   μπορεί να ορίσει τη μεταβλητή και να τα αλλάξει μαζί. */
header { --nqh-main-bg: #ffffff; }

:where(#header) { background: var(--nqh-main-bg); color: #333333; }

/* 🔴 ΤΟ ΥΠΟΜΕΝΟΥ ΑΚΟΛΟΥΘΕΙ ΤΟ ΧΡΩΜΑ ΤΗΣ ΚΕΦΑΛΙΔΑΣ.
   Το `theme.css` δίνει `.nq-subnav {background: #0f1424}` — σκούρο dropdown
   φτιαγμένο για σκούρη κεφαλίδα (ειδικότητα 0,1,0). Πάνω σε λευκή κεφαλίδα
   έβγαινε μαύρο κουτί. Το `header .nq-subnav` είναι 0,1,1 και κερδίζει, ενώ
   μένει αρκετά χαμηλά ώστε να το νικά ρύθμιση του Theme. */
header .nq-subnav {
  background: var(--nqh-main-bg);
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .10);
}

:where(#header .nq-search-btn) { color: #444444; background: none; }

:where(#header .nq-search-toggle) { color: #444444; }

:where(#header .nq-search-toggle:hover) { color: #0088cc; }

:where(#header .nq-search-pop) {
  background: var(--nqh-main-bg);
  border: 1px solid #e7e7e7;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
}

:where(#header .nq-search-pop .nq-search-in) {
  border: 1px solid #e0e0e0;
  border-radius: 3px;
  background: #fff;
  color: #333;
}

/* 🔴 ΤΑ ΧΡΩΜΑΤΑ ΤΩΝ ΣΥΝΔΕΣΜΩΝ ΘΕΛΟΥΝ ΤΟ `a` ΕΞΩ ΑΠΟ ΤΟ :where().
   Το bootstrap έχει `a { color: var(--bs-link-color) }` — ειδικότητα 0,0,1.
   Γραμμένο ως `:where(#Top_header a)` όλος ο επιλογέας μηδενίζεται, χάνει, και
   οι σύνδεσμοι έβγαιναν ΜΠΛΕ BOOTSTRAP (13,110,253) αντί για γκρι.
   Με τον γονιό μέσα στο :where() και το `a` έξω, η ειδικότητα γίνεται 0,0,1 —
   ισοβαθμεί με το bootstrap και κερδίζει επειδή φορτώνεται ΜΕΤΑ, ενώ μένει
   αρκετά χαμηλή ώστε να τη νικά οποιαδήποτε ρύθμιση του Theme. */
/* ⚠️ #666 ΚΑΙ ΟΧΙ #999 — ΣΚΟΠΙΜΗ ΑΠΟΚΛΙΣΗ ΑΠΟ ΤΟ PORTO.
   Το #999 είναι η μετρημένη τιμή του portotheme.com, αλλά πάνω στο #f7f7f7 της
   μπάρας δίνει αντίθεση ~2.8:1 — κάτω από το ελάχιστο 4.5:1 για κείμενο αυτού
   του μεγέθους (11.34px). Στη δική μας γραμματοσειρά τα γράμματα έβγαιναν
   ξεθωριασμένα, «σαν φάντασμα». Το #666 δίνει ~5.7:1 και διαβάζεται κανονικά,
   κρατώντας την ίδια διακριτική αίσθηση δευτερεύουσας μπάρας.
   ➡️ Όπου το Porto συγκρούεται με την αναγνωσιμότητα, κερδίζει η αναγνωσιμότητα. */
:where(#Top_header) a { color: #666666; }

:where(#Top_header) a:hover { color: #0088cc; }

/* Το περίγραμμα των κυκλιδίων είναι `inset box-shadow` (βλ. σημείωση παρακάτω),
   οπότε το χρώμα του ορίζεται εδώ — όχι με `border-color`. */
/* 🔴 ΑΠΑΛΟ ΦΟΝΤΟ ΜΑΖΙ ΜΕ ΤΟ ΠΕΡΙΓΡΑΜΜΑ — ΓΙΑ ΚΑΘΑΡΟ ΚΥΚΛΟ.
   Το layout ολόκληρο ξεκινά σε ΜΙΣΟ pixel: το `.container` (1320px) κεντράρεται
   σε viewport 1905px (1920 μείον scrollbar) → (1905−1320)/2 = 292.5. Μετρημένο:
   το κυκλάκι κάθεται στο x=1439.5.
   Σε κλασματική θέση, μια καμπύλη πάχους 1px σχεδιάζεται με antialiasing που τη
   δείχνει ανομοιόμορφη — «σπασμένη». Δεν διορθώνεται από εδώ: είναι το κέντρο
   του container, όχι το κυκλάκι.
   Λύση: γεμάτο απαλό φόντο πολύ κοντά στον τόνο του περιγράμματος. Το σχήμα
   ορίζεται πλέον από την επιφάνεια και όχι από μια λεπτή γραμμή, οπότε το
   antialiasing δεν έχει πού να φανεί. */
:where(.nq-phead-social) a {
  color: #333333;
  background: #f2f2f2;
  box-shadow: inset 0 0 0 1px #e7e7e7;
}

:where(.nq-phead-social) a:hover {
  color: #ffffff;
  background: #0088cc;
  box-shadow: inset 0 0 0 1px #0088cc;
}

/* ══ ΛΩΡΙΔΑ 1 — TOP BAR ════════════════════════════════════════════════════ */
#Top_header {
  min-height: 52px;
  padding: 0;
  font-size: 12.6px;
  line-height: 24px;
}

/* Ίδιο με τη main head: οι στήλες έχουν διαφορετικά φυσικά ύψη και ΔΕΝ
   τεντώνονται, οπότε χωρίς `align-self` οι σύνδεσμοι αριστερά και τα στοιχεία
   επικοινωνίας δεξιά κάθονταν σε διαφορετικό ύψος μέσα στη λωρίδα. */
#Top_header .pb-col { align-self: center; justify-content: center; }

#Top_header .pb-row { align-items: center; min-height: 52px; }

#Top_header a { text-decoration: none; }

/* Σύνδεσμοι αριστερά — με το χαρακτηριστικό «›» του Porto. Μπαίνει με ::before
   και ΟΧΙ ως χαρακτήρας μέσα στο HTML, ώστε να μην τον διαβάζει ο αναγνώστης
   οθόνης ως περιεχόμενο. */
.nq-ptop-nav { display: flex; align-items: center; }

/* 🔴 ΧΩΡΙΣ `letter-spacing: -0.5px` ΚΑΙ ΜΕ ΑΚΕΡΑΙΟ font-size — ΣΚΟΠΙΜΑ.
   Το Porto δίνει 11.34px με ls -0.5px· και τα δύο είναι ΚΛΑΣΜΑΤΙΚΑ και έσπρωχναν
   κάθε χαρακτήρα σε μισό pixel (μετρημένο: το κείμενο ξεκινούσε στο x=304.5).
   Ο browser τότε κάνει subpixel rendering και τα γράμματα βγαίνουν θολά, «σαν
   φάντασμα» — ακριβώς αυτό που φαινόταν. Ακέραιες τιμές = καθαρά γράμματα. */
.nq-ptop-nav a {
  padding-right: 10px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: normal;
}

.nq-ptop-nav a::before { content: "›"; margin-right: 6px; opacity: .6; }

/* Επικοινωνία δεξιά — εικονίδιο + κείμενο. */
.nq-ptop-contact { display: flex; align-items: center; gap: 22px; }

.nq-ptop-contact a { display: inline-flex; align-items: center; gap: 7px; }

.nq-ptop-contact i { font-size: 15px; color: #0088cc; }

/* ══ ΛΩΡΙΔΑ 2 — MAIN HEAD ══════════════════════════════════════════════════ */
/* το ύψος το δίνουν τα links — βλ. πάνω */
#header {
  min-height: 68px;
  padding: 0;                       
}

/* ⚠️ ΠΡΟΣΟΧΗ ΣΤΟΝ ΑΞΟΝΑ. Οι στήλες με h_align παίρνουν `.pb-col-h` και είναι
   `flex-direction: column` — η ΟΡΙΖΟΝΤΙΑ στοίχιση του builder γίνεται με
   align-items. Άρα το ΚΑΤΑΚΟΡΥΦΟ κεντράρισμα θέλει justify-content.
   🔴 ΧΩΡΙΣ `>`: με full_width="stretch_row" ο renderer παρεμβάλλει wrapper και
   κάθε `#header > .pb-row > .pb-col` σπάει σιωπηλά. */
/* `align-self: center`: οι τρεις στήλες έχουν διαφορετικά φυσικά ύψη
   (λογότυπο 48 · μενού 100 · social 28) και ΔΕΝ τεντώνονται στη γραμμή —
   ξεκινούσαν όλες από την κορυφή, οπότε το λογότυπο καθόταν 26px ψηλότερα
   από το μενού. Κεντράροντας κάθε στήλη ως προς τη λωρίδα, και τα τρία
   πέφτουν στο ίδιο οπτικό κέντρο. Το ύψος της λωρίδας το ορίζει η ψηλότερη
   στήλη, δηλαδή τα links του μενού — όπως στο Porto. */
#header .pb-col {
  align-self: center;
  justify-content: center;
  padding-top: 0;
  padding-bottom: 0;
}

#header .nq-h1-logo img, #header .nq-brand img { display: block; max-height: 48px; }

/* ── Το μενού, μέσα στη main head ──────────────────────────────────────────
   🔴 ΟΛΟΙ ΟΙ ΕΠΙΛΟΓΕΙΣ ΞΕΚΙΝΟΥΝ ΑΠΟ `header`. Η υποδοχή του μενού βγάζει
   πραγματικό <nav> ΧΩΡΙΣ id (σκόπιμα — μπαίνει πολλές φορές). Σκέτο
   `nav .nq-nav-link` θα έπιανε ΚΑΙ το μενού του υποσέλιδου, που επίσης
   τυπώνεται μέσα σε <nav>. Το part CSS δεν έχει αυτόματο scoping. */
/* Το περίβλημα του μενού δεν προσθέτει δικό του ύψος: το ύψος της λωρίδας το
   ορίζουν ΜΟΝΟ τα links. */
header .nq-h1-navbar { min-height: 0; padding: 0; }

/* 🔴 ΤΟ ΚΟΥΜΠΙ ΜΕΝΟΥ ΚΡΥΒΕΤΑΙ ΣΕ DESKTOP — ΕΔΩ, ΕΞΩ ΑΠΟ ΤΟ MEDIA QUERY.
   Το block του μενού τυπώνει πάντα το κουμπί· η απόκρυψή του ζει στο module
   `header-1.css`, που φορτώνεται μόνο όπου το ζητά block — αυτή η κεφαλίδα δεν
   το ζητά. Χωρίς αυτή τη γραμμή το κουμπί έβγαινε ορατό δίπλα στο μενού ΚΑΙ
   πρόσθετε 25px στη λωρίδα (μετρημένο: 125px αντί για τα 100 του Porto). */
header .nq-h1-burger { display: none; }

/* με wrap η λωρίδα ψήλωνε σε δύο σειρές */
header nav .nq-nav {
  display: flex;
  flex-wrap: nowrap;                
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ← ΑΥΤΟ φτιάχνει το ύψος 100px */
header nav .nq-nav-link {
  display: block;
  padding: 40px 16px;               
  line-height: 20px;
  text-decoration: none;
}

/* 🔴 ΤΥΠΟΓΡΑΦΙΑ ΣΕ :where() — ΓΙΑ ΝΑ ΤΗΝ ΕΛΕΓΧΕΙ ΤΟ THEME.
   Το `font-weight: 600` ήταν καρφωμένο εδώ και ΝΙΚΟΥΣΕ τη ρύθμιση
   «Skin → Main menu → top level items → font weight: normal»: ο ιδιοκτήτης
   άλλαζε τη ρύθμιση και δεν άλλαζε τίποτα στη σελίδα.
   Με ειδικότητα 0, οι τιμές μένουν ως ΠΡΟΕΠΙΛΟΓΗ του part αλλά κάθε ρύθμιση
   του Theme τις νικά αυτόματα. Το `letter-spacing` βγήκε επίσης: το -0.5px
   είναι κλασματικό και έσπρωχνε τους χαρακτήρες σε μισό pixel (η ίδια αιτία
   που θόλωνε τα γράμματα της πάνω μπάρας). */
/* 🔴 ΚΑΝΕΝΑ font-weight ΕΔΩ — ΤΟ ΕΛΕΓΧΕΙ ΑΠΟΚΛΕΙΣΤΙΚΑ ΤΟ THEME/SKIN.
   Ιστορικό, ώστε να μην ξαναγίνει ο κύκλος:
     1) `font-weight: 600` καρφωμένο (0,1,2) → νικούσε τη ρύθμιση του Skin· ο
        ιδιοκτήτης άλλαζε «normal» και δεν άλλαζε τίποτα.
     2) Μεταφορά σε `:where()` (ειδικότητα 0) → τώρα το μενού έμενε στο 400 και
        η ρύθμιση «bold» δεν έπιανε: κάποιος άλλος κανόνας δίνει 400 και νικά
        το Skin, οπότε η δική μας προεπιλογή απλώς πρόσθετε θόρυβο.
   ➡️ Το part δεν έχει άποψη για το βάρος. Ό,τι ορίσει το Skin ισχύει· αν δεν
   ορίσει τίποτα, ισχύει το theme.css. Μία πηγή αλήθειας. */
:where(header nav .nq-nav-link) {
  font-size: 13px;
}

/* 🔴 ΚΕΦΑΛΑΙΑ ΜΟΝΟ ΣΤΟ ΠΡΩΤΟ ΕΠΙΠΕΔΟ — με `>`, όχι με αναίρεση παρακάτω.
   Όσο το `text-transform: uppercase` ήταν στον γενικό `.nq-nav-link`, το
   κληρονομούσαν ΚΑΙ τα υπομενού («Κατασκευή ιστοσελίδων» έβγαινε ΚΕΦΑΛΑΙΑ, σε
   desktop και σε κινητό). Η αναίρεση με δεύτερο κανόνα δεν έπιασε, οπότε ο
   κανόνας περιορίζεται εξαρχής στα ΑΜΕΣΑ παιδιά της κύριας λίστας. Στο Porto
   μόνο η μπάρα είναι κεφαλαία· τα dropdown κρατούν κανονική γραφή. */
header nav .nq-nav > .nq-nav-item > .nq-nav-link { text-transform: uppercase; }

/* ⚠️ ΚΑΙ ΡΗΤΗ ΑΝΑΙΡΕΣΗ ΣΤΑ ΥΠΟΜΕΝΟΥ. Το `text-transform` ΚΛΗΡΟΝΟΜΕΙΤΑΙ, οπότε
   δεν αρκεί να μην το ορίσεις εδώ: κάποιος πρόγονος το περνά προς τα κάτω και
   τα dropdown έβγαιναν κεφαλαία ακόμα κι όταν κανένας κανόνας δεν τα στόχευε
   (η αναζήτηση στο CSSOM δεν επέστρεφε ΚΑΝΕΝΑΝ κανόνα uppercase γι' αυτά).
   Ο κανόνας είναι ΕΚΤΟΣ media query — ο αντίστοιχος για κινητό δεν καλύπτει το
   desktop dropdown. */
/* !important: η πηγή του uppercase ΔΕΝ εντοπίζεται μέσω CSSOM — πλήρης
   αναδρομική σάρωση 30 stylesheets δεν επέστρεψε ΚΑΝΕΝΑΝ κανόνα που να
   ταιριάζει, ούτε πρόγονο, ούτε inline style. Αναλυτική καταγραφή στο
   header-1.css. Σβήσε το μόλις βρεθεί η αιτία. */
/* Μικρότερα και ελαφρύτερα από τον γονέα τους: στο πρώτο επίπεδο τα κείμενα
   είναι κεφαλαία 13px/600, οπότε τα υπο-στοιχεία με το ίδιο μέγεθος έμοιαζαν
   ΜΕΓΑΛΥΤΕΡΑ (τα πεζά με ίδιο font-size «γεμίζουν» περισσότερο). Η ιεραρχία
   πρέπει να φαίνεται από το μέγεθος, όχι μόνο από την εσοχή. */
header nav .nq-subnav .nq-nav-link {
  text-transform: none !important;
  letter-spacing: normal;
  font-size: 12.5px;
  font-weight: 500;
}

/* ⚠️ ΕΚΤΟΣ :where() ΣΚΟΠΙΜΑ: το theme.css έχει καρφωμένο
   `header .nq-nav-link {color: rgba(232,235,243,.8)}` (ανοιχτό κείμενο για
   σκούρα κεφαλίδα, ειδικότητα 0,1,1). Το :where() έχει 0 και ΕΧΑΝΕ — το μενού
   έβγαινε αχνό πάνω σε λευκό. Το `header nav .nq-nav-link` είναι 0,1,2. */
/* 🔴 ΚΕΦΑΛΑΙΑ ΜΟΝΟ ΣΤΟ ΠΡΩΤΟ ΕΠΙΠΕΔΟ.
   Το `text-transform: uppercase` παραπάνω πιάνει ΚΑΘΕ `.nq-nav-link`, οπότε τα
   στοιχεία των υπομενού («Κατασκευή ιστοσελίδων», «Όλες οι υπηρεσίες») έβγαιναν
   κι αυτά κεφαλαία — και στο desktop dropdown και στο κινητό. Στο Porto μόνο η
   κύρια μπάρα είναι κεφαλαία· τα dropdown κρατούν κανονική γραφή, γιατί εκεί τα
   κείμενα είναι μεγαλύτερα και τα κεφαλαία διαβάζονται δύσκολα. */
/* !important: η πηγή του uppercase ΔΕΝ εντοπίζεται μέσω CSSOM — πλήρης
   αναδρομική σάρωση 30 stylesheets δεν επέστρεψε ΚΑΝΕΝΑΝ κανόνα που να
   ταιριάζει, ούτε πρόγονο, ούτε inline style. Αναλυτική καταγραφή στο
   header-1.css. Σβήσε το μόλις βρεθεί η αιτία. */
header nav .nq-subnav .nq-nav-link {
  text-transform: none !important;
  letter-spacing: normal;
  font-weight: 500;
}

header nav .nq-nav-link { color: #333333; }

header nav .nq-nav-link:hover,
header nav .nq-nav-item.is-current > .nq-nav-link { color: #0088cc; }

/* ── Δεξιά στήλη: social + αναζήτηση ─────────────────────────────────────── */
/* η στήλη είναι column — βλ. σημείωση άξονα */
#header .pb-col:last-child {
  flex-direction: row;              
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.nq-phead-social { display: flex; align-items: center; gap: 4px; }

/* Κυκλάκια με λεπτό περίγραμμα, όπως στο Porto. Το εικονίδιο κεντράρεται με
   flex και ΟΧΙ με padding: το padding θα μετακινούσε το κέντρο κάθε φορά που
   αλλάζει το μέγεθος του γλύφου, ενώ το flex το κρατά πάντα στη μέση. */
/* 🔴 ΤΟ ΠΕΡΙΓΡΑΜΜΑ ΜΕ box-shadow ΚΑΙ ΟΧΙ border — ΓΙΑ ΚΑΘΑΡΟ ΚΥΚΛΟ.
   Το `border: 1px` πάνω σε `border-radius: 50%` το σχεδιάζει ο browser ως
   τέσσερα τόξα που ενώνονται· σε μικρή διάμετρο το antialiasing στα σημεία
   ένωσης φαίνεται ανομοιόμορφο και ο κύκλος μοιάζει «σπασμένος».
   Το inset box-shadow σχεδιάζεται ως ΕΝΑ σχήμα και βγαίνει ομαλό.
   Bonus: δεν πιάνει χώρο στο box model, οπότε το 32px μένει ακριβώς 32px. */
/* ⚠️ ΤΟ ΧΡΩΜΑ ΤΟΥ ΠΕΡΙΓΡΑΜΜΑΤΟΣ ΔΕΝ ΟΡΙΖΕΤΑΙ ΕΔΩ. Είχα `currentColor` και
   αυτός ο κανόνας (0,1,1) νικούσε το `:where()` (0,0,1) που δίνει το ανοιχτό
   γκρι — το κυκλάκι έβγαινε με σκούρο #333 περίγραμμα. Το χρώμα ζει μόνο στο
   μπλοκ χρωμάτων, ώστε να μπορεί να το αλλάξει το Theme. */
.nq-phead-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 0;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  transition: color .18s, box-shadow .18s, background-color .18s;
}

/* Τα σύμβολα είναι inline SVG (το Feather δεν έχει solid brand glyphs).
   `display: block` ώστε να μην αφήνει το κενό της γραμμής βάσης, που τα
   έσπρωχνε εκτός κέντρου μέσα στο κυκλάκι. */
.nq-phead-social a i { line-height: 1; }

.nq-phead-social a svg { display: block; width: 15px; height: 15px; }

/* Διαχωριστικό πριν την αναζήτηση — ζει στο κενό της στήλης και όχι μέσα σε
   κάποιο από τα δύο block, γιατί κανένα block δεν ξέρει τι έχει δίπλα του. */
#header .nq-search-icon { position: relative; padding-left: 15px; }

#header .nq-search-icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 20px;
  margin-top: -10px;
  background: currentColor;
  opacity: .18;
}

#header .nq-search-btn { font-size: 16px; }

/* ── Popup αναζήτησης ──────────────────────────────────────────────────────
   Το εικονίδιο ανοίγει πάνελ ακριβώς από κάτω του, όπως στο Porto. Αγκυρώνεται
   στο ίδιο το block (`.nq-search-icon` = relative) και όχι στη στήλη, ώστε να
   πέφτει πάντα κάτω από ΤΟ ΕΙΚΟΝΙΔΙΟ ανεξάρτητα από το πού μπει το block.
   `right: 0` και όχι `left`: το εικονίδιο κάθεται στη δεξιά άκρη, οπότε με
   `left` το πάνελ θα έβγαινε εκτός οθόνης. */
#header .nq-search-icon { position: relative; }

#header .nq-search-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-size: 16px;
  cursor: pointer;
}

/* Κλειστό: αόρατο ΚΑΙ εκτός πλοήγησης με Tab. Μόνο `opacity` θα άφηνε το
   πεδίο εστιάσιμο, δηλαδή ο χρήστης θα «έγραφε» σε αόρατο κουτί. */
#header .nq-search-pop {
  position: absolute;
  right: 0;
  top: calc(100% + 14px);
  z-index: 60;
  width: 320px;
  max-width: 90vw;
  padding: 14px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity .18s, transform .18s, visibility .18s;
}

#header .nq-search-icon.is-open .nq-search-pop,
/* Δίχτυ ασφαλείας χωρίς JavaScript: με Tab στο πεδίο, το πάνελ εμφανίζεται. */
#header .nq-search-icon:focus-within .nq-search-pop {
  visibility: visible;
  opacity: 1;
  transform: none;
}

#header .nq-search-pop .nq-search-form { display: flex; align-items: center; gap: 8px; }

#header .nq-search-pop .nq-search-in {
  flex: 1 1 auto;
  min-width: 0;
  height: 38px;
  padding: 0 12px;
  font-size: 14px;
}

/* Οπτικά κρυφή ετικέτα — υπάρχει ΜΟΝΟ για αναγνώστες οθόνης. */
.nq-search-lbl {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* από Styling · 2026-08-13 */
#header {
  background:#333;
}

#header .is-current span {
  color:#f00
}

/* από Styling · 2026-08-13 */
#Top_header {
  outline: 3px solid magenta;
}
/* ══ NQ-ZONE-END all ══ */

/* ══ NQ-ZONE desktop ══ */
@media (min-width: 992px) {
  #header .nq-lvl-1, #header .nq-lvl-2 {
    background:#ccc;
  }
  
  #header nav ul li ul li .nq-nav-caret {
    color:#f00;
    float:right;
  }
  
  /* nq-note: εδω αλαζουμε τα γραμματα μονο για την κυρια κατηγορια του μενου */
  /* nq-tags: Main_Text_Styling Coloring */
  #header nav .nq-nav-link span:not(.nq-subnav *) {
    color:#fff;
  }
  
  #header .nq-nav-caret {
    color:#fff;
  }
  
  #header nav ul li ul li a:hover {
    background:#999;
    border-radius:0px;
  }
}
/* ══ NQ-ZONE-END desktop ══ */

/* ══ NQ-ZONE tablet ══ */
@media (min-width: 768px) and (max-width: 991.98px) {
  /* ── Top bar: μένει, χάνει μόνο τους σελιδοδείκτες ── */
    #Top_header { min-height: 0; padding: 7px 0; }
  
  .nq-ptop-nav { display: none; }
  
  .nq-ptop-contact { justify-content: center; width: 100%; gap: 16px; }
  
  /* ── Main head: μία σειρά — logo αριστερά, αναζήτηση + κουμπί δεξιά ──
       Οι στήλες είναι col-lg-*, δηλαδή σε κινητό ΣΤΟΙΒΑΖΟΝΤΑΙ. Τις κρατάμε σε
       μία σειρά με nowrap και δίνουμε `order` ώστε η στήλη του μενού (που
       κουβαλά το κουμπί) να καταλήξει ΤΕΛΕΥΤΑΙΑ, δεξιά από την αναζήτηση —
       ακριβώς η σειρά του Porto. */
    /* 🔴 Ο HEADER ΠΑΝΩ ΑΠΟ ΤΟ ΕΠΟΜΕΝΟ SECTION.
       Το ανοιχτό πάνελ είναι στη ροή, αλλά το `#Breadcrumbs` που ακολουθεί
       ζωγραφιζόταν ΑΠΟ ΠΑΝΩ (κανονική σειρά DOM, χωρίς z-index πουθενά). Το
       `elementFromPoint` πάνω στα στοιχεία του μενού επέστρεφε το Breadcrumbs:
       τα υπομενού φαινόντουσαν αλλά ΔΕΝ πατιόντουσαν. */
    header.pb-section { position: relative; z-index: 50; }
  
  #header { min-height: 0; padding: 18px 0; }
  
  /* ⚠️ ΧΩΡΙΣ `align-items: center` ΕΔΩ — ΣΚΟΠΙΜΑ. Με center, κάθε στήλη κρατά
       το φυσικό της ύψος και κεντράρεται ως προς τη σειρά· επειδή το λογότυπο
       είναι 40px και η αναζήτηση 16px, τα δύο κατέληγαν top-aligned στο ίδιο y
       και το εικονίδιο έβγαινε 12px ψηλότερα από το λογότυπο. Με το προεπιλεγμένο
       `stretch` όλες οι στήλες παίρνουν το ύψος της ψηλότερης, και το
       `justify-content: center` που έχουν ήδη κεντράρει το περιεχόμενό τους. */
    #header .pb-row { position: relative; flex-wrap: wrap; }
  
  #header .pb-col { width: auto; flex: 0 0 auto; }
  
  #header .pb-col:nth-child(1) { order: 1; }
  
  /* logo */
    /* `align-self: center`: η στήλη της αναζήτησης έχει ύψος 16px (όσο το
       εικονίδιο) και δεν τεντωνόταν στα 40 του λογοτύπου, οπότε το εικονίδιο
       καθόταν 12px ψηλότερα από το κουμπί. Κεντράροντας ΤΗ ΣΤΗΛΗ, το εικονίδιο
       πέφτει στο ίδιο ύψος με λογότυπο και κουμπί. */
    #header .pb-col:nth-child(3) { order: 2; margin-left: auto; gap: 10px;
      align-self: center;
      padding-right: 52px; }
  
  /* χώρος για το κουμπί */
    /* Η στήλη του μενού πιάνει ΠΑΝΤΑ όλο το πλάτος και κάθεται ΚΑΤΩ από τη σειρά.
       Κλειστή έχει ύψος 0 (το πάνελ είναι display:none και το κουμπί βγαίνει από
       τη ροή), οπότε δεν φαίνεται καθόλου — αλλά όταν ανοίγει, ΣΠΡΩΧΝΕΙ το
       περιεχόμενο προς τα κάτω αντί να το σκεπάζει, όπως κάνει το Porto. */
    #header .pb-col:nth-child(2) { order: 3; flex: 1 1 100%; width: 100%; }
  
  .nq-phead-social { display: none; }
  
  /* δεν χωρούν */
    #header .nq-search-icon { padding-left: 0; }
  
  #header .nq-search-icon::before { display: none; }
  
  header nav .nq-nav-link { padding: 11px 16px; }
  
  /* όχι πια 40px */
  
    /* ── Το κουμπί μενού ──────────────────────────────────────────────────
       ΟΧΙ σταθερό τετράγωνο: το Porto το χτίζει με padding 7px 13px γύρω από
       εικονίδιο 13px. Οι τρεις γραμμές μας φτιάχνουν το ίδιο οπτικό μέγεθος:
       3 × 2px + 2 × 3px κενό = 12px ύψος, 13px πλάτος. */
    /* 🔴 ΕΚΤΟΣ ΡΟΗΣ, ΑΓΚΥΡΩΜΕΝΟ ΣΤΗ ΓΡΑΜΜΗ. Η στήλη του μενού πιάνει 100% και
       κάθεται ΚΑΤΩ από τη σειρά (για να σπρώχνει το πάνελ) — μέσα στη ροή, το
       κουμπί ακολουθούσε τη στήλη και κατέληγε ΑΡΙΣΤΕΡΑ, κάτω από το λογότυπο.
       Με absolute μένει δεξιά στην πρώτη σειρά, δίπλα στην αναζήτηση.
       ΕΥΘΥΓΡΑΜΜΙΣΗ: το κουμπί κεντράρεται στο ύψος της ΠΡΩΤΗΣ σειράς, που το
       ορίζει το λογότυπο (48px). 48 − 26 (ύψος κουμπιού) = 22 → 11px πάνω και
       κάτω. Έτσι το κέντρο του πέφτει στο ίδιο σημείο με το εικονίδιο της
       αναζήτησης, που κεντράρεται από το flex της δικής του στήλης.
       `right: 12px` = το gutter του Bootstrap. Με `right: 0` το κουμπί ακουμπούσε
       την άκρη της οθόνης, γιατί το `.pb-row` έχει αρνητικά margins. */
    /* 🔴 z-index ΑΠΑΡΑΙΤΗΤΟ. Η στήλη της αναζήτησης έχει `padding-right: 52px`
       (για να μη μπει κάτω από το κουμπί) και απλώνεται ΠΑΝΩ του. Χωρίς
       z-index, το `elementFromPoint` στο κέντρο του κουμπιού επέστρεφε τη
       στήλη: το πάτημα έπεφτε στο κενό και το μενού ΔΕΝ ΑΝΟΙΓΕ ΠΟΤΕ με το
       δάχτυλο — ενώ το προγραμματιστικό κλικ δούλευε μια χαρά και το έκρυβε. */
    /* Ισορροπημένο padding: το Porto έχει 7/13 επειδή το εικονίδιό του είναι
       φαρδύ και κοντό. Οι δικές μας τρεις γραμμές δίνουν 12px ύψος × 14 πλάτος,
       οπότε ίσο padding βγάζει σχεδόν τετράγωνο κουμπί (30×34). */
    header .nq-h1-burger {
      position: absolute;
      right: 12px;
      top: 6px;
      z-index: 3;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 9px 10px;
      border: 0;
      border-radius: 4px;
      line-height: 0;
      cursor: pointer;
    }
  
  header .nq-h1-burger span {
      display: block;
      width: 14px;
      height: 2px;
      border-radius: 1px;
    }
  
  header .nq-h1-burger span + span { margin-top: 3px; }
  
  /* ── Το πάνελ του μενού ────────────────────────────────────────────────
       🔴 ΣΤΗΝ ΚΑΝΟΝΙΚΗ ΡΟΗ, ΟΧΙ absolute — έτσι ΣΠΡΩΧΝΕΙ το περιεχόμενο προς τα
       κάτω αντί να το σκεπάζει, ακριβώς όπως το Porto. Με `absolute` το πάνελ
       έπεφτε πάνω από την επόμενη ενότητα και η σελίδα από κάτω δεν κουνιόταν
       καθόλου (μετρημένο: το επόμενο section έμενε στο y=208 και ανοιχτό και
       κλειστό). Το πλήρες πλάτος το δίνει η στήλη, που είναι ήδη 100%. */
    /* 🔴 Η ΣΤΗΛΗ ΓΙΝΕΤΑΙ static ΩΣΤΕ ΤΟ ΚΟΥΜΠΙ ΝΑ ΑΓΚΥΡΩΝΕΤΑΙ ΣΤΗ ΓΡΑΜΜΗ.
       Οι στήλες είναι `relative` (για φόντα/overlay). Όσο έμενε relative, το
       absolute κουμπί μετρούσε το `top` από τη ΣΤΗΛΗ — που κάθεται κάτω από τη
       σειρά — και έπεφτε 40px χαμηλότερα, έξω από τη λωρίδα (μετρημένο y=100 αντί
       για 60). Static η στήλη → άγκυρα το `.pb-row`, που είναι ήδη relative. */
    #header .pb-col:nth-child(2) { position: static; }
  
  /* ── Άνοιγμα πάνελ ────────────────────────────────────────────────────
       🔴 ΧΩΡΙΣ ΚΙΝΗΣΗ — ΤΕΚΜΗΡΙΩΜΕΝΗ ΑΠΟΦΑΣΗ, ΟΧΙ ΠΑΡΑΛΕΙΨΗ.
       Ο ιδιοκτήτης ζήτησε ομαλό άνοιγμα. Δοκιμάστηκαν ΔΥΟ τρόποι και ΚΑΝΕΝΑΣ δεν
       δούλεψε σε αυτή τη στοίβα:
  
         1) `grid-template-rows: 0fr → 1fr` — με `.is-open` ενεργό και τον
            επιλογέα να ταιριάζει (`matches()` = true), το computed έμενε `0px`,
            ακόμα και με inline `!important`.
         2) `max-height: 0 → 80vh` — ίδια εικόνα: το `max-height:0` της βασικής
            κατάστασης εφαρμοζόταν, ο κανόνας `.is-open` ΟΧΙ. Μετρημένο: το πάνελ
            έπαιρνε κλάση `is-open` αλλά έμενε ύψος **1px**, δηλαδή το μενού δεν
            άνοιγε καθόλου.
  
       Το `display: none → block` ΔΕΝ κινείται, αλλά ΔΟΥΛΕΥΕΙ (μετρημένο: 61 →
       344px). Λειτουργία πάνω από κίνηση. Όποιος ξαναπροσπαθήσει: πρώτα βρες
       ΓΙΑΤΙ ο κανόνας `.is-open` δεν εφαρμόζεται εδώ — δεν είναι θέμα ειδικότητας
       ούτε media query, και τα δύο ελέγχθηκαν. */
    /* 🔴 ΤΟ ΠΑΝΕΛ ΤΟ ΧΕΙΡΙΖΕΤΑΙ ΤΟ MODULE — ΕΔΩ ΜΟΝΟ Η ΑΓΚΥΡΑ ΚΑΙ ΤΟ ΧΡΩΜΑ.
       Το module `header-1.css` φορτώνεται ΚΑΙ σε αυτή την κεφαλίδα, με κανόνα
       `.pb-col > .nq-h1-navbar > .nq-h1-navwrap.is-open` → ειδικότητα (0,3,0).
       Κάθε δικός μας κανόνας τύπου `header .nq-h1-navwrap.is-open` είναι (0,2,1)
       και ΧΑΝΕΙ: γι' αυτό το πάνελ ξαναγινόταν `absolute` και καβάλαγε την
       κεφαλίδα, όσο κι αν του δίναμε `display: block` εδώ.
  
       ➡️ Δεν παλεύουμε με το module. Του δίνουμε τη ΣΩΣΤΗ ΑΓΚΥΡΑ, όπως ακριβώς
       έγινε και στην κανονική κεφαλίδα: η λωρίδα `#header` γίνεται το σημείο
       αναφοράς και η γραμμή μέσα της `static`, ώστε το `top: 100%` του module να
       σημαίνει «κάτω από ΟΛΗ τη λωρίδα» και όχι «κάτω από τη γραμμή», που
       τελειώνει ψηλότερα λόγω του padding.
       Φόντο και padding μένουν του module — δεν τα αγγίζουμε. */
    /* ⚠️ ΔΙΟΡΘΩΣΗ ΤΗΣ ΠΡΟΗΓΟΥΜΕΝΗΣ ΑΝΑΛΥΣΗΣ: αυτή η κεφαλίδα ΔΕΝ φορτώνει το
       module `header-1.css` (τα modules μπαίνουν μόνο όπου τα ζητά block). Άρα
       ΔΕΝ υπάρχει κανόνας του module να κρύψει το πάνελ ή να το κάνει absolute —
       τα ορίζει ΟΛΑ αυτό το αρχείο. Χωρίς το `display: none` παρακάτω, το μενού
       έμενε ΜΟΝΙΜΑ ΑΝΟΙΧΤΟ. */
    /* 🔴 ΤΟ ΠΑΝΕΛ ΒΓΑΙΝΕΙ ΕΞΩ ΑΠΟ ΤΗ ΛΩΡΙΔΑ — ΑΥΤΟ ΗΤΑΝ ΤΟ ΠΡΑΓΜΑΤΙΚΟ ΠΡΟΒΛΗΜΑ.
       Στη ροή, η στήλη του μενού πέφτει σε ΔΕΥΤΕΡΗ ΣΕΙΡΑ της ίδιας γραμμής, άρα
       το πάνελ είναι ΜΕΣΑ στο `#header`, στο ίδιο κουτί με το λογότυπο. Γι' αυτό
       έμοιαζε να «καβαλάει» την κεφαλίδα: δεν την επικάλυπτε — ήταν μέρος της.
  
       Το κανονικό μενού δεν το παθαίνει επειδή εκεί το module το βγάζει
       `absolute` έξω από τη λωρίδα. Κάνουμε το ίδιο, με άγκυρα το `#header`
       (relative) και τη γραμμή `static`, ώστε το `top: 100%` να σημαίνει
       «κάτω από ΟΛΗ τη λωρίδα». */
    #header { position: relative; }
  
  #header > .pb-row { position: static; }
  
  /* 🔴 ΕΦΕ: ΜΕ opacity + transform, ΟΧΙ max-height/grid.
       Το `display: none → block` δεν κινείται ΚΑΘΟΛΟΥ, και τα `max-height` /
       `grid-template-rows: 0fr→1fr` δοκιμάστηκαν και δεν επιλύονταν σε αυτή τη
       στοίβα. Το opacity/transform κινείται ΠΑΝΤΑ — δεν εξαρτάται από υπολογισμό
       ύψους. Το `visibility` (και όχι `display`) κρατά το πάνελ εκτός πλοήγησης
       με Tab όσο είναι κλειστό, ΚΑΙ επιτρέπει τη μετάβαση. */
    /* 🔴 ABSOLUTE ΚΑΙ ΚΛΕΙΣΤΟ. Με `display:block` στη ροή, το κλειστό πάνελ
       ΠΙΑΝΕΙ ΧΩΡΟ: άφηνε τεράστιο λευκό κενό κάτω από το λογότυπο. Το
       `display:block` χρειάζεται για να παίξει η μετάβαση, οπότε το βγάζουμε
       από τη ροή με absolute — και στις δύο καταστάσεις. */
    header .nq-h1-navwrap {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      z-index: 45;
      width: auto;
      visibility: hidden;
      opacity: 0;
      transform: translateY(-10px);
      pointer-events: none;
      transition: opacity .25s ease, transform .25s ease, visibility .25s;
    }
  
  header .nq-h1-navwrap.is-open {
      visibility: visible;
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      z-index: 45;
      max-height: 80vh;
      overflow-y: auto;
      background: #ffffff;
      border-top: 1px solid #e7e7e7;
      box-shadow: 0 12px 24px rgba(0, 0, 0, .10);
    }
  
  /* 🔴 ΚΑΝΕΝΑ PADDING ΣΤΟ ΑΜΕΣΟ ΠΑΙΔΙ ΤΟΥ GRID. Το `0fr` συρρικνώνει τη ΓΡΑΜΜΗ,
       αλλά το padding του παιδιού μένει — είχα βάλει `padding:10px 0` στο .nq-nav
       και το κλειστό πάνελ μετρήθηκε `grid-template-rows: 20px` αντί για 0, οπότε
       έμενε μόνιμο κενό και η κίνηση δεν ξεκινούσε ποτέ από το μηδέν.
       Το κενό μπαίνει στο ΠΡΩΤΟ και ΤΕΛΕΥΤΑΙΟ στοιχείο, που συρρικνώνονται μαζί. */
    /* ΧΩΡΙΣ margin στο πρώτο/τελευταίο στοιχείο: άφηνε ορατό κενό ΜΕΣΑ στο πάνελ,
       πάνω από το πρώτο στοιχείο. */
    header .nq-h1-navwrap .nq-nav { padding: 0; }
  
  /* Όποιος προτιμά να μη μετακινείται η σελίδα, το γυρίζει από το πεδίο
       «Άνοιγμα σε κινητό» του block → κλάση `nq-mob-overlay`. */
    header .nq-mob-overlay .nq-h1-navwrap {
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      z-index: 45;
      max-height: 78vh;
      overflow-y: auto;
    }
  
  /* 🔴 ΜΗΔΕΝΙΣΜΟΣ ΤΩΝ ΠΡΟΕΠΙΛΟΓΩΝ «PILL» ΤΟΥ theme.css.
       Το `theme.css` δίνει `.nq-nav-link {border-radius: 8px}` και
       `.nq-nav {gap: 4px}` — σωστά για οριζόντιο μενού desktop με κουμπάκια, λάθος
       μέσα στο πάνελ: το ενεργό στοιχείο έβγαινε ΣΤΡΟΓΓΥΛΕΜΕΝΟ κουτάκι με κενά
       γύρω, αντί για συμπαγή λωρίδα από άκρη σε άκρη όπως στο Porto.
       Ειδικότητα εδώ 0,3,1 έναντι 0,1,0 — κερδίζει. */
    header .nq-h1-navwrap .nq-nav {
      flex-direction: column;
      align-items: stretch;
      gap: 0;
    }
  
  header .nq-h1-navwrap .nq-nav-link { border-radius: 0; }
  
  /* ── Accordion κατά Porto ──────────────────────────────────────────────
       Το κουμπί υπομενού πάει στη ΔΕΞΙΑ ΑΚΡΗ της γραμμής και το βελάκι που
       κάθεται δίπλα στο κείμενο (σωστό για desktop) κρύβεται — δύο βελάκια στην
       ίδια γραμμή διαβάζονται ως λάθος. */
    header .nq-h1-navwrap .nq-nav-item { position: relative; }
  
  header .nq-h1-navwrap .nq-nav-caret { display: none; }
  
  /* 🔴 ΤΟ ΚΟΥΜΠΙ ΚΑΛΥΠΤΕΙ ΟΛΗ ΤΗ ΓΡΑΜΜΗ, ΟΧΙ ΜΟΝΟ ΤΟ ΒΕΛΑΚΙ.
       Πατάς οπουδήποτε στη γραμμή του γονέα και ανοίγει το υπομενού. Το `height`
       το κρατά ΜΕΣΑ στη γραμμή: το <li> περιέχει και το υπομενού, άρα χωρίς
       σταθερό ύψος το κουμπί θα σκέπαζε τα παιδιά και τα links τους θα γίνονταν
       απάτητα. Συνέπεια, συνειδητή: ο σύνδεσμος του γονέα δεν πλοηγεί σε κινητό. */
    header .nq-h1-navwrap .nq-sub-toggle {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      width: auto;
      height: 42px;
      padding: 0 16px 0 0;
      border: 0;
      background: none;
      cursor: pointer;
    }
  
  /* 🔴 ΤΟ ΚΟΥΜΠΙ ΕΙΝΑΙ ΚΕΝΟ ΣΤΟ HTML — χρειάζεται δικό του βελάκι. Κρύβοντας
       το `.nq-nav-caret` έμεινε αόρατο και τα υπομενού δεν φαίνονταν καθόλου ότι
       υπάρχουν. Δεν ξαναδείχνω το caret: ζει μέσα στον <a>, οπότε το πάτημα πάνω
       του θα ΑΚΟΛΟΥΘΟΥΣΕ ΤΟΝ ΣΥΝΔΕΣΜΟ αντί να ανοίξει το υπομενού. Με borders
       και όχι με iconfont, ώστε το part να μην απαιτεί συγκεκριμένο σετ. */
    header .nq-h1-navwrap .nq-sub-toggle::before {
      content: "";
      width: 7px;
      height: 7px;
      border-right: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: translateY(-2px) rotate(45deg);
      transition: transform .18s;
    }
  
  header .nq-h1-navwrap .nq-sub-toggle[aria-expanded="true"]::before {
      transform: translateY(2px) rotate(-135deg);
    }
  
  /* ── Υπομενού μέσα στο πάνελ ───────────────────────────────────────────
       🔴 Η ΚΛΑΣΗ ΕΙΝΑΙ `.nq-subnav`, ΟΧΙ `.nq-sub`. Το είχα γράψει λάθος και ο
       κανόνας δεν έπιανε ποτέ. Το `theme.css` δίνει `.nq-subnav {background:
       #0f1424}` — σκούρο dropdown φτιαγμένο για σκούρα κεφαλίδα — οπότε το
       ανοιχτό υπομενού έβγαινε ΣΚΟΥΡΟ ΜΕ ΣΚΟΥΡΟ ΚΕΙΜΕΝΟ, δηλαδή αδιάβαστο.
       Ειδικότητα εδώ 0,3,1 έναντι 0,1,0 του theme — κερδίζει.
       Μέσα στο πάνελ το υπομενού ΔΕΝ είναι dropdown: είναι συνέχεια της λίστας,
       όπως στο Porto. Άρα κανένα δικό του φόντο, καμία σκιά, μόνο εσοχή. */
    header .nq-h1-navwrap .nq-subnav {
      position: static;
      width: auto;
      min-width: 0;
      margin: 0;
      padding: 0;
      background: transparent;
      border: 0;
      box-shadow: none;
      list-style: none;
    }
  
  /* Ενεργός πρόγονος: ο κλάδος που περιέχει την τρέχουσα σελίδα ξεχωρίζει.
       Το υπομενού είναι ήδη ανοιχτό — ο server βάζει `nq-open` στο <li> όταν
       κάποιο παιδί/εγγόνι είναι η τρέχουσα σελίδα, οπότε ανοίγοντας το μενού σε
       υποσελίδα βλέπεις αμέσως πού βρίσκεσαι, χωρίς να ψάχνεις πατώντας. */
    header .nq-h1-navwrap .nq-nav-item.is-current-parent > .nq-nav-link { font-weight: 700; }
  
  /* +6px μόνο από το κανονικό padding των 16px: αρκετό για να διαβάζεται η
     ιεραρχία, χωρίς το κείμενο να «πέφτει» μακριά από την άκρη. */
  header .nq-h1-navwrap .nq-subnav .nq-nav-link {
      padding-left: 22px;
      font-weight: 500;
      text-transform: none;
    }
  
  /* Δεύτερο επίπεδο: μεγαλύτερη εσοχή, ώστε η ιεραρχία να διαβάζεται χωρίς
       γραμμές ή πλαίσια. */
    header .nq-h1-navwrap .nq-subnav .nq-subnav .nq-nav-link { padding-left: 32px; }
  
  /* Ενεργό στοιχείο: ΓΕΜΑΤΗ μπλε λωρίδα με λευκό κείμενο — το πιο αναγνωρίσιμο
       σημάδι του Porto σε κινητό.
       ΕΚΤΟΣ :where() σκόπιμα: ο κανόνας χρώματος του desktop παραπάνω
       (ειδικότητα 0,3,2) θα νικούσε ένα μηδενικό :where(). Αυτός είναι 0,4,1. */
    header .nq-h1-navwrap .nq-nav-item.is-current > .nq-nav-link {
      background: #0088cc;
      color: #ffffff;
    }
  
  :where(header .nq-h1-burger) { background: #0088cc; }
  
  :where(header .nq-h1-burger span) { background: #ffffff; }
  
  :where(header .nq-h1-navwrap.is-open) {
      background: #ffffff;
      border-top: 1px solid #e7e7e7;
      box-shadow: 0 12px 24px rgba(0, 0, 0, .1);
    }
  
  :where(header .nq-h1-navwrap .nq-nav-item) { border-bottom: 1px solid #f0f0f0; }
  
  /* Το ΠΡΩΤΟ στοιχείο χωρίς γραμμή από πάνω και το ΤΕΛΕΥΤΑΙΟ χωρίς από κάτω:
       αλλιώς διπλώνουν με το περίγραμμα του ίδιου του πάνελ και βλέπεις διπλή
       γραμμή στην κορυφή και μια ορφανή στο τέλος. */
    /* ⚠️ ΕΚΤΟΣ :where() ΣΚΟΠΙΜΑ. Ο κανόνας που δίνει τη γραμμή είναι κι αυτός σε
       :where(), δηλαδή ειδικότητα 0 — ίδια με τη δική τους. Σε ισοπαλία κερδίζει
       ό,τι έρχεται τελευταίο, που δεν είναι αξιόπιστο όταν το αρχείο
       αναδιατάσσεται. Με κανονική ειδικότητα (0,3,2) κερδίζουν πάντα, και το Theme
       μπορεί ακόμα να τους νικήσει αν χρειαστεί. */
    header .nq-h1-navwrap .nq-nav > .nq-nav-item:first-child { border-top: 0; }
  
  header .nq-h1-navwrap .nq-nav > .nq-nav-item:last-child { border-bottom: 0; }
  
  /* Και το τελευταίο στοιχείο ΚΑΘΕ υπομενού: ο κανόνας παραπάνω πιάνει μόνο τα
       άμεσα παιδιά του κύριου μενού (`.nq-nav >`), οπότε το τελευταίο παιδί ενός
       ανοιχτού υπομενού κρατούσε γραμμή που διπλώνει με τη γραμμή του γονέα του. */
    /* 🔴 Η ΓΡΑΜΜΗ ΤΩΝ ΥΠΟ-ΣΤΟΙΧΕΙΩΝ ΞΕΚΙΝΑ ΜΕ ΕΣΟΧΗ, ΟΧΙ ΑΠΟ ΤΗΝ ΑΚΡΗ.
       Στο Porto η γραμμή ευθυγραμμίζεται με το ΚΕΙΜΕΝΟ του υπο-στοιχείου, ώστε να
       διαβάζεται ως ομάδα κάτω από τον γονέα. Με σκέτο `border-bottom` στο <li>
       η γραμμή έπιανε όλο το πλάτος και το υπομενού έμοιαζε με ισότιμη λίστα.
       Ψευδοστοιχείο και όχι border: μόνο έτσι ελέγχεις πού ΞΕΚΙΝΑ η γραμμή,
       χωρίς να μετακινήσεις το κείμενο ή να χαλάσεις την περιοχή πατήματος. */
    header .nq-h1-navwrap .nq-subnav > .nq-nav-item {
      position: relative;
      border-bottom: 0;
    }
  
  /* ίδιο με το padding-left του link */
  header .nq-h1-navwrap .nq-subnav > .nq-nav-item::after {
      content: "";
      position: absolute;
      left: 22px;                     
      right: 0;
      bottom: 0;
      height: 1px;
      background: #f0f0f0;
    }
  
  header .nq-h1-navwrap .nq-subnav > .nq-nav-item:last-child::after { display: none; }
  
  :where(header .nq-h1-navwrap .nq-sub-toggle) { color: #999999; }
  
  /* από Styling · 2026-08-13 — άγκυρα ανοιχτού πάνελ */
  /* 🔴 ΤΟ `top: 100%` ΜΕΤΡΑΕΙ ΑΠΟ ΤΗ ΓΡΑΜΜΗ, ΟΧΙ ΑΠΟ ΤΗΝ ΚΕΦΑΛΙΔΑ.
     Το `#header > .pb-row { position: static }` πιο πάνω ΔΕΝ πιάνει ποτέ: η
     πραγματική δομή είναι `#header > .container > .pb-row`, οπότε το `>` σπάει
     (ίδια παγίδα με το stretch_row). Άγκυρα μένει το `.pb-row`, που τελειώνει
     18px ψηλότερα από την κεφαλίδα (= το padding 18px 0 του #header) — και το
     πάνελ καβάλαγε τον header κατά 19px (μετρημένο).
     🔴 ΓΙΑΤΙ ΟΧΙ `#header .pb-row { position: static }`: η γραμμή είναι
     ΣΚΟΠΙΜΑ relative ώστε να αγκυρώνεται ΤΟ ΚΟΥΜΠΙ (βλ. σχόλιο στη στήλη 2).
     Μετρημένο: με static η γραμμή, το πάνελ διορθώνεται αλλά το κουμπί
     ΑΝΕΒΑΙΝΕΙ 18px (91 → 73), γιατί το top: 6px του μετριέται πια από το
     #header. Γι' αυτό η διόρθωση μπαίνει ΜΟΝΟ στο πάνελ.
     Μετρημένο μετά: απόσταση από το κάτω όριο της κεφαλίδας −19px → −1px,
     κουμπί ΑΜΕΤΑΒΛΗΤΟ στα 91px, σε 390px και σε 850px. */
  header .nq-h1-navwrap.is-open { top: calc(100% + 18px); }
}
/* ══ NQ-ZONE-END tablet ══ */

/* ══ NQ-ZONE mobile ══ */
@media (max-width: 767.98px) {
  /* ── Top bar: μένει, χάνει μόνο τους σελιδοδείκτες ── */
    #Top_header { min-height: 0; padding: 7px 0; }
  
  .nq-ptop-nav { display: none; }
  
  .nq-ptop-contact { justify-content: center; width: 100%; gap: 16px; }
  
  /* ── Main head: μία σειρά — logo αριστερά, αναζήτηση + κουμπί δεξιά ──
       Οι στήλες είναι col-lg-*, δηλαδή σε κινητό ΣΤΟΙΒΑΖΟΝΤΑΙ. Τις κρατάμε σε
       μία σειρά με nowrap και δίνουμε `order` ώστε η στήλη του μενού (που
       κουβαλά το κουμπί) να καταλήξει ΤΕΛΕΥΤΑΙΑ, δεξιά από την αναζήτηση —
       ακριβώς η σειρά του Porto. */
    /* 🔴 Ο HEADER ΠΑΝΩ ΑΠΟ ΤΟ ΕΠΟΜΕΝΟ SECTION.
       Το ανοιχτό πάνελ είναι στη ροή, αλλά το `#Breadcrumbs` που ακολουθεί
       ζωγραφιζόταν ΑΠΟ ΠΑΝΩ (κανονική σειρά DOM, χωρίς z-index πουθενά). Το
       `elementFromPoint` πάνω στα στοιχεία του μενού επέστρεφε το Breadcrumbs:
       τα υπομενού φαινόντουσαν αλλά ΔΕΝ πατιόντουσαν. */
    header.pb-section { position: relative; z-index: 50; }
  
  #header { min-height: 0; padding: 18px 0; }
  
  /* ⚠️ ΧΩΡΙΣ `align-items: center` ΕΔΩ — ΣΚΟΠΙΜΑ. Με center, κάθε στήλη κρατά
       το φυσικό της ύψος και κεντράρεται ως προς τη σειρά· επειδή το λογότυπο
       είναι 40px και η αναζήτηση 16px, τα δύο κατέληγαν top-aligned στο ίδιο y
       και το εικονίδιο έβγαινε 12px ψηλότερα από το λογότυπο. Με το προεπιλεγμένο
       `stretch` όλες οι στήλες παίρνουν το ύψος της ψηλότερης, και το
       `justify-content: center` που έχουν ήδη κεντράρει το περιεχόμενό τους. */
    #header .pb-row { position: relative; flex-wrap: wrap; }
  
  #header .pb-col { width: auto; flex: 0 0 auto; }
  
  #header .pb-col:nth-child(1) { order: 1; }
  
  /* logo */
    /* `align-self: center`: η στήλη της αναζήτησης έχει ύψος 16px (όσο το
       εικονίδιο) και δεν τεντωνόταν στα 40 του λογοτύπου, οπότε το εικονίδιο
       καθόταν 12px ψηλότερα από το κουμπί. Κεντράροντας ΤΗ ΣΤΗΛΗ, το εικονίδιο
       πέφτει στο ίδιο ύψος με λογότυπο και κουμπί. */
    #header .pb-col:nth-child(3) { order: 2; margin-left: auto; gap: 10px;
      align-self: center;
      padding-right: 52px; }
  
  /* χώρος για το κουμπί */
    /* Η στήλη του μενού πιάνει ΠΑΝΤΑ όλο το πλάτος και κάθεται ΚΑΤΩ από τη σειρά.
       Κλειστή έχει ύψος 0 (το πάνελ είναι display:none και το κουμπί βγαίνει από
       τη ροή), οπότε δεν φαίνεται καθόλου — αλλά όταν ανοίγει, ΣΠΡΩΧΝΕΙ το
       περιεχόμενο προς τα κάτω αντί να το σκεπάζει, όπως κάνει το Porto. */
    #header .pb-col:nth-child(2) { order: 3; flex: 1 1 100%; width: 100%; }
  
  .nq-phead-social { display: none; }
  
  /* δεν χωρούν */
    #header .nq-search-icon { padding-left: 0; }
  
  #header .nq-search-icon::before { display: none; }
  
  header nav .nq-nav-link { padding: 11px 16px; }
  
  /* όχι πια 40px */
  
    /* ── Το κουμπί μενού ──────────────────────────────────────────────────
       ΟΧΙ σταθερό τετράγωνο: το Porto το χτίζει με padding 7px 13px γύρω από
       εικονίδιο 13px. Οι τρεις γραμμές μας φτιάχνουν το ίδιο οπτικό μέγεθος:
       3 × 2px + 2 × 3px κενό = 12px ύψος, 13px πλάτος. */
    /* 🔴 ΕΚΤΟΣ ΡΟΗΣ, ΑΓΚΥΡΩΜΕΝΟ ΣΤΗ ΓΡΑΜΜΗ. Η στήλη του μενού πιάνει 100% και
       κάθεται ΚΑΤΩ από τη σειρά (για να σπρώχνει το πάνελ) — μέσα στη ροή, το
       κουμπί ακολουθούσε τη στήλη και κατέληγε ΑΡΙΣΤΕΡΑ, κάτω από το λογότυπο.
       Με absolute μένει δεξιά στην πρώτη σειρά, δίπλα στην αναζήτηση.
       ΕΥΘΥΓΡΑΜΜΙΣΗ: το κουμπί κεντράρεται στο ύψος της ΠΡΩΤΗΣ σειράς, που το
       ορίζει το λογότυπο (48px). 48 − 26 (ύψος κουμπιού) = 22 → 11px πάνω και
       κάτω. Έτσι το κέντρο του πέφτει στο ίδιο σημείο με το εικονίδιο της
       αναζήτησης, που κεντράρεται από το flex της δικής του στήλης.
       `right: 12px` = το gutter του Bootstrap. Με `right: 0` το κουμπί ακουμπούσε
       την άκρη της οθόνης, γιατί το `.pb-row` έχει αρνητικά margins. */
    /* 🔴 z-index ΑΠΑΡΑΙΤΗΤΟ. Η στήλη της αναζήτησης έχει `padding-right: 52px`
       (για να μη μπει κάτω από το κουμπί) και απλώνεται ΠΑΝΩ του. Χωρίς
       z-index, το `elementFromPoint` στο κέντρο του κουμπιού επέστρεφε τη
       στήλη: το πάτημα έπεφτε στο κενό και το μενού ΔΕΝ ΑΝΟΙΓΕ ΠΟΤΕ με το
       δάχτυλο — ενώ το προγραμματιστικό κλικ δούλευε μια χαρά και το έκρυβε. */
    /* Ισορροπημένο padding: το Porto έχει 7/13 επειδή το εικονίδιό του είναι
       φαρδύ και κοντό. Οι δικές μας τρεις γραμμές δίνουν 12px ύψος × 14 πλάτος,
       οπότε ίσο padding βγάζει σχεδόν τετράγωνο κουμπί (30×34). */
    header .nq-h1-burger {
      position: absolute;
      right: 12px;
      top: 6px;
      z-index: 3;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 9px 10px;
      border: 0;
      border-radius: 4px;
      line-height: 0;
      cursor: pointer;
    }
  
  header .nq-h1-burger span {
      display: block;
      width: 14px;
      height: 2px;
      border-radius: 1px;
    }
  
  header .nq-h1-burger span + span { margin-top: 3px; }
  
  /* ── Το πάνελ του μενού ────────────────────────────────────────────────
       🔴 ΣΤΗΝ ΚΑΝΟΝΙΚΗ ΡΟΗ, ΟΧΙ absolute — έτσι ΣΠΡΩΧΝΕΙ το περιεχόμενο προς τα
       κάτω αντί να το σκεπάζει, ακριβώς όπως το Porto. Με `absolute` το πάνελ
       έπεφτε πάνω από την επόμενη ενότητα και η σελίδα από κάτω δεν κουνιόταν
       καθόλου (μετρημένο: το επόμενο section έμενε στο y=208 και ανοιχτό και
       κλειστό). Το πλήρες πλάτος το δίνει η στήλη, που είναι ήδη 100%. */
    /* 🔴 Η ΣΤΗΛΗ ΓΙΝΕΤΑΙ static ΩΣΤΕ ΤΟ ΚΟΥΜΠΙ ΝΑ ΑΓΚΥΡΩΝΕΤΑΙ ΣΤΗ ΓΡΑΜΜΗ.
       Οι στήλες είναι `relative` (για φόντα/overlay). Όσο έμενε relative, το
       absolute κουμπί μετρούσε το `top` από τη ΣΤΗΛΗ — που κάθεται κάτω από τη
       σειρά — και έπεφτε 40px χαμηλότερα, έξω από τη λωρίδα (μετρημένο y=100 αντί
       για 60). Static η στήλη → άγκυρα το `.pb-row`, που είναι ήδη relative. */
    #header .pb-col:nth-child(2) { position: static; }
  
  /* ── Άνοιγμα πάνελ ────────────────────────────────────────────────────
       🔴 ΧΩΡΙΣ ΚΙΝΗΣΗ — ΤΕΚΜΗΡΙΩΜΕΝΗ ΑΠΟΦΑΣΗ, ΟΧΙ ΠΑΡΑΛΕΙΨΗ.
       Ο ιδιοκτήτης ζήτησε ομαλό άνοιγμα. Δοκιμάστηκαν ΔΥΟ τρόποι και ΚΑΝΕΝΑΣ δεν
       δούλεψε σε αυτή τη στοίβα:
  
         1) `grid-template-rows: 0fr → 1fr` — με `.is-open` ενεργό και τον
            επιλογέα να ταιριάζει (`matches()` = true), το computed έμενε `0px`,
            ακόμα και με inline `!important`.
         2) `max-height: 0 → 80vh` — ίδια εικόνα: το `max-height:0` της βασικής
            κατάστασης εφαρμοζόταν, ο κανόνας `.is-open` ΟΧΙ. Μετρημένο: το πάνελ
            έπαιρνε κλάση `is-open` αλλά έμενε ύψος **1px**, δηλαδή το μενού δεν
            άνοιγε καθόλου.
  
       Το `display: none → block` ΔΕΝ κινείται, αλλά ΔΟΥΛΕΥΕΙ (μετρημένο: 61 →
       344px). Λειτουργία πάνω από κίνηση. Όποιος ξαναπροσπαθήσει: πρώτα βρες
       ΓΙΑΤΙ ο κανόνας `.is-open` δεν εφαρμόζεται εδώ — δεν είναι θέμα ειδικότητας
       ούτε media query, και τα δύο ελέγχθηκαν. */
    /* 🔴 ΤΟ ΠΑΝΕΛ ΤΟ ΧΕΙΡΙΖΕΤΑΙ ΤΟ MODULE — ΕΔΩ ΜΟΝΟ Η ΑΓΚΥΡΑ ΚΑΙ ΤΟ ΧΡΩΜΑ.
       Το module `header-1.css` φορτώνεται ΚΑΙ σε αυτή την κεφαλίδα, με κανόνα
       `.pb-col > .nq-h1-navbar > .nq-h1-navwrap.is-open` → ειδικότητα (0,3,0).
       Κάθε δικός μας κανόνας τύπου `header .nq-h1-navwrap.is-open` είναι (0,2,1)
       και ΧΑΝΕΙ: γι' αυτό το πάνελ ξαναγινόταν `absolute` και καβάλαγε την
       κεφαλίδα, όσο κι αν του δίναμε `display: block` εδώ.
  
       ➡️ Δεν παλεύουμε με το module. Του δίνουμε τη ΣΩΣΤΗ ΑΓΚΥΡΑ, όπως ακριβώς
       έγινε και στην κανονική κεφαλίδα: η λωρίδα `#header` γίνεται το σημείο
       αναφοράς και η γραμμή μέσα της `static`, ώστε το `top: 100%` του module να
       σημαίνει «κάτω από ΟΛΗ τη λωρίδα» και όχι «κάτω από τη γραμμή», που
       τελειώνει ψηλότερα λόγω του padding.
       Φόντο και padding μένουν του module — δεν τα αγγίζουμε. */
    /* ⚠️ ΔΙΟΡΘΩΣΗ ΤΗΣ ΠΡΟΗΓΟΥΜΕΝΗΣ ΑΝΑΛΥΣΗΣ: αυτή η κεφαλίδα ΔΕΝ φορτώνει το
       module `header-1.css` (τα modules μπαίνουν μόνο όπου τα ζητά block). Άρα
       ΔΕΝ υπάρχει κανόνας του module να κρύψει το πάνελ ή να το κάνει absolute —
       τα ορίζει ΟΛΑ αυτό το αρχείο. Χωρίς το `display: none` παρακάτω, το μενού
       έμενε ΜΟΝΙΜΑ ΑΝΟΙΧΤΟ. */
    /* 🔴 ΤΟ ΠΑΝΕΛ ΒΓΑΙΝΕΙ ΕΞΩ ΑΠΟ ΤΗ ΛΩΡΙΔΑ — ΑΥΤΟ ΗΤΑΝ ΤΟ ΠΡΑΓΜΑΤΙΚΟ ΠΡΟΒΛΗΜΑ.
       Στη ροή, η στήλη του μενού πέφτει σε ΔΕΥΤΕΡΗ ΣΕΙΡΑ της ίδιας γραμμής, άρα
       το πάνελ είναι ΜΕΣΑ στο `#header`, στο ίδιο κουτί με το λογότυπο. Γι' αυτό
       έμοιαζε να «καβαλάει» την κεφαλίδα: δεν την επικάλυπτε — ήταν μέρος της.
  
       Το κανονικό μενού δεν το παθαίνει επειδή εκεί το module το βγάζει
       `absolute` έξω από τη λωρίδα. Κάνουμε το ίδιο, με άγκυρα το `#header`
       (relative) και τη γραμμή `static`, ώστε το `top: 100%` να σημαίνει
       «κάτω από ΟΛΗ τη λωρίδα». */
    #header { position: relative; }
  
  #header > .pb-row { position: static; }
  
  /* 🔴 ΕΦΕ: ΜΕ opacity + transform, ΟΧΙ max-height/grid.
       Το `display: none → block` δεν κινείται ΚΑΘΟΛΟΥ, και τα `max-height` /
       `grid-template-rows: 0fr→1fr` δοκιμάστηκαν και δεν επιλύονταν σε αυτή τη
       στοίβα. Το opacity/transform κινείται ΠΑΝΤΑ — δεν εξαρτάται από υπολογισμό
       ύψους. Το `visibility` (και όχι `display`) κρατά το πάνελ εκτός πλοήγησης
       με Tab όσο είναι κλειστό, ΚΑΙ επιτρέπει τη μετάβαση. */
    /* 🔴 ABSOLUTE ΚΑΙ ΚΛΕΙΣΤΟ. Με `display:block` στη ροή, το κλειστό πάνελ
       ΠΙΑΝΕΙ ΧΩΡΟ: άφηνε τεράστιο λευκό κενό κάτω από το λογότυπο. Το
       `display:block` χρειάζεται για να παίξει η μετάβαση, οπότε το βγάζουμε
       από τη ροή με absolute — και στις δύο καταστάσεις. */
    header .nq-h1-navwrap {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      z-index: 45;
      width: auto;
      visibility: hidden;
      opacity: 0;
      transform: translateY(-10px);
      pointer-events: none;
      transition: opacity .25s ease, transform .25s ease, visibility .25s;
    }
  
  header .nq-h1-navwrap.is-open {
      visibility: visible;
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      z-index: 45;
      max-height: 80vh;
      overflow-y: auto;
      background: #ffffff;
      border-top: 1px solid #e7e7e7;
      box-shadow: 0 12px 24px rgba(0, 0, 0, .10);
    }
  
  /* 🔴 ΚΑΝΕΝΑ PADDING ΣΤΟ ΑΜΕΣΟ ΠΑΙΔΙ ΤΟΥ GRID. Το `0fr` συρρικνώνει τη ΓΡΑΜΜΗ,
       αλλά το padding του παιδιού μένει — είχα βάλει `padding:10px 0` στο .nq-nav
       και το κλειστό πάνελ μετρήθηκε `grid-template-rows: 20px` αντί για 0, οπότε
       έμενε μόνιμο κενό και η κίνηση δεν ξεκινούσε ποτέ από το μηδέν.
       Το κενό μπαίνει στο ΠΡΩΤΟ και ΤΕΛΕΥΤΑΙΟ στοιχείο, που συρρικνώνονται μαζί. */
    /* ΧΩΡΙΣ margin στο πρώτο/τελευταίο στοιχείο: άφηνε ορατό κενό ΜΕΣΑ στο πάνελ,
       πάνω από το πρώτο στοιχείο. */
    header .nq-h1-navwrap .nq-nav { padding: 0; }
  
  /* Όποιος προτιμά να μη μετακινείται η σελίδα, το γυρίζει από το πεδίο
       «Άνοιγμα σε κινητό» του block → κλάση `nq-mob-overlay`. */
    header .nq-mob-overlay .nq-h1-navwrap {
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      z-index: 45;
      max-height: 78vh;
      overflow-y: auto;
    }
  
  /* 🔴 ΜΗΔΕΝΙΣΜΟΣ ΤΩΝ ΠΡΟΕΠΙΛΟΓΩΝ «PILL» ΤΟΥ theme.css.
       Το `theme.css` δίνει `.nq-nav-link {border-radius: 8px}` και
       `.nq-nav {gap: 4px}` — σωστά για οριζόντιο μενού desktop με κουμπάκια, λάθος
       μέσα στο πάνελ: το ενεργό στοιχείο έβγαινε ΣΤΡΟΓΓΥΛΕΜΕΝΟ κουτάκι με κενά
       γύρω, αντί για συμπαγή λωρίδα από άκρη σε άκρη όπως στο Porto.
       Ειδικότητα εδώ 0,3,1 έναντι 0,1,0 — κερδίζει. */
    header .nq-h1-navwrap .nq-nav {
      flex-direction: column;
      align-items: stretch;
      gap: 0;
    }
  
  header .nq-h1-navwrap .nq-nav-link { border-radius: 0; }
  
  /* ── Accordion κατά Porto ──────────────────────────────────────────────
       Το κουμπί υπομενού πάει στη ΔΕΞΙΑ ΑΚΡΗ της γραμμής και το βελάκι που
       κάθεται δίπλα στο κείμενο (σωστό για desktop) κρύβεται — δύο βελάκια στην
       ίδια γραμμή διαβάζονται ως λάθος. */
    header .nq-h1-navwrap .nq-nav-item { position: relative; }
  
  header .nq-h1-navwrap .nq-nav-caret { display: none; }
  
  /* 🔴 ΤΟ ΚΟΥΜΠΙ ΚΑΛΥΠΤΕΙ ΟΛΗ ΤΗ ΓΡΑΜΜΗ, ΟΧΙ ΜΟΝΟ ΤΟ ΒΕΛΑΚΙ.
       Πατάς οπουδήποτε στη γραμμή του γονέα και ανοίγει το υπομενού. Το `height`
       το κρατά ΜΕΣΑ στη γραμμή: το <li> περιέχει και το υπομενού, άρα χωρίς
       σταθερό ύψος το κουμπί θα σκέπαζε τα παιδιά και τα links τους θα γίνονταν
       απάτητα. Συνέπεια, συνειδητή: ο σύνδεσμος του γονέα δεν πλοηγεί σε κινητό. */
    header .nq-h1-navwrap .nq-sub-toggle {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      width: auto;
      height: 42px;
      padding: 0 16px 0 0;
      border: 0;
      background: none;
      cursor: pointer;
    }
  
  /* 🔴 ΤΟ ΚΟΥΜΠΙ ΕΙΝΑΙ ΚΕΝΟ ΣΤΟ HTML — χρειάζεται δικό του βελάκι. Κρύβοντας
       το `.nq-nav-caret` έμεινε αόρατο και τα υπομενού δεν φαίνονταν καθόλου ότι
       υπάρχουν. Δεν ξαναδείχνω το caret: ζει μέσα στον <a>, οπότε το πάτημα πάνω
       του θα ΑΚΟΛΟΥΘΟΥΣΕ ΤΟΝ ΣΥΝΔΕΣΜΟ αντί να ανοίξει το υπομενού. Με borders
       και όχι με iconfont, ώστε το part να μην απαιτεί συγκεκριμένο σετ. */
    header .nq-h1-navwrap .nq-sub-toggle::before {
      content: "";
      width: 7px;
      height: 7px;
      border-right: 2px solid currentColor;
      border-bottom: 2px solid currentColor;
      transform: translateY(-2px) rotate(45deg);
      transition: transform .18s;
    }
  
  header .nq-h1-navwrap .nq-sub-toggle[aria-expanded="true"]::before {
      transform: translateY(2px) rotate(-135deg);
    }
  
  /* ── Υπομενού μέσα στο πάνελ ───────────────────────────────────────────
       🔴 Η ΚΛΑΣΗ ΕΙΝΑΙ `.nq-subnav`, ΟΧΙ `.nq-sub`. Το είχα γράψει λάθος και ο
       κανόνας δεν έπιανε ποτέ. Το `theme.css` δίνει `.nq-subnav {background:
       #0f1424}` — σκούρο dropdown φτιαγμένο για σκούρα κεφαλίδα — οπότε το
       ανοιχτό υπομενού έβγαινε ΣΚΟΥΡΟ ΜΕ ΣΚΟΥΡΟ ΚΕΙΜΕΝΟ, δηλαδή αδιάβαστο.
       Ειδικότητα εδώ 0,3,1 έναντι 0,1,0 του theme — κερδίζει.
       Μέσα στο πάνελ το υπομενού ΔΕΝ είναι dropdown: είναι συνέχεια της λίστας,
       όπως στο Porto. Άρα κανένα δικό του φόντο, καμία σκιά, μόνο εσοχή. */
    header .nq-h1-navwrap .nq-subnav {
      position: static;
      width: auto;
      min-width: 0;
      margin: 0;
      padding: 0;
      background: transparent;
      border: 0;
      box-shadow: none;
      list-style: none;
    }
  
  /* Ενεργός πρόγονος: ο κλάδος που περιέχει την τρέχουσα σελίδα ξεχωρίζει.
       Το υπομενού είναι ήδη ανοιχτό — ο server βάζει `nq-open` στο <li> όταν
       κάποιο παιδί/εγγόνι είναι η τρέχουσα σελίδα, οπότε ανοίγοντας το μενού σε
       υποσελίδα βλέπεις αμέσως πού βρίσκεσαι, χωρίς να ψάχνεις πατώντας. */
    header .nq-h1-navwrap .nq-nav-item.is-current-parent > .nq-nav-link { font-weight: 700; }
  
  /* +6px μόνο από το κανονικό padding των 16px: αρκετό για να διαβάζεται η
     ιεραρχία, χωρίς το κείμενο να «πέφτει» μακριά από την άκρη. */
  header .nq-h1-navwrap .nq-subnav .nq-nav-link {
      padding-left: 22px;
      font-weight: 500;
      text-transform: none;
    }
  
  /* Δεύτερο επίπεδο: μεγαλύτερη εσοχή, ώστε η ιεραρχία να διαβάζεται χωρίς
       γραμμές ή πλαίσια. */
    header .nq-h1-navwrap .nq-subnav .nq-subnav .nq-nav-link { padding-left: 32px; }
  
  /* Ενεργό στοιχείο: ΓΕΜΑΤΗ μπλε λωρίδα με λευκό κείμενο — το πιο αναγνωρίσιμο
       σημάδι του Porto σε κινητό.
       ΕΚΤΟΣ :where() σκόπιμα: ο κανόνας χρώματος του desktop παραπάνω
       (ειδικότητα 0,3,2) θα νικούσε ένα μηδενικό :where(). Αυτός είναι 0,4,1. */
    header .nq-h1-navwrap .nq-nav-item.is-current > .nq-nav-link {
      background: #0088cc;
      color: #ffffff;
    }
  
  :where(header .nq-h1-burger) { background: #0088cc; }
  
  :where(header .nq-h1-burger span) { background: #ffffff; }
  
  :where(header .nq-h1-navwrap.is-open) {
      background: #ffffff;
      border-top: 1px solid #e7e7e7;
      box-shadow: 0 12px 24px rgba(0, 0, 0, .1);
    }
  
  :where(header .nq-h1-navwrap .nq-nav-item) { border-bottom: 1px solid #f0f0f0; }
  
  /* Το ΠΡΩΤΟ στοιχείο χωρίς γραμμή από πάνω και το ΤΕΛΕΥΤΑΙΟ χωρίς από κάτω:
       αλλιώς διπλώνουν με το περίγραμμα του ίδιου του πάνελ και βλέπεις διπλή
       γραμμή στην κορυφή και μια ορφανή στο τέλος. */
    /* ⚠️ ΕΚΤΟΣ :where() ΣΚΟΠΙΜΑ. Ο κανόνας που δίνει τη γραμμή είναι κι αυτός σε
       :where(), δηλαδή ειδικότητα 0 — ίδια με τη δική τους. Σε ισοπαλία κερδίζει
       ό,τι έρχεται τελευταίο, που δεν είναι αξιόπιστο όταν το αρχείο
       αναδιατάσσεται. Με κανονική ειδικότητα (0,3,2) κερδίζουν πάντα, και το Theme
       μπορεί ακόμα να τους νικήσει αν χρειαστεί. */
    header .nq-h1-navwrap .nq-nav > .nq-nav-item:first-child { border-top: 0; }
  
  header .nq-h1-navwrap .nq-nav > .nq-nav-item:last-child { border-bottom: 0; }
  
  /* Και το τελευταίο στοιχείο ΚΑΘΕ υπομενού: ο κανόνας παραπάνω πιάνει μόνο τα
       άμεσα παιδιά του κύριου μενού (`.nq-nav >`), οπότε το τελευταίο παιδί ενός
       ανοιχτού υπομενού κρατούσε γραμμή που διπλώνει με τη γραμμή του γονέα του. */
    /* 🔴 Η ΓΡΑΜΜΗ ΤΩΝ ΥΠΟ-ΣΤΟΙΧΕΙΩΝ ΞΕΚΙΝΑ ΜΕ ΕΣΟΧΗ, ΟΧΙ ΑΠΟ ΤΗΝ ΑΚΡΗ.
       Στο Porto η γραμμή ευθυγραμμίζεται με το ΚΕΙΜΕΝΟ του υπο-στοιχείου, ώστε να
       διαβάζεται ως ομάδα κάτω από τον γονέα. Με σκέτο `border-bottom` στο <li>
       η γραμμή έπιανε όλο το πλάτος και το υπομενού έμοιαζε με ισότιμη λίστα.
       Ψευδοστοιχείο και όχι border: μόνο έτσι ελέγχεις πού ΞΕΚΙΝΑ η γραμμή,
       χωρίς να μετακινήσεις το κείμενο ή να χαλάσεις την περιοχή πατήματος. */
    header .nq-h1-navwrap .nq-subnav > .nq-nav-item {
      position: relative;
      border-bottom: 0;
    }
  
  /* ίδιο με το padding-left του link */
  header .nq-h1-navwrap .nq-subnav > .nq-nav-item::after {
      content: "";
      position: absolute;
      left: 22px;                     
      right: 0;
      bottom: 0;
      height: 1px;
      background: #f0f0f0;
    }
  
  header .nq-h1-navwrap .nq-subnav > .nq-nav-item:last-child::after { display: none; }
  
  :where(header .nq-h1-navwrap .nq-sub-toggle) { color: #999999; }
  
  header #header nav ul .is-current span {
    color:#fff;
    padding:2px 10px 0px 2px;
  }
  
  /* από Styling · 2026-08-13 — άγκυρα ανοιχτού πάνελ */
  /* 🔴 ΤΟ `top: 100%` ΜΕΤΡΑΕΙ ΑΠΟ ΤΗ ΓΡΑΜΜΗ, ΟΧΙ ΑΠΟ ΤΗΝ ΚΕΦΑΛΙΔΑ.
     Το `#header > .pb-row { position: static }` πιο πάνω ΔΕΝ πιάνει ποτέ: η
     πραγματική δομή είναι `#header > .container > .pb-row`, οπότε το `>` σπάει
     (ίδια παγίδα με το stretch_row). Άγκυρα μένει το `.pb-row`, που τελειώνει
     18px ψηλότερα από την κεφαλίδα (= το padding 18px 0 του #header) — και το
     πάνελ καβάλαγε τον header κατά 19px (μετρημένο).
     🔴 ΓΙΑΤΙ ΟΧΙ `#header .pb-row { position: static }`: η γραμμή είναι
     ΣΚΟΠΙΜΑ relative ώστε να αγκυρώνεται ΤΟ ΚΟΥΜΠΙ (βλ. σχόλιο στη στήλη 2).
     Μετρημένο: με static η γραμμή, το πάνελ διορθώνεται αλλά το κουμπί
     ΑΝΕΒΑΙΝΕΙ 18px (91 → 73), γιατί το top: 6px του μετριέται πια από το
     #header. Γι' αυτό η διόρθωση μπαίνει ΜΟΝΟ στο πάνελ.
     Μετρημένο μετά: απόσταση από το κάτω όριο της κεφαλίδας −19px → −1px,
     κουμπί ΑΜΕΤΑΒΛΗΤΟ στα 91px, σε 390px και σε 850px. */
  header .nq-h1-navwrap.is-open { top: calc(100% + 18px); }
}
/* ══ NQ-ZONE-END mobile ══ */
