/* =====================================================
   NEXT LEVEL — HEADER WIDGET v1.1 (pixel-perfect από Figma frame 28:1682)
   Desktop: καμβάς 1920px, κλιμακώνεται αναλογικά (nlh-header.js).
   Menu items από WordPress menu (flex, gap 68.5px, δεξιά άγκυρα 1426px
   = θέσεις 1:1 με το design για το προεπιλεγμένο περιεχόμενο)
   ή στατικό fallback με απόλυτες θέσεις.
   Mobile (<768px): fixed bar 64px + offcanvas μενού.
   Όλα τα χρώματα/μεγέθη παραμετροποιούνται μέσω CSS variables
   από τα Elementor controls.
   ===================================================== */

/* Inter 4.001 — ΠΛΗΡΗΣ (ίδια αρχεία που σερβίρει το Google Fonts, self-hosted).
   Variable font (wght 100–900) ανά subset με unicode-range, όπως το Google.
   Ενιαία έκδοση για ΟΛΑ (λατινικά + ελληνικά) → πλήρης συνέπεια, σωστά κ/σ.
   Δικό μας family name ώστε να μην πατηθεί από Inter του θέματος. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/InterV-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/InterV-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/InterV-greek.woff2') format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/InterV-greek-ext.woff2') format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* Το root δεν πιάνει ύψος: το header κάθεται ΠΑΝΩ από το περιεχόμενο
   της σελίδας (όπως η header-strip πάνω στο hero του HTML). */
