/*
Theme Name:   Hello Elementor Child · Valsamidis
Template:     hello-elementor
Version:      1.6.0
Text Domain:  hello-elementor-child
Description:  Όλο το CSS του site σε ένα σημείο, χωρίς επαναλήψεις.
*/

/* ----------------------------------------------------------------------------
   ΠΡΟΕΛΕΥΣΗ (2026-10-14)
   Ενοποίηση των 6 πηγών CSS που φόρτωνε κάθε σελίδα LayerDom, με την ίδια σειρά:
   LayerDom Global Library → Customizer Additional CSS → reset του Tailwind CDN →
   header block 40 → <style> της σελίδας (8 σελίδες) → footer block 41.
   Κανόνες: 1335 → 927 · δηλώσεις: 4449 → 3047.

   ΠΩΣ ΕΦΑΡΜΟΖΕΤΑΙ
   - Οι κανόνες του design είναι κάτω από «.elementor.elementor»: ισχύουν μέσα στα έγγραφα του
     Elementor (σελίδες, header/footer του Theme Builder) και νικούν τις προεπιλογές των atomic
     στοιχείων. Στις σελίδες που είναι ακόμα LayerDom δεν εφαρμόζονται.
   - Χωρίς πρόθεμα μένουν μόνο: μεταβλητές, html/body, το καθολικό reset (*) και οι κανόνες για το θέμα
     Hello (τίτλος σελίδας, header/footer του θέματος, πλάτος σελίδας).
   - Τα inline στυλ του πρωτοτύπου μπαίνουν στα στοιχεία ως local styles με !important.
   - Εικονίδια SVG (e-svg): κάθε κανόνας για «svg» γράφεται τρεις φορές: για το div του e-svg (μέγεθος, θέση),
     για το <svg> μέσα του (χρώμα γραμμής/γεμίσματος) και για τα <svg> μέσα σε κείμενο (λίστες).
   - Αλλαγές στυλ από τον editor (χωρίς !important) δεν υπερισχύουν όσων ορίζει αυτό το αρχείο:
     το design αλλάζει εδώ. Κείμενα, εικόνες, links και στοιχεία αλλάζουν κανονικά από τον editor.
   - Οι ενότητες «Μόνο για τη σελίδα …» είναι scoped με :where(body.page-id-N, body.postid-N):
     δεν αλλάζουν το specificity και δεν επηρεάζουν άλλες σελίδες. Αν μια σελίδα ξαναφτιαχτεί
     με ΝΕΟ id, αλλάζει και το N.

   ΠΕΡΙΕΧΟΜΕΝΑ
    1. Μεταβλητές χρωμάτων (όλα τα blocks είχαν τις ίδιες τιμές· τα ζεύγη navy/charcoal, blue/red/accent, sky/graylight είναι συνώνυμα)
    2. Atomic reset: τα atomic κουτιά (e-div-block) ξεκινούν σαν απλό <div>
    3. LayerDom Global Library · από το block 115 «Thalamos Valsa1 f» (σελίδα: Θάλαμος Valsa1)
    4. LayerDom Global Library · από το block 83 «Oi anthropoi mas v2» (σελίδα: Οι άνθρωποι μας (παλιά έκδοση, block 83, δεν χρησιμοποιείται))
    5. LayerDom Global Library · από το block 82 «V20» (σελίδα: V20)
    6. LayerDom Global Library · από το block 120 «Special Engineering» (σελίδα: Special Engineering)
    7. LayerDom Global Library · από το block 68 «Ypiresies» (σελίδα: Υπηρεσίες)
    8. LayerDom Global Library · από το block 167 «Η Διεθνής Τεχνογνωσία μας» (σελίδα: Η Διεθνής Τεχνογνωσία μας)
    9. LayerDom Global Library · από το block 171 «Kyliomenes Klimakes Diadromoi» (σελίδα: Κυλιόμενες Κλίμακες & Διάδρομοι)
   10. LayerDom Global Library · από το block 84 «Thalamoi» (σελίδα: Θάλαμοι Ανελκυστήρων)
   11. LayerDom Global Library · από το block 184 «Custom Engineering» (σελίδα: Custom Engineering)
   12. LayerDom Global Library · από το block 73 «Etairia» (σελίδα: Εταιρία)
   13. LayerDom Global Library · από το block 116 «Oi anthropoi mas v2 (1)» (σελίδα: Οι άνθρωποι μας)
   14. LayerDom Global Library · από το block 78 «Proionta» (σελίδα: Προϊόντα)
   15. LayerDom Global Library · από το block 81 «Eukairies Karieras» (σελίδα: Ευκαιρίες Καριέρας)
   16. LayerDom Global Library · από το block 79 «Showroom elementor» (σελίδα: Showroom)
   17. LayerDom Global Library · από το block 177 «Eksygxronismos (1)» (σελίδα: Εκσυγχρονισμός – Ανακαίνιση Ανελκυστήρων)
   18. LayerDom Global Library · από το block 104 «Nees egkatastaseis» (σελίδα: Νέες εγκαταστάσεις)
   19. Customizer › Additional CSS (μεταφέρεται εδώ, μετά αδειάζει το Customizer)
   20. Βασικό reset που μέχρι σήμερα έδινε το Tailwind CDN του LayerDom (preflight v3.4.17, χωρίς τις μεταβλητές --tw-*)
   21. Header (LayerDom block 40 «Header elementor»)
   22. Μόνο για τη σελίδα «Αρχική» (id 47, LayerDom block 38) · scoped με :where(body.page-id-47)
   23. Μόνο για τη σελίδα «Showroom» (id 90, LayerDom block 79) · scoped με :where(body.page-id-90)
   24. Μόνο για τη σελίδα «Επικοινωνία» (id 92, LayerDom block 80) · scoped με :where(body.page-id-92)
   25. Μόνο για τη σελίδα «Ανελκυστήρες Ατόμων» (id 272, LayerDom block 241) · scoped με :where(body.page-id-272)
   26. Μόνο για τη σελίδα «Αναβατόρια Μικρών Φορτίων & Τροφίμων» (id 276, LayerDom block 242) · scoped με :where(body.page-id-276)
   27. Μόνο για τη σελίδα «Πιστοποίηση & Περιοδικοί Έλεγχοι» (id 278, LayerDom block 243) · scoped με :where(body.page-id-278)
   28. Μόνο για τη σελίδα «Τεχνική Υποστήριξη – After Sales Services» (id 282, LayerDom block 244) · scoped με :where(body.page-id-282)
   29. Μόνο για τη σελίδα «Ανελκυστήρες Α.Μ.Ε.Α.» (id 284, LayerDom block 285) · scoped με :where(body.page-id-284)
   30. Footer (LayerDom block 41 «Footer elementor»)
   31. Μόνο για τη σελίδα «Νέες εγκαταστάσεις» (id 105, νέο περιεχόμενο από το LayerDom block 246) · scoped με :where(body.page-id-105)
   32. Μόνο για τη σελίδα «Εξαρτήματα & Αξεσουάρ» (id 793, νέα σελίδα από το LayerDom block 245) · scoped με :where(body.page-id-793)
   33. Εταιρία (76): το πλέγμα με τα logos των πελατών (από την Αρχική) στη θέση του πλέγματος με τα ονόματα,
   34. Επισκευές (εγκρίθηκαν 14/10/2026): ό,τι είχε το αρχικό design και χάθηκε από
   35. Φόρμες (Elementor e-form): ίδια εμφάνιση με τις αρχικές φόρμες
   36. Μορφοποίηση μέσα σε κείμενα: τα inline στυλ του πρωτοτύπου σε κομμάτι κειμένου
   ---------------------------------------------------------------------------- */

/* ============================================================================
   Μεταβλητές χρωμάτων (όλα τα blocks είχαν τις ίδιες τιμές· τα ζεύγη navy/charcoal, blue/red/accent, sky/graylight είναι συνώνυμα)
   ============================================================================ */
:root {
  --accent: #DA2F28;
  --blue: #DA2F28;
  --blue2: #B8241B;
  --border: #DDDDDD;
  --charcoal: #1A1A1A;
  --charcoal2: #262626;
  --dark: #222222;
  --graylight: #F2F2F2;
  --light: #EFEFEF;
  --mid: #999999;
  --navy: #1A1A1A;
  --navy2: #262626;
  --off: #F7F7F7;
  --red: #DA2F28;
  --red2: #B8241B;
  --sky: #F2F2F2;
  --white: #FFFFFF;
}

/* ============================================================================
   Atomic reset: τα atomic κουτιά (e-div-block) ξεκινούν σαν απλό <div>
   Το Elementor τους δίνει padding 10px, min-width 30px, position: relative, width: 100%
   και ένα ::before για overlay (.elementor .e-div-block-base, .e-con, .e-con::before).
   Εδώ γυρίζουν στις τιμές ενός απλού div. Ό,τι ορίζει το design (κανόνες .elementor.elementor …)
   έχει μεγαλύτερο specificity και υπερισχύει.
   ============================================================================ */
.elementor .e-div-block-base,
.elementor .e-form-base {
  position: static;
  width: auto;
  min-width: auto;
  max-width: none;
  height: auto;
  min-height: auto;
  padding: 0;
  margin: 0;
  z-index: auto;
}
/* Κουμπιά (<button> e-div-block): γωνίες 3px όπως στο reset του θέματος Hello (το Elementor τις μηδενίζει) */
.elementor button.e-div-block-base {
  border-radius: 3px;
}
/* Links μέσα σε τίτλους/παραγράφους: το Elementor τους κάνει all: unset· επιστρέφει το border του reset */
.elementor .e-paragraph-base a,
.elementor .e-heading-base a {
  border: 0 solid #e5e7eb;
}
.elementor .e-div-block-base::before,
.elementor .e-form-base::before {
  display: inline;
  position: static;
  top: auto;
  left: auto;
  width: auto;
  height: auto;
  border: 0 none;
  border-radius: 0;
  opacity: 1;
  mix-blend-mode: normal;
  transition: none;
}
/* SVG (e-svg): το Elementor τυπώνει <div class="e-svg-base"><svg fill="currentColor" style="width:100%;height:100%">.
   Το div παίρνει τη θέση και το μέγεθος του αρχικού <svg> (block, όπως το έκανε το reset του Tailwind)·
   οι κανόνες «… .e-svg-base» πιο κάτω του δίνουν το μέγεθος του design. Το <svg> μέσα γεμίζει το div και
   κρατά το fill="none" όλων των εικονιδίων του site (περίγραμμα, όχι γέμισμα). */
.elementor .e-svg-base {
  width: auto;
  height: auto;
  display: block;
  overflow: hidden;
}
.elementor .e-svg-base > svg {
  display: block;
  fill: none;
  overflow: hidden !important;
}
/* Όσο είναι ενεργό το LayerDom, το CSS του (Global Library) πιάνει και το <svg> μέσα στο div του e-svg:
   περιθώρια, μετακινήσεις, διαφάνεια ανήκουν μόνο στο div (κανόνες «… .e-svg-base»), όχι και στο <svg> */
.elementor .e-svg-base > svg {
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  filter: none !important;
}
/* Λίστες (V3 Text Editor) και χάρτης (V3 HTML): το widget δεν έχει δικό του κουτί, το <ul>/<iframe> μπαίνει στη
   διάταξη σαν άμεσο παιδί του γονέα του, όπως στο πρωτότυπο. Το Elementor δίνει στο Text Editor το χρώμα και τη
   γραμματοσειρά του kit (#7A7A7A, Roboto): εδώ παίρνει ό,τι έχει ο γονέας, όπως η λίστα στο πρωτότυπο. */
.elementor .elementor-widget.ld-raw {
  display: contents;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
}

/* ============================================================================
   LayerDom Global Library · από το block 115 «Thalamos Valsa1 f» (σελίδα: Θάλαμος Valsa1)
   ============================================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
/* ── HERO ── */
.elementor.elementor #product-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .hero-pattern {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 48px 48px;
}
.elementor.elementor .hero-glow {
  position: absolute;
  top: -200px;
  right: -100px;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(218,47,40,0.35) 0%, transparent 70%);
  pointer-events: none;
}
.elementor.elementor .product-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  padding: 7px 16px;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75);
  margin-bottom: 30px;
}
.elementor.elementor .product-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .product-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── PRODUCT LAYOUT ── */
.elementor.elementor #product {
  padding: 90px 60px 100px;
}
.elementor.elementor .product-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 70px;
  align-items: start;
}
/* Gallery */
.elementor.elementor .gallery-viewport {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.elementor.elementor .gallery-track {
  display: flex;
  gap: 14px;
  transition: transform 0.4s ease;
}
.elementor.elementor .gallery-slide {
  flex: 0 0 calc(50% - 7px);
  aspect-ratio: 3 / 4;
  background: var(--light);
  overflow: hidden;
}
.elementor.elementor .gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.elementor.elementor .gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,0.9);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
  z-index: 3;
}
.elementor.elementor .gallery-nav:hover {
  background: var(--red);
}
.elementor.elementor .gallery-nav:hover svg:not(.e-svg-base > svg) {
  stroke: #fff;
}
.elementor.elementor .gallery-nav:hover .e-svg-base > svg {
  stroke: #fff;
}
.elementor.elementor .gallery-nav svg:not(.e-svg-base > svg) {
  width: 16px;
  height: 16px;
  stroke: var(--charcoal);
  transition: stroke 0.2s;
}
.elementor.elementor .gallery-nav .e-svg-base {
  width: 16px;
  height: 16px;
}
.elementor.elementor .gallery-nav .e-svg-base > svg {
  stroke: var(--charcoal);
  transition: stroke 0.2s;
}
.elementor.elementor .gallery-prev {
  left: 14px;
}
.elementor.elementor .gallery-next {
  right: 14px;
}
.elementor.elementor .gallery-dots {
  display: flex;
  gap: 6px;
  margin-top: 14px;
}
.elementor.elementor .gallery-dot {
  width: 6px;
  height: 6px;
  background: var(--border);
  cursor: pointer;
  transition: background 0.2s, width 0.2s;
}
.elementor.elementor .gallery-dot.active {
  background: var(--red);
  width: 18px;
}
/* Text panel */
.elementor.elementor .product-title {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: var(--red);
  margin-bottom: 32px;
}
.elementor.elementor .spec-block {
  padding: 18px 0;
  border-bottom: 1px solid var(--border);
}
.elementor.elementor .spec-block:first-of-type {
  padding-top: 0;
}
.elementor.elementor .spec-block:last-of-type {
  border-bottom: none;
}
.elementor.elementor .spec-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'DM Serif Display', serif;
  font-style: italic;
  font-size: 1.05rem;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--charcoal2);
  font-weight: 400;
  margin-bottom: 10px;
}
.elementor.elementor .spec-label::before {
  width: 8px;
  height: 8px;
  background: var(--red);
  flex-shrink: 0;
}
.elementor.elementor .spec-block p:not(.spec-label) {
  font-size: 0.92rem;
  color: var(--charcoal2);
  line-height: 1.8;
}
/* ── RELATED INTRO ── */
.elementor.elementor #related-intro {
  background: var(--off);
  padding: 90px 60px;
  border-top: 1px solid var(--border);
}
@media (max-width: 900px) {
  .elementor.elementor #related-intro {
    padding: 60px 24px;
  }
  .elementor.elementor #product {
    padding: 50px 24px 70px;
  }
  .elementor.elementor .product-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .elementor.elementor .stat-row {
    flex-wrap: wrap;
  }
  .elementor.elementor #product-hero {
    height: 480px;
    padding: 0 24px;
  }
  .elementor.elementor #categories {
    padding: 50px 20px;
  }
  .elementor.elementor .category-col {
    border-bottom: 1px solid var(--border);
  }
  .elementor.elementor .category-col:last-child {
    border-bottom: none;
  }
  .elementor.elementor #cta {
    flex-direction: column;
  }
}

/* ============================================================================
   LayerDom Global Library · από το block 83 «Oi anthropoi mas v2» (σελίδα: Οι άνθρωποι μας (παλιά έκδοση, block 83, δεν χρησιμοποιείται))
   ============================================================================ */
/* ── HERO ── */
.elementor.elementor #people-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
/* ── SHARED ── */
/* ── INTRO (κείμενο αριστερά, φωτογραφία δεξιά) ── */
.elementor.elementor #people-intro {
  background: var(--white);
}
.elementor.elementor .product-image-frame {
  border: 1px solid var(--border);
  background: var(--off);
  padding: 18px;
}
.elementor.elementor .product-image-frame img {
  width: 100%;
  display: block;
}
.elementor.elementor .people-photo-placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--charcoal), var(--charcoal2));
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.elementor.elementor .product-image-caption {
  font-size: 0.72rem;
  color: var(--mid);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: 14px;
  text-align: center;
}
.elementor.elementor .stat-row {
  display: flex;
  gap: 40px;
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--border);
}
.elementor.elementor .stat-item .stat-label {
  font-size: 0.75rem;
  color: var(--mid);
  margin-top: 6px;
}
/* ── ΤΜΗΜΑΤΑ ── */
.elementor.elementor #people-departments {
  background: var(--off);
}
.elementor.elementor .services-list-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 60px;
}
.elementor.elementor .svc-card:hover {
  background: var(--graylight);
}
.elementor.elementor .svc-card:hover::after {
  transform: scaleX(1);
}
.elementor.elementor .svc-card:hover .svc-icon {
  background: var(--red);
}
.elementor.elementor .svc-card:hover .svc-icon svg:not(.e-svg-base > svg) {
  stroke: #fff;
}
.elementor.elementor .svc-card:hover .svc-icon .e-svg-base > svg {
  stroke: #fff;
}
/* ── Η ΠΡΟΣΕΓΓΙΣΗ ΜΑΣ ── */
.elementor.elementor #people-approach {
  background: var(--charcoal);
  color: #fff;
}
.elementor.elementor #people-approach .section-label {
  color: #FF6C58;
}
.elementor.elementor #people-approach .section-label::before {
  background: #FF6C58;
}
.elementor.elementor #people-approach .section-title {
  color: #fff;
}
.elementor.elementor #people-approach .section-title em {
  color: #FF6C58;
}
.elementor.elementor #people-approach .section-body {
  color: rgba(255,255,255,0.6);
  max-width: 100%;
}
.elementor.elementor .why-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.elementor.elementor .why-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.06);
}
.elementor.elementor .why-feat:hover {
  background: rgba(255,255,255,0.07);
}
.elementor.elementor .why-feat-icon {
  width: 40px;
  height: 40px;
  background: rgba(255,108,88,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.elementor.elementor .why-feat-icon svg:not(.e-svg-base > svg) {
  stroke: #FF6C58;
  width: 20px;
  height: 20px;
}
.elementor.elementor .why-feat-icon .e-svg-base {
  width: 20px;
  height: 20px;
}
.elementor.elementor .why-feat-icon .e-svg-base > svg {
  stroke: #FF6C58;
}
/* ── CTA ── */
.elementor.elementor #people-cta {
  background: var(--off);
  text-align: center;
}
.elementor.elementor .cta-inner {
  max-width: 620px;
  margin: 0 auto;
}
.elementor.elementor .cta-inner .section-label {
  justify-content: center;
}
@media (max-width: 580px) {
  /* ── SCROLL REVEAL ── */
  .elementor.elementor #people-hero {
    height: 460px;
  }
  .elementor.elementor .why-features {
    grid-template-columns: 1fr;
  }
  .elementor.elementor #product-hero {
    height: 460px;
  }
}

/* ============================================================================
   LayerDom Global Library · από το block 82 «V20» (σελίδα: V20)
   ============================================================================ */
/* ── HERO (ίδιο ύψος με τις υπόλοιπες σελίδες, σταθερό σε desktop & mobile) ── */
/* ── SHARED ── */
/* ── INTRO / ΠΩΣ ΔΗΜΙΟΥΡΓΗΘΗΚΕ ── */
.elementor.elementor #product-intro {
  background: var(--white);
}
/* ── ΠΛΕΟΝΕΚΤΗΜΑΤΑ ── */
.elementor.elementor #product-advantages {
  background: var(--off);
}
/* ── BREEAM STRIP ── */
.elementor.elementor #product-cert {
  background: var(--white);
  padding: 44px 60px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  text-align: center;
}
.elementor.elementor .cert-strip-badge {
  background: var(--charcoal);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 10px 20px;
  white-space: nowrap;
}
.elementor.elementor .cert-strip-text {
  font-size: 0.92rem;
  color: var(--charcoal);
  font-weight: 500;
}
/* ── SMART ENERGY PACK / WHY ── */
.elementor.elementor #product-pack {
  background: var(--charcoal);
  color: #fff;
}
.elementor.elementor #product-pack .section-label {
  color: #FF6C58;
}
.elementor.elementor #product-pack .section-label::before {
  background: #FF6C58;
}
.elementor.elementor #product-pack .section-title {
  color: #fff;
}
.elementor.elementor #product-pack .section-title em {
  color: #FF6C58;
}
.elementor.elementor #product-pack .section-body {
  color: rgba(255,255,255,0.6);
  max-width: 100%;
}
/* ── CTA ── */
.elementor.elementor #product-cta {
  background: var(--off);
  text-align: center;
}

/* ============================================================================
   LayerDom Global Library · από το block 120 «Special Engineering» (σελίδα: Special Engineering)
   ============================================================================ */
/* ── HERO (ίδιο ύψος με τις υπόλοιπες σελίδες, σταθερό σε desktop & mobile) ── */
.elementor.elementor #category-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .category-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .hero-crumb {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.45);
  margin-bottom: 18px;
  letter-spacing: 0.02em;
}
.elementor.elementor .category-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .category-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── SHARED ── */
/* ── INTRO ── */
.elementor.elementor #category-intro {
  background: var(--white);
  padding-bottom: 60px;
}
/* ── ΠΡΟΪΟΝΤΑ GRID ── */
.elementor.elementor #category-products {
  background: var(--off);
  padding-top: 0;
}
.elementor.elementor .svc-card {
  display: flex;
  flex-direction: column;
}
.elementor.elementor .svc-card p {
  flex-grow: 1;
}
.elementor.elementor .svc-card .svc-more {
  align-items: center;
  gap: 8px;
}
.elementor.elementor .svc-card .svc-more:hover {
  text-decoration: underline;
}
.elementor.elementor .svc-more svg:not(.e-svg-base > svg) {
  width: 13px;
  height: 13px;
}
.elementor.elementor .svc-more .e-svg-base {
  width: 13px;
  height: 13px;
}

/* ============================================================================
   LayerDom Global Library · από το block 68 «Ypiresies» (σελίδα: Υπηρεσίες)
   ============================================================================ */
/* ── HERO ── */
.elementor.elementor #services-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .services-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .services-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
.elementor.elementor .services-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .services-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── SHARED ── */
/* ── METHODOLOGY (Μελέτη-Σχεδιασμός-Ανάπτυξη) ── */
.elementor.elementor #methodology {
  background: var(--white);
}
.elementor.elementor .method-steps {
  display: flex;
  flex-direction: column;
}
.elementor.elementor .method-step {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 22px;
  padding: 26px 0;
  border-bottom: 1px solid var(--border);
}
.elementor.elementor .method-step:first-child {
  padding-top: 0;
}
.elementor.elementor .method-step:last-child {
  border-bottom: none;
}
.elementor.elementor .method-num {
  font-family: 'DM Serif Display', serif;
  font-size: 1.6rem;
  color: var(--light);
  -webkit-text-stroke: 1px var(--red);
  color: transparent;
  line-height: 1;
}
.elementor.elementor .method-step p {
  font-size: 0.92rem;
  color: var(--charcoal);
  padding-top: 6px;
  font-weight: 500;
}
/* ── SERVICES GRID ── */
.elementor.elementor #services-list {
  background: var(--off);
}
.elementor.elementor .svc-card {
  background: var(--white);
  padding: 48px 44px;
  transition: background 0.3s;
  position: relative;
  overflow: hidden;
}
.elementor.elementor .svc-icon {
  width: 56px;
  height: 56px;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  transition: background 0.3s;
}
.elementor.elementor .svc-icon svg:not(.e-svg-base > svg) {
  stroke: var(--red);
  width: 26px;
  height: 26px;
}
.elementor.elementor .svc-icon .e-svg-base {
  width: 26px;
  height: 26px;
}
.elementor.elementor .svc-icon .e-svg-base > svg {
  stroke: var(--red);
}
.elementor.elementor .svc-card p {
  font-size: 0.85rem;
  color: var(--mid);
  line-height: 1.8;
  margin-bottom: 18px;
}
.elementor.elementor .svc-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
}
.elementor.elementor .svc-list li {
  font-size: 0.8rem;
  color: var(--charcoal2);
  display: flex;
  align-items: center;
  gap: 10px;
}
.elementor.elementor .svc-list li::before {
  width: 5px;
  height: 5px;
  background: var(--red);
  flex-shrink: 0;
}
.elementor.elementor .svc-card .svc-more {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--red);
  text-decoration: none;
  letter-spacing: 0.05em;
}
/* ── WHY / CERTIFICATIONS ── */
.elementor.elementor #svc-why {
  background: var(--charcoal);
  color: #fff;
}
.elementor.elementor #svc-why .section-label {
  color: #FF6C58;
}
.elementor.elementor #svc-why .section-label::before {
  background: #FF6C58;
}
.elementor.elementor #svc-why .section-title {
  color: #fff;
}
.elementor.elementor #svc-why .section-title em {
  color: #FF6C58;
}
.elementor.elementor #svc-why .section-body {
  color: rgba(255,255,255,0.6);
}
.elementor.elementor .why-feat {
  background: rgba(255,255,255,0.03);
  padding: 32px 28px;
  transition: background 0.3s;
}
.elementor.elementor .certs-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.elementor.elementor .cert-badge {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  padding: 8px 16px;
  font-size: 0.72rem;
  font-weight: 600;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.1em;
}

/* ============================================================================
   LayerDom Global Library · από το block 167 «Η Διεθνής Τεχνογνωσία μας» (σελίδα: Η Διεθνής Τεχνογνωσία μας)
   ============================================================================ */
/* ── HERO ── */
.elementor.elementor #knowhow-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .knowhow-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .knowhow-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
.elementor.elementor .knowhow-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .knowhow-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── SHARED ── */
/* ── PHILOSOPHY ── */
.elementor.elementor #philosophy {
  background: var(--off);
}
.elementor.elementor .philosophy-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 70px;
  align-items: center;
}
.elementor.elementor .philosophy-visual {
  background: linear-gradient(135deg, var(--light) 0%, #E2E2E2 100%);
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.elementor.elementor .philosophy-triptych {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.elementor.elementor .triptych-badge {
  background: var(--white);
  border: 1px solid var(--border);
  padding: 8px 16px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--charcoal2);
}
/* ── PARTNERS ── */
.elementor.elementor #partners {
  background: var(--off);
}
/* ── PARTNER CARDS GRID ── */
.elementor.elementor #partners-grid {
  background: var(--white);
}
.elementor.elementor .partner-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
.elementor.elementor .partner-card {
  background: var(--white);
  padding: 32px 30px;
  transition: background 0.3s;
  position: relative;
  overflow: hidden;
}
.elementor.elementor .partner-card::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
.elementor.elementor .partner-card:hover {
  background: var(--graylight);
}
.elementor.elementor .partner-card:hover::after {
  transform: scaleX(1);
}
.elementor.elementor .partner-card h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  color: var(--charcoal);
  margin-bottom: 6px;
}
.elementor.elementor .partner-card .partner-origin {
  display: block;
  font-size: 0.72rem;
  font-style: italic;
  color: var(--red);
  margin-bottom: 12px;
}
.elementor.elementor .partner-card p {
  font-size: 0.83rem;
  color: var(--mid);
  line-height: 1.7;
}
/* ── CERTIFICATIONS GRID ── */
.elementor.elementor #certifications {
  background: var(--white);
}
.elementor.elementor .cert-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
.elementor.elementor .cert-card {
  background: var(--white);
  padding: 36px 30px;
  text-decoration: none;
  display: block;
  transition: background 0.3s;
  position: relative;
  overflow: hidden;
}
.elementor.elementor .cert-card::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
.elementor.elementor .cert-card:hover {
  background: var(--graylight);
}
.elementor.elementor .cert-card:hover::after {
  transform: scaleX(1);
}
.elementor.elementor .cert-icon {
  width: 48px;
  height: 48px;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  transition: background 0.3s;
}
.elementor.elementor .cert-card:hover .cert-icon {
  background: var(--red);
}
.elementor.elementor .cert-card:hover .cert-icon svg:not(.e-svg-base > svg) {
  stroke: #fff;
}
.elementor.elementor .cert-card:hover .cert-icon .e-svg-base > svg {
  stroke: #fff;
}
.elementor.elementor .cert-icon svg:not(.e-svg-base > svg) {
  stroke: var(--red);
  width: 22px;
  height: 22px;
}
.elementor.elementor .cert-icon .e-svg-base {
  width: 22px;
  height: 22px;
}
.elementor.elementor .cert-icon .e-svg-base > svg {
  stroke: var(--red);
}
.elementor.elementor .cert-card h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.1rem;
  color: var(--charcoal);
  margin-bottom: 10px;
}
.elementor.elementor .cert-card p {
  font-size: 0.82rem;
  color: var(--mid);
  line-height: 1.7;
  margin-bottom: 16px;
}
.elementor.elementor .cert-card .cert-link {
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--red);
}
.elementor.elementor .cert-card:hover .cert-link {
  text-decoration: underline;
}

/* ============================================================================
   LayerDom Global Library · από το block 171 «Kyliomenes Klimakes Diadromoi» (σελίδα: Κυλιόμενες Κλίμακες & Διάδρομοι)
   ============================================================================ */
/* ── HERO (ίδιο ύψος με τις υπόλοιπες σελίδες, σταθερό σε desktop & mobile) ── */
.elementor.elementor #escalators-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .escalators-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .escalators-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
.elementor.elementor .escalators-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .escalators-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── SHARED ── */
/* ── INTRO + ΕΙΚΟΝΑ ── */
.elementor.elementor #escalators-intro {
  background: var(--white);
}
/* Πλαίσιο-θέση για εικόνα (placeholder, έτοιμο να αντικατασταθεί με <img>) */
/* ── ΤΕΧΝΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ── */
.elementor.elementor #escalators-specs {
  background: var(--off);
}
.elementor.elementor .specs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
.elementor.elementor .specs-card {
  background: var(--white);
  padding: 44px 40px;
  position: relative;
  overflow: hidden;
  transition: background 0.3s;
}
.elementor.elementor .specs-card::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
.elementor.elementor .specs-card:hover {
  background: var(--graylight);
}
.elementor.elementor .specs-card:hover::after {
  transform: scaleX(1);
}
.elementor.elementor .specs-icon {
  width: 54px;
  height: 54px;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  transition: background 0.3s;
}
.elementor.elementor .specs-card:hover .specs-icon {
  background: var(--red);
}
.elementor.elementor .specs-card:hover .specs-icon svg:not(.e-svg-base > svg) {
  stroke: #fff;
}
.elementor.elementor .specs-card:hover .specs-icon .e-svg-base > svg {
  stroke: #fff;
}
.elementor.elementor .specs-icon svg:not(.e-svg-base > svg) {
  stroke: var(--red);
  width: 24px;
  height: 24px;
}
.elementor.elementor .specs-icon .e-svg-base {
  width: 24px;
  height: 24px;
}
.elementor.elementor .specs-icon .e-svg-base > svg {
  stroke: var(--red);
}
.elementor.elementor .specs-card h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.3rem;
  color: var(--charcoal);
  margin-bottom: 20px;
}
.elementor.elementor .specs-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.elementor.elementor .specs-list li {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-size: 0.82rem;
  color: var(--charcoal2);
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}
.elementor.elementor .specs-list li:last-child {
  border-bottom: none;
}
.elementor.elementor .specs-list li span:first-child {
  color: var(--mid);
}
.elementor.elementor .specs-list li span:last-child {
  font-weight: 600;
  text-align: right;
}
/* ── ΓΙΑΤΙ ΕΜΑΣ / WHY ── */
.elementor.elementor #escalators-why {
  background: var(--charcoal);
  color: #fff;
}
.elementor.elementor #escalators-why .section-label {
  color: #FF6C58;
}
.elementor.elementor #escalators-why .section-label::before {
  background: #FF6C58;
}
.elementor.elementor #escalators-why .section-title {
  color: #fff;
}
.elementor.elementor #escalators-why .section-title em {
  color: #FF6C58;
}
.elementor.elementor #escalators-why .section-body {
  color: rgba(255,255,255,0.6);
}
/* ── CTA ── */
.elementor.elementor #escalators-cta {
  background: var(--off);
  text-align: center;
}
.elementor.elementor .cta-inner .section-body {
  margin: 0 auto;
}
.elementor.elementor .cta-btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 26px;
}

/* ============================================================================
   LayerDom Global Library · από το block 84 «Thalamoi» (σελίδα: Θάλαμοι Ανελκυστήρων)
   ============================================================================ */