.nlh-root {
  position: relative;
  width: 100%;
  height: 0;
  z-index: 999;
  font-family: 'Inter', sans-serif;

  /* Παραμετροποίηση από τα Elementor controls */
  --nlh-strip-bg: rgba(0, 0, 0, 0.749);
  --nlh-strip-h: 180px;
  --nlh-nav-color: #fff;
  --nlh-nav-hover-op: 1;
  --nlh-dd-bg: rgba(0, 0, 0, 0.8);
  --nlh-dd-color: #fff;
  --nlh-mob-bar-bg: rgba(45, 44, 44, 0.97);
  --nlh-panel-bg: #262525;
  --nlh-mn-color: #fff;

  /* v3.13 — STICKY SHRINK HEADER
     Οι θέσεις/μεγέθη που αλλάζουν στο scroll γίνονται μεταβλητές (design-px),
     ώστε το «μάζεμα» να είναι μία απλή αλλαγή τιμών + transition. Τα defaults
     εδώ = η ΚΑΝΟΝΙΚΗ (ξεκλείδωτη) κατάσταση· η .nlh-scrolled τα μικραίνει. */
  --nlh-strip-sh: 0 0 0 rgba(0, 0, 0, 0);   /* σκιά μόνο όταν έχει μαζέψει */
  --nlh-logo-top: 40.39px;
  --nlh-logo-w: 183px;
  --nlh-logo-h: 99.633px;
  --nlh-nav-top: 125px;
  --nlh-ypiresies-top: 98px;
  --nlh-lang-top: 125px;
  --nlh-pill-top: 121px;
}
.nlh-root *,
.nlh-backdrop {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.nlh-root img { display: block; border: none; max-width: none; }
.nlh-root a { text-decoration: none; color: inherit; }
.nlh-root ul { list-style: none; }

/* Καμβάς 1920px — scale από JS: clientWidth / 1920.
   will-change: δικό του composited layer → grayscale antialiasing
   στο κείμενο, ίδιο rendering με το scaled .page του πρωτοτύπου */
.nlh-canvas {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 0;
  transform-origin: top left;
  will-change: transform;
}

/* Σκούρα λωρίδα: στο HTML είναι #403f3f με mix-blend-mode:multiply
   πάνω στο hero (αποτέλεσμα = εικόνα × 64/255). Ίδιο οπτικά αποτέλεσμα,
   χωρίς εξάρτηση από stacking context: μαύρο overlay με alpha 1−64/255. */
.nlh-strip {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: var(--nlh-strip-h);
  background: var(--nlh-strip-bg);
  box-shadow: var(--nlh-strip-sh);
  /* ομαλό «μάζεμα» στο scroll (v3.13) */
  transition: height 0.34s cubic-bezier(0.4, 0, 0.2, 1),
              background 0.34s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.34s cubic-bezier(0.4, 0, 0.2, 1);
}

.nlh-header {
  position: relative;
  z-index: 5;
}

.nlh-logo {
  position: absolute;
  left: 162px;
  top: var(--nlh-logo-top);
  display: block;
  transition: top 0.34s cubic-bezier(0.4, 0, 0.2, 1);
}
.nlh-root .nlh-logo img {
  width: var(--nlh-logo-w);
  height: var(--nlh-logo-h);
  transition: width 0.34s cubic-bezier(0.4, 0, 0.2, 1),
              height 0.34s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============ ΜΕΝΟΥ ΑΠΟ WORDPRESS MENU (flex) ============
   Δεξιά άγκυρα: τελευταίο link τελειώνει στο x=1426 (1920−494).
   Gap 72.75px — μετρημένο με pixel diff ώστε με το προεπιλεγμένο
   περιεχόμενο οι θέσεις να συμπίπτουν με το design (απόκλιση <1px). */
.nlh-menu {
  position: absolute;
  top: var(--nlh-nav-top);
  right: 494px;
  display: flex;
  align-items: flex-start;
  gap: 72.75px;
  list-style: none;
  transition: top 0.34s cubic-bezier(0.4, 0, 0.2, 1);
}
.nlh-menu > li {
  position: relative;
  list-style: none;
  /* hover box ίδιο με το nav item του Figma: 27px πάνω / έως 60px ύψος */
  height: 60px;
  padding-top: 27px;
  margin-top: -27px;
}
.nlh-menu > li > a {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: var(--nlh-nav-color);
  line-height: normal;
  cursor: pointer;
  white-space: nowrap;
}
.nlh-menu > li > a:hover { opacity: var(--nlh-nav-hover-op); }

/* ============ ΣΤΑΤΙΚΟ FALLBACK (χωρίς WP menu) — θέσεις 1:1 ============ */
.nlh-nav-static a {
  position: absolute;
  font-size: 16px;
  font-weight: 600;
  color: var(--nlh-nav-color);
  line-height: normal;
  cursor: pointer;
  white-space: nowrap;
}
.nlh-nav-static a,
.nlh-item-ypiresies { transition: top 0.34s cubic-bezier(0.4, 0, 0.2, 1); }
.nlh-erga        { left: 825px;  top: var(--nlh-nav-top); width: 91px;  text-align: right; }
.nlh-exoikonomo  { left: 972px;  top: var(--nlh-nav-top); width: 126px; text-align: right; }
.nlh-etairia     { left: 1122px; top: var(--nlh-nav-top); width: 126px; text-align: right; }
.nlh-epikoinonia { left: 1300px; top: var(--nlh-nav-top); width: 126px; text-align: right; }

.nlh-item-ypiresies {
  position: absolute;
  left: 617px;
  top: var(--nlh-ypiresies-top);
  width: 206px;
  height: 60px;
}
.nlh-nav-static .nlh-ypiresies-link {
  position: absolute;
  left: 96px;
  top: 27px;
}

/* ============ DROPDOWN (κοινό οπτικό + hover) ============ */
.nlh-dropdown {
  position: absolute;
  background: var(--nlh-dd-bg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}
/* αόρατη γέφυρα ώστε το hover να μη χάνεται στο κενό των 21px */
.nlh-dropdown::before {
  content: '';
  position: absolute;
  left: 0;
  top: -21px;
  width: 100%;
  height: 21px;
}
.nlh-item-ypiresies:hover .nlh-dropdown,
.nlh-menu > li:hover .nlh-dropdown,
.nlh-dropdown:hover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* dropdown σε WP-menu mode: κάτω από το item, δεξιά ευθυγράμμιση +21px
   (όπως στο Figma: κουτί 206px με δεξί άκρο 21px δεξιότερα του κειμένου).
   Το layout (padding 33/19/36, gap 27) αναπαράγει τα tops 33/111 και
   ύψος 181 του design με το προεπιλεγμένο περιεχόμενο. */
.nlh-menu .nlh-dropdown {
  left: auto;
  right: -21px;
  top: calc(100% + 21px);
  width: 206px;
  padding: 33px 19px 36px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 27px;
}
.nlh-menu .nlh-nd-link {
  position: static;
  font-size: 14px;
  font-weight: 400;
  color: var(--nlh-dd-color);
  text-align: right;
  line-height: 16.94px;
  white-space: normal;
  transition: opacity 0.2s ease;
}

/* dropdown σε στατικό mode: απόλυτες θέσεις όπως στο design */
.nlh-item-ypiresies .nlh-dropdown {
  left: 0;
  top: 81px;                 /* 21px κενό από το nav item, όπως στο Figma */
  width: 206px;
  height: 181px;
}
.nlh-nav-static .nlh-nd-link {
  position: absolute;
  right: 19px;
  left: auto;
  width: auto;
  font-size: 14px;
  font-weight: 400;
  color: var(--nlh-dd-color);
  text-align: right;
  line-height: 16.94px;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}
.nlh-nd-link-1 { top: 33px; }
.nlh-nd-link-2 { top: 111px; }

.nlh-nav .nlh-nd-link:hover { opacity: 0.7; }

/* ============ ΓΛΩΣΣΕΣ GR/EN ============ */
.nlh-lang > * {
  position: absolute;
  font-size: 16px;
  font-weight: 600;
  color: var(--nlh-nav-color);
  line-height: normal;
  white-space: nowrap;
}
.nlh-lang > * { transition: top 0.34s cubic-bezier(0.4, 0, 0.2, 1); }
.nlh-lang-gr-pill {
  left: 1687px;
  top: var(--nlh-pill-top);
  width: 30px;
  height: 26px;
  background: rgba(217, 217, 217, 0.2);
  border-radius: 8px;
}
.nlh-lang-gr { left: 1701.5px; top: var(--nlh-lang-top); transform: translateX(-50%); }
.nlh-lang-en { left: 1737px;   top: var(--nlh-lang-top); transform: translateX(-50%); cursor: pointer; }

.nlh-burger { display: none; }

/* =====================================================
   v3.13 — STICKY SHRINK HEADER (desktop ≥ 768px)
   Το header γίνεται καρφιτσωμένο (fixed) και, μόλις ο χρήστης κάνει
   scroll, «μαζεύει»: πιο κοντή λωρίδα, μικρότερο λογότυπο, minimal
   συμπαγές φόντο + διακριτική σκιά. Το JS βάζει .nlh-scrolled στο
   .nlh-root όταν pageYOffset > 40 (βλ. nlh-header.js).
   Επειδή τα στοιχεία είναι μέσα στον scaled 1920 καμβά, αρκεί να
   αλλάξουμε τις design-px μεταβλητές — το scale τις μικραίνει μαζί.
   ===================================================== */
@media (min-width: 768px) {
  /* Καρφίτσωμα στην κορυφή. Το root ήταν ήδη height:0 overlay, οπότε
     δεν προκαλείται καμία μετατόπιση περιεχομένου. */
  .nlh-root {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }

  /* ΜΑΖΕΜΕΝΗ κατάσταση — μόνο αλλαγές τιμών (κεντραρισμένα στη νέα λωρίδα) */
  .nlh-scrolled {
    --nlh-strip-h: 120px;
    --nlh-strip-bg: rgba(20, 19, 19, 0.98);
    --nlh-strip-sh: 0 6px 22px rgba(0, 0, 0, 0.20);
    --nlh-logo-top: 20px;
    --nlh-logo-w: 148px;
    --nlh-logo-h: 80.573px;   /* 148 × 99.633/183 — διατήρηση αναλογίας */
    --nlh-nav-top: 52px;
    --nlh-ypiresies-top: 25px;
    --nlh-lang-top: 52px;
    --nlh-pill-top: 48px;
  }

  /* Λευκή παραλλαγή header (nlh-light): συμπαγές λευκό + απαλή σκιά */
  .nlh-light.nlh-scrolled {
    --nlh-strip-bg: rgba(255, 255, 255, 0.98);
    --nlh-strip-sh: 0 6px 22px rgba(0, 0, 0, 0.10);
  }

  /* Τα άγκιστρα scroll (#erga κ.λπ.) να μη χώνονται κάτω από το μαζεμένο
     header. Αντιστοιχεί περίπου στο ύψος της μαζεμένης λωρίδας. */
  html { scroll-padding-top: 96px; }
}

/* ============ MOBILE OFFCANVAS NAV ============ */

.nlh-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
  z-index: 99990;
}
body.nlh-nav-open .nlh-backdrop {
  opacity: 1;
  pointer-events: auto;
}

.nlh-mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: min(320px, 85vw);
  height: 100dvh;
  background: var(--nlh-panel-bg);
  z-index: 99999;
  padding: 84px 28px 40px;
  transform: translateX(105%);
  transition: transform 0.45s cubic-bezier(0.77, 0, 0.18, 1);
  overflow-y: auto;
  display: none;
  font-family: 'Inter', sans-serif;
}
body.nlh-nav-open .nlh-mobile-nav { transform: translateX(0); }

.nlh-mobile-nav-close {
  position: absolute;
  top: 16px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  color: var(--nlh-mn-color);
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  font-family: inherit;
}

.nlh-mn-link {
  display: block;
  color: var(--nlh-mn-color);
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.nlh-mn-sub {
  padding: 4px 0 12px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.nlh-mn-sub a {
  display: block;
  color: rgba(255, 255, 255, 0.75);
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  line-height: 1.35;
  padding: 8px 0;
}
.nlh-mn-sub a:hover { color: var(--nlh-mn-color); }

.nlh-mn-lang {
  margin-top: 28px;
  display: flex;
  gap: 14px;
}
.nlh-mn-lang span,
.nlh-mn-lang a {
  color: var(--nlh-mn-color);
  font-size: 16px;
  font-weight: 600;
}
.nlh-mn-lang .nlh-mn-lang-gr {
  background: rgba(217, 217, 217, 0.2);
  border-radius: 8px;
  padding: 3px 8px;
}

/* =====================================================
   HERO WIDGET (pixel-perfect 1:1 με το .s-hero του index.html)
   ===================================================== */

.nlh-hero-root {
  position: relative;
  width: 100%;
  overflow: hidden;
  font-family: 'Inter', sans-serif;

  --nlhh-title-color: #fff;
  --nlhh-sub-color: #fff;
  --nlhh-cta-bg: #bb032b;
  --nlhh-cta-color: #fff;
  --nlhh-overlay: transparent;
  --nlhh-mob-minh: 640px;
  --nlhh-mob-pt: 120px;
}
.nlh-hero-root * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.nlh-hero-root img { display: block; border: none; max-width: none; }
.nlh-hero-root a { text-decoration: none; color: inherit; }

/* .nlh-hero-root πρόθεμα στις εικόνες: νικάει το `.elementor img{height:auto}` */
.nlh-hero-root .nlh-hero-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 890px;
  object-fit: cover;
}

/* video φόντου: ίδια γεωμετρία με την εικόνα */
.nlh-hero-root .nlh-hero-video {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 890px;
  object-fit: cover;
}

.nlh-hero-overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 890px;
  background: var(--nlhh-overlay);
  pointer-events: none;
}

.nlh-hero-title {
  position: absolute;
  left: 323px;
  top: 280px;
  width: 789px;
  font-family: inherit;
  font-size: 68px;
  font-weight: 800;
  color: var(--nlhh-title-color);
  line-height: 82.29px;
  word-break: break-word;
}

.nlh-hero-sub {
  position: absolute;
  left: 323px;
  top: 543px;
  width: 789px;
  font-size: 18px;
  font-weight: 500;
  color: var(--nlhh-sub-color);
  line-height: 21.78px;
}

.nlh-hero-badges-wrap {
  position: absolute;
  left: 323px;
  top: 680px;
  display: block;
}
/* Το svg έχει width/height 100% + preserveAspectRatio none —
   θέλει ρητές διαστάσεις όπως στο πρωτότυπο, όχι height:auto */
.nlh-hero-root .nlh-hero-badges {
  width: 485.37px;
  height: 61.92px;
}

.nlh-hero-cta {
  position: absolute;
  left: 323px;
  top: 765px;
  width: 563px;
  height: 68px;
  background: var(--nlhh-cta-bg);
  border-radius: 10px;
  display: block;
  cursor: pointer;
  transition: background 0.2s ease;
}
.nlh-hero-cta:hover {
  background: var(--nlhh-cta-bg-hover, var(--nlhh-cta-bg));
}
/* top 23px σε ύψος 68 όπως το design (όχι translateY — αποφεύγει ±1px rounding) */
.nlh-hero-cta-label {
  position: absolute;
  left: 50%;
  top: calc(50% - 11px);
  transform: translateX(-50%);
  font-size: 18px;
  font-weight: 600;
  color: var(--nlhh-cta-color);
  line-height: normal;
  white-space: nowrap;
  text-align: center;
}
/* το βέλος του design κάθεται 2px ψηλότερα από το κέντρο (top 21 σε ύψος 68) */
.nlh-hero-cta-arrow {
  position: absolute;
  right: 30.5px;
  top: calc(50% - 13px);
  transform: translateX(50%);
  font-size: 18px;
  font-weight: 600;
  color: var(--nlhh-cta-color);
  line-height: normal;
  text-align: center;
}

/* ---- Ορατότητα ανά συσκευή (prefix classes από τα switchers) ---- */
@media (min-width: 1025px) {
  .elementor-widget-nlh_hero:not(.nlhh-bg-desktop-yes) .nlh-hero-bg,
  .elementor-widget-nlh_hero:not(.nlhh-title-desktop-yes) .nlh-hero-title,
  .elementor-widget-nlh_hero:not(.nlhh-sub-desktop-yes) .nlh-hero-sub,
  .elementor-widget-nlh_hero:not(.nlhh-badges-desktop-yes) .nlh-hero-badges-wrap,
  .elementor-widget-nlh_hero:not(.nlhh-cta-desktop-yes) .nlh-hero-cta { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-widget-nlh_hero:not(.nlhh-bg-tablet-yes) .nlh-hero-bg,
  .elementor-widget-nlh_hero:not(.nlhh-title-tablet-yes) .nlh-hero-title,
  .elementor-widget-nlh_hero:not(.nlhh-sub-tablet-yes) .nlh-hero-sub,
  .elementor-widget-nlh_hero:not(.nlhh-badges-tablet-yes) .nlh-hero-badges-wrap,
  .elementor-widget-nlh_hero:not(.nlhh-cta-tablet-yes) .nlh-hero-cta { display: none !important; }
}
@media (max-width: 767px) {
  .elementor-widget-nlh_hero:not(.nlhh-bg-mobile-yes) .nlh-hero-bg,
  .elementor-widget-nlh_hero:not(.nlhh-title-mobile-yes) .nlh-hero-title,
  .elementor-widget-nlh_hero:not(.nlhh-sub-mobile-yes) .nlh-hero-sub,
  .elementor-widget-nlh_hero:not(.nlhh-badges-mobile-yes) .nlh-hero-badges-wrap,
  .elementor-widget-nlh_hero:not(.nlhh-cta-mobile-yes) .nlh-hero-cta { display: none !important; }
}

/* =====================================================
   FOOTER WIDGET (pixel-perfect 1:1 με το .s-footer του index.html —
   θέσεις σχετικές με το top του footer στον 1920 καμβά, y0 = 7784)
   ===================================================== */

.nlf-root {
  position: relative;
  width: 100%;
  overflow: hidden;
  font-family: 'Inter', sans-serif;

  --nlf-bg: #fff;
  --nlf-line: #000;
  --nlf-l1-color: #000;
  --nlf-l2-color: #000;
  --nlf-nl-label: #000;
  --nlf-input-bg: #f5f5f5;
  --nlf-input-color: #000;
  --nlf-input-ph: #000;
  --nlf-btn-bg: #bb032b;
  --nlf-btn-color: #fff;
  --nlf-copy-color: #000;
  --nlf-mob-pt: 44px;
  --nlf-mob-pb: 28px;
}
.nlf-root * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.nlf-root img { display: block; border: none; max-width: none; }
.nlf-root a { text-decoration: none; color: inherit; }

.nlf-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 652px;
  background: var(--nlf-bg);
}

.nlf-logo {
  position: absolute;
  left: 323px;
  top: 77px;
  display: block;
}
.nlf-root .nlf-logo img {
  width: 393px;
  height: 288.771px;
}

/* Στήλες links: flex columns — με τα explicit line-heights (Figma
   normal: 21px→25.41, 18px→21.78) τα gaps δίνουν βήματα 41px / 39px
   ακριβώς όπως οι απόλυτες θέσεις του design */
.nlf-col {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.nlf-col a {
  font-weight: 600;
  line-height: normal;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.nlf-col-1 { left: 1132px; top: 150px; gap: 15.59px; }
.nlf-col-1 a {
  font-size: 21px;
  color: var(--nlf-l1-color);
  line-height: 25.41px;
}
.nlf-col-1 a:hover {
  color: var(--nlf-l1-hover, var(--nlf-l1-color));
  opacity: var(--nlf-l1-hop, 1);
}
.nlf-col-2 { left: 1432px; top: 150px; gap: 17.22px; }
.nlf-col-2 a {
  font-size: 18px;
  color: var(--nlf-l2-color);
  line-height: 21.78px;
}
.nlf-col-2 a:hover {
  color: var(--nlf-l2-hover, var(--nlf-l2-color));
  opacity: var(--nlf-l2-hop, 1);
}

/* device-συγκεκριμένα links (ξεχωριστό mobile menu) */
.nlf-only-mobile { display: none; }

/* Newsletter block: wrapper στο (1132, 365.5) — εσωτερικές θέσεις
   ίδιες με το design: γραμμή (1134, 8149.5), label (1132, 8198),
   form (1132, 8243) */
.nlf-news {
  position: absolute;
  left: 1132px;
  top: 365.5px;
  width: 490px;
}
.nlf-line {
  background: var(--nlf-line);
}
.nlf-line-news {
  position: absolute;
  left: 2px;
  top: 0;
  width: 488px;
  height: 1px;
}
.nlf-news-label {
  position: absolute;
  left: 0;
  top: 48.5px;
  font-size: 16px;
  font-weight: 600;
  color: var(--nlf-nl-label);
  line-height: normal;
  white-space: nowrap;
}
.nlf-news-form {
  position: absolute;
  left: 0;
  top: 93.5px;
  width: 485px;
  height: 68px;
}
.nlf-root .nlf-news-input {
  position: absolute;
  left: 0;
  top: 0;
  width: 485px;
  height: 68px;
  background: var(--nlf-input-bg);
  border: none;
  border-radius: 10px;
  padding: 0 100px 0 23.33px;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--nlf-input-color);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.nlf-root .nlf-news-input::placeholder {
  color: var(--nlf-input-ph);
  opacity: 1;
}
.nlf-root .nlf-news-btn {
  position: absolute;
  left: 396.59px;
  top: 0;
  width: 88.405px;
  height: 68px;
  background: var(--nlf-btn-bg);
  border: none;
  border-radius: 0 10px 10px 0;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--nlf-btn-color);
  cursor: pointer;
  transition: background 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
}
.nlf-root .nlf-news-btn:hover {
  background: var(--nlf-btn-hover, var(--nlf-btn-bg));
}

.nlf-line-bottom {
  position: absolute;
  left: 323px;
  top: 565.5px;
  width: 1299px;
  height: 1px;
}

.nlf-social {
  position: absolute;
  left: 1503px;
  top: 604px;
  display: block;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.nlf-root .nlf-social img {
  width: 114.31px;
  height: 27.23px;
}
.nlf-social:hover { opacity: var(--nlf-social-hop, 1); }
/* 3 ξεχωριστά clickable εικονίδια πάνω στο ενιαίο SVG (pixel-perfect μένει).
   Ζώνες κατά μήκος του viewBox 114.31: LinkedIn 0-32%, Instagram 32-77%,
   Facebook 77-100% (τα κενά μοιρασμένα). Το .nlf-social είναι ήδη
   positioned (absolute desktop) → οι hotspots αγκυρώνουν σε αυτό. */
.nlf-soc-hot {
  position: absolute;
  top: 0;
  height: 100%;
  z-index: 2;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
}
.nlf-soc-li { left: 0; width: 32%; }
.nlf-soc-ig { left: 32%; width: 45%; }
.nlf-soc-fb { left: 77%; width: 23%; }

.nlf-copyright {
  position: absolute;
  left: 324px;
  top: 607px;
  font-size: 12px;
  font-weight: 400;
  color: var(--nlf-copy-color);
  line-height: normal;
  white-space: nowrap;
}

/* ---- Κείμενα ανά συσκευή (spans μέσα σε label/copyright) ---- */
.nlf-dt-tablet, .nlf-dt-mobile { display: none; }
@media (min-width: 768px) and (max-width: 1024px) {
  .nlf-dt-desktop { display: none; }
  .nlf-dt-tablet { display: inline; }
}
@media (max-width: 767px) {
  .nlf-dt-desktop { display: none; }
  .nlf-dt-mobile { display: inline; }
}

/* ---- Ορατότητα ανά συσκευή (prefix classes) ---- */
@media (min-width: 1025px) {
  .elementor-widget-nlh_footer:not(.nlf-logo-desktop-yes) .nlf-logo,
  .elementor-widget-nlh_footer:not(.nlf-col1-desktop-yes) .nlf-col-1,
  .elementor-widget-nlh_footer:not(.nlf-col2-desktop-yes) .nlf-col-2,
  .elementor-widget-nlh_footer:not(.nlf-news-desktop-yes) .nlf-news,
  .elementor-widget-nlh_footer:not(.nlf-social-desktop-yes) .nlf-social,
  .elementor-widget-nlh_footer:not(.nlf-copy-desktop-yes) .nlf-copyright,
  .elementor-widget-nlh_footer:not(.nlf-lines-desktop-yes) .nlf-line { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-widget-nlh_footer:not(.nlf-logo-tablet-yes) .nlf-logo,
  .elementor-widget-nlh_footer:not(.nlf-col1-tablet-yes) .nlf-col-1,
  .elementor-widget-nlh_footer:not(.nlf-col2-tablet-yes) .nlf-col-2,
  .elementor-widget-nlh_footer:not(.nlf-news-tablet-yes) .nlf-news,
  .elementor-widget-nlh_footer:not(.nlf-social-tablet-yes) .nlf-social,
  .elementor-widget-nlh_footer:not(.nlf-copy-tablet-yes) .nlf-copyright,
  .elementor-widget-nlh_footer:not(.nlf-lines-tablet-yes) .nlf-line { display: none !important; }
}
@media (max-width: 767px) {
  .elementor-widget-nlh_footer:not(.nlf-logo-mobile-yes) .nlf-logo,
  .elementor-widget-nlh_footer:not(.nlf-col1-mobile-yes) .nlf-col-1,
  .elementor-widget-nlh_footer:not(.nlf-col2-mobile-yes) .nlf-col-2,
  .elementor-widget-nlh_footer:not(.nlf-news-mobile-yes) .nlf-news,
  .elementor-widget-nlh_footer:not(.nlf-social-mobile-yes) .nlf-social,
  .elementor-widget-nlh_footer:not(.nlf-copy-mobile-yes) .nlf-copyright,
  .elementor-widget-nlh_footer:not(.nlf-lines-mobile-yes) .nlf-line { display: none !important; }
}

/* =====================================================
   MOBILE (< 768px)
   ===================================================== */
@media (max-width: 767px) {

  /* Το will-change:transform θα έκανε το canvas containing block
     για τα absolute/fixed παιδιά — στο mobile δεν πρέπει */
  .nlh-canvas {
    transform: none !important;
    will-change: auto;
  }

  /* ---- FOOTER: πλήρως responsive ροή, όπως το πρωτότυπο ---- */
  .nlf-root {
    height: auto !important;
    padding: var(--nlf-mob-pt) 0 var(--nlf-mob-pb);
    background: var(--nlf-bg);
  }
  .nlf-canvas {
    position: static;
    width: auto;
    height: auto;
  }
  .nlf-bg { display: none; }

  /* grayscale antialiasing όπως το πρωτότυπο */
  .nlf-col, .nlf-news, .nlf-copyright, .nlf-logo { will-change: transform; }

  .nlf-logo {
    position: static;
    display: block;
    width: 250px;
    margin: 0 auto 34px;
  }
  .nlf-root .nlf-logo img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 393 / 288.771;
  }

  .nlf-col {
    position: static;
    display: block;
    padding: 0 20px;
    margin-bottom: 22px;
  }
  .nlf-col a {
    position: static;
    display: block;
    padding: 7px 0;
    white-space: normal;
  }
  .nlf-col-1 a { font-size: 18px; line-height: normal; }
  .nlf-col-2 a { font-size: 15px; font-weight: 500; line-height: normal; }

  .nlf-only-mobile { display: block; }
  .nlf-not-mobile { display: none !important; }

  .nlf-news {
    position: static;
    width: auto;
  }
  .nlf-line { display: none; }
  .nlf-news-label {
    position: static;
    display: block;
    padding: 0 20px;
    margin: 8px 0 12px;
  }
  .nlf-news-form {
    position: relative;
    left: auto;
    top: auto;
    width: calc(100% - 40px);
    height: 58px;
    margin: 0 auto 26px;
  }
  .nlf-root .nlf-news-input {
    position: static;
    display: block;
    width: 100%;
    height: 58px;
    padding: 0 84px 0 18px;
    font-size: 16px;
  }
  .nlf-root .nlf-news-btn {
    left: auto;
    right: 0;
    top: 0;
    width: 64px;
    height: 58px;
  }

  .nlf-social {
    position: static;
    display: block;
    width: 110px;
    margin: 0 20px 18px;
  }
  /* mobile: το static .nlf-social θέλει relative για να αγκυρώσουν τα hotspots */
  .nlf-social-split { position: relative; }
  .nlf-root .nlf-social img {
    width: 110px !important;
    height: 26.2px !important;
  }

  .nlf-copyright {
    position: static;
    padding: 0 20px;
    white-space: normal;
  }
}

/* =====================================================
   MOBILE (< 768px) — header & hero
   ===================================================== */
@media (max-width: 767px) {

  /* ---- HERO: πλήρως responsive ροή, όπως το πρωτότυπο ---- */
  .nlh-hero-root {
    height: auto !important;
    min-height: var(--nlhh-mob-minh);
    padding: var(--nlhh-mob-pt) 20px 44px;
  }
  /* grayscale antialiasing στο κείμενο, ίδιο rendering με το πρωτότυπο */
  .nlh-hero-title,
  .nlh-hero-sub,
  .nlh-hero-cta {
    will-change: transform;
  }
  .nlh-hero-canvas {
    position: static;
    width: auto;
    height: auto;
  }
  .nlh-hero-root .nlh-hero-bg {
    width: 100% !important;
    height: 100% !important;
  }
  .nlh-hero-root .nlh-hero-video {
    display: none;
    width: 100% !important;
    height: 100% !important;
  }
  .nlhh-vm-yes .nlh-hero-video { display: block; }
  .nlh-hero-overlay {
    width: 100% !important;
    height: 100% !important;
  }
  .nlh-hero-title {
    position: relative;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    font-size: 36px;
    line-height: 1.22;
    margin: 26px 0 18px;
  }
  .nlh-hero-sub {
    position: relative;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    font-size: 15px;
    line-height: 1.5;
    margin: 0 0 26px;
  }
  .nlh-hero-badges-wrap {
    position: relative;
    left: auto !important;
    top: auto !important;
    margin: 0 0 26px;
  }
  .nlh-hero-root .nlh-hero-badges {
    width: min(100%, 360px) !important;
    height: auto !important;
    aspect-ratio: 485.37 / 61.92;
  }
  /* v3.3.6 — flex + reserved arrow space: μακρύ κείμενο τυλίγει σε 2 γραμμές
     και το βέλος δεν πέφτει ΠΟΤΕ έξω/πάνω από τα γράμματα */
  .nlh-hero-cta {
    position: relative;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 460px;
    height: auto !important;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 9px 54px 9px 18px;
    box-sizing: border-box;
  }
  .nlh-hero-cta-label {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-align: center;
    line-height: 1.25;
    font-size: 14.5px;
  }
  .nlh-hero-cta-arrow {
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
  }
}

/* =====================================================
   MOBILE (< 768px) — header
   ===================================================== */
@media (max-width: 767px) {

  .nlh-canvas { transform: none !important; }

  .nlh-mobile-nav { display: block; }

  .nlh-strip {
    position: fixed;
    width: 100%;
    height: 64px;
    background: var(--nlh-mob-bar-bg);
    z-index: 50;
  }
  .nlh-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 64px;
    z-index: 60;
  }
  .nlh-logo {
    left: 16px;
    top: 11px;
  }
  .nlh-root .nlh-logo img {
    width: 77px;
    height: 42px;
  }
  .nlh-nav, .nlh-lang { display: none; }

  .nlh-burger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    padding: 10px;
    background: none;
    border: none;
    cursor: pointer;
  }
  .nlh-burger span {
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.35s ease, opacity 0.25s ease;
  }
  body.nlh-nav-open .nlh-burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  body.nlh-nav-open .nlh-burger span:nth-child(2) { opacity: 0; }
  body.nlh-nav-open .nlh-burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
}

/* =====================================================
   CONTENT WIDGETS (nlc-) — sections αρχικής, 1:1 με το design.
   Κάθε widget: root με data-nlh-h (ύψος στο flow) + καμβάς 1920px.
   Τα στοιχεία κάθονται στο top: calc(var(--nlc-gap) + offset).
   ===================================================== */

.nlc-root {
  position: relative;
  width: 100%;
  font-family: 'Inter', sans-serif;
  --nlc-gap: 0px;
}
.nlc-root * { margin: 0; padding: 0; box-sizing: border-box; }
.nlc-root img { display: block; border: none; max-width: none; }
.nlc-root a { text-decoration: none; color: inherit; }

/* ---- Τίτλος ενότητας ---- */
.nlc-st-label {
  position: absolute;
  left: 323px;
  top: var(--nlc-gap);
  font-size: 21px;
  font-weight: 600;
  color: var(--nlc-st-color, #000);
  line-height: normal;
  white-space: nowrap;
}
.nlc-st-line {
  position: absolute;
  left: 2px;
  top: calc(var(--nlc-gap) + var(--nlc-st-line-dy, 33px));
  width: 438px;
  height: 2px;
  background: var(--nlc-st-line, #000);
}

/* ---- Μεγάλο κείμενο ---- */
.nlc-big {
  position: absolute;
  left: 323px;
  top: var(--nlc-gap);
  width: 1274px;
  font-size: 48px;
  font-weight: 400;
  color: var(--nlc-big-color, #000);
  line-height: 58.09px;
  word-break: break-word;
}
.nlc-big-c-yes .nlc-big {
  left: 960px;
  transform: translateX(-50%);
  text-align: center;
}

/* ---- Κείμενο ---- */
.nlc-text {
  position: absolute;
  left: 323px;
  top: var(--nlc-gap);
  width: 465px;
  font-size: 18px;
  font-weight: 400;
  color: var(--nlc-text-color, #000);
  line-height: 24px;
  white-space: pre-wrap;
}
.nlc-text-c-yes .nlc-text {
  transform: translateX(-50%);
  text-align: center;
}

/* ---- Εικόνα ---- */
.nlc-img {
  position: absolute;
  left: 324px;
  top: var(--nlc-gap);
  width: 626px;
  height: 466px;
  display: block;
  overflow: hidden;
  border-radius: 12px;
}
.nlc-root .nlc-img img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

/* ---- Κουμπί CTA ---- */
.nlc-btn {
  position: absolute;
  left: 323px;
  top: var(--nlc-gap);
  width: 405px;
  height: 68px;
  background: var(--nlc-btn-bg, #938f29);
  border-radius: 10px;
  display: block;
  cursor: pointer;
  transition: background 0.2s ease;
}
.nlc-btn:hover { background: var(--nlc-btn-hover, var(--nlc-btn-bg, #938f29)); }
.nlc-btn-label {
  position: absolute;
  left: 50%;
  top: calc(50% - 11px);
  transform: translateX(-50%);
  font-size: 18px;
  font-weight: 600;
  color: var(--nlc-btn-color, #fff);
  line-height: normal;
  white-space: nowrap;
  text-align: center;
}
.nlc-btn-arrow {
  position: absolute;
  right: 30.5px;
  top: calc(50% - 13px);
  transform: translateX(50%);
  font-size: 18px;
  font-weight: 600;
  color: var(--nlc-btn-color, #fff);
  line-height: normal;
}

/* ---- Βέλος σε κύκλο ---- */
.nlc-ab {
  position: absolute;
  left: 909.92px;
  top: var(--nlc-gap);
  width: 100.08px;
  display: block;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.nlc-root .nlc-ab img {
  width: 100.08px;
  height: auto;
  aspect-ratio: 1 / 1;
}
.nlc-ab-rot-yes .nlc-ab img { transform: rotate(180deg); }
.nlc-ab:hover { opacity: var(--nlc-ab-hop, 1); }

/* ---- Link + βέλος ---- */
.nlc-lr-text {
  position: absolute;
  left: 1355px;
  top: calc(var(--nlc-gap) + var(--nlc-lr-tdy, 36.5px));
  font-size: 21px;
  font-weight: 600;
  color: var(--nlc-lr-color, #000);
  line-height: normal;
  white-space: nowrap;
  cursor: pointer;
}
.nlc-lr-arrow {
  position: absolute;
  left: 1496.5px;
  top: var(--nlc-gap);
  width: 100.08px;
  display: block;
  cursor: pointer;
}
.nlc-root .nlc-lr-arrow img {
  width: 100.08px;
  height: auto;
  aspect-ratio: 1 / 1;
  transform: rotate(180deg);
}
.nlc-lr-text:hover, .nlc-lr-arrow:hover { opacity: var(--nlc-lr-hop, 1); }

/* ---- Κάρτα Τομέα ---- */
.nlc-tc {
  position: absolute;
  left: 323px;
  top: var(--nlc-gap);
  width: 405px;
  height: 940px;
  border-radius: 10px;
  overflow: hidden;
}
.nlc-root .nlc-tc-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* ειδικό crop της μεσαίας κάρτας (raw asset, τιμές Figma) */
.nlc-tc-crop2-yes .nlc-tc-img {
  left: -243.02%;
  width: 460.37%;
  height: 131.4%;
  object-fit: fill;
}
.nlc-tc-overlay {
  position: absolute;
  inset: 0;
  background: var(--nlc-tc-overlay, rgba(0, 0, 0, 0.5992));
  opacity: 0;
  transition: opacity 0.35s ease;
}
.nlc-tc-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.nlc-tc:hover .nlc-tc-overlay,
.nlc-tc:hover .nlc-tc-content { opacity: 1; }
.nlc-tc:hover .nlc-tc-bar,
.nlc-tc:hover .nlc-tc-bar-label { opacity: 0; }
.nlc-tc-title {
  position: absolute;
  left: 75px;
  top: 154px;
  font-size: 21px;
  font-weight: 500;
  color: var(--nlc-tc-color, #fff);
  line-height: 25.41px;
  white-space: nowrap;
}
.nlc-tc-body {
  position: absolute;
  left: 75px;
  top: 276px;
  width: 266px;
  font-size: 16px;
  font-weight: 500;
  color: var(--nlc-tc-color, #fff);
  line-height: 19.3px;
}
.nlc-tc-arrow {
  position: absolute;
  left: 275px;
  top: 801px;
  width: 100.08px;
  display: block;
}
.nlc-root .nlc-tc-arrow img {
  width: 100.08px;
  height: auto;
  aspect-ratio: 1 / 1;
  transform: rotate(180deg);
}
/* μπάρα: #403f3f @80% multiply πάνω στη φωτο = μαύρο overlay 59.92% */
.nlc-tc-bar {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 189px;
  background: var(--nlc-tc-bar, rgba(0, 0, 0, 0.5992));
  border-radius: 10px;
  transition: opacity 0.35s ease;
}
.nlc-tc-bar-label {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 189px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  font-weight: 500;
  color: var(--nlc-tc-color, #fff);
  line-height: 25.41px;
  text-align: center;
  z-index: 1;
  transition: opacity 0.35s ease;
}

/* ---- Κάρτα Νέων ---- */
.nlc-nc {
  position: absolute;
  left: 323px;
  top: var(--nlc-gap);
  width: 405px;
  height: 473px;
  border-radius: 10px;
  background: var(--nlc-nc-bg, #bb032b);
  transition: background 0.2s ease;
}
.nlc-nc:hover { background: var(--nlc-nc-hover, var(--nlc-nc-bg, #bb032b)); }
.nlc-nc-title {
  position: absolute;
  left: 203px;
  top: 78px;
  transform: translateX(-50%);
  font-size: 32px;
  font-weight: 800;
  color: var(--nlc-nc-color, #fff);
  line-height: 38.73px;
  text-align: center;
  white-space: nowrap;
}
.nlc-nc-text {
  position: absolute;
  left: 203px;
  top: 200px;
  width: 266px;
  transform: translateX(-50%);
  font-size: 16px;
  font-weight: 500;
  color: var(--nlc-nc-color, #fff);
  line-height: 19.36px;
  text-align: center;
}
.nlc-nc-arrow {
  position: absolute;
  left: 151.92px;
  top: 311px;
  width: 100.08px;
  display: block;
}
.nlc-root .nlc-nc-arrow img {
  width: 100.08px;
  height: auto;
  aspect-ratio: 1 / 1;
  transform: rotate(180deg);
}

/* quote mode: αριστερό κείμενο χωρίς κεντράρισμα (κάρτες-μαρτυρίες) */
.nlc-nc-bl-yes .nlc-nc-text {
  transform: none;
  text-align: left;
}
/* όλα τα quotes: pre-wrap για τα διπλά κενά του πρωτοτύπου */
.nlc-nc-bl-yes .nlc-nc-text,
.nlc-nc-qm-yes .nlc-nc-text {
  white-space: pre-wrap;
}
/* glass effect (στατιστικά tiles εξοικονομώ) */
.nlc-nc-bb-yes .nlc-nc {
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

/* ---- Ορατότητα widget ανά συσκευή (κρύβεται όταν ΛΕΙΠΕΙ το -yes) ---- */
@media (min-width: 1025px) {
  .elementor-widget-nlh_section_title:not(.nlc-vd-yes),
  .elementor-widget-nlh_big_text:not(.nlc-vd-yes),
  .elementor-widget-nlh_text:not(.nlc-vd-yes),
  .elementor-widget-nlh_image:not(.nlc-vd-yes),
  .elementor-widget-nlh_button:not(.nlc-vd-yes),
  .elementor-widget-nlh_arrow_button:not(.nlc-vd-yes),
  .elementor-widget-nlh_link_row:not(.nlc-vd-yes),
  .elementor-widget-nlh_tomeis_card:not(.nlc-vd-yes),
  .elementor-widget-nlh_nea_card:not(.nlc-vd-yes) { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-widget-nlh_section_title:not(.nlc-vt-yes),
  .elementor-widget-nlh_big_text:not(.nlc-vt-yes),
  .elementor-widget-nlh_text:not(.nlc-vt-yes),
  .elementor-widget-nlh_image:not(.nlc-vt-yes),
  .elementor-widget-nlh_button:not(.nlc-vt-yes),
  .elementor-widget-nlh_arrow_button:not(.nlc-vt-yes),
  .elementor-widget-nlh_link_row:not(.nlc-vt-yes),
  .elementor-widget-nlh_tomeis_card:not(.nlc-vt-yes),
  .elementor-widget-nlh_nea_card:not(.nlc-vt-yes) { display: none !important; }
}
@media (max-width: 767px) {
  .elementor-widget-nlh_section_title:not(.nlc-vm-yes),
  .elementor-widget-nlh_big_text:not(.nlc-vm-yes),
  .elementor-widget-nlh_text:not(.nlc-vm-yes),
  .elementor-widget-nlh_image:not(.nlc-vm-yes),
  .elementor-widget-nlh_button:not(.nlc-vm-yes),
  .elementor-widget-nlh_arrow_button:not(.nlc-vm-yes),
  .elementor-widget-nlh_link_row:not(.nlc-vm-yes),
  .elementor-widget-nlh_tomeis_card:not(.nlc-vm-yes),
  .elementor-widget-nlh_nea_card:not(.nlc-vm-yes) { display: none !important; }
}

/* =====================================================
   CONTENT WIDGETS — MOBILE (<768px): responsive ροή όπως το πρωτότυπο
   ===================================================== */
@media (max-width: 767px) {

  .nlc-root { height: auto !important; margin-bottom: 0 !important; }
  .nlc-canvas { position: static; width: auto; height: auto; }

  /* grayscale AA όπως το πρωτότυπο */
  .nlc-st-label, .nlc-big, .nlc-text, .nlc-btn, .nlc-lr, .nlc-tc, .nlc-nc { will-change: transform; }

  .nlc-st-label {
    position: static;
    display: block;
    padding: 0 20px;
    margin: 44px 0 14px;
    font-size: 18px;
    white-space: normal;
  }
  .nlc-st-line { display: none; }

  .nlc-big {
    position: static;
    width: auto !important;
    transform: none;
    font-size: 27px;
    line-height: 1.28;
    padding: 0 20px;
    margin: 0 0 26px;
  }
  .nlc-big-c-yes .nlc-big { text-align: center; transform: none; left: auto !important; }

  .nlc-text {
    position: static;
    width: auto !important;
    transform: none;
    font-size: 16px;
    line-height: 1.5;
    padding: 0 20px;
    margin: 0 0 var(--nlc-text-mmb, 16px);
  }
  .nlc-text-c-yes .nlc-text { text-align: center; transform: none; left: auto !important; }

  .nlc-img {
    position: static;
    display: block;
    width: var(--nlc-img-mw, calc(100% - 40px)) !important;
    height: auto !important;
    margin: 0 auto 22px;
  }
  .nlc-root .nlc-img img { height: auto; }

  .nlc-btn {
    position: relative;
    left: auto !important;
    top: auto;
    display: block;
    width: calc(100% - 40px) !important;
    max-width: 405px;
    height: 58px !important;
    margin: 0 auto 10px;
  }
  .nlc-btn-label {
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 15px;
  }
  .nlc-btn-arrow {
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
  }

  .nlc-ab {
    position: static;
    display: block;
    width: 74px;
    margin: 0 20px 24px;
  }
  .nlc-root .nlc-ab img { width: 74px; }
  .nlc-ab-mc-yes .nlc-ab { margin: 0 auto 24px; }

  .nlc-lr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    margin-bottom: 18px;
  }
  .nlc-lr-text {
    position: static;
    font-size: 19px;
    white-space: normal;
  }
  .nlc-lr-arrow {
    position: static;
    width: 74px;
  }
  .nlc-root .nlc-lr-arrow img { width: 74px; }

  .nlc-tc {
    position: relative;
    left: auto !important;
    top: auto;
    width: calc(100% - 40px) !important;
    height: 560px !important;
    margin: 0 auto 20px;
  }
  .nlc-tc-crop2-yes .nlc-tc-img {
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .nlc-tc-title { left: 24px; top: 30px; font-size: 19px; line-height: 24px; }
  .nlc-tc-body { left: 24px; top: 140px; width: calc(100% - 48px); font-size: 15px; line-height: 20px; }
  .nlc-tc-arrow { left: auto; right: 20px; top: auto; bottom: 130px; width: 74px; }
  .nlc-root .nlc-tc-arrow img { width: 74px; }
  .nlc-tc-bar, .nlc-tc-bar-label { height: 118px !important; }
  .nlc-tc-bar-label { font-size: 18px; line-height: 23px; }

  .nlc-nc {
    position: relative;
    left: auto !important;
    top: auto;
    width: calc(100% - 40px) !important;
    height: 430px !important;
    margin: 0 auto 20px;
    overflow: hidden;
  }
  .nlc-nc-title {
    left: 50% !important;
    top: 66px !important;
    width: 100%;
    font-size: 27px;
    line-height: 33px;
    white-space: normal;
  }
  .nlc-nc-text {
    left: 50% !important;
    top: 172px !important;
    width: min(280px, 84%) !important;
  }
  .nlc-nc-arrow {
    left: 50% !important;
    top: auto !important;
    bottom: 44px;
    transform: translateX(-50%);
    width: 74px;
  }
  .nlc-root .nlc-nc-arrow img { width: 74px; }

  /* quote mode mobile: όπως το πρωτότυπο .k-card / .b-quote-card */
  .nlc-nc-bl-yes .nlc-nc,
  .nlc-nc-qm-yes .nlc-nc {
    height: auto !important;
    padding: 30px 26px;
  }
  .nlc-nc-bl-yes .nlc-nc-text,
  .nlc-nc-qm-yes .nlc-nc-text {
    position: static !important;
    width: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none;
  }
  .nlc-nc-qm-yes .nlc-nc-title {
    position: static !important;
    width: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none;
    margin-bottom: 10px;
  }
}


/* Methodology container: bg στο φυσικό πλάτος (scaled), όχι cover —
   το cover του e-con μεγεθύνει όταν το container είναι ψηλότερο από 1230 */
@media (min-width: 768px) {
  .nlh-method-bg {
    background-size: 100% auto !important;
    background-position: top center !important;
  }
}

/* ΕΞΟΙΚΟΝΟΜΩ (page 48): το πρωτότυπο δεν έχει mix-blend στοιχεία,
   άρα αποδίδεται με subpixel AA — αφαιρούμε το will-change εδώ
   ώστε το κείμενο να αποδίδεται πανομοιότυπα */
body.nlh-lcd .nlh-canvas,
body.nlh-lcd .nlc-st-label,
body.nlh-lcd .nlc-big,
body.nlh-lcd .nlc-text,
body.nlh-lcd .nlc-btn,
body.nlh-lcd .nlc-lr,
body.nlh-lcd .nlc-tc,
body.nlh-lcd .nlc-nc,
body.nlh-lcd .nlf-col,
body.nlh-lcd .nlf-news,
body.nlh-lcd .nlf-copyright,
body.nlh-lcd .nlf-logo,
body.nlh-lcd .nlh-hero-title,
body.nlh-lcd .nlh-hero-sub,
body.nlh-lcd .nlh-hero-cta,
body.nlh-lcd .nlh-hero-badge img,
body.nlh-lcd .nlh-sec {
  will-change: auto !important;
}

/* =====================================================
   ΦΟΡΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ (nlq-) — 1:1 με το .c-form του epikoinonia.html
   ===================================================== */

.nlq-form {
  position: absolute;
  left: 286px;
  top: var(--nlc-gap);
  width: 1028px;
  height: 773px;
  background: var(--nlq-bg, #403f3f);
  border-radius: 12px;
  margin: 0;
  padding: 0;
  border: none;
}
.nlq-form * { box-sizing: border-box; }

.nlq-form .nlq-h {
  position: absolute;
  left: 58px;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 21px;
  font-weight: 600;
  color: var(--nlq-color, #fff);
  line-height: normal;
  white-space: nowrap;
}
.nlq-form .nlq-h1 { top: 49px; }
.nlq-form .nlq-h2 { top: 322px; }

.nlq-form .nlq-in {
  position: absolute;
  background: transparent;
  border: 1px solid var(--nlq-border, #fff);
  border-radius: 10px;
  padding: 0 19px;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: var(--nlq-color, #fff);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.nlq-form .nlq-in::placeholder {
  color: var(--nlq-color, #fff);
  opacity: 1;
}
.nlq-form .nlq-name    { left: 38px;     top: 101px; width: 464.218px; height: 51px; }
.nlq-form .nlq-surname { left: 531.67px; top: 101px; width: 455.326px; height: 51px; }
.nlq-form .nlq-role    { left: 38px;     top: 188px; width: 464.218px; height: 51px; }
.nlq-form .nlq-email   { left: 531.67px; top: 188px; width: 455.326px; height: 51px; }
.nlq-form .nlq-desc {
  left: 38px;
  top: 371px;
  width: 949px;
  height: 225px;
  padding: 17px 19px;
  resize: none;
}

.nlq-form .nlq-submit {
  position: absolute;
  left: 737px;
  top: 630px;
  width: 250px;
  height: 100.08px;
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  cursor: pointer;
  text-align: left;
  -webkit-appearance: none;
  appearance: none;
}
.nlq-form .nlq-submit-label {
  position: absolute;
  left: 0;
  top: 37px;
  width: 178px;
  font-family: 'Inter', sans-serif;
  font-size: 21px;
  font-weight: 600;
  color: var(--nlq-color, #fff);
  line-height: normal;
  text-transform: uppercase;
}
.nlq-form .nlq-submit img {
  position: absolute;
  right: 0;
  top: 0;
  width: 100.08px;
  height: 100.08px;
  /* Figma: outline κύκλος + βέλος › (ΔΕΞΙΑ). Το SVG export έχει το chevron
     αριστερά (το Figma group έχει horizontal flip) → scaleX(-1) το γυρίζει. */
  transform: scaleX(-1);
  border: none;
  display: block;
  max-width: none;
}

@media (max-width: 767px) {
  .nlq-form {
    position: relative;
    left: auto !important;
    top: auto;
    width: calc(100% - 40px) !important;
    height: auto !important;
    margin: 24px auto 0;
    padding: 26px 20px 30px;
  }
  .nlq-form .nlq-h {
    position: static;
    white-space: normal;
    margin: 4px 0 14px;
    font-size: 19px;
  }
  .nlq-form .nlq-in {
    position: static;
    display: block;
    width: 100% !important;
    height: 51px;
    margin-bottom: 14px;
  }
  .nlq-form .nlq-desc { height: 180px !important; }
  .nlq-form .nlq-submit {
    position: static;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    width: 100%;
    height: auto;
    margin-top: 8px;
  }
  .nlq-form .nlq-submit-label { position: static; width: auto; }
  .nlq-form .nlq-submit img {
    position: static;
    width: 74px;
    height: 74px;
  }
}


/* =====================================================
   CHIP ΦΙΛΤΡΟΥ + λεπτομέρειες ΕΡΓΑ/ΕΡΓΟ
   ===================================================== */

.nlc-text strong { font-weight: 600; }

/* κάρτα με περίγραμμα (Στοιχεία Έργου) */
.nlc-nc {
  border: var(--nlc-nc-bw, 0px) solid var(--nlc-nc-bc, transparent);
}

.nlc-chip {
  position: absolute;
  left: 323px;
  top: var(--nlc-gap);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 7px 28px 7px 29px;
  border-radius: 8px;
  background: var(--nlc-chip-bg, #fff);
  border: 1px solid var(--nlc-chip-bc, #000);
  font-size: 18px;
  font-weight: 600;
  color: var(--nlc-chip-color, #000);
  line-height: normal;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.nlc-chip-a-yes .nlc-chip {
  background: var(--nlc-chip-bg, #000);
  border-color: var(--nlc-chip-bc, #000);
  color: var(--nlc-chip-color, #fff);
}

@media (max-width: 767px) {
  .nlc-chip {
    position: static;
    display: inline-flex;
    margin: 0 0 10px 20px;
  }
}


/* =====================================================
   ELEMENTOR EDITOR: χωρίς γκρι "empty" placeholders στα δικά μας
   widgets (το ύψος έρχεται από JS αμέσως μετά το render)
   ===================================================== */
.elementor-widget[class*="elementor-widget-nlh_"].elementor-widget-empty {
  background: none !important;
  min-height: 0 !important;
}
.elementor-widget[class*="elementor-widget-nlh_"] .elementor-widget-empty-icon {
  display: none !important;
}


/* =====================================================
   v2.0 — NATIVE ELEMENTOR POSITIONING
   Sections: containers 1920px που κλιμακώνονται (JS: scale + margin
   compensation). Widgets: Elementor Position:Absolute + custom width —
   το wrapper αγκαλιάζει ακριβώς το περιεχόμενο (editor-perfect).
   ===================================================== */

/* όπως το πρωτότυπο styles.css: το 1920px section ΔΕΝ πρέπει να
   δεσμεύει οριζόντιο scrollbar πριν τρέξει το JS scale */
html, body {
  overflow-x: hidden; /* fallback για παλιούς browsers */
  overflow-x: clip;   /* κόβει ΧΩΡΙΣ να γίνεται scroll container (όχι 2η μπάρα) */
}

.nlh-sec {
  position: relative;
  width: 1920px !important;
  max-width: none !important;
  transform-origin: top left;
  will-change: transform;
}

@media (min-width: 768px) {
  .nlc-flat { position: relative; }
  .nlc-flat.nlc-st { height: 38px; }
  .nlc-flat.nlc-lrw { height: 100.08px; }
  .nlc-flat .nlc-text,
  .nlc-flat .nlc-big {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    transform: none !important;
  }
  .nlc-flat .nlc-img {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
  }
  /* :not(.nlo-more) — το κουμπί «ΔΕΙΤΕ ΠΕΡΙΣΣΟΤΕΡΑ» του listing κρατά το
     δικό του πλάτος (306px, κεντραρισμένο)· το flat 100% το τέντωνε full-width */
  .nlc-flat .nlc-btn:not(.nlo-more),
  .nlc-flat .nlq-form,
  .nlc-flat .nlc-tc,
  .nlc-flat .nlc-nc {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
  }
  .nlc-flat .nlc-ab,
  .nlc-flat .nlc-chip {
    position: static !important;
    left: auto !important;
    top: auto !important;
  }
  .nlc-flat .nlc-ab { display: inline-block; }
}

@media (max-width: 767px) {
  /* sections & widgets πίσω σε κανονική ροή στο mobile */
  .nlh-sec {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    transform: none !important;
    margin-bottom: 0 !important;
  }
  .nlh-sec .nlh-row, .nlh-sec .nlh-collage { height: auto !important; }
  .nlh-sec .elementor-element {
    position: static !important;
    /* 100%, ΟΧΙ auto: flex item με auto = max-content => ξεχείλωμα */
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    margin: 0 !important;
  }
}


/* =====================================================
   v2.1 — MOBILE MENU FIXES
   Το offcanvas panel/backdrop βγαίνουν ΕΚΤΟΣ του .nlh-root (τα CSS vars
   του root δεν το φτάνουν) → ρητά fallbacks + απομόνωση από theme styles.
   ===================================================== */

.nlh-mobile-nav { background: var(--nlh-panel-bg, #262525); }
.nlh-mn-logo {
  position: absolute;
  top: 22px;
  left: 28px;
  display: block;
  line-height: 0;
}
.nlh-mobile-nav .nlh-mn-logo img {
  /* το logo.svg δεν έχει intrinsic ratio — ρητές διαστάσεις (όπως στο bar) */
  width: 84px;
  height: 46px;
  display: block;
}
/* χώρος για τη «μπάρα» logo/✕ πριν τα links */
.nlh-mobile-nav { padding-top: 100px; }
.nlh-mobile-nav-close,
.nlh-mobile-nav-close:hover,
.nlh-mobile-nav-close:focus {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--nlh-mn-color, #fff) !important;
}
/* specificity 0-2-0 + !important: κανένα theme/kit «x a» rule δεν τα σκουραίνει */
.nlh-mobile-nav .nlh-mn-link {
  color: var(--nlh-mn-color, #fff) !important;
  opacity: 1;
}
.nlh-mobile-nav .nlh-mn-link:hover { opacity: 0.8; }
.nlh-mobile-nav .nlh-mn-sub a { color: rgba(255, 255, 255, 0.75) !important; }
.nlh-mobile-nav .nlh-mn-sub a:hover { color: var(--nlh-mn-color, #fff) !important; }
.nlh-mobile-nav .nlh-mn-lang span,
.nlh-mobile-nav .nlh-mn-lang a { color: var(--nlh-mn-color, #fff) !important; }

.nlh-burger,
.nlh-burger:hover,
.nlh-burger:focus,
.nlh-burger:active {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}
.nlh-burger span { background: #fff !important; }

@media (max-width: 767px) {
  .nlh-header { width: auto !important; }
}

/* =====================================================
   v2.1 — CPT ΕΡΓΩΝ: ΛΙΣΤΑ (nlo-listing)
   Chips φίλτρων + grid 3 στηλών + κουμπί, 1:1 με τη σελίδα ΕΡΓΑ
   (Figma 28:2368). Flow layout ώστε να προσαρμόζεται σε Ν έργα.
   ===================================================== */

.nlo-listing {
  position: relative;
  width: 100%;
  font-family: 'Inter', sans-serif;
  padding-bottom: 141px;
}
.nlo-listing *, .nlo-view * { margin: 0; padding: 0; box-sizing: border-box; }
.nlo-listing img, .nlo-view img { display: block; border: none; max-width: none; }
.nlo-listing a { text-decoration: none; }

.nlo-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 100px 0 323px;
}
/* specificity 0-2-0: πρέπει να νικά το βασικό .nlc-root a{color:inherit} (0-1-1) */
.nlo-listing .nlo-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 7px 28px 7px 29px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid var(--nlo-chip-c, #000);
  font-size: 18px;
  font-weight: 600;
  color: var(--nlo-chip-c, #000);
  line-height: normal;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.nlo-listing .nlo-chip-on,
.nlo-listing .nlo-chip:hover {
  background: var(--nlo-chip-abg, #000);
  border-color: var(--nlo-chip-abg, #000);
  color: var(--nlo-chip-ac, #fff);
}
/* item 02: πολύ μακρύ chip σε 2 αράδες (ΒΙΟΜΗΧΑΝΙΚΕΣ & ΕΠΑΓΓΕΛΜΑΤΙΚΕΣ ΚΑΤΑΣΚΕΥΕΣ) */
.nlo-listing .nlo-chip-2l {
  white-space: normal;
  height: auto;
  min-height: 36px;
  padding-top: 3px;
  padding-bottom: 3px;
  line-height: 1.12;
  text-align: center;
}
.nlo-chips { align-items: flex-start; }

.nlo-grid {
  display: grid;
  grid-template-columns: 500px 501px 500px;
  column-gap: 48px;
  row-gap: 66.8px;
  margin: 141px 0 0 161px;
  width: 1597px;
}
.nlo-listing .nlo-card { display: block; color: var(--nlo-cap-c, #000); }
.nlo-card-img {
  display: block;
  width: 100%;
  height: 500px;
  border-radius: 10px;
  overflow: hidden;
}
.nlo-card-img img { width: 100%; height: 100%; object-fit: cover; }
.nlo-listing .nlo-card-cap {
  display: block;
  margin-top: 43px;
  text-align: center;
  font-size: 21px;
  font-weight: 400;
  line-height: 25.41px;
  color: var(--nlo-cap-c, #000);
}
.nlo-card-cap strong { font-weight: 600; }

.nlo-morew { margin-top: 85.77px; }
.nlo-morew .nlc-btn {
  position: relative;
  display: block;
  left: auto;
  top: auto;
  width: 306px;
  margin: 0 auto;
}

/* ---- Κενό αποτέλεσμα φίλτρου ---- */
.nlo-empty[hidden] { display: none; }
.nlo-empty {
  margin: 141px 161px 0;
  min-height: 466px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 20px;
  animation: nlo-empty-in 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@keyframes nlo-empty-in {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: none; }
}
.nlo-empty-ic {
  width: 92px;
  height: 92px;
  margin-bottom: 30px;
  color: var(--nlo-empty-ic, #c9c9c9);
}
.nlo-empty-ic svg { width: 100%; height: 100%; display: block; }
.nlo-listing .nlo-empty-title {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nlo-empty-title, #1a1a1a);
}
.nlo-listing .nlo-empty-text {
  margin-top: 14px;
  max-width: 620px;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--nlo-empty-text, #6a6a6a);
}
.nlo-listing .nlo-empty-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 36px;
  height: 62px;
  padding: 0 22px 0 36px;
  border-radius: 34px;
  background: var(--nlo-empty-btn-bg, #938f29);
  color: var(--nlo-empty-btn-c, #fff);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.25s ease, filter 0.25s ease;
  box-shadow: 0 10px 24px -12px rgba(0, 0, 0, 0.5);
}
.nlo-listing .nlo-empty-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px -12px rgba(0, 0, 0, 0.55);
  filter: brightness(1.06);
}
.nlo-empty-btn-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  transition: transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.nlo-empty-btn-arrow svg { width: 22px; height: 22px; display: block; }
.nlo-listing .nlo-empty-btn:hover .nlo-empty-btn-arrow { transform: translateX(4px); }

/* =====================================================
   v2.1 — CPT ΕΡΓΩΝ: ΠΑΡΟΥΣΙΑΣΗ (nlo-view)
   1:1 με το design ΕΡΓΟ ΣΕΛΙΔΑ (Figma 28:2519) σε flow layout —
   τα κείμενα κάθε έργου αλλάζουν και οι ενότητες ακολουθούν.
   ===================================================== */

.nlo-view {
  position: relative;
  width: 100%;
  padding-top: 274px;
  font-family: 'Inter', sans-serif;
  color: var(--nlo-v-tc, #000);
}
.nlo-view a { text-decoration: none; color: inherit; }

.nlo-v-sechead { position: relative; height: 36px; }
.nlo-v-label {
  display: block;
  margin-left: 323px;
  font-size: 21px;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--nlo-v-lc, #000);
}
.nlo-v-line {
  position: absolute;
  left: 2px;
  top: 34px;
  width: 438px;
  height: 2px;
  background: var(--nlo-v-lc, #000);
}

.nlo-v-intro {
  margin: 41px 323px 0;
  width: 1274px;
  font-size: 48px;
  font-weight: 400;
  line-height: 58.09px;
  word-break: break-word;
}

.nlo-v-hero { position: relative; margin-top: 93.73px; min-height: 952px; }
.nlo-v-main {
  display: block;
  margin-left: 160px;
  width: 952px;
  height: 952px;
  border-radius: 10px;
  overflow: hidden;
}
.nlo-v-main img { width: 100%; height: 100%; object-fit: cover; }

.nlo-v-card {
  position: absolute;
  left: 1204px;
  top: 5px;
  width: 481px;
  min-height: 580px;
  background: #fff;
  border: 1px solid var(--nlo-v-cb, #000);
  border-radius: 12px;
  padding: 34px 40px 63px 50px;
}
.nlo-v-card h3 {
  font-size: 28px;
  font-weight: 600;
  line-height: 33.89px;
  color: var(--nlo-v-tc, #000);
}
.nlo-v-dt {
  margin: 41.1px 0 0 3px;
  font-size: 18px;
  font-weight: 600;
  line-height: 21.78px;
  text-transform: uppercase;
}
.nlo-v-dv {
  margin: 11.2px 0 0 3px;
  font-size: 18px;
  font-weight: 500;
  line-height: 21.78px;
  white-space: pre-wrap;
}

.nlo-v-gal {
  position: relative;
  margin: 37px 0 0 160px;
  display: flex;
  gap: 45px;
}
.nlo-v-g1, .nlo-v-g2 {
  display: block;
  height: 454px;
  border-radius: 10px;
  overflow: hidden;
}
.nlo-v-g1 { width: 453px; }
.nlo-v-g2 { width: 454px; }
.nlo-v-g1 img, .nlo-v-g2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.25s ease;
}
.nlo-v-arrows {
  position: absolute;
  left: 1044px;
  top: 176px;
  width: 228.08px;
  height: 101.07px;
  background-repeat: no-repeat;
  background-size: contain;
}
.nlo-v-arrows button {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.nlo-v-prev { left: 0; }
.nlo-v-next { right: 0; }

.nlo-v-bodyhead { margin-top: 116px; }
.nlo-v-body {
  margin: 31px 0 0 326px;
  width: 789px;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
  white-space: pre-wrap;
}
.nlo-v-wide {
  display: block;
  margin: 80px 0 0 326px;
  width: 1271px;
  height: 603px;
  border-radius: 10px;
  overflow: hidden;
}
.nlo-v-wide img { width: 100%; height: 100%; object-fit: cover; }

.nlo-v-reshead {
  margin: 86px 0 0 323px;
  font-size: 21px;
  font-weight: 600;
  line-height: 25.41px;
  text-transform: uppercase;
  color: var(--nlo-v-lc, #000);
}
.nlo-v-result {
  margin: 21.6px 0 0 326px;
  width: 789px;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
  white-space: pre-wrap;
}

.nlo-v-links { position: relative; margin-top: 62px; height: 301px; }
.nlo-v-link { position: absolute; top: 0; right: 162.42px; height: 100.08px; display: block; }
.nlo-v-link img { width: 100.08px; height: 100.08px; transform: rotate(180deg); }
.nlo-v-link-t {
  position: absolute;
  right: 124.58px;
  top: 37.5px;
  font-size: 21px;
  font-weight: 600;
  line-height: 25.41px;
  white-space: nowrap;
}
.nlo-v-link:hover { opacity: 0.85; }
.nlo-v-link2 { top: 150.5px; }
/* «ΟΛΑ ΤΑ ΕΡΓΑ»: βέλος ΔΕΞΙΑ — το SVG δείχνει native δεξιά, οπότε αναιρούμε
   το rotate(180deg) του .nlo-v-link img (που κρατά το αριστερό βέλος στο
   «ΠΕΡΙΣΣΟΤΕΡΑ ΕΡΓΑ»). Ίδια specificity, δηλώνεται μετά -> νικά. */
.nlo-v-link2 img { transform: none; }

/* ---------- mobile ---------- */
@media (max-width: 767px) {
  .nlh-sec:has(.nlo-listing),
  .nlh-sec:has(.nlo-view) { padding-top: 76px !important; }

  .nlo-listing { padding-bottom: 44px; }
  .nlo-chips { margin: 16px 20px 0; gap: 10px; }
  .nlo-chip {
    /* τουβλάκια: αυτόματο πακετάρισμα, τα μακριά τυλίγουν σε 2 γραμμές */
    height: auto;
    min-height: 32px;
    max-width: 100%;
    padding: 6px 14px;
    font-size: 13px;
    white-space: normal;
    text-align: center;
    line-height: 1.3;
  }
  .nlo-grid { display: block; margin: 26px 20px 0; width: auto; }
  .nlo-card { margin-bottom: 30px; }
  .nlo-card-img { height: auto; aspect-ratio: 1 / 1; }
  .nlo-card-cap { margin-top: 12px; font-size: 17px; line-height: 1.4; }
  .nlo-morew { margin: 6px 20px 0; }
  .nlo-morew .nlc-btn { width: 100%; max-width: 340px; height: 58px; }

  .nlo-empty { margin: 40px 20px 0; min-height: 0; padding: 20px 0 10px; }
  .nlo-empty-ic { width: 68px; height: 68px; margin-bottom: 20px; }
  .nlo-listing .nlo-empty-title { font-size: 24px; }
  .nlo-listing .nlo-empty-text { font-size: 16px; margin-top: 10px; }
  .nlo-listing .nlo-empty-btn { height: 56px; padding: 0 16px 0 28px; font-size: 15px; margin-top: 28px; }
  .nlo-empty-btn-arrow { width: 34px; height: 34px; }
  .nlo-empty-btn-arrow svg { width: 19px; height: 19px; }

  .nlo-view { padding-top: 20px; }
  .nlo-v-sechead { height: auto; padding-bottom: 14px; }
  .nlo-v-label { margin-left: 20px; font-size: 16px; white-space: normal; }
  .nlo-v-line { top: auto; bottom: 0; left: 0; width: 220px; }
  .nlo-v-intro { margin: 18px 20px 0; width: auto; font-size: 26px; line-height: 1.25; }
  .nlo-v-hero { margin-top: 22px; min-height: 0; }
  .nlo-v-main { margin: 0 20px; width: calc(100% - 40px); height: auto; aspect-ratio: 1 / 1; }
  .nlo-v-card {
    position: static;
    width: calc(100% - 40px);
    margin: 22px auto 0;
    min-height: 0;
    padding: 22px 20px 26px;
  }
  .nlo-v-card h3 { font-size: 22px; line-height: 1.3; }
  .nlo-v-dt { margin: 18px 0 0; font-size: 15px; }
  .nlo-v-dv { margin: 6px 0 0; font-size: 15px; line-height: 1.45; }
  .nlo-v-gal { margin: 22px 20px 0; display: block; }
  .nlo-v-g1, .nlo-v-g2 { width: 100%; height: auto; aspect-ratio: 1 / 1; margin-bottom: 16px; }
  .nlo-v-arrows { position: static; margin: 0 auto; width: 170px; height: 76px; background-position: center; }
  .nlo-v-bodyhead { margin-top: 26px; }
  .nlo-v-body { margin: 14px 20px 0; width: auto; font-size: 16px; line-height: 1.5; }
  .nlo-v-wide { margin: 24px 20px 0; width: calc(100% - 40px); height: auto; aspect-ratio: 1271 / 603; }
  .nlo-v-reshead { margin: 30px 20px 0; font-size: 16px; }
  .nlo-v-result { margin: 12px 20px 0; width: auto; font-size: 16px; line-height: 1.5; }
  .nlo-v-links { height: auto; margin: 26px 0 10px; }
  .nlo-v-link {
    position: relative;
    right: auto;
    top: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    margin-bottom: 16px;
  }
  .nlo-v-link img { width: 64px; height: 64px; }
  .nlo-v-link-t { position: static; font-size: 17px; white-space: normal; }
}


/* =====================================================
   v3.0 — FLOW MODE (Elementor-native ροή, ΟΧΙ absolute)
   Τα widgets κάθονται σε flex ροή με native margins· το slot ύψος
   (nlc_h) αναπαράγει την ακριβή κάθετη αλυσίδα του 1920 design.
   Rows/columns = κανονικά nested containers (.nlh-row / .nlh-col).
   ===================================================== */

.nlc-flow { position: relative; }

/* flex column με σταθερό section ύψος: ΠΟΤΕ shrink/grow — η ροή
   συμπεριφέρεται σαν block stacking (όπως το absolute layout) */
.nlh-sec .elementor-element {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
}

/* row/column containers μέσα στα scaled sections */
.nlh-row, .nlh-col { position: relative; }
.nlh-sec .nlh-row, .nlh-sec .nlh-collage {
  height: var(--min-height, auto);
}
/* legacy semantics: τα sections έχουν ΣΤΑΘΕΡΟ design ύψος — περιεχόμενο
   που ξεχειλίζει (διακοσμητικά) φαίνεται, δεν τεντώνει το section */
.nlh-sec:not(.nlh-sec-auto) {
  height: var(--min-height, auto);
}
.nlh-collage { position: relative; }

@media (max-width: 767px) {
  /* κολάζ: τα τοπικά absolute στοιχεία γυρίζουν σε ροή */
  .nlh-collage .elementor-element {
    position: static !important;
    width: auto !important;
    left: auto !important;
    top: auto !important;
  }
}

@media (max-width: 767px) {
  /* mobile: κανονική fluid ροή — τα slots/στήλες μηδενίζονται,
     τα inner mobile styles των widgets αναλαμβάνουν */
  .nlc-flow {
    height: auto !important;
    min-height: 0 !important;
  }
  .nlh-row, .nlh-col {
    min-height: 0 !important;
    width: 100% !important;
    max-width: none !important;
    /* flex-start + width:auto παιδιά = μηδενικό πλάτος στο mobile */
    align-items: stretch !important;
  }
  .nlh-row { flex-direction: column !important; }
}

/* =====================================================
   v3.0 — SLIDER ΕΡΓΩΝ (nlo-slider) για αρχική/κατοικία/βιομηχανία
   1:1 με το τμήμα ΕΡΓΑ (φωτό 726×414 + λεζάντα + 2 κυκλικά βελάκια
   από το layer-1-badge.svg ως ΞΕΧΩΡΙΣΤΑ λειτουργικά κουμπιά).
   ===================================================== */

.nlo-slider {
  position: relative;
  width: 100%;
  font-family: 'Inter', sans-serif;
}
.nlo-sl-photo {
  display: block;
  width: var(--nlo-sl-w, 726px);
  height: var(--nlo-sl-h, 414px);
  border-radius: 10px;
  overflow: hidden;
}
.nlo-sl-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.28s ease;
}
.nlo-sl-cap {
  margin-top: 31px;
  font-size: 18px;
  font-weight: 500;
  line-height: 21.78px;
  text-transform: uppercase;
  color: var(--nlo-sl-cap, #000);
  white-space: nowrap;
  transition: opacity 0.28s ease;
}
.nlo-slider .nlo-sl-prev,
.nlo-slider .nlo-sl-next {
  position: absolute;
  top: var(--nlo-sl-ay, 313px);
  width: var(--nlo-sl-asz, 101.07px);
  height: var(--nlo-sl-asz, 101.07px);
  background-color: transparent !important;
  background-image: var(--nlo-sl-arrows);
  background-repeat: no-repeat;
  background-size: calc(var(--nlo-sl-asz, 101.07px) * 2.25665) var(--nlo-sl-asz, 101.07px);
  border: none !important;
  box-shadow: none !important;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.nlo-slider .nlo-sl-prev {
  left: var(--nlo-sl-ax, 809px);
  background-position: 0 0;
}
.nlo-slider .nlo-sl-next {
  left: calc(var(--nlo-sl-ax, 809px) + var(--nlo-sl-asz, 101.07px) * 1.25665);
  background-position: calc(var(--nlo-sl-asz, 101.07px) * -1.25665) 0;
}
.nlo-slider .nlo-sl-prev:hover,
.nlo-slider .nlo-sl-next:hover { transform: scale(1.06); }
.nlo-slider .nlo-sl-prev:active,
.nlo-slider .nlo-sl-next:active { transform: scale(0.97); }

@media (max-width: 767px) {
  .nlo-sl-photo {
    width: calc(100% - 40px);
    height: auto;
    aspect-ratio: 726 / 414;
    margin: 0 auto;
  }
  .nlo-sl-cap {
    margin: 14px 20px 0;
    font-size: 15px;
    white-space: normal;
  }
  .nlo-slider .nlo-sl-prev,
  .nlo-slider .nlo-sl-next {
    position: static;
    display: inline-block;
    margin: 16px 0 0 calc(50% - var(--nlo-sl-asz, 64px) - 8px);
  }
  .nlo-slider .nlo-sl-next { margin-left: 16px; }
}


/* ===== v3.1.8 / v3.3.5 — mobile CTA κουμπιά: flex + reserved arrow space
   ώστε το βέλος να ΜΗΝ πέφτει ΠΟΤΕ πάνω στο κείμενο, ακόμα και με μακριά
   λεζάντα (τυλίγει σε 2 γραμμές, το κουμπί μεγαλώνει καθ' ύψος). ===== */
@media (max-width: 767px) {
  .nlc-btn:not(.nlo-more) {
    margin-top: 26px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: auto !important;
    min-height: 58px;
    /* δεξί padding = χώρος βέλους (18 + ~24 κύκλος + 12 αναπνοή) */
    padding: 9px 54px 9px 18px;
    box-sizing: border-box;
  }
  .nlc-btn:not(.nlo-more) .nlc-btn-label {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-align: center;
    line-height: 1.25;
  }
  .nlc-btn:not(.nlo-more) .nlc-btn-arrow {
    left: auto !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}


/* =====================================================
   v3.3 — ΕΝΔΕΙΚΤΙΚΑ ΕΡΓΑ (CASE STUDIES, nlo-cs)
   Δυναμικό widget 1:1 με το τμήμα της σελίδας Εξοικονομώ.
   Slot-μοντέλο: min-heights αναπαράγουν ακριβώς το design όταν
   τα κείμενα χωράνε, και τα blocks μεγαλώνουν όταν ξεπερνούν.
   ===================================================== */

.nlo-cs {
  width: 100%;
  padding-left: var(--nlo-cs-pl, 323px);
  padding-bottom: var(--nlo-cs-tail, 66px);
  font-family: 'Inter', sans-serif;
  box-sizing: border-box;
}
.nlo-cs-item {
  min-height: var(--nlo-cs-pitch, 1106px);
  box-sizing: border-box;
}
.nlo-cs-t {
  font-size: 21px;
  font-weight: 600;
  line-height: 25.41px;
  color: var(--nlo-cs-ttc, #000);
  margin-bottom: 33.59px;
}
.nlo-cs-phw {
  position: relative;
  width: var(--nlo-cs-pw, 950px);
  height: var(--nlo-cs-phh, 527px);
  margin-left: 3px;
  margin-bottom: 73px;
}
.nlo-cs-photo {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
}
.nlo-cs-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.28s ease;
}
.nlo-cs .nlo-cs-prev,
.nlo-cs .nlo-cs-next {
  position: absolute;
  top: var(--nlo-cs-ay, 426px);
  width: var(--nlo-cs-asz, 101.07px);
  height: var(--nlo-cs-asz, 101.07px);
  background-color: transparent !important;
  background-image: var(--nlo-cs-arrows);
  background-repeat: no-repeat;
  background-size: calc(var(--nlo-cs-asz, 101.07px) * 2.25665) var(--nlo-cs-asz, 101.07px);
  border: none !important;
  box-shadow: none !important;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.nlo-cs .nlo-cs-prev {
  left: var(--nlo-cs-ax, 1207px);
  background-position: 0 0;
}
.nlo-cs .nlo-cs-next {
  left: calc(var(--nlo-cs-ax, 1207px) + var(--nlo-cs-asz, 101.07px) * 1.25665);
  background-position: calc(var(--nlo-cs-asz, 101.07px) * -1.25665) 0;
}
.nlo-cs .nlo-cs-prev:hover,
.nlo-cs .nlo-cs-next:hover { transform: scale(1.06); }
.nlo-cs .nlo-cs-prev:active,
.nlo-cs .nlo-cs-next:active { transform: scale(0.97); }
.nlo-cs-head {
  font-size: 28px;
  font-weight: 600;
  line-height: 24px;
  color: var(--nlo-cs-hc, #bb032b);
  min-height: 24px;
  margin-bottom: 14px;
}
.nlo-cs-body {
  width: var(--nlo-cs-tw, 441px);
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
  color: var(--nlo-cs-tc, #000);
  white-space: pre-wrap;
  min-height: 48px;
  margin-bottom: 34px;
}
.nlo-cs-body.nlo-cs-last {
  /* το slot του τελευταίου κειμένου περιέχει και το κενό ως το επόμενο
     case (169 = 72 κείμενο + 97 gap) — απορροφά έως ~7 γραμμές πριν
     μεγαλώσει το case, όπως ακριβώς το static design */
  min-height: 169px;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .nlo-cs {
    padding-left: 0;
    padding-bottom: 0;
  }
  .nlo-cs-item {
    min-height: 0;
    padding: 0 20px 36px;
  }
  .nlo-cs-t {
    font-size: 17px;
    line-height: 1.3;
    margin-bottom: 14px;
  }
  .nlo-cs-phw {
    width: 100%;
    height: auto;
    margin-left: 0;
    margin-bottom: 22px;
  }
  .nlo-cs-photo {
    aspect-ratio: 950 / 527;
    height: auto;
  }
  .nlo-cs .nlo-cs-prev,
  .nlo-cs .nlo-cs-next {
    position: static;
    display: inline-block;
    margin: 16px 0 0 calc(50% - var(--nlo-cs-asz, 64px) - 8px);
  }
  .nlo-cs .nlo-cs-next { margin-left: 16px; }
  .nlo-cs-head {
    font-size: 21px;
    line-height: 1.3;
    min-height: 0;
    margin: 0 0 6px;
  }
  .nlo-cs-body {
    width: 100%;
    font-size: 15.5px;
    line-height: 1.5;
    min-height: 0;
    margin-bottom: 18px;
  }
  .nlo-cs-body.nlo-cs-last { min-height: 0; margin-bottom: 0; }
}

/* ===== v3.3 — single έργο: κλικ σε φωτό του gallery την ανεβάζει κύρια ===== */
.nlo-view .nlo-v-main img { transition: opacity 0.28s ease; }
.nlo-view .nlo-v-g1 img,
.nlo-view .nlo-v-g2 img { cursor: pointer; }


/* =====================================================
   v3.3.3 — NL Εικόνα: video, overlay, hover εφέ
   ===================================================== */

.nlc-root .nlc-img video {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
}
.nlc-img img,
.nlc-img video {
  transition: transform 0.6s ease, filter 0.4s ease, opacity 0.3s ease;
}
.nlc-img-ov {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: transparent;
  transition: background 0.3s ease;
}
.nlc-vid-fb { display: none; }

/* το flat/static .nlc-img γίνεται relative (ίδια θέση — left/top auto)
   ώστε το overlay να αγκυρώνει σωστά */
@media (min-width: 768px) {
  .nlc-flat .nlc-img { position: relative !important; }
}
@media (max-width: 767px) {
  /* relative (για το overlay) ΧΩΡΙΣ να ενεργοποιηθούν τα desktop left/top
     (το x control γράφει left στο post-CSS — θέλει !important) */
  .nlc-img { position: relative; left: auto !important; top: auto !important; }
  .nlc-vid-desktop { display: none !important; }
  .nlc-vid-fb { display: block; }
  .nlc-root .nlc-img video { height: auto; }
}

/* =====================================================
   Η ΟΜΑΔΑ ΜΑΣ — δυναμικό widget nlh_team (CPT «Ομάδα»)
   Desktop: absolute μέσα στον 1920 καμβά (κλιμάκωση με το .nlh-sec)
   Mobile:  κάθετη στοίβα (η γκρι κάρτα κρύβεται) — ίδιο view με το στατικό
   ===================================================== */
.nlt-team { position: relative; }
.nlt-el { position: absolute; }
.nlt-card { background: #d9d9d9; border-radius: 12px; }
.nlt-photo { display: block; overflow: hidden; border-radius: 10px; }
.nlt-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nlt-txt {
  margin: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
  color: #000;
  white-space: pre-wrap;
}
.nlt-mname { text-align: center; }

/* v3.11 — ΟΝΟΜΑ πάνω, ΙΔΙΟΤΗΤΑ από κάτω.
   Πριν ήταν ενωμένα με κενό στην ίδια ροή κειμένου, οπότε η ιδιότητα
   «κολλούσε» στο τέλος της τελευταίας γραμμής του ονόματος και το σημείο
   αλλαγής γραμμής άλλαζε ανά μέλος (ανάλογα με το μήκος). Ως blocks, το
   σπάσιμο είναι ΠΑΝΤΑ στο ίδιο σημείο, σε κάθε πλάτος και στις 2 γλώσσες. */
.nlt-n,
.nlt-r {
  display: block;
}

@media (max-width: 767px) {
  .nlt-team { position: static !important; width: 100% !important; height: auto !important; }
  .nlt-card { display: none !important; }
  .nlt-el {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
  }
  .nlt-photo {
    width: calc(100% - 40px) !important;
    height: auto !important;
    margin: 0 auto 22px !important;
  }
  .nlt-photo img { height: auto !important; }
  .nlt-txt { font-size: 16px !important; line-height: 1.5 !important; padding: 0 20px !important; }
  .nlt-name-f { margin: 0 0 16px !important; text-align: left !important; }
  .nlt-bio { margin: 0 0 30px !important; }
  .nlt-mname { margin: 0 0 26px !important; text-align: center !important; }
}

/* =====================================================
   ΓΛΩΣΣΕΣ (WPML): όταν η τρέχουσα γλώσσα είναι EN, το pill
   του switcher πηγαίνει πίσω από το EN (GR: left 1687 / EN: ~1722)
   ===================================================== */
.nlh-lang-cur-en .nlh-lang-gr-pill { left: 1722px; }
.nlh-lang-cur-en .nlh-lang-en { cursor: default; }
.nlh-lang-cur-en .nlh-lang-gr { cursor: pointer; }
a.nlh-lang-gr, a.nlh-lang-en, a.nlh-mn-lang-gr, a.nlh-mn-lang-en { text-decoration: none; color: inherit; }

/* =====================================================
   NL Ομάδα v3.7.1 — hover βιογραφικό μελών (minimal fade+rise)
   + απαλό zoom φωτογραφίας. Desktop μόνο (σε touch/mobile κρύβεται).
   ===================================================== */
.nlt-photo { border-radius: 10px; }
.nlt-photo img {
  transition: transform var(--nlt-ov-dur, 0.35s) ease;
}
.nlt-zoom-yes .nlt-hasbio:hover img,
.nlt-zoom-yes .nlt-hasbio:focus-visible img { transform: scale(1.045); }
.nlt-bio-ov {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  padding: var(--nlt-ov-pad, 28px);
  background: var(--nlt-ov-bg, rgba(38, 37, 37, 0.92));
  color: var(--nlt-ov-c, #fff);
  border-radius: inherit;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition:
    opacity var(--nlt-ov-dur, 0.35s) ease,
    transform var(--nlt-ov-dur, 0.35s) cubic-bezier(0.22, 0.61, 0.36, 1),
    visibility var(--nlt-ov-dur, 0.35s);
  overflow: hidden;
  pointer-events: none;
}
.nlt-bio-txt {
  font-size: var(--nlt-ov-fs, 15px);
  line-height: 1.55;
  font-weight: 400;
  max-height: 100%;
  overflow: hidden;
}
.nlt-hasbio { cursor: default; }
.nlt-hasbio:hover .nlt-bio-ov,
.nlt-hasbio:focus-visible .nlt-bio-ov,
.nlt-hasbio.nlt-bio-on .nlt-bio-ov {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.nlt-zoom-yes .nlt-hasbio.nlt-bio-on img { transform: scale(1.045); }
/* touch συσκευές: tap-to-toggle (JS βάζει .nlt-bio-on) */
@media (hover: none) {
  .nlt-hasbio { cursor: pointer; }
  .nlt-hasbio:hover .nlt-bio-ov { opacity: 0; visibility: hidden; transform: translateY(12px); }
  .nlt-hasbio.nlt-bio-on .nlt-bio-ov { opacity: 1; visibility: visible; transform: none; }
}
@media (max-width: 767px) {
  /* το mobile reset κάνει τα .nlt-el static — το overlay θέλει positioned γονιό */
  .nlt-team .nlt-photo { position: relative !important; }
  .nlt-bio-ov { padding: 22px 20px; }
  .nlt-bio-txt { font-size: 15px; }
}

/* =====================================================
   v3.8.0 — Λευκός header (Privacy/Terms/Certifications):
   λευκό φόντο, μαύρο λογότυπο (header-logo-dark.svg από PHP),
   μαύρα πεδία μενού/γλωσσών/burger.
   ===================================================== */
.nlh-light {
  --nlh-strip-bg: #ffffff;
  --nlh-nav-color: #262525;
  --nlh-dd-bg: #ffffff;
  --nlh-dd-color: #262525;
  --nlh-mob-bar-bg: rgba(255, 255, 255, 0.97);
}
.nlh-light .nlh-lang-gr-pill { background: rgba(38, 37, 37, 0.12); }
.nlh-light .nlh-dropdown { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1); }
.nlh-light .nlh-burger span { background: #262525 !important; }

/* v3.8.0 — αφαίρεση WPML footer language switcher (δίχτυ ασφαλείας —
   απενεργοποιείται και από τις ρυθμίσεις WPML) */
.wpml-ls-statics-footer { display: none !important; }

/* =====================================================
   v3.10 — NL Πιστοποιήσεις: ελαιί μπάντα + lightbox slider
   Desktop: absolute στον 1920 καμβά· Mobile: κάθετη στοίβα.
   ===================================================== */
.nlc-cert {
  position: relative;
  background: #938f29;
  height: 650px;
  overflow: hidden;
}
.nlc-cert-txt {
  position: absolute;
  top: 105px;
  margin: 0;
  font-size: 48px;
  font-weight: 400;
  line-height: 58px;
  color: #fff;
  text-align: center;
  white-space: pre-wrap;
}
/* ΠΡΟΣΟΧΗ: τα SVG μας δεν έχουν intrinsic ratio (width/height 100%,
   preserveAspectRatio:none) → height:auto τα παραμορφώνει σε οβάλ.
   Ρητό ΤΕΤΡΑΓΩΝΟ μέγεθος σε button ΚΑΙ img. */
.nlc-cert-btn {
  position: absolute;
  top: 467px;
  width: 100.08px;
  height: 100.08px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  line-height: 0;
  transition: transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.2s ease;
}
.nlc-cert-btn img { width: 100%; height: 100%; display: block; transform: rotate(180deg); }
.nlc-cert-btn:hover { transform: translateY(-3px); }
.nlc-cert-btn:disabled { opacity: 0.5; cursor: default; }
.nlc-cert-btn:focus-visible { outline: 2px solid #fff; outline-offset: 6px; border-radius: 50%; }

/* ---------------- lightbox ---------------- */
.nlc-lb {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  --nlc-lb-bg: rgba(0, 0, 0, 0.94);
  --nlc-lb-fg: #fff;
  opacity: 0;
  transition: opacity 0.28s ease;
}
.nlc-lb[hidden] { display: none; }
.nlc-lb.is-open { opacity: 1; }
.nlc-lb-backdrop { position: absolute; inset: 0; background: var(--nlc-lb-bg); }
.nlc-lb-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 72px 96px 24px;
  box-sizing: border-box;
}
.nlc-lb-stage {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nlc-lb-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.985);
  transition: opacity 0.32s ease, transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0.32s;
  pointer-events: none;
}
.nlc-lb-slide.is-on { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.nlc-lb-slide img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.5);
  background: #fff;
  user-select: none;
}
.nlc-lb-slide figcaption {
  flex: 0 0 auto;
  color: var(--nlc-lb-fg);
  font-size: 15px;
  line-height: 1.4;
  text-align: center;
  opacity: 0.85;
  max-width: 70ch;
}
.nlc-lb-nav,
.nlc-lb-close {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  color: var(--nlc-lb-fg);
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  backdrop-filter: blur(2px);
}
.nlc-lb-nav { top: 50%; width: 58px; height: 58px; margin-top: -29px; }
.nlc-lb-nav svg { width: 26px; height: 26px; }
.nlc-lb-prev { left: 22px; }
.nlc-lb-next { right: 22px; }
.nlc-lb-close { top: 18px; right: 22px; width: 46px; height: 46px; }
.nlc-lb-close svg { width: 20px; height: 20px; }
.nlc-lb-nav:hover,
.nlc-lb-close:hover { background: rgba(255, 255, 255, 0.18); border-color: #fff; }
.nlc-lb-nav:active { transform: scale(0.94); }
.nlc-lb-nav:focus-visible,
.nlc-lb-close:focus-visible,
.nlc-lb-thumb:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.nlc-lb-counter {
  position: absolute;
  top: 26px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--nlc-lb-fg);
  font-size: 14px;
  letter-spacing: 0.06em;
  opacity: 0.8;
  font-variant-numeric: tabular-nums;
}
.nlc-lb-thumbs {
  flex: 0 0 auto;
  display: flex;
  gap: 10px;
  margin-top: 18px;
  padding: 4px;
  max-width: 100%;
  overflow-x: auto;
}
.nlc-lb-thumb {
  width: 54px;
  height: 54px;
  flex: 0 0 auto;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 6px;
  background: none;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.2s ease, border-color 0.2s ease;
  overflow: hidden;
}
.nlc-lb-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; background: #fff; }
.nlc-lb-thumb:hover { opacity: 0.85; }
.nlc-lb-thumb.is-on { opacity: 1; border-color: #fff; }
body.nlc-lb-open { overflow: hidden; }

@media (max-width: 1024px) {
  .nlc-lb-inner { padding: 64px 16px 16px; }
  .nlc-lb-nav { width: 46px; height: 46px; margin-top: -23px; }
  .nlc-lb-prev { left: 8px; }
  .nlc-lb-next { right: 8px; }
}

/* ---------------- mobile: μπάντα σε ροή ---------------- */
@media (max-width: 767px) {
  .nlc-cert {
    width: 100% !important;
    height: auto !important;
    padding: 52px 20px 48px;
    box-sizing: border-box;
    text-align: center;
  }
  .nlc-cert-txt {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    font-size: 22px;
    line-height: 1.35;
  }
  .nlc-cert-btn {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 64px !important;
    height: 64px !important;
    margin: 34px auto 0;
  }
  .nlc-lb-slide figcaption { font-size: 13px; }
  .nlc-lb-thumbs { margin-top: 12px; }
  .nlc-lb-thumb { width: 44px; height: 44px; }
}

/* =====================================================
   v3.10.1 — ΘΩΡΑΚΙΣΗ ΑΠΟ ΤΟ ΡΟΖ ΤΟΥ THEME
   Το hello-elementor/assets/css/reset.css βάφει ΚΑΘΕ <button>:
     button            { border:1px solid #c36; color:#c36; border-radius:3px }
     button:hover/:focus { background-color:#c36; color:#fff }   ← το ροζ
   Το `button:hover/:focus` έχει specificity 0-1-1 και ΝΙΚΑΕΙ κλάση 0-1-0.
   Τα υπόλοιπα κουμπιά του site είναι ήδη scoped με 2 κλάσεις
   (.nlf-root .nlf-news-btn, .nlq-form .nlq-submit, .nlo-slider .nlo-sl-*)
   = 0-2-0 και ΔΕΝ επηρεάζονται. Τα κουμπιά των Πιστοποιήσεων ήταν 0-1-0.
   ΚΑΝΟΝΑΣ: κάθε νέο <button> => scope 2 κλάσεων + ΡΗΤΑ :hover/:focus/:active.
   ===================================================== */
.nlc-cert .nlc-cert-btn,
.nlc-cert .nlc-cert-btn:hover,
.nlc-cert .nlc-cert-btn:focus,
.nlc-cert .nlc-cert-btn:active {
  background: none;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  color: inherit;
}
.nlc-lb .nlc-lb-nav,
.nlc-lb .nlc-lb-close {
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  color: var(--nlc-lb-fg, #fff);
}
.nlc-lb .nlc-lb-nav:hover,
.nlc-lb .nlc-lb-nav:focus,
.nlc-lb .nlc-lb-close:hover,
.nlc-lb .nlc-lb-close:focus {
  background-color: rgba(255, 255, 255, 0.18);
  border-color: #fff;
  color: var(--nlc-lb-fg, #fff);
}
.nlc-lb .nlc-lb-thumb,
.nlc-lb .nlc-lb-thumb:hover,
.nlc-lb .nlc-lb-thumb:focus {
  background: none;
  background-color: transparent;
  border: 2px solid transparent;
  border-radius: 6px;
  color: inherit;
}
.nlc-lb .nlc-lb-thumb.is-on { border-color: #fff; }

/* Burger (mobile menu): το reset.css του theme του βάζει ροζ border+color.
   Το background ήταν ήδη none!important, αλλά όχι το border/color. */
.nlh-burger,
.nlh-burger:hover,
.nlh-burger:focus,
.nlh-burger:active {
  border: 0 !important;
  border-radius: 0 !important;
  color: inherit !important;
}
.nlh-mobile-nav .nlh-mobile-nav-close,
.nlh-mobile-nav .nlh-mobile-nav-close:hover,
.nlh-mobile-nav .nlh-mobile-nav-close:focus {
  border: 0 !important;
  border-radius: 0 !important;
}

/* Skip-link προσβασιμότητας (φαίνεται με Tab) — ροζ από το reset.css.
   Χρώματα μάρκας αντ' αυτού. */
a.skip-link,
a.skip-link:focus,
a.skip-link:hover {
  background-color: #262525;
  border-color: #262525;
  color: #fff;
}

/* =====================================================
   v3.10.2 — ΤΕΛΟΣ ΤΟ ΡΟΖ, ΣΤΗΝ ΠΗΓΗ ΤΟΥ
   Το hello-elementor/assets/css/reset.css βάφει ΚΑΘΕ <a> και <button>
   με το ροζ #c36 (= #CC3366) του Elementor boilerplate:
     a                    { color:#c36 }
     [type=button],[type=submit],button { border:1px solid #c36; color:#c36 }
     ...:focus, ...:hover { background-color:#c36; color:#fff }
   Παρακάτω ξαναγράφουμε ΤΟΥΣ ΙΔΙΟΥΣ selectors με ΤΗΝ ΙΔΙΑ specificity,
   αλλάζοντας ΜΟΝΟ ΤΗΝ ΤΙΜΗ -> χρώμα μάρκας από το Elementor Global Color.
   Το nlh-header.css φορτώνει ΜΕΤΑ το hello-elementor-css, οπότε σε ισοπαλία
   specificity κερδίζει αυτό εδώ. Επειδή είναι σκέτη αλλαγή τιμής (όχι
   specificity), ΚΑΝΕΝΑ υπάρχον κουμπί δεν αλλάζει συμπεριφορά — μόνο χρώμα.
   ΜΗΝ γίνει hardcode το #BB032B μέσα στα widgets: πηγή αλήθειας είναι το
   Elementor > Site Settings > Global Colors (kit #6). Το fallback είναι
   μόνο για την περίπτωση που δεν έχει φορτώσει το CSS του kit.
   ===================================================== */
a {
  color: var(--e-global-color-primary, #BB032B);
}
[type='button'],
[type='submit'],
button {
  border-color: var(--e-global-color-primary, #BB032B);
  color: var(--e-global-color-primary, #BB032B);
}
[type='button']:focus,
[type='button']:hover,
[type='submit']:focus,
[type='submit']:hover,
button:focus,
button:hover {
  background-color: var(--e-global-color-primary, #BB032B);
  color: var(--e-global-color-nlwhite, #fff);
}