/* ── HERO ── */
.elementor.elementor #cabins-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .cabins-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .cabins-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
.elementor.elementor .cabins-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .cabins-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── SHARED ── */
/* ── CABINS GRID ── */
.elementor.elementor #cabins-list {
  background: var(--off);
}
.elementor.elementor .cabins-list-top {
  max-width: 720px;
  margin-bottom: 50px;
}
.elementor.elementor .cabins-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.elementor.elementor .cab-card {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: block;
  background: var(--charcoal);
}
.elementor.elementor .cab-card-img {
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--charcoal2) 0%, var(--charcoal) 100%);
  position: relative;
  overflow: hidden;
}
.elementor.elementor .cab-card-img::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 24px 24px;
}
.elementor.elementor .cab-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,0.78) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 18px;
}
.elementor.elementor .cab-card-overlay h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.05rem;
  color: #fff;
  margin-bottom: 4px;
}
.elementor.elementor .cab-card-overlay .more {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.6);
  display: flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.2s, color 0.2s;
}
.elementor.elementor .cab-card:hover .cab-card-overlay .more {
  gap: 10px;
  color: #fff;
}
.elementor.elementor .cab-card-overlay .more svg:not(.e-svg-base > svg) {
  width: 12px;
  height: 12px;
  stroke: currentColor;
}
.elementor.elementor .cab-card-overlay .more .e-svg-base {
  width: 12px;
  height: 12px;
}
.elementor.elementor .cab-card-overlay .more .e-svg-base > svg {
  stroke: currentColor;
}

/* ============================================================================
   LayerDom Global Library · από το block 184 «Custom Engineering» (σελίδα: Custom Engineering)
   ============================================================================ */
/* ── HERO (ίδιο ύψος με τις υπόλοιπες σελίδες, σταθερό σε desktop & mobile) ── */
/* ── SHARED ── */
/* ── INTRO ── */
/* ── ΠΡΟΪΟΝΤΑ GRID ── */
.elementor.elementor .services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
/* ── HERO (ίδιο ύψος με τις υπόλοιπες σελίδες, σταθερό σε desktop & mobile) ── */
.elementor.elementor .category-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}

/* ============================================================================
   LayerDom Global Library · από το block 73 «Etairia» (σελίδα: Εταιρία)
   ============================================================================ */
/* ── HERO ── */
.elementor.elementor #company-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .company-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .company-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
.elementor.elementor .company-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .company-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── SHARED ── */
/* ── ABOUT (Ποιοι Είμαστε) ── */
.elementor.elementor #about {
  background: var(--white);
}
.elementor.elementor .about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
}
.elementor.elementor .value-steps {
  display: flex;
  flex-direction: column;
}
.elementor.elementor .value-step {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 22px;
  padding: 26px 0;
  border-bottom: 1px solid var(--border);
}
.elementor.elementor .value-step:first-child {
  padding-top: 0;
}
.elementor.elementor .value-step:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.elementor.elementor .value-num {
  font-family: 'DM Serif Display', serif;
  font-size: 1.6rem;
  -webkit-text-stroke: 1px var(--red);
  color: transparent;
  line-height: 1;
}
.elementor.elementor .value-step p {
  font-size: 0.92rem;
  color: var(--charcoal);
  padding-top: 6px;
  font-weight: 500;
}
/* ── PHILOSOPHY ── */
.elementor.elementor .philosophy-visual::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--red);
}
.elementor.elementor .philosophy-quote {
  border-left: 3px solid var(--red);
  padding: 4px 0 4px 24px;
  margin: 4px 0 26px;
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  font-style: italic;
  color: var(--charcoal);
  line-height: 1.5;
}
/* ── VALUES GRID ── */
.elementor.elementor #values {
  background: var(--white);
}
.elementor.elementor .values-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 60px;
}
.elementor.elementor .values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
.elementor.elementor .val-card {
  background: var(--white);
  padding: 40px 32px;
  transition: background 0.3s;
  position: relative;
  overflow: hidden;
}
.elementor.elementor .val-card::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
.elementor.elementor .val-card:hover {
  background: var(--graylight);
}
.elementor.elementor .val-card:hover::after {
  transform: scaleX(1);
}
.elementor.elementor .val-icon {
  width: 52px;
  height: 52px;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  transition: background 0.3s;
}
.elementor.elementor .val-card:hover .val-icon {
  background: var(--red);
}
.elementor.elementor .val-card:hover .val-icon svg:not(.e-svg-base > svg) {
  stroke: #fff;
}
.elementor.elementor .val-card:hover .val-icon .e-svg-base > svg {
  stroke: #fff;
}
.elementor.elementor .val-icon svg:not(.e-svg-base > svg) {
  stroke: var(--red);
  width: 24px;
  height: 24px;
}
.elementor.elementor .val-icon .e-svg-base {
  width: 24px;
  height: 24px;
}
.elementor.elementor .val-icon .e-svg-base > svg {
  stroke: var(--red);
}
.elementor.elementor .val-card h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.2rem;
  color: var(--charcoal);
  margin-bottom: 12px;
}
.elementor.elementor .val-card p {
  font-size: 0.83rem;
  color: var(--mid);
  line-height: 1.75;
}
/* ── TRUSTED BY ── */
.elementor.elementor #trusted {
  background: var(--charcoal);
  color: #fff;
}
.elementor.elementor #trusted .section-label {
  color: #FF6C58;
}
.elementor.elementor #trusted .section-label::before {
  background: #FF6C58;
}
.elementor.elementor #trusted .section-title {
  color: #fff;
}
.elementor.elementor #trusted .section-title em {
  color: #FF6C58;
}
.elementor.elementor #trusted .section-body {
  color: rgba(255,255,255,0.6);
}
.elementor.elementor .clients-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 1px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.08);
  margin-top: 44px;
}
.elementor.elementor .client-logo-badge {
  background: rgba(255,255,255,0.02);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 96px;
  padding: 18px 20px;
  transition: background 0.25s;
}
.elementor.elementor .client-logo-badge:hover {
  background: rgba(255,255,255,0.06);
}
/* Fallback text style, used only if no logo image is supplied yet */
.elementor.elementor .client-logo-badge span {
  font-family: 'DM Serif Display', serif;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.5);
  text-align: center;
  transition: color 0.25s;
}
.elementor.elementor .client-logo-badge:hover span {
  color: #fff;
}

/* ============================================================================
   LayerDom Global Library · από το block 116 «Oi anthropoi mas v2 (1)» (σελίδα: Οι άνθρωποι μας)
   ============================================================================ */
/* ── HERO ── */
/* ── SHARED ── */
/* ── INTRO (κείμενο αριστερά, φωτογραφία δεξιά) ── */
.elementor.elementor .people-photo-placeholder::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 32px 32px;
}
.elementor.elementor .stat-item .stat-num {
  font-family: 'DM Serif Display', serif;
  font-size: 2.2rem;
  color: var(--red);
  line-height: 1;
}
/* ── ΤΜΗΜΑΤΑ ── */
.elementor.elementor .svc-card::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
.elementor.elementor .svc-card h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.1rem;
  color: var(--charcoal);
  margin-bottom: 12px;
}
/* ── Η ΠΡΟΣΕΓΓΙΣΗ ΜΑΣ ── */
.elementor.elementor .pack-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 30px;
  padding: 14px 30px;
  background: var(--red);
  color: #fff !important;
  text-decoration: none !important;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  transition: background 0.2s, transform 0.15s;
}
.elementor.elementor .pack-cta:hover {
  background: var(--red2);
  transform: translateY(-2px);
  text-decoration: none !important;
  color: #fff !important;
}
/* ── CTA ── */
.elementor.elementor .btn-primary {
  padding: 15px 34px;
  background: var(--charcoal);
  border: none;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  transition: background 0.2s, transform 0.15s;
  display: inline-block;
}
.elementor.elementor .btn-primary:hover {
  background: var(--red);
  transform: translateY(-2px);
  text-decoration: none !important;
}
.elementor.elementor .btn-outline {
  padding: 15px 34px;
  background: transparent;
  border: 1.5px solid var(--charcoal);
  color: var(--charcoal) !important;
  text-decoration: none !important;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  transition: background 0.2s, color 0.2s;
  display: inline-block;
}
.elementor.elementor .btn-outline:hover {
  background: var(--charcoal);
  color: #fff !important;
  text-decoration: none !important;
}

/* ============================================================================
   LayerDom Global Library · από το block 78 «Proionta» (σελίδα: Προϊόντα)
   ============================================================================ */
/* ── HERO ── */
.elementor.elementor #products-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .products-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .products-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
.elementor.elementor .products-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .products-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 580px;
  line-height: 1.8;
}
/* ── SHARED ── */
/* ── INTRO ── */
.elementor.elementor #intro {
  background: var(--white);
  padding-bottom: 60px;
}
.elementor.elementor .intro-grid p {
  font-size: 0.92rem;
  color: var(--mid);
  line-height: 1.85;
  margin-bottom: 16px;
}
.elementor.elementor .intro-grid p:last-child {
  margin-bottom: 0;
}
/* ── CATEGORIES ── */
.elementor.elementor #categories {
  background: var(--off);
  padding-top: 60px;
}
.elementor.elementor .categories-top {
  margin-bottom: 50px;
}
.elementor.elementor .categories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: var(--white);
  border: 1px solid var(--border);
}
.elementor.elementor .category-col {
  padding: 44px 40px;
  border-right: 1px solid var(--border);
}
.elementor.elementor .category-col:last-child {
  border-right: none;
}
.elementor.elementor .category-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 30px;
}
.elementor.elementor .category-icon {
  width: 42px;
  height: 42px;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.elementor.elementor .category-icon svg:not(.e-svg-base > svg) {
  width: 18px;
  height: 18px;
  stroke: var(--red);
}
.elementor.elementor .category-icon .e-svg-base {
  width: 18px;
  height: 18px;
}
.elementor.elementor .category-icon .e-svg-base > svg {
  stroke: var(--red);
}
.elementor.elementor .category-label {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--red);
  font-weight: 600;
}
.elementor.elementor .category-list {
  list-style: none;
  display: flex;
  flex-direction: column;
}
.elementor.elementor .category-list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 13px 0;
  border-bottom: 1px solid var(--border);
  font-size: 0.93rem;
  color: var(--charcoal);
  text-decoration: none;
  transition: color 0.2s, padding-left 0.2s;
}
.elementor.elementor .category-list li:last-child a {
  border-bottom: none;
}
.elementor.elementor .category-list li a span {
  line-height: 1.4;
}
.elementor.elementor .category-list li a:hover {
  color: var(--red);
  padding-left: 6px;
}
.elementor.elementor .category-list li a svg:not(.e-svg-base > svg) {
  width: 13px;
  height: 13px;
  stroke: var(--mid);
  flex-shrink: 0;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.2s, transform 0.2s;
}
.elementor.elementor .category-list li a .e-svg-base {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.2s, transform 0.2s;
}
.elementor.elementor .category-list li a .e-svg-base > svg {
  stroke: var(--mid);
}
.elementor.elementor .category-list li a:hover svg:not(.e-svg-base > svg) {
  opacity: 1;
  transform: translateX(0);
  stroke: var(--red);
}
.elementor.elementor .category-list li a:hover .e-svg-base {
  opacity: 1;
  transform: translateX(0);
}
.elementor.elementor .category-list li a:hover .e-svg-base > svg {
  stroke: var(--red);
}
/* ── CTA STRIP ── */
.elementor.elementor #cta {
  background: var(--charcoal);
  color: #fff;
  padding: 70px 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
}
.elementor.elementor #cta h3 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .cta-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--red);
  color: #fff;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 16px 28px;
  white-space: nowrap;
  transition: background 0.2s;
}
.elementor.elementor .cta-link:hover {
  background: var(--red2);
}
.elementor.elementor .cta-link svg:not(.e-svg-base > svg) {
  width: 15px;
  height: 15px;
}
.elementor.elementor .cta-link .e-svg-base {
  width: 15px;
  height: 15px;
}

/* ============================================================================
   LayerDom Global Library · από το block 81 «Eukairies Karieras» (σελίδα: Ευκαιρίες Καριέρας)
   ============================================================================ */
/* ── HERO (ίδιο ύψος με τις υπόλοιπες σελίδες, σταθερό σε desktop & mobile) ── */
.elementor.elementor #career-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .career-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .career-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
.elementor.elementor .career-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .career-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── SHARED ── */
/* ── ΘΕΣΗ / ΑΠΑΡΑΙΤΗΤΑ ΕΦΟΔΙΑ ── */
.elementor.elementor #career-role {
  background: var(--white);
}
.elementor.elementor .role-badge-tag {
  display: inline-block;
  background: var(--graylight);
  color: var(--red);
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 16px;
  margin-bottom: 22px;
}
.elementor.elementor .method-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: start;
}
.elementor.elementor .req-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 13px;
  margin-top: 28px;
}
.elementor.elementor .req-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.88rem;
  color: var(--charcoal);
  font-weight: 500;
  line-height: 1.6;
}
.elementor.elementor .req-list li::before {
  width: 7px;
  height: 7px;
  background: var(--red);
  flex-shrink: 0;
  margin-top: 7px;
}
/* ── Η ΕΤΑΙΡΙΑ ΠΡΟΣΦΕΡΕΙ / WHY ── */
.elementor.elementor #career-offer {
  background: var(--charcoal);
  color: #fff;
}
.elementor.elementor #career-offer .section-label {
  color: #FF6C58;
}
.elementor.elementor #career-offer .section-label::before {
  background: #FF6C58;
}
.elementor.elementor #career-offer .section-title {
  color: #fff;
}
.elementor.elementor #career-offer .section-title em {
  color: #FF6C58;
}
.elementor.elementor #career-offer .section-body {
  color: rgba(255,255,255,0.6);
}
.elementor.elementor .why-feat h4 {
  font-family: 'DM Serif Display', serif;
  font-size: 1rem;
  color: #fff;
  margin-bottom: 8px;
}
.elementor.elementor .why-feat p {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.5);
  line-height: 1.75;
}
/* ── ΑΠΟΣΤΟΛΗ ΒΙΟΓΡΑΦΙΚΟΥ ── */
.elementor.elementor #career-apply {
  background: var(--off);
}
.elementor.elementor .apply-top {
  margin-bottom: 40px;
}
.elementor.elementor .apply-methods {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  margin-bottom: 56px;
  max-width: 620px;
}
.elementor.elementor .apply-method {
  background: var(--white);
  padding: 28px 30px;
  display: flex;
  align-items: center;
  gap: 18px;
}
.elementor.elementor .apply-method-icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
}
.elementor.elementor .apply-method-icon svg:not(.e-svg-base > svg) {
  stroke: var(--red);
  width: 20px;
  height: 20px;
}
.elementor.elementor .apply-method-icon .e-svg-base {
  width: 20px;
  height: 20px;
}
.elementor.elementor .apply-method-icon .e-svg-base > svg {
  stroke: var(--red);
}
.elementor.elementor .apply-method h5 {
  font-family: 'DM Serif Display', serif;
  font-size: 0.98rem;
  color: var(--charcoal);
  margin-bottom: 4px;
}
.elementor.elementor .apply-method p {
  font-size: 0.82rem;
  color: var(--mid);
}
.elementor.elementor .apply-method a {
  color: var(--mid);
  text-decoration: none;
}
.elementor.elementor .apply-method a:hover {
  color: var(--red);
}
.elementor.elementor .form-wrap {
  background: var(--white);
  border: 1px solid var(--border);
  padding: 44px 40px;
  width: 100%;
}
.elementor.elementor .form-wrap .section-label {
  margin-bottom: 14px;
}
.elementor.elementor .form-wrap .section-title {
  margin-bottom: 10px;
}
.elementor.elementor .form-sub {
  font-size: 0.88rem;
  color: var(--mid);
  margin-bottom: 34px;
}
.elementor.elementor .contact-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.elementor.elementor .f-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.elementor.elementor .f-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.elementor.elementor .f-group label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--charcoal);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.elementor.elementor .f-group input,
.elementor.elementor .f-group textarea,
.elementor.elementor .f-group select {
  padding: 13px 16px;
  background: var(--off);
  border: 1.5px solid var(--border);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-size: 0.9rem;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
}
.elementor.elementor .f-group input:focus,
.elementor.elementor .f-group textarea:focus,
.elementor.elementor .f-group select:focus {
  border-color: var(--red);
  background: #fff;
}
.elementor.elementor .f-group textarea {
  resize: vertical;
  min-height: 110px;
  font-family: 'DM Sans', sans-serif;
}
.elementor.elementor .f-group select {
  appearance: none;
  cursor: pointer;
}
.elementor.elementor .file-drop {
  border: 1.5px dashed var(--border);
  background: var(--off);
  padding: 26px 20px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  position: relative;
}
.elementor.elementor .file-drop:hover {
  border-color: var(--red);
  background: #fff;
}
.elementor.elementor .file-drop-icon {
  width: 36px;
  height: 36px;
  margin: 0 auto 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--light);
}
.elementor.elementor .file-drop-icon svg:not(.e-svg-base > svg) {
  stroke: var(--red);
  width: 18px;
  height: 18px;
}
.elementor.elementor .file-drop-icon .e-svg-base {
  width: 18px;
  height: 18px;
}
.elementor.elementor .file-drop-icon .e-svg-base > svg {
  stroke: var(--red);
}
.elementor.elementor .file-drop-text {
  font-size: 0.85rem;
  color: var(--charcoal);
  font-weight: 500;
}
.elementor.elementor .file-drop-sub {
  font-size: 0.74rem;
  color: var(--mid);
  margin-top: 4px;
}
.elementor.elementor .file-drop-filename {
  font-size: 0.78rem;
  color: var(--red);
  font-weight: 600;
  margin-top: 8px;
}
.elementor.elementor .f-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.78rem;
  color: var(--mid);
  line-height: 1.6;
}
.elementor.elementor .f-check input {
  margin-top: 3px;
  accent-color: var(--red);
}
.elementor.elementor .f-check a {
  color: var(--red);
  text-decoration: none;
}
.elementor.elementor .f-check a:hover {
  text-decoration: underline;
}
.elementor.elementor .form-submit {
  padding: 15px 38px;
  background: var(--charcoal);
  color: #fff;
  border: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  align-self: flex-start;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: background 0.2s, transform 0.15s;
}
.elementor.elementor .form-submit:hover {
  background: var(--red);
  transform: translateY(-2px);
}
.elementor.elementor .form-note {
  font-size: 0.72rem;
  color: var(--mid);
  margin-top: 4px;
}
.elementor.elementor #form-success {
  display: none;
  background: #EBF7F0;
  border: 1px solid #4CAF7D;
  padding: 14px 18px;
  font-size: 0.82rem;
  color: #2a6e47;
  margin-bottom: 24px;
}

/* ============================================================================
   LayerDom Global Library · από το block 79 «Showroom elementor» (σελίδα: Showroom)
   ============================================================================ */
/* ── HERO ── */
.elementor.elementor #showroom-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .showroom-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .showroom-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
.elementor.elementor .showroom-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .showroom-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── SHARED ── */
/* ── INTRO ── */
.elementor.elementor #showroom-intro {
  background: var(--white);
}
.elementor.elementor .intro-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: start;
}
.elementor.elementor .intro-info {
  background: var(--off);
  border: 1px solid var(--border);
  padding: 34px 32px;
}
.elementor.elementor .intro-info h4 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  color: var(--charcoal);
  margin-bottom: 18px;
}
.elementor.elementor .intro-info-row {
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
  font-size: 0.85rem;
}
.elementor.elementor .intro-info-row:last-child {
  border-bottom: none;
}
.elementor.elementor .intro-info-row strong {
  display: block;
  color: var(--charcoal);
  margin-bottom: 3px;
}
.elementor.elementor .intro-info-row span {
  color: var(--mid);
}
.elementor.elementor .intro-info-row svg:not(.e-svg-base > svg) {
  stroke: var(--red);
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px;
}
.elementor.elementor .intro-info-row .e-svg-base {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px;
}
.elementor.elementor .intro-info-row .e-svg-base > svg {
  stroke: var(--red);
}
/* ── IMAGE BOX GRIDS (Θάλαμοι / Εξαρτήματα) ── */
.elementor.elementor .showroom-list-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 50px;
}
.elementor.elementor .showroom-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.elementor.elementor .show-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  display: block;
  background: var(--charcoal);
}
.elementor.elementor .show-card-img {
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--charcoal2) 0%, var(--charcoal) 100%);
  position: relative;
  overflow: hidden;
}
.elementor.elementor .show-card-img::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 24px 24px;
}
.elementor.elementor .show-card-img svg:not(.e-svg-base > svg) {
  width: 46px;
  height: 46px;
  stroke: rgba(255,255,255,0.35);
  position: relative;
  z-index: 1;
  transition: transform 0.4s ease, stroke 0.4s ease;
}
.elementor.elementor .show-card-img .e-svg-base {
  width: 46px;
  height: 46px;
  position: relative;
  z-index: 1;
  transition: transform 0.4s ease;
}
.elementor.elementor .show-card-img .e-svg-base > svg {
  stroke: rgba(255,255,255,0.35);
  transition: stroke 0.4s ease;
}
.elementor.elementor .show-card:hover .show-card-img svg:not(.e-svg-base > svg) {
  transform: scale(1.1);
  stroke: #FF6C58;
}
.elementor.elementor .show-card:hover .show-card-img .e-svg-base {
  transform: scale(1.1);
}
.elementor.elementor .show-card:hover .show-card-img .e-svg-base > svg {
  stroke: #FF6C58;
}
.elementor.elementor .show-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.75) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 22px;
}
.elementor.elementor .show-card-overlay .tag {
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #FF6C58;
  font-weight: 600;
  margin-bottom: 6px;
}
.elementor.elementor .show-card-overlay h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  color: #fff;
  margin-bottom: 4px;
}
.elementor.elementor .show-card-overlay .more {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.6);
  display: flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.2s, color 0.2s;
}
.elementor.elementor .show-card:hover .show-card-overlay .more {
  gap: 10px;
  color: #fff;
}
.elementor.elementor .show-card-overlay .more svg:not(.e-svg-base > svg) {
  width: 13px;
  height: 13px;
  stroke: currentColor;
}
.elementor.elementor .show-card-overlay .more .e-svg-base {
  width: 13px;
  height: 13px;
}
.elementor.elementor .show-card-overlay .more .e-svg-base > svg {
  stroke: currentColor;
}
.elementor.elementor .showroom-cta-row {
  text-align: center;
  margin-top: 44px;
}
.elementor.elementor .btn-outline-dark {
  display: inline-block;
  padding: 14px 30px;
  border: 1.5px solid var(--charcoal);
  color: var(--charcoal);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.elementor.elementor .btn-outline-dark:hover {
  background: var(--charcoal);
  color: #fff;
}
.elementor.elementor #showroom-parts {
  background: var(--off);
}

/* ============================================================================
   LayerDom Global Library · από το block 177 «Eksygxronismos (1)» (σελίδα: Εκσυγχρονισμός – Ανακαίνιση Ανελκυστήρων)
   ============================================================================ */
/* ── HERO ── */
.elementor.elementor #modern-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .modern-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
.elementor.elementor .modern-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
.elementor.elementor .modern-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
.elementor.elementor .modern-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
  margin-bottom: 10px;
}
.elementor.elementor .modern-hero-inner p:last-child {
  margin-bottom: 0;
}
.elementor.elementor .modern-hero-inner .hero-cta {
  color: rgba(255,255,255,0.9);
  font-weight: 500;
}
/* ── SHARED ── */
/* ── OVERVIEW ── */
.elementor.elementor #overview {
  background: var(--white);
}
.elementor.elementor .overview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}
.elementor.elementor .overview-text p {
  font-size: 0.92rem;
  color: var(--mid);
  line-height: 1.85;
  margin-bottom: 18px;
}
.elementor.elementor .overview-text p:last-child {
  margin-bottom: 0;
}
.elementor.elementor .overview-photo {
  width: 100%;
  height: 460px;
  object-fit: cover;
  display: block;
  background: var(--light);
}
/* ── CALLOUT ── */
.elementor.elementor #callout {
  background: var(--off);
}
.elementor.elementor .callout-box {
  border-left: 3px solid var(--red);
  background: var(--white);
  padding: 44px 50px;
  max-width: 820px;
}
.elementor.elementor .callout-box h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.5rem;
  font-style: italic;
  color: var(--charcoal);
  margin-bottom: 16px;
  line-height: 1.4;
}
.elementor.elementor .callout-box p {
  font-size: 0.92rem;
  color: var(--mid);
  line-height: 1.8;
  margin-bottom: 20px;
}
.elementor.elementor .callout-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--red);
  text-decoration: none;
}
.elementor.elementor .callout-link svg:not(.e-svg-base > svg) {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  transition: transform 0.2s;
}
.elementor.elementor .callout-link .e-svg-base {
  width: 14px;
  height: 14px;
  transition: transform 0.2s;
}
.elementor.elementor .callout-link .e-svg-base > svg {
  stroke: currentColor;
}
.elementor.elementor .callout-link:hover svg:not(.e-svg-base > svg) {
  transform: translateX(3px);
}
.elementor.elementor .callout-link:hover .e-svg-base {
  transform: translateX(3px);
}
/* ── CTA STRIP ── */
.elementor.elementor #cta h3 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(1.5rem, 2.4vw, 2.1rem);
  max-width: 520px;
  line-height: 1.3;
}

/* ============================================================================
   LayerDom Global Library · από το block 104 «Nees egkatastaseis» (σελίδα: Νέες εγκαταστάσεις)
   ============================================================================ */
/* ── HERO ── */
.elementor.elementor #install-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
/* ── SHARED ── */
/* ── INTRO (κείμενο αριστερά, εικόνα δεξιά) ── */
.elementor.elementor #install-intro {
  background: var(--white);
}
.elementor.elementor .install-photo-placeholder {
  width: 100%;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--charcoal), var(--charcoal2));
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.elementor.elementor .install-photo-placeholder::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 32px 32px;
}
html {
  scroll-behavior: smooth;
}
body {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
}
/* ── HERO ── */
.elementor.elementor #cargo-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
.elementor.elementor .hero-badge-dot {
  width: 6px;
  height: 6px;
  background: var(--red);
  border-radius: 50%;
}
.elementor.elementor .product-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
/* ── SHARED ── */
.elementor.elementor section {
  padding: 100px 60px;
}
.elementor.elementor .section-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--red);
  font-weight: 600;
  margin-bottom: 16px;
}
.elementor.elementor .section-label::before {
  content: '';
  width: 28px;
  height: 2px;
  background: var(--red);
}
.elementor.elementor .section-title {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  color: var(--charcoal);
  line-height: 1.15;
  margin-bottom: 20px;
}
.elementor.elementor .section-title em {
  font-style: italic;
  color: var(--red);
}
.elementor.elementor .section-body {
  font-size: 0.95rem;
  color: var(--mid);
  line-height: 1.85;
  max-width: 520px;
}
/* ── INTRO (κείμενο αριστερά, θέση φωτογραφίας δεξιά) ── */
.elementor.elementor #cargo-intro {
  background: var(--white);
}
.elementor.elementor .intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: start;
}
.elementor.elementor .intro-grid .section-body {
  max-width: 100%;
  margin-bottom: 18px;
}
.elementor.elementor .intro-grid .section-body:last-of-type {
  margin-bottom: 0;
}
.elementor.elementor .intro-grid .section-body strong {
  color: var(--charcoal);
  font-weight: 600;
}
.elementor.elementor .intro-grid .section-body a {
  color: var(--red) !important;
  font-weight: 600;
  text-decoration: none !important;
}
.elementor.elementor .intro-grid .section-body a:hover {
  text-decoration: underline !important;
}
.elementor.elementor .plans-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
}
.elementor.elementor .plans-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--off);
  border: 1px solid var(--border);
}
.elementor.elementor .plans-list svg:not(.e-svg-base > svg) {
  width: 16px;
  height: 16px;
  stroke: var(--red);
  flex-shrink: 0;
}
.elementor.elementor .plans-list .e-svg-base {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.elementor.elementor .plans-list .e-svg-base > svg {
  stroke: var(--red);
}
.elementor.elementor .plans-list a {
  color: var(--dark) !important;
  text-decoration: none !important;
  font-size: 0.84rem;
  font-weight: 500;
}
.elementor.elementor .plans-list a:hover {
  color: var(--red) !important;
}
@media (max-width: 1100px) {
  /* θέση για τη φωτογραφία */
  /* ── SCROLL REVEAL ── */
  .elementor.elementor section {
    padding: 90px 40px;
  }
}
@media (max-width: 900px) {
  .elementor.elementor section {
    padding: 70px 28px;
  }
  .elementor.elementor #cargo-hero {
    height: 480px;
    padding: 0 24px;
  }
  .elementor.elementor .intro-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 580px) {
  .elementor.elementor #cargo-hero {
    height: 460px;
  }
}

/* ============================================================================
   Customizer › Additional CSS (μεταφέρεται εδώ, μετά αδειάζει το Customizer)
   ============================================================================ */
/* Κρύβει τον τίτλο και τα breadcrumbs στην αρχική σελίδα */
.home .entry-title,
.home .woocommerce-breadcrumb,
.home .breadcrumbs {
  display: none !important;
}
/* Ανοίγει τη σελίδα σε όλο το πλάτος */
.home .site-content .container,
.home .wrapper,
.home #content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}
/* Στοχεύει απευθείας το header κομμάτι κάτω από το μενού */
/* Το header του Theme Builder (elementor-location-header) εξαιρείται: ο κανόνας κρύβει στην Αρχική
   τα header του θέματος, όχι το header του site */
.home header[class*="-header"]:not(.elementor-location-header),
.home div[class*="-header"],
.home .page-title-bar,
.home .title-bar,
.home .header-title {
  display: none !important;
}
/* Αν το "Valsamidis" είναι απλό h1 ή h2 μέσα σε δικό του section */
.home main > header,
.home #content > header {
  display: none !important;
}
/* 1. Εξαφανίζει το "Valsamidis" και τα breadcrumbs σε όλες τις σελίδες */
.page-header,
.page-title,
.entry-title,
.vpt-title-bar,
.breadcrumbs,
.site-main > header {
  display: none !important;
}
/* 2. Ξεκλειδώνει το full width για όλο το site */
.site-content .container,
.container,
#content,
.wrapper,
main,
.site-main {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* 3. Μηδενίζει τα κενά για να κολλήσει το μαύρο banner στο μενού */
#primary,
.entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.site-header {
  display: none;
}
.site-footer {
  display: none;
}
.elementor.elementor a.btn-primary,
.elementor.elementor a.btn-outline,
.elementor.elementor a.pack-cta,
.elementor.elementor a.cta-white-btn,
.elementor.elementor a.sw-link,
.elementor.elementor a.cat-link,
.elementor.elementor a.footer-cta-btn,
.elementor.elementor a.sr-cta-btn {
  text-decoration: none !important;
}
.elementor.elementor .btn-primary {
  color: #fff !important;
}
.elementor.elementor .btn-primary:hover {
  color: #fff !important;
}
body,
.elementor.elementor h1,
.elementor.elementor h2,
.elementor.elementor h3,
.elementor.elementor h4,
.elementor.elementor h5,
.elementor.elementor h6,
.elementor.elementor p,
.elementor.elementor a,
.elementor.elementor li,
.elementor.elementor span,
.elementor.elementor div,
.elementor.elementor button,
.elementor.elementor input,
.elementor.elementor textarea,
.elementor.elementor select {
  font-family: 'M PLUS Rounded 1c', sans-serif !important;
}
.comments-area a,
.page-content .elementor.elementor a {
  text-decoration: none;
}
.elementor.elementor p.section-label {
  font-size: 0.7rem;
}

/* ============================================================================
   Βασικό reset που μέχρι σήμερα έδινε το Tailwind CDN του LayerDom (preflight v3.4.17, χωρίς τις μεταβλητές --tw-*)
   ============================================================================ */
*,
::after,
::before {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}
:host,
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0;
  line-height: inherit;
}
.elementor.elementor hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}
.elementor.elementor abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
.elementor.elementor h1,
.elementor.elementor h2,
.elementor.elementor h3,
.elementor.elementor h4,
.elementor.elementor h5,
.elementor.elementor h6 {
  font-size: inherit;
  font-weight: inherit;
}
.elementor.elementor a {
  color: inherit;
  text-decoration: inherit;
}
.elementor.elementor b,
.elementor.elementor strong {
  font-weight: bolder;
}
.elementor.elementor code,
.elementor.elementor kbd,
.elementor.elementor pre,
.elementor.elementor samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-feature-settings: normal;
  font-variation-settings: normal;
  font-size: 1em;
}
.elementor.elementor small {
  font-size: 80%;
}
.elementor.elementor sub,
.elementor.elementor sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.elementor.elementor sub {
  bottom: -.25em;
}
.elementor.elementor sup {
  top: -.5em;
}
.elementor.elementor table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}
.elementor.elementor button,
.elementor.elementor input,
.elementor.elementor optgroup,
.elementor.elementor select,
.elementor.elementor textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
.elementor.elementor button,
.elementor.elementor select {
  text-transform: none;
}
.elementor.elementor button,
.elementor.elementor input:where([type=button]),
.elementor.elementor input:where([type=reset]),
.elementor.elementor input:where([type=submit]) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}
:-moz-focusring {
  outline: auto;
}
:-moz-ui-invalid {
  box-shadow: none;
}
.elementor.elementor progress {
  vertical-align: baseline;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
.elementor.elementor [type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
.elementor.elementor summary {
  display: list-item;
}
.elementor.elementor blockquote,
.elementor.elementor dd,
.elementor.elementor dl,
.elementor.elementor figure,
.elementor.elementor h1,
.elementor.elementor h2,
.elementor.elementor h3,
.elementor.elementor h4,
.elementor.elementor h5,
.elementor.elementor h6,
.elementor.elementor hr,
.elementor.elementor p,
.elementor.elementor pre {
  margin: 0;
}
.elementor.elementor fieldset {
  margin: 0;
  padding: 0;
}
.elementor.elementor legend {
  padding: 0;
}
.elementor.elementor menu,
.elementor.elementor ol,
.elementor.elementor ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.elementor.elementor dialog {
  padding: 0;
}
.elementor.elementor textarea {
  resize: vertical;
}
.elementor.elementor input::placeholder,
.elementor.elementor textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}
.elementor.elementor [role=button],
.elementor.elementor button {
  cursor: pointer;
}
:disabled {
  cursor: default;
}
.elementor.elementor audio,
.elementor.elementor canvas,
.elementor.elementor embed,
.elementor.elementor iframe,
.elementor.elementor img,
.elementor.elementor object,
.elementor.elementor video {
  display: block;
  vertical-align: middle;
}
.elementor.elementor svg:not(.e-svg-base > svg) {
  display: block;
  vertical-align: middle;
}
.elementor.elementor .e-svg-base {
  display: block;
  vertical-align: middle;
}
.elementor.elementor img,
.elementor.elementor video {
  max-width: 100%;
  height: auto;
}
.elementor.elementor [hidden]:where(:not([hidden=until-found])) {
  display: none;
}

/* ============================================================================
   Header (LayerDom block 40 «Header elementor»)
   ============================================================================ */
.elementor.elementor #vlx-header,
.elementor.elementor #vlx-header *,
.elementor.elementor #vlx-header *::before,
.elementor.elementor #vlx-header *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.elementor.elementor #vlx-header {
  font-family: 'DM Sans', sans-serif;
  color: var(--dark);
}
/* ── TOPBAR ── */
.elementor.elementor #vlx-header .topbar {
  background: var(--navy);
  color: rgba(255,255,255,0.7);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  padding: 8px 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.elementor.elementor #vlx-header .topbar a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
}
.elementor.elementor #vlx-header .topbar a:hover {
  color: #fff;
}
.elementor.elementor #vlx-header .topbar-right {
  display: flex;
  gap: 28px;
}
.elementor.elementor #vlx-header .topbar-cert {
  display: flex;
  align-items: center;
  gap: 6px;
}
.elementor.elementor #vlx-header .cert-dot {
  width: 6px;
  height: 6px;
  background: #4CAF7D;
  border-radius: 50%;
}
/* ── NAV ── */
.elementor.elementor #vlx-header nav {
  position: relative;
  z-index: 500;
  background: var(--white);
  border-bottom: 1px solid var(--border);
  padding: 0 60px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  box-shadow: 0 2px 12px rgba(20,20,20,0.06);
}
.elementor.elementor #vlx-header .nav-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  padding: 18px 0;
}
.elementor.elementor #vlx-header .nav-links {
  display: flex;
  align-items: stretch;
  list-style: none;
  gap: 0;
}
.elementor.elementor #vlx-header .nav-links > li {
  display: flex;
  align-items: stretch;
  position: relative;
}
.elementor.elementor #vlx-header .nav-links > li > a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 18px;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--dark);
  text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: color 0.2s, border-color 0.2s;
  white-space: nowrap;
}
.elementor.elementor #vlx-header .nav-links > li > a:hover,
.elementor.elementor #vlx-header .nav-links > li.open > a {
  color: var(--blue);
  border-bottom-color: var(--blue);
}
.elementor.elementor #vlx-header .nav-chevron {
  width: 9px;
  height: 9px;
  stroke: currentColor;
  transition: transform 0.2s;
  flex-shrink: 0;
}
.elementor.elementor #vlx-header .nav-links > li.open .nav-chevron {
  transform: rotate(180deg);
}
/* Simple dropdown */
.elementor.elementor #vlx-header .dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--white);
  border: 1px solid var(--border);
  box-shadow: 0 16px 40px rgba(20,20,20,0.12);
  min-width: 260px;
  list-style: none;
  padding: 10px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}
.elementor.elementor #vlx-header .nav-links > li.has-dropdown:hover > .dropdown,
.elementor.elementor #vlx-header .nav-links > li.has-dropdown.open > .dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.elementor.elementor #vlx-header .dropdown li a {
  display: block;
  padding: 11px 22px;
  font-size: 0.82rem;
  color: var(--dark);
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.elementor.elementor #vlx-header .dropdown li a:hover {
  background: var(--off);
  color: var(--blue);
  border-left-color: var(--blue);
}
/* Mega menu (Προϊόντα) */
.elementor.elementor #vlx-header .mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 8px);
  background: var(--white);
  border: 1px solid var(--border);
  box-shadow: 0 20px 50px rgba(20,20,20,0.14);
  display: flex;
  gap: 0;
  min-width: 640px;
  padding: 30px 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}
.elementor.elementor #vlx-header .nav-links > li.has-mega:hover > .mega-menu,
.elementor.elementor #vlx-header .nav-links > li.has-mega.open > .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.elementor.elementor #vlx-header .mega-col {
  flex: 1;
  padding: 0 30px;
  border-left: 1px solid var(--border);
}
.elementor.elementor #vlx-header .mega-col:first-child {
  border-left: none;
}
.elementor.elementor #vlx-header .mega-col h6 {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--blue);
  font-weight: 700;
  margin-bottom: 14px;
}
.elementor.elementor #vlx-header .mega-col a {
  display: block;
  padding: 7px 0;
  font-size: 0.82rem;
  color: var(--dark);
  text-decoration: none;
  transition: color 0.15s;
}
.elementor.elementor #vlx-header .mega-col a:hover {
  color: var(--blue);
}
.elementor.elementor #vlx-header .mega-col a .ext {
  font-size: 0.7rem;
  color: var(--mid);
  margin-left: 4px;
}
.elementor.elementor #vlx-header .nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.elementor.elementor #vlx-header .btn-nav-ghost {
  padding: 9px 20px;
  border: 1.5px solid var(--navy);
  background: transparent;
  color: var(--navy);
  font-family: 'DM Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}
.elementor.elementor #vlx-header .btn-nav-ghost:hover {
  background: var(--navy);
  color: #fff;
}
.elementor.elementor #vlx-header .btn-nav-fill {
  padding: 9px 22px;
  background: var(--accent);
  border: none;
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  white-space: nowrap;
}
.elementor.elementor #vlx-header .btn-nav-fill:hover {
  background: var(--blue2);
  transform: translateY(-1px);
}
/* Hamburger (mobile) */
.elementor.elementor #vlx-header .nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  align-self: center;
}
.elementor.elementor #vlx-header .nav-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--navy);
  transition: transform 0.2s, opacity 0.2s;
}
.elementor.elementor #vlx-header .nav-toggle.active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.elementor.elementor #vlx-header .nav-toggle.active span:nth-child(2) {
  opacity: 0;
}
.elementor.elementor #vlx-header .nav-toggle.active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
@media (max-width: 1100px) {
  /* ── RESPONSIVE ── */
  .elementor.elementor #vlx-header nav {
    padding: 0 30px;
  }
  .elementor.elementor #vlx-header .topbar {
    padding: 8px 30px;
  }
  .elementor.elementor #vlx-header .mega-menu {
    min-width: 560px;
  }
}
@media (max-width: 900px) {
  .elementor.elementor #vlx-header .topbar-right {
    display: none;
  }
  .elementor.elementor #vlx-header .nav-toggle {
    display: flex;
  }
  .elementor.elementor #vlx-header .nav-actions {
    display: none;
  }
  .elementor.elementor #vlx-header nav {
    flex-wrap: wrap;
    padding: 0 20px;
  }
  .elementor.elementor #vlx-header .nav-links {
    display: none;
    flex-direction: column;
    width: 100%;
    background: var(--white);
    border-top: 1px solid var(--border);
    max-height: 70vh;
    overflow-y: auto;
  }
  .elementor.elementor #vlx-header .nav-links.mobile-open {
    display: flex;
  }
  .elementor.elementor #vlx-header .nav-links > li {
    flex-direction: column;
  }
  .elementor.elementor #vlx-header .nav-links > li > a {
    padding: 16px 4px;
    border-bottom: 1px solid var(--border);
    justify-content: space-between;
  }
  .elementor.elementor #vlx-header .nav-links > li > a:hover {
    border-bottom-color: var(--border);
  }
  .elementor.elementor #vlx-header .dropdown,
  .elementor.elementor #vlx-header .mega-menu {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    display: none;
    box-shadow: none;
    border: none;
    min-width: 0;
    background: var(--off);
    padding: 6px 0 6px 16px;
    width: 100%;
  }
  .elementor.elementor #vlx-header .nav-links > li.open > .dropdown,
  .elementor.elementor #vlx-header .nav-links > li.open > .mega-menu {
    display: flex;
    flex-direction: column;
  }
  .elementor.elementor #vlx-header .mega-menu {
    flex-direction: column;
    gap: 0;
  }
  .elementor.elementor #vlx-header .mega-col {
    border-left: none;
    padding: 10px 0;
  }
  /* FIX: neutralize desktop translate(-50%, 0) on the open mega-menu, which was pushing half the menu off-screen on mobile */
  .elementor.elementor #vlx-header .nav-links > li.has-mega.open > .mega-menu,
  .elementor.elementor #vlx-header .nav-links > li.has-mega:hover > .mega-menu {
    transform: none;
  }
  /* Larger tap target for the chevron so it's easy to hit with a finger, without changing its visual size or the desktop layout */
  .elementor.elementor #vlx-header .nav-links > li.has-dropdown > a > .nav-chevron {
    padding: 14px;
    margin: -14px;
    width: 9px;
    height: 9px;
    box-sizing: content-box;
  }
}

/* ============================================================================
   Μόνο για τη σελίδα «Αρχική» (id 47, LayerDom block 38) · scoped με :where(body.page-id-47)
   ============================================================================ */
body:is(.page-id-47, .postid-47) {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  line-height: 1.6;
}
/* ── HERO ── */
:where(body.page-id-47, body.postid-47) .elementor.elementor #hero {
  background: var(--navy);
  position: relative;
  overflow: hidden;
  min-height: 88vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .hero-left {
  position: relative;
  z-index: 2;
  padding: 100px 60px 100px 60px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .hero-badge-dot {
  width: 6px;
  height: 6px;
  background: #4CAF7D;
  border-radius: 50%;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .hero-title {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  color: #fff;
  line-height: 1.1;
  margin-bottom: 24px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .hero-title span {
  color: #FF6C58;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .hero-desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 420px;
  line-height: 1.8;
  margin-bottom: 40px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .hero-btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .btn-hero-primary {
  padding: 15px 34px;
  background: var(--accent);
  color: #fff;
  border: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .btn-hero-primary:hover {
  background: #A81E15;
  transform: translateY(-2px);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .btn-hero-secondary {
  padding: 15px 34px;
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,0.3);
  font-family: 'DM Sans', sans-serif;
  font-size: 0.9rem;
  font-weight: 400;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .btn-hero-secondary:hover {
  border-color: #fff;
  background: rgba(255,255,255,0.06);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .hero-trust {
  display: flex;
  gap: 32px;
  margin-top: 52px;
  padding-top: 36px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .trust-item {
  text-align: left;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .trust-num {
  font-family: 'DM Serif Display', serif;
  font-size: 2rem;
  color: #fff;
  line-height: 1;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .trust-num sup {
  font-size: 1rem;
  color: #FF6C58;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .trust-label {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.5);
  margin-top: 4px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .hero-right {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 40px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .hero-illustration {
  width: 100%;
  max-width: 420px;
  position: relative;
}
/* Building illustration */
:where(body.page-id-47, body.postid-47) .elementor.elementor .building-svg {
  width: 100%;
}
/* ── CLIENTS STRIP ── */
:where(body.page-id-47, body.postid-47) .elementor.elementor .clients-strip {
  background: var(--off);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 28px 60px;
  display: flex;
  align-items: center;
  gap: 50px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .clients-label {
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mid);
  white-space: nowrap;
  flex-shrink: 0;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .clients-logos {
  display: flex;
  align-items: center;
  gap: 44px;
  overflow: hidden;
  flex-wrap: wrap;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .client-logo {
  font-family: 'DM Serif Display', serif;
  font-size: 1rem;
  color: var(--mid);
  letter-spacing: 0.05em;
  opacity: 0.6;
  transition: opacity 0.2s;
  white-space: nowrap;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .client-logo:hover {
  opacity: 1;
}
/* ── SHARED ── */
:where(body.page-id-47, body.postid-47) .elementor.elementor .section-body {
  font-size: 0.95rem;
  color: var(--mid);
  line-height: 1.8;
  max-width: 520px;
}
/* ── SERVICES ── */
:where(body.page-id-47, body.postid-47) .elementor.elementor #services {
  background: var(--white);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .services-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 60px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .svc-card {
  background: var(--white);
  padding: 44px 36px;
  transition: background 0.3s;
  position: relative;
  overflow: hidden;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .svc-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .svc-icon {
  width: 52px;
  height: 52px;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  transition: background 0.3s;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .svc-icon svg:not(.e-svg-base > svg) {
  stroke: var(--blue);
  width: 24px;
  height: 24px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .svc-icon .e-svg-base {
  width: 24px;
  height: 24px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .svc-icon .e-svg-base > svg {
  stroke: var(--blue);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .svc-card h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.2rem;
  color: var(--navy);
  margin-bottom: 12px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .svc-card p {
  font-size: 0.82rem;
  color: var(--mid);
  line-height: 1.75;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .svc-card .svc-more {
  display: inline-block;
  margin-top: 18px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--blue);
  text-decoration: none;
  letter-spacing: 0.05em;
}
/* ── PRODUCTS ── */
:where(body.page-id-47, body.postid-47) .elementor.elementor #products {
  background: var(--off);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .products-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
  margin-bottom: 60px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .prod-card {
  background: var(--white);
  border: 1px solid var(--border);
  overflow: hidden;
  transition: box-shadow 0.3s, transform 0.3s;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .prod-card:hover {
  box-shadow: 0 12px 40px rgba(20,20,20,0.12);
  transform: translateY(-4px);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .prod-visual {
  background: var(--light);
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .prod-body {
  padding: 28px 28px 32px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .prod-body h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.25rem;
  color: var(--navy);
  margin-bottom: 10px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .prod-body p {
  font-size: 0.82rem;
  color: var(--mid);
  line-height: 1.75;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .prod-cta {
  margin-top: 24px;
  display: block;
  width: 100%;
  padding: 12px;
  background: var(--navy);
  color: #fff;
  border: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  transition: background 0.2s;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .prod-cta:hover {
  background: var(--blue);
}
/* ── WHY US ── */
:where(body.page-id-47, body.postid-47) .elementor.elementor #why {
  background: var(--navy);
  color: #fff;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor #why .section-label {
  color: #FF6C58;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor #why .section-label::before {
  background: #FF6C58;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor #why .section-title {
  color: #fff;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor #why .section-title em {
  color: #FF6C58;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor #why .section-body {
  color: rgba(255,255,255,0.6);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .why-feat {
  background: rgba(255,255,255,0.03);
  padding: 36px 30px;
  transition: background 0.3s;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .why-feat-icon {
  width: 44px;
  height: 44px;
  background: rgba(255,108,88,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .why-feat-icon svg:not(.e-svg-base > svg) {
  stroke: #FF6C58;
  width: 22px;
  height: 22px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .why-feat-icon .e-svg-base {
  width: 22px;
  height: 22px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .why-feat-icon .e-svg-base > svg {
  stroke: #FF6C58;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .why-feat h4 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.05rem;
  color: #fff;
  margin-bottom: 10px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .why-certifications {
  margin-top: 40px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .why-certs-title {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 16px;
}
/* ── PROJECTS ── */
/* ── TEAM ── */
/* ── CONTACT ── */
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-info-blocks {
  display: flex;
  flex-direction: column;
  gap: 0;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-block {
  padding: 28px 0;
  border-bottom: 1px solid var(--border);
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-block:first-child {
  padding-top: 0;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-icon {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  background: var(--sky);
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-icon svg:not(.e-svg-base > svg) {
  stroke: var(--blue);
  width: 18px;
  height: 18px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-icon .e-svg-base {
  width: 18px;
  height: 18px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-icon .e-svg-base > svg {
  stroke: var(--blue);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-block h5 {
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mid);
  margin-bottom: 6px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-block p {
  font-size: 0.88rem;
  color: var(--navy);
  font-weight: 500;
  line-height: 1.6;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-block a {
  color: var(--blue);
  text-decoration: none;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-emergency {
  margin-top: 32px;
  background: var(--navy);
  padding: 24px 28px;
  display: flex;
  align-items: center;
  gap: 18px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .ce-icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .ce-icon svg:not(.e-svg-base > svg) {
  stroke: #fff;
  width: 20px;
  height: 20px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .ce-icon .e-svg-base {
  width: 20px;
  height: 20px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .ce-icon .e-svg-base > svg {
  stroke: #fff;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .ce-text h5 {
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-bottom: 4px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .ce-text p {
  font-size: 1.05rem;
  font-weight: 600;
  color: #fff;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .form-heading {
  font-family: 'DM Serif Display', serif;
  font-size: 1.5rem;
  color: var(--navy);
  margin-bottom: 6px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .form-sub {
  font-size: 0.84rem;
  color: var(--mid);
  margin-bottom: 30px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .contact-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .f-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .f-group {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .f-group label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--dark);
  letter-spacing: 0.04em;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .f-group input,
:where(body.page-id-47, body.postid-47) .elementor.elementor .f-group textarea,
:where(body.page-id-47, body.postid-47) .elementor.elementor .f-group select {
  padding: 12px 16px;
  background: var(--off);
  border: 1.5px solid var(--border);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-size: 0.88rem;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .f-group textarea {
  resize: vertical;
  min-height: 130px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .form-submit {
  padding: 15px 36px;
  background: var(--navy);
  color: #fff;
  border: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  align-self: flex-start;
  transition: background 0.2s, transform 0.15s;
  display: flex;
  align-items: center;
  gap: 10px;
}
/* ── CLIENTS (LOGO WALL) ── (το πλέγμα με τα logos ισχύει και για την Εταιρία, 76) */
:where(body.page-id-47, body.postid-47) .elementor.elementor #clients {
  background: var(--white);
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .clients-wall-intro {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 60px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .clients-wall-intro .section-label {
  justify-content: center;
  margin-bottom: 18px;
}
:where(body.page-id-47, body.postid-47) .elementor.elementor .clients-wall-intro .section-body {
  max-width: 560px;
  margin: 0 auto;
}
:where(body.page-id-47, body.postid-47, body.page-id-76, body.postid-76) .elementor.elementor .logos-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}
:where(body.page-id-47, body.postid-47, body.page-id-76, body.postid-76) .elementor.elementor .logo-card {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--border);
  box-shadow: 0 1px 2px rgba(20,20,20,0.04);
  aspect-ratio: 4 / 3;
  transition: box-shadow 0.3s, transform 0.3s, border-color 0.3s;
}
:where(body.page-id-47, body.postid-47, body.page-id-76, body.postid-76) .elementor.elementor .logo-card:hover {
  box-shadow: 0 12px 40px rgba(20,20,20,0.12);
  border-color: var(--blue);
  transform: translateY(-3px);
}
:where(body.page-id-47, body.postid-47, body.page-id-76, body.postid-76) .elementor.elementor .logo-card img {
  max-height: 46px;
  width: auto;
  object-fit: contain;
  opacity: 0.55;
  filter: grayscale(1);
  transition: opacity 0.3s, filter 0.3s, transform 0.3s;
}
:where(body.page-id-47, body.postid-47, body.page-id-76, body.postid-76) .elementor.elementor .logo-card:hover img {
  opacity: 1;
  filter: grayscale(0);
  transform: scale(1.08);
}
@media (max-width: 1100px) {
  :where(body.page-id-47, body.postid-47, body.page-id-76, body.postid-76) .elementor.elementor .logos-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 640px) {
  :where(body.page-id-47, body.postid-47, body.page-id-76, body.postid-76) .elementor.elementor .logos-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}
@media (max-width: 1100px) {
  /* ── REVEAL ── */
  /* ── RESPONSIVE ── */
  :where(body.page-id-47, body.postid-47) .elementor.elementor section {
    padding: 80px 30px;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .clients-strip {
    padding: 24px 30px;
  }
}
@media (max-width: 900px) {
  :where(body.page-id-47, body.postid-47) .elementor.elementor #hero {
    grid-template-columns: 1fr;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .hero-right {
    display: none;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .hero-left {
    padding: 80px 30px;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .services-top {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .services-grid {
    grid-template-columns: 1fr 1fr;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .products-intro {
    grid-template-columns: 1fr;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .products-grid {
    grid-template-columns: 1fr;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .why-layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .contact-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 580px) {
  :where(body.page-id-47, body.postid-47) .elementor.elementor .services-grid,
  :where(body.page-id-47, body.postid-47) .elementor.elementor .products-grid,
  :where(body.page-id-47, body.postid-47) .elementor.elementor .team-grid,
  :where(body.page-id-47, body.postid-47) .elementor.elementor .projects-grid {
    grid-template-columns: 1fr;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .why-features {
    grid-template-columns: 1fr;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .hero-trust {
    flex-wrap: wrap;
    gap: 20px;
  }
  :where(body.page-id-47, body.postid-47) .elementor.elementor .f-row {
    grid-template-columns: 1fr;
  }
}

/* ============================================================================
   Μόνο για τη σελίδα «Showroom» (id 90, LayerDom block 79) · scoped με :where(body.page-id-90)
   ============================================================================ */
body:is(.page-id-90, .postid-90) {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  line-height: 1.6;
}
/* ── HERO ── */
/* ── SHARED ── */
:where(body.page-id-90, body.postid-90) .elementor.elementor section {
  padding: 100px 60px;
}
:where(body.page-id-90, body.postid-90) .elementor.elementor .section-body {
  font-size: 0.95rem;
  color: var(--mid);
  line-height: 1.8;
  max-width: 520px;
}
/* ── INTRO ── */
/* ── IMAGE BOX GRIDS (Θάλαμοι / Εξαρτήματα) ── */
:where(body.page-id-90, body.postid-90) .elementor.elementor .show-card-img::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 24px 24px;
}
:where(body.page-id-90, body.postid-90) .elementor.elementor #showroom-parts {
  background: var(--off);
}
@media (max-width: 900px) {
  /* ── SCROLL REVEAL ── */
  :where(body.page-id-90, body.postid-90) .elementor.elementor section {
    padding: 70px 28px;
  }
  :where(body.page-id-90, body.postid-90) .elementor.elementor #showroom-hero {
    height: auto;
    padding: 50px 20px;
  }
  :where(body.page-id-90, body.postid-90) .elementor.elementor .intro-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  :where(body.page-id-90, body.postid-90) .elementor.elementor .showroom-list-top {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  :where(body.page-id-90, body.postid-90) .elementor.elementor .showroom-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}
@media (max-width: 580px) {
  :where(body.page-id-90, body.postid-90) .elementor.elementor .showroom-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================================
   Μόνο για τη σελίδα «Επικοινωνία» (id 92, LayerDom block 80) · scoped με :where(body.page-id-92)
   ============================================================================ */
body:is(.page-id-92, .postid-92) {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  line-height: 1.6;
}
/* ── HERO ── */
:where(body.page-id-92, body.postid-92) .elementor.elementor #contact-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── SHARED ── */
:where(body.page-id-92, body.postid-92) .elementor.elementor section {
  padding: 100px 60px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .section-body {
  font-size: 0.95rem;
  color: var(--mid);
  line-height: 1.8;
  max-width: 560px;
}
/* ── ΣΤΟΙΧΕΙΑ ΕΠΙΚΟΙΝΩΝΙΑΣ ── */
:where(body.page-id-92, body.postid-92) .elementor.elementor #contact-details {
  background: var(--white);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-top {
  margin-bottom: 56px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-grid-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  margin-bottom: 56px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card {
  background: var(--white);
  padding: 40px 32px;
  position: relative;
  overflow: hidden;
  transition: background 0.3s;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card:hover {
  background: var(--graylight);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card:hover::after {
  transform: scaleX(1);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card-icon {
  width: 52px;
  height: 52px;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  transition: background 0.3s;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card:hover .contact-card-icon {
  background: var(--red);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card:hover .contact-card-icon svg:not(.e-svg-base > svg) {
  stroke: #fff;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card:hover .contact-card-icon .e-svg-base > svg {
  stroke: #fff;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card-icon svg:not(.e-svg-base > svg) {
  stroke: var(--red);
  width: 24px;
  height: 24px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card-icon .e-svg-base {
  width: 24px;
  height: 24px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card-icon .e-svg-base > svg {
  stroke: var(--red);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card h4 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.05rem;
  color: var(--charcoal);
  margin-bottom: 10px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card p {
  font-size: 0.85rem;
  color: var(--mid);
  line-height: 1.7;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .contact-card a:hover {
  color: var(--red);
}
/* ── QUICK ACTIONS ── */
:where(body.page-id-92, body.postid-92) .elementor.elementor .quick-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .quick-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: var(--charcoal);
  padding: 30px 34px;
  text-decoration: none;
  transition: background 0.25s, transform 0.2s;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .quick-action:hover {
  background: var(--charcoal2);
  transform: translateY(-2px);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .quick-action-text h5 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  color: #fff;
  margin-bottom: 6px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .quick-action-text p {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.55);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .quick-action-arrow {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  background: var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .quick-action-arrow svg:not(.e-svg-base > svg) {
  stroke: #fff;
  width: 18px;
  height: 18px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .quick-action-arrow .e-svg-base {
  width: 18px;
  height: 18px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .quick-action-arrow .e-svg-base > svg {
  stroke: #fff;
}
/* ── ΦΟΡΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ ── */
:where(body.page-id-92, body.postid-92) .elementor.elementor #contact-form-section {
  background: var(--off);
  padding: 0;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .form-section-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 700px;
}
/* Αριστερό μέρος – φόρμα */
:where(body.page-id-92, body.postid-92) .elementor.elementor .form-side {
  padding: 80px 60px;
  background: var(--off);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* Δεξί μέρος – φωτογραφία */
:where(body.page-id-92, body.postid-92) .elementor.elementor .form-image-side {
  position: relative;
  overflow: hidden;
  min-height: 600px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .form-image-side img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .form-image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient( to bottom, rgba(26,26,26,0.15) 0%, rgba(26,26,26,0.50) 100% );
  z-index: 1;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .form-image-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 36px 40px;
  background: linear-gradient(to top, rgba(26,26,26,0.85) 0%, transparent 100%);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .form-image-caption p {
  font-family: 'DM Serif Display', serif;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 8px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .form-image-caption span {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.65);
  letter-spacing: 0.05em;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .form-image-badge {
  position: absolute;
  top: 36px;
  left: 40px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(218,47,40,0.92);
  padding: 8px 18px;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  font-weight: 600;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .f-group input,
:where(body.page-id-92, body.postid-92) .elementor.elementor .f-group textarea,
:where(body.page-id-92, body.postid-92) .elementor.elementor .f-group select {
  padding: 13px 16px;
  background: var(--white);
  border: 1.5px solid var(--border);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-size: 0.9rem;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .f-group textarea {
  resize: vertical;
  min-height: 130px;
  font-family: 'DM Sans', sans-serif;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .form-note {
  font-size: 0.72rem;
  color: var(--mid);
  margin-top: 10px;
}
/* ── ΧΑΡΤΗΣ ── */
:where(body.page-id-92, body.postid-92) .elementor.elementor #contact-map {
  background: var(--off);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .map-frame {
  border: 1px solid var(--border);
  background: var(--white);
  padding: 10px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .map-frame iframe {
  width: 100%;
  height: 460px;
  display: block;
  border: 0;
  filter: grayscale(0.15) contrast(1.02);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .map-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 22px 26px;
  background: var(--charcoal);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .map-footer-text h5 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.05rem;
  color: #fff;
  margin-bottom: 4px;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .map-footer-text p {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.55);
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .map-footer-btn {
  padding: 12px 26px;
  background: var(--red);
  color: #fff;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  white-space: nowrap;
  transition: background 0.2s;
}
:where(body.page-id-92, body.postid-92) .elementor.elementor .map-footer-btn:hover {
  background: var(--red2);
}
@media (max-width: 1100px) {
  /* ── SCROLL REVEAL ── */
  /* ── RESPONSIVE ── */
  :where(body.page-id-92, body.postid-92) .elementor.elementor .contact-grid-cards {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 900px) {
  :where(body.page-id-92, body.postid-92) .elementor.elementor section {
    padding: 70px 28px;
  }
  :where(body.page-id-92, body.postid-92) .elementor.elementor #contact-hero {
    height: 480px;
    padding: 0 24px;
  }
  :where(body.page-id-92, body.postid-92) .elementor.elementor .quick-actions {
    grid-template-columns: 1fr;
  }
  :where(body.page-id-92, body.postid-92) .elementor.elementor .map-frame iframe {
    height: 340px;
  }
  :where(body.page-id-92, body.postid-92) .elementor.elementor .map-footer {
    flex-direction: column;
    align-items: flex-start;
  }
  :where(body.page-id-92, body.postid-92) .elementor.elementor .form-section-inner {
    grid-template-columns: 1fr;
  }
  :where(body.page-id-92, body.postid-92) .elementor.elementor .form-side {
    padding: 60px 28px;
  }
  :where(body.page-id-92, body.postid-92) .elementor.elementor .form-image-side {
    min-height: 400px;
    order: -1;
  }
  :where(body.page-id-92, body.postid-92) .elementor.elementor .f-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 580px) {
  :where(body.page-id-92, body.postid-92) .elementor.elementor #contact-hero {
    height: 460px;
  }
  :where(body.page-id-92, body.postid-92) .elementor.elementor .contact-grid-cards {
    grid-template-columns: 1fr;
  }
}

/* ============================================================================
   Μόνο για τη σελίδα «Ανελκυστήρες Ατόμων» (id 272, LayerDom block 241) · scoped με :where(body.page-id-272)
   ============================================================================ */
body:is(.page-id-272, .postid-272) {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  line-height: 1.6;
}
/* ── HERO ── */
:where(body.page-id-272, body.postid-272) .elementor.elementor #passenger-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 420px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
/* ── SHARED ── */
:where(body.page-id-272, body.postid-272) .elementor.elementor section {
  padding: 90px 60px;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .section-body {
  font-size: 0.95rem;
  color: var(--mid);
  line-height: 1.85;
  max-width: 640px;
}
/* Βασικό link style χωρίς font-weight */
:where(body.page-id-272, body.postid-272) .elementor.elementor a {
  color: var(--red);
  text-decoration: none;
}
/* Hover για όλα τα links */
:where(body.page-id-272, body.postid-272) .elementor.elementor a:hover {
  text-decoration: underline;
}
/* Bold μόνο στα links μέσα στο περιεχόμενο που θέλεις */
:where(body.page-id-272, body.postid-272) .elementor.elementor .plans-list a,
:where(body.page-id-272, body.postid-272) .elementor.elementor .type-block a,
:where(body.page-id-272, body.postid-272) .elementor.elementor .section-body a,
:where(body.page-id-272, body.postid-272) .elementor.elementor .v20-callout a {
  font-weight: 600;
}
/* ── INTRO ── */
:where(body.page-id-272, body.postid-272) .elementor.elementor #passenger-intro {
  background: var(--white);
  padding-bottom: 50px;
}
/* ── GALLERY ── */
:where(body.page-id-272, body.postid-272) .elementor.elementor #passenger-gallery {
  background: var(--off);
  padding-top: 50px;
  padding-bottom: 60px;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .gallery-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .gallery-item {
  aspect-ratio: 1/1;
  overflow: hidden;
  background: var(--light);
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .gallery-item:hover img {
  transform: scale(1.08);
}
@media (max-width: 1100px) {
  :where(body.page-id-272, body.postid-272) .elementor.elementor .gallery-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 700px) {
  :where(body.page-id-272, body.postid-272) .elementor.elementor .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* ── TYPES ── */
:where(body.page-id-272, body.postid-272) .elementor.elementor #passenger-types {
  background: var(--white);
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .types-head {
  margin-bottom: 50px;
  max-width: 640px;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .type-block {
  padding: 40px 0;
  border-top: 1px solid var(--border);
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .type-heading {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .type-heading h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.4rem;
  color: var(--charcoal);
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .type-tag {
  font-size: 0.78rem;
  font-style: italic;
  color: var(--red);
  font-weight: 500;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .type-block p {
  font-size: 0.9rem;
  color: var(--mid);
  line-height: 1.85;
  max-width: 700px;
  margin-bottom: 12px;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .type-block p:last-of-type {
  margin-bottom: 0;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .plans-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .plans-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: var(--off);
  border: 1px solid var(--border);
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .plans-list svg:not(.e-svg-base > svg) {
  width: 15px;
  height: 15px;
  stroke: var(--red);
  flex-shrink: 0;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .plans-list .e-svg-base {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .plans-list .e-svg-base > svg {
  stroke: var(--red);
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .plans-list a {
  color: var(--dark);
  font-size: 0.8rem;
  font-weight: 500;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .v20-callout {
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  background: var(--charcoal);
  padding: 24px 28px;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .v20-callout .v20-mark {
  width: 46px;
  height: 46px;
  background: rgba(255,108,88,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .v20-callout .v20-mark svg:not(.e-svg-base > svg) {
  width: 22px;
  height: 22px;
  stroke: #FF6C58;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .v20-callout .v20-mark .e-svg-base {
  width: 22px;
  height: 22px;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .v20-callout .v20-mark .e-svg-base > svg {
  stroke: #FF6C58;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .v20-callout-text h4 {
  font-family: 'DM Serif Display', serif;
  color: #fff;
  font-size: 1rem;
  margin-bottom: 4px;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .v20-callout-text p {
  color: rgba(255,255,255,0.55);
  font-size: 0.8rem;
  margin: 0;
}
:where(body.page-id-272, body.postid-272) .elementor.elementor .v20-callout a {
  margin-left: auto;
  color: #FF6C58 !important;
  font-size: 0.82rem;
}
@media (max-width: 900px) {
  :where(body.page-id-272, body.postid-272) .elementor.elementor section {
    padding: 60px 28px;
  }
  :where(body.page-id-272, body.postid-272) .elementor.elementor #passenger-hero {
    height: 460px;
    padding: 0 24px;
  }
  :where(body.page-id-272, body.postid-272) .elementor.elementor .v20-callout a {
    margin-left: 0;
  }
}
@media (max-width: 580px) {
  :where(body.page-id-272, body.postid-272) .elementor.elementor #passenger-hero {
    height: 440px;
  }
}

/* ============================================================================
   Μόνο για τη σελίδα «Αναβατόρια Μικρών Φορτίων & Τροφίμων» (id 276, LayerDom block 242) · scoped με :where(body.page-id-276)
   ============================================================================ */
body:is(.page-id-276, .postid-276) {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  line-height: 1.6;
}
/* ── HERO ── */
:where(body.page-id-276, body.postid-276) .elementor.elementor #dumbwaiter-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
:where(body.page-id-276, body.postid-276) .elementor.elementor .product-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
/* ── SHARED ── */
/* ── INTRO (φωτογραφία αριστερά, κείμενο δεξιά) ── */
:where(body.page-id-276, body.postid-276) .elementor.elementor #dumbwaiter-intro {
  background: var(--white);
}
@media (max-width: 1100px) {
  /* ── SCROLL REVEAL ── */
  :where(body.page-id-276, body.postid-276) .elementor.elementor section {
    padding: 90px 40px;
  }
}
@media (max-width: 900px) {
  :where(body.page-id-276, body.postid-276) .elementor.elementor section {
    padding: 70px 28px;
  }
  :where(body.page-id-276, body.postid-276) .elementor.elementor #dumbwaiter-hero {
    height: 480px;
    padding: 0 24px;
  }
  :where(body.page-id-276, body.postid-276) .elementor.elementor .intro-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  :where(body.page-id-276, body.postid-276) .elementor.elementor .intro-grid .image-col {
    order: -1;
  }
}
@media (max-width: 580px) {
  :where(body.page-id-276, body.postid-276) .elementor.elementor #dumbwaiter-hero {
    height: 460px;
  }
}

/* ============================================================================
   Μόνο για τη σελίδα «Πιστοποίηση & Περιοδικοί Έλεγχοι» (id 278, LayerDom block 243) · scoped με :where(body.page-id-278)
   ============================================================================ */
body:is(.page-id-278, .postid-278) {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  line-height: 1.6;
}
/* ── HERO ── */
:where(body.page-id-278, body.postid-278) .elementor.elementor #cert-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
:where(body.page-id-278, body.postid-278) .elementor.elementor .product-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
/* ── SHARED ── */
/* ── INTRO (κείμενο αριστερά, θέση φωτογραφίας δεξιά) ── */
:where(body.page-id-278, body.postid-278) .elementor.elementor #cert-intro {
  background: var(--white);
}
@media (max-width: 1100px) {
  /* θέση για τη φωτογραφία που θα προσθέσετε */
  /* ── SCROLL REVEAL ── */
  :where(body.page-id-278, body.postid-278) .elementor.elementor section {
    padding: 90px 40px;
  }
}
@media (max-width: 900px) {
  :where(body.page-id-278, body.postid-278) .elementor.elementor section {
    padding: 70px 28px;
  }
  :where(body.page-id-278, body.postid-278) .elementor.elementor #cert-hero {
    height: 480px;
    padding: 0 24px;
  }
  :where(body.page-id-278, body.postid-278) .elementor.elementor .intro-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 580px) {
  :where(body.page-id-278, body.postid-278) .elementor.elementor #cert-hero {
    height: 460px;
  }
}

/* ============================================================================
   Μόνο για τη σελίδα «Τεχνική Υποστήριξη – After Sales Services» (id 282, LayerDom block 244) · scoped με :where(body.page-id-282)
   ============================================================================ */
body:is(.page-id-282, .postid-282) {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  line-height: 1.6;
}
/* ── HERO (ίδιο ύψος με τις υπόλοιπες σελίδες, σταθερό σε desktop & mobile) ── */
:where(body.page-id-282, body.postid-282) .elementor.elementor #support-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .support-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .support-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .support-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .support-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
/* ── SHARED ── */
:where(body.page-id-282, body.postid-282) .elementor.elementor section {
  padding: 100px 60px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .section-body {
  font-size: 0.95rem;
  color: var(--mid);
  line-height: 1.8;
  max-width: 520px;
}
/* ── INTRO / ΑΞΙΕΣ ── */
:where(body.page-id-282, body.postid-282) .elementor.elementor #support-intro {
  background: var(--white);
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .method-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .values-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .values-list li {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 0.95rem;
  color: var(--charcoal);
  font-weight: 500;
  padding: 18px 0;
  border-bottom: 1px solid var(--border);
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .values-list li:first-child {
  padding-top: 0;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .values-list li:last-child {
  border-bottom: none;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .values-list li::before {
  content: '';
  width: 8px;
  height: 8px;
  background: var(--red);
  flex-shrink: 0;
}
/* ── ΤΙ ΠΡΟΣΦΕΡΟΥΜΕ ── */
:where(body.page-id-282, body.postid-282) .elementor.elementor #support-offer {
  background: var(--off);
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .svc-card {
  background: var(--white);
  padding: 44px 36px;
  transition: background 0.3s;
  position: relative;
  overflow: hidden;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .svc-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .svc-icon {
  width: 52px;
  height: 52px;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  transition: background 0.3s;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .svc-icon svg:not(.e-svg-base > svg) {
  stroke: var(--red);
  width: 23px;
  height: 23px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .svc-icon .e-svg-base {
  width: 23px;
  height: 23px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .svc-icon .e-svg-base > svg {
  stroke: var(--red);
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .svc-card h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  color: var(--charcoal);
  margin-bottom: 12px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .svc-card p {
  font-size: 0.84rem;
  color: var(--mid);
  line-height: 1.8;
}
/* ── VALSAMIDIS CARE STRIP ── */
:where(body.page-id-282, body.postid-282) .elementor.elementor #support-care {
  background: var(--charcoal);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
  padding: 60px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .care-text h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.6rem;
  margin-bottom: 10px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .care-text h3 em {
  font-style: italic;
  color: #FF6C58;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .care-text p {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.6);
  max-width: 480px;
  line-height: 1.7;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .care-btn {
  padding: 15px 32px;
  background: var(--red);
  color: #fff !important;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  white-space: nowrap;
  display: inline-block;
  transition: background 0.2s, transform 0.15s;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .care-btn:hover {
  background: var(--red2);
  color: #fff !important;
  transform: translateY(-2px);
}
/* ── QUICK ACTIONS ── */
:where(body.page-id-282, body.postid-282) .elementor.elementor #support-actions {
  background: var(--off);
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .quick-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .quick-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: var(--white);
  border: 1px solid var(--border);
  padding: 30px 34px;
  text-decoration: none;
  transition: background 0.25s, transform 0.2s;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .quick-action:hover {
  background: var(--graylight);
  transform: translateY(-2px);
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .quick-action-text h5 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  color: var(--charcoal);
  margin-bottom: 6px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .quick-action-text p {
  font-size: 0.8rem;
  color: var(--mid);
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .quick-action-arrow {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  background: var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .quick-action-arrow svg:not(.e-svg-base > svg) {
  stroke: #fff;
  width: 18px;
  height: 18px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .quick-action-arrow .e-svg-base {
  width: 18px;
  height: 18px;
}
:where(body.page-id-282, body.postid-282) .elementor.elementor .quick-action-arrow .e-svg-base > svg {
  stroke: #fff;
}
@media (max-width: 1100px) {
  /* ── SCROLL REVEAL ── */
  :where(body.page-id-282, body.postid-282) .elementor.elementor .services-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 900px) {
  :where(body.page-id-282, body.postid-282) .elementor.elementor section {
    padding: 70px 28px;
  }
  :where(body.page-id-282, body.postid-282) .elementor.elementor #support-hero {
    height: 480px;
    padding: 0 24px;
  }
  :where(body.page-id-282, body.postid-282) .elementor.elementor .method-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  :where(body.page-id-282, body.postid-282) .elementor.elementor .services-list-top {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  :where(body.page-id-282, body.postid-282) .elementor.elementor .services-grid {
    grid-template-columns: 1fr;
  }
  :where(body.page-id-282, body.postid-282) .elementor.elementor #support-care {
    padding: 50px 28px;
    flex-direction: column;
    align-items: flex-start;
  }
  :where(body.page-id-282, body.postid-282) .elementor.elementor .quick-actions {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 580px) {
  :where(body.page-id-282, body.postid-282) .elementor.elementor #support-hero {
    height: 460px;
  }
}

/* ============================================================================
   Μόνο για τη σελίδα «Ανελκυστήρες Α.Μ.Ε.Α.» (id 284, LayerDom block 285) · scoped με :where(body.page-id-284)
   ============================================================================ */
body:is(.page-id-284, .postid-284) {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  line-height: 1.6;
}
/* ── HERO ── */
:where(body.page-id-284, body.postid-284) .elementor.elementor #amea-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
:where(body.page-id-284, body.postid-284) .elementor.elementor .product-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.5rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
/* ── SHARED ── */
/* ── INTRO (κείμενο αριστερά, θέση φωτογραφίας δεξιά) ── */
:where(body.page-id-284, body.postid-284) .elementor.elementor #amea-intro {
  background: var(--white);
}
@media (max-width: 1100px) {
  /* ── SCROLL REVEAL ── */
  :where(body.page-id-284, body.postid-284) .elementor.elementor section {
    padding: 90px 40px;
  }
}
@media (max-width: 900px) {
  :where(body.page-id-284, body.postid-284) .elementor.elementor section {
    padding: 70px 28px;
  }
  :where(body.page-id-284, body.postid-284) .elementor.elementor #amea-hero {
    height: 480px;
    padding: 0 24px;
  }
  :where(body.page-id-284, body.postid-284) .elementor.elementor .intro-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 580px) {
  :where(body.page-id-284, body.postid-284) .elementor.elementor #amea-hero {
    height: 460px;
  }
}

/* ============================================================================
   Footer (LayerDom block 41 «Footer elementor»)
   ============================================================================ */
.elementor.elementor #vlx-footer,
.elementor.elementor #vlx-footer *,
.elementor.elementor #vlx-footer *::before,
.elementor.elementor #vlx-footer *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.elementor.elementor #vlx-footer {
  font-family: 'DM Sans', sans-serif;
}
.elementor.elementor #vlx-footer .footer-cta {
  background: var(--accent);
  padding: 46px 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
}
.elementor.elementor #vlx-footer .footer-cta h4 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.35rem;
  color: #fff;
  max-width: 480px;
  line-height: 1.35;
}
.elementor.elementor #vlx-footer .footer-cta-btn {
  padding: 13px 28px;
  background: #fff;
  color: var(--accent);
  border: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: transform 0.15s;
}
.elementor.elementor #vlx-footer .footer-cta-btn:hover {
  transform: translateY(-2px);
}
.elementor.elementor #vlx-footer footer {
  background: var(--navy);
  color: rgba(255,255,255,0.6);
}
.elementor.elementor #vlx-footer .footer-main {
  padding: 64px 60px 46px;
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: 50px;
}
.elementor.elementor #vlx-footer .footer-brand-area {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.elementor.elementor #vlx-footer .footer-brand-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.elementor.elementor #vlx-footer .footer-desc {
  font-size: 0.82rem;
  line-height: 1.85;
  margin-top: 18px;
  max-width: 260px;
  color: rgba(255,255,255,0.55);
}
.elementor.elementor #vlx-footer .footer-iso {
  display: flex;
  gap: 8px;
  margin-top: 22px;
  flex-wrap: wrap;
}
.elementor.elementor #vlx-footer .footer-iso-tag {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.14);
  padding: 5px 12px;
  font-size: 0.64rem;
  letter-spacing: 0.09em;
  font-weight: 600;
  color: rgba(255,255,255,0.55);
}
.elementor.elementor #vlx-footer .footer-social {
  display: flex;
  gap: 10px;
  margin-top: 26px;
}
.elementor.elementor #vlx-footer .footer-social a {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.14);
  transition: background 0.2s, border-color 0.2s;
}
.elementor.elementor #vlx-footer .footer-social a:hover {
  background: var(--accent);
  border-color: var(--accent);
}
.elementor.elementor #vlx-footer .footer-social svg:not(.e-svg-base > svg) {
  width: 15px;
  height: 15px;
  stroke: #fff;
}
.elementor.elementor #vlx-footer .footer-social .e-svg-base {
  width: 15px;
  height: 15px;
}
.elementor.elementor #vlx-footer .footer-social .e-svg-base > svg {
  stroke: #fff;
}
.elementor.elementor #vlx-footer .footer-col h6 {
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.38);
  margin-bottom: 20px;
}
.elementor.elementor #vlx-footer .footer-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.elementor.elementor #vlx-footer .footer-col a {
  color: rgba(255,255,255,0.62);
  text-decoration: none;
  font-size: 0.83rem;
  transition: color 0.2s;
}
.elementor.elementor #vlx-footer .footer-col a:hover {
  color: #fff;
}
.elementor.elementor #vlx-footer .footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 20px 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.elementor.elementor #vlx-footer .footer-bottom p {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.45);
}
.elementor.elementor #vlx-footer .footer-bottom-links {
  display: flex;
  gap: 22px;
}
.elementor.elementor #vlx-footer .footer-bottom-links a {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.4);
  text-decoration: none;
}
.elementor.elementor #vlx-footer .footer-bottom-links a:hover {
  color: #fff;
}
@media (max-width: 1100px) {
  .elementor.elementor #vlx-footer .footer-cta {
    padding: 40px 30px;
  }
  .elementor.elementor #vlx-footer .footer-main {
    padding: 54px 30px 36px;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
  .elementor.elementor #vlx-footer .footer-bottom {
    padding: 20px 30px;
  }
}
@media (max-width: 580px) {
  .elementor.elementor #vlx-footer .footer-cta {
    flex-direction: column;
    align-items: flex-start;
  }
  .elementor.elementor #vlx-footer .footer-main {
    grid-template-columns: 1fr;
  }
  .elementor.elementor #vlx-footer .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ============================================================================
   Μόνο για τη σελίδα «Νέες εγκαταστάσεις» (id 105, νέο περιεχόμενο από το LayerDom block 246) · scoped με :where(body.page-id-105)
   ============================================================================ */
:where(body.page-id-105, body.postid-105) {
  --charcoal: #1A1A1A;
  --charcoal2: #262626;
  --red: #DA2F28;
  --red2: #B8241B;
  --graylight: #F2F2F2;
  --white: #FFFFFF;
  --off: #F7F7F7;
  --light: #EFEFEF;
  --mid: #999999;
  --dark: #222222;
  --border: #DDDDDD;
}
:where(body.page-id-105, body.postid-105) *,
:where(body.page-id-105, body.postid-105) *::before,
:where(body.page-id-105, body.postid-105) *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html:is(:has(> body.page-id-105), :has(> body.postid-105)) {
  scroll-behavior: smooth;
}
body:is(.page-id-105, .postid-105) {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  line-height: 1.6;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor #install-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .hero-pattern {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 48px 48px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .hero-glow {
  position: absolute;
  top: -200px;
  right: -100px;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(218,47,40,0.35) 0%, transparent 70%);
  pointer-events: none;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .install-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .hero-crumb {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.45);
  margin-bottom: 18px;
  letter-spacing: 0.02em;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .hero-crumb span {
  color: rgba(255,255,255,0.8);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  padding: 7px 16px;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75);
  margin-bottom: 30px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .hero-badge-dot {
  width: 6px;
  height: 6px;
  background: #4CAF7D;
  border-radius: 50%;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .install-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .install-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .install-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor section {
  padding: 100px 60px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .section-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--red);
  font-weight: 600;
  margin-bottom: 16px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .section-label::before {
  content: '';
  width: 28px;
  height: 2px;
  background: var(--red);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .section-title {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  color: var(--charcoal);
  line-height: 1.15;
  margin-bottom: 20px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .section-title em {
  font-style: italic;
  color: var(--red);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .section-body {
  font-size: 0.95rem;
  color: var(--mid);
  line-height: 1.8;
  max-width: 520px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor #install-intro {
  background: var(--white);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .intro-grid .section-body {
  max-width: 100%;
  margin-bottom: 14px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .intro-grid .section-body:last-of-type {
  margin-bottom: 0;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .image-placeholder {
  border: 1.5px dashed var(--border);
  background: var(--off);
  min-height: 380px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
  padding: 40px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .image-placeholder-icon {
  width: 56px;
  height: 56px;
  background: var(--light);
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .image-placeholder-icon svg:not(.e-svg-base > svg) {
  stroke: var(--mid);
  width: 26px;
  height: 26px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .image-placeholder-icon .e-svg-base {
  width: 26px;
  height: 26px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .image-placeholder-icon .e-svg-base > svg {
  stroke: var(--mid);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .image-placeholder-text {
  font-size: 0.85rem;
  color: var(--mid);
  font-weight: 500;
  max-width: 260px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor #install-process {
  background: var(--off);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .services-list-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 60px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .process-card {
  background: var(--white);
  padding: 40px 30px;
  position: relative;
  overflow: hidden;
  transition: background 0.3s;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .process-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .process-card:hover {
  background: var(--graylight);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .process-card:hover::after {
  transform: scaleX(1);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .process-num {
  font-family: 'DM Serif Display', serif;
  font-size: 1.5rem;
  -webkit-text-stroke: 1px var(--red);
  color: transparent;
  line-height: 1;
  margin-bottom: 20px;
  display: block;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .process-card h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.05rem;
  color: var(--charcoal);
  margin-bottom: 12px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .process-card p {
  font-size: 0.82rem;
  color: var(--mid);
  line-height: 1.75;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor #install-actions {
  background: var(--off);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .quick-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .quick-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: var(--white);
  border: 1px solid var(--border);
  padding: 30px 34px;
  text-decoration: none;
  transition: background 0.25s, transform 0.2s;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .quick-action:hover {
  background: var(--graylight);
  transform: translateY(-2px);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .quick-action-text h5 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  color: var(--charcoal);
  margin-bottom: 6px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .quick-action-text p {
  font-size: 0.8rem;
  color: var(--mid);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .quick-action-arrow {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  background: var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .quick-action-arrow svg:not(.e-svg-base > svg) {
  stroke: #fff;
  width: 18px;
  height: 18px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .quick-action-arrow .e-svg-base {
  width: 18px;
  height: 18px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .quick-action-arrow .e-svg-base > svg {
  stroke: #fff;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor #install-cta {
  background: var(--charcoal);
  color: #fff;
  text-align: center;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .cta-inner {
  max-width: 620px;
  margin: 0 auto;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .cta-inner .section-label {
  justify-content: center;
  color: #FF6C58;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .cta-inner .section-label::before {
  background: #FF6C58;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .cta-inner .section-title {
  color: #fff;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .cta-inner .section-title em {
  color: #FF6C58;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .cta-inner .section-body {
  color: rgba(255,255,255,0.6);
  margin: 0 auto;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .cta-btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 26px;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .btn-primary {
  padding: 15px 34px;
  background: var(--red);
  color: #fff !important;
  border: none;
  text-decoration: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  transition: background 0.2s, transform 0.15s;
  display: inline-block;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .btn-primary:hover {
  background: var(--red2);
  color: #fff !important;
  transform: translateY(-2px);
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .btn-outline {
  padding: 15px 34px;
  background: transparent;
  border: 1.5px solid rgba(255,255,255,0.3);
  color: #fff;
  text-decoration: none;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 400;
  transition: border-color 0.2s, background 0.2s;
  display: inline-block;
}
:where(body.page-id-105, body.postid-105) .elementor.elementor .btn-outline:hover {
  border-color: #fff;
  background: rgba(255,255,255,0.06);
}
@media (max-width: 1100px) {
  :where(body.page-id-105, body.postid-105) .elementor.elementor .process-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 900px) {
  :where(body.page-id-105, body.postid-105) .elementor.elementor section {
    padding: 70px 28px;
  }
  :where(body.page-id-105, body.postid-105) .elementor.elementor #install-hero {
    height: 480px;
    padding: 0 24px;
  }
  :where(body.page-id-105, body.postid-105) .elementor.elementor .intro-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  :where(body.page-id-105, body.postid-105) .elementor.elementor .image-placeholder {
    min-height: 260px;
  }
  :where(body.page-id-105, body.postid-105) .elementor.elementor .services-list-top {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  :where(body.page-id-105, body.postid-105) .elementor.elementor .process-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 580px) {
  :where(body.page-id-105, body.postid-105) .elementor.elementor #install-hero {
    height: 460px;
  }
}
/* Η φωτογραφία στη θέση του πλαισίου «Προσθέστε εδώ φωτογραφία», στις διαστάσεις του πλαισίου */
:where(body.page-id-105, body.postid-105) .elementor.elementor #install-intro .intro-grid img {
  width: 100%;
  height: 380px;
  object-fit: cover;
}
@media (max-width: 900px) {
  :where(body.page-id-105, body.postid-105) .elementor.elementor #install-intro .intro-grid img {
    height: 260px;
  }
}

/* ============================================================================
   Μόνο για τη σελίδα «Εξαρτήματα & Αξεσουάρ» (id 793, νέα σελίδα από το LayerDom block 245) · scoped με :where(body.page-id-793)
   ============================================================================ */
:where(body.page-id-793, body.postid-793) {
  --charcoal: #1A1A1A;
  --charcoal2: #262626;
  --red: #DA2F28;
  --red2: #B8241B;
  --graylight: #F2F2F2;
  --white: #FFFFFF;
  --off: #F7F7F7;
  --light: #EFEFEF;
  --mid: #999999;
  --dark: #222222;
  --border: #DDDDDD;
}
:where(body.page-id-793, body.postid-793) *,
:where(body.page-id-793, body.postid-793) *::before,
:where(body.page-id-793, body.postid-793) *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html:is(:has(> body.page-id-793), :has(> body.postid-793)) {
  scroll-behavior: smooth;
}
body:is(.page-id-793, .postid-793) {
  background: var(--white);
  color: var(--dark);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  overflow-x: hidden;
  line-height: 1.6;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor #parts-hero {
  background: var(--charcoal);
  position: relative;
  overflow: hidden;
  height: 450px;
  display: flex;
  align-items: center;
  padding: 0 60px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .hero-pattern {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 48px 48px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .hero-glow {
  position: absolute;
  top: -200px;
  right: -100px;
  width: 700px;
  height: 700px;
  background: radial-gradient(circle, rgba(218,47,40,0.35) 0%, transparent 70%);
  pointer-events: none;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .parts-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 780px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .hero-crumb {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.45);
  margin-bottom: 18px;
  letter-spacing: 0.02em;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .hero-crumb span {
  color: rgba(255,255,255,0.8);
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  padding: 7px 16px;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75);
  margin-bottom: 30px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .hero-badge-dot {
  width: 6px;
  height: 6px;
  background: #4CAF7D;
  border-radius: 50%;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .parts-hero-inner h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  color: #fff;
  line-height: 1.15;
  margin-bottom: 22px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .parts-hero-inner h1 em {
  font-style: italic;
  color: #FF6C58;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .parts-hero-inner p {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  line-height: 1.8;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor section {
  padding: 100px 60px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .section-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--red);
  font-weight: 600;
  margin-bottom: 16px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .section-label::before {
  content: '';
  width: 28px;
  height: 2px;
  background: var(--red);
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .section-title {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  color: var(--charcoal);
  line-height: 1.15;
  margin-bottom: 20px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .section-title em {
  font-style: italic;
  color: var(--red);
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .section-body {
  font-size: 0.95rem;
  color: var(--mid);
  line-height: 1.8;
  max-width: 620px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor #parts-intro {
  background: var(--white);
  padding-bottom: 60px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor #parts-intro .section-body + .section-body {
  margin-top: 14px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor #parts-gallery {
  background: var(--off);
  padding-top: 0;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .gallery-top {
  max-width: 620px;
  margin-bottom: 50px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .gallery-item {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--charcoal);
  border: 1px solid var(--border);
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .gallery-item:hover img {
  transform: scale(1.06);
}
:where(body.page-id-793, body.postid-793) .elementor.elementor #parts-commitment {
  background: var(--charcoal);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
  padding: 60px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .commit-text h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.6rem;
  margin-bottom: 10px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .commit-text h3 em {
  font-style: italic;
  color: #FF6C58;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .commit-text p {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.6);
  max-width: 480px;
  line-height: 1.7;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .commit-btn {
  padding: 15px 32px;
  background: var(--red);
  color: #fff !important;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  white-space: nowrap;
  display: inline-block;
  transition: background 0.2s, transform 0.15s;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .commit-btn:hover {
  background: var(--red2);
  color: #fff !important;
  transform: translateY(-2px);
}
:where(body.page-id-793, body.postid-793) .elementor.elementor #parts-actions {
  background: var(--off);
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .quick-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .quick-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: var(--white);
  border: 1px solid var(--border);
  padding: 30px 34px;
  text-decoration: none;
  transition: background 0.25s, transform 0.2s;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .quick-action:hover {
  background: var(--graylight);
  transform: translateY(-2px);
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .quick-action-text h5 {
  font-family: 'DM Serif Display', serif;
  font-size: 1.15rem;
  color: var(--charcoal);
  margin-bottom: 6px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .quick-action-text p {
  font-size: 0.8rem;
  color: var(--mid);
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .quick-action-arrow {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  background: var(--red);
  display: flex;
  align-items: center;
  justify-content: center;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .quick-action-arrow svg:not(.e-svg-base > svg) {
  stroke: #fff;
  width: 18px;
  height: 18px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .quick-action-arrow .e-svg-base {
  width: 18px;
  height: 18px;
}
:where(body.page-id-793, body.postid-793) .elementor.elementor .quick-action-arrow .e-svg-base > svg {
  stroke: #fff;
}
@media (max-width: 1100px) {
  :where(body.page-id-793, body.postid-793) .elementor.elementor .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 900px) {
  :where(body.page-id-793, body.postid-793) .elementor.elementor section {
    padding: 70px 28px;
  }
  :where(body.page-id-793, body.postid-793) .elementor.elementor #parts-hero {
    height: 480px;
    padding: 0 24px;
  }
  :where(body.page-id-793, body.postid-793) .elementor.elementor #parts-intro {
    padding-bottom: 40px;
  }
  :where(body.page-id-793, body.postid-793) .elementor.elementor .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  :where(body.page-id-793, body.postid-793) .elementor.elementor #parts-commitment {
    padding: 50px 28px;
    flex-direction: column;
    align-items: flex-start;
  }
  :where(body.page-id-793, body.postid-793) .elementor.elementor .quick-actions {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 580px) {
  :where(body.page-id-793, body.postid-793) .elementor.elementor #parts-hero {
    height: 460px;
  }
}

/* ============================================================================
   Εταιρία (76): το πλέγμα με τα logos των πελατών (από την Αρχική) στη θέση του πλέγματος με τα ονόματα,
   στην ίδια απόσταση από το κείμενο που είχε εκείνο
   ============================================================================ */
:where(body.page-id-76, body.postid-76) .elementor.elementor #trusted .logos-grid {
  margin-top: 44px;
}
/* ============================================================================
   Επισκευές (εγκρίθηκαν 14/10/2026): ό,τι είχε το αρχικό design και χάθηκε από
   παλιό bug του LayerDom (backslashes στο Global Library)
   ============================================================================ */
/* Κουκκίδες λιστών (Υπηρεσίες, Καριέρα), γραμμή ετικετών (Θάλαμος Valsa1) */
.elementor.elementor .svc-list li::before,
.elementor.elementor .req-list li::before,
.elementor.elementor .spec-label::before,
/* Κόκκινη γραμμή στο hover των καρτών */
.elementor.elementor .svc-card::after,
.elementor.elementor .val-card::after,
.elementor.elementor .specs-card::after,
.elementor.elementor .partner-card::after,
.elementor.elementor .cert-card::after {
  content: '';
}
/* Υπηρεσίες, Καριέρα: οι δύο στήλες (.method-grid) γίνονται μία στο κινητό, όπως ήδη στην Τεχνική Υποστήριξη
   (στο πρωτότυπο έμεναν δύο και η σελίδα ξεχείλιζε οριζόντια κάτω από τα 900px) */
@media (max-width: 900px) {
  .elementor.elementor .method-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
/* Καριέρα: το πεδίο βιογραφικού κρύβεται πίσω από το πλαίσιο «σύρετε το αρχείο» */
.elementor.elementor .file-drop input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

/* ============================================================================
   Φόρμες (Elementor e-form): ίδια εμφάνιση με τις αρχικές φόρμες
   Τα πεδία του Elementor έχουν δικές τους προεπιλογές (ύψος 36px, γραμματοσειρά 12px, δικό τους
   checkbox). Γυρίζουν σε απλά πεδία, και το design τους δίνουν οι κανόνες .f-group / .f-check / .form-submit.
   ============================================================================ */
.elementor .e-form-base {
  display: block;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: normal;
  align-content: normal;
  align-items: normal;
}
.elementor .e-form-input-base,
.elementor .e-form-textarea-base,
.elementor .e-form-select-base,
.elementor .e-form-file-upload-base {
  height: auto;
}
/* γωνίες 3px: όπως τα πεδία στο reset του θέματος Hello */
.elementor .e-form-input-base,
.elementor .e-form-textarea-base,
.elementor .e-form-select-base {
  border-radius: 3px;
}
.elementor .e-form-label-base {
  font-size: inherit;
  color: inherit;
}
/* κουμπί αποστολής: γωνίες 3px όπως όλα τα <button> στο reset του Hello, περιεχόμενο από την αρχή */
.elementor .e-form-submit-button-base {
  border-radius: 3px;
  justify-content: normal;
}
/* «Συμφωνώ με …»: το κείμενο έχει το ύψος γραμμής της γραμμής .f-check (το Hello δίνει στα label 1) */
.elementor.elementor .f-check > .e-form-label-base {
  line-height: inherit;
}
.elementor .e-form-checkbox-base {
  align-items: normal;
  justify-items: normal;
  appearance: auto;
  width: auto;
  height: auto;
  color: inherit;
  border: 0 solid #e5e7eb;
  background-color: transparent;
  transition: none;
  display: inline-block;
}
.elementor .e-form-checkbox-base::before {
  content: none;
}
/* Το κουμπί αποστολής του Elementor δέχεται μόνο κείμενο: το εικονίδιο «αποστολή» μπαίνει εδώ */
.elementor.elementor .form-submit.e-form-submit-button-base::before {
  content: '';
  flex: none;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='butt'%3E%3Cline x1='22' x2='11' y1='2' y2='13'/%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='butt'%3E%3Cline x1='22' x2='11' y1='2' y2='13'/%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Μηνύματα μετά την αποστολή: όπως το #form-success και το #form-error του πρωτοτύπου */
.elementor.elementor .e-form-success-message-base {
  background: #EBF7F0;
  border: 1px solid #4CAF7D;
  padding: 14px 18px;
  font-size: 0.82rem;
  color: #2a6e47;
  text-align: left;
}
.elementor.elementor .e-form-error-message-base {
  background: none;
  padding: 0;
  font-size: 0.8rem;
  color: var(--red);
  font-weight: 600;
  text-align: left;
}

/* ============================================================================
   Μορφοποίηση μέσα σε κείμενα: τα inline στυλ του πρωτοτύπου σε κομμάτι κειμένου
   (π.χ. το «+» στους αριθμούς) γίνονται <em> στον editor και παίρνουν το στυλ εδώ
   ============================================================================ */
.elementor.elementor .stat-num em {
  font-style: inherit;
  font-size: 1.2rem;
}
