/* ==========================================================================
   EasyBook — Application-oriented marketing UI
   Design system extension (blue #5b74ff) used by the rebuilt site templates.
   Loaded after style.css / sections.css so it can win where needed.
   ========================================================================== */

:root{
  --eb-primary:      #5b74ff;
  --eb-primary-600:  #4c67ff;
  --eb-primary-900:  #28358a;
  --eb-ink:          #111318;
  --eb-body:         #2b2f38;
  --eb-muted:        #6b7280;
  --eb-line:         #e5e8f0;
  --eb-soft:         #f4f6fb;
  --eb-soft-2:       #eef1fb;
  --eb-radius:       18px;
  --eb-shadow:       0 18px 40px rgba(17,19,24,.08);
  --eb-shadow-lg:    0 24px 60px rgba(40,53,138,.16);
}

/* ---------- generic helpers ---------------------------------------------- */

.eb-section        { padding: 84px 0; background:#fff; }
.eb-section--soft  { background: var(--eb-soft); }
.eb-section--tight { padding: 60px 0; }
.eb-section--dark  { background: linear-gradient(115deg,#1f2a6d 0%, #28358a 45%, #4c6fff 100%); color:#fff; }
.eb-section--dark .eb-sec-title,
.eb-section--dark .eb-sec-lead { color:#fff; }

.eb-eyebrow{
  display:inline-block;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--eb-primary);
  margin-bottom: 12px;
}
.eb-section--dark .eb-eyebrow{ color:#b9c6ff; }

.eb-sec-title{
  font-size: 38px;
  line-height: 1.3;
  font-weight: 800;
  color: var(--eb-ink);
  margin: 0 0 16px;
}
.eb-sec-lead{
  font-size: 17px;
  line-height: 1.8;
  color: var(--eb-body);
  margin: 0 auto;
  max-width: 780px;
}
.eb-sec-head{ margin-bottom: 54px; }

.eb-accent { color: var(--eb-primary); }

.eb-btn{
  display:inline-block;
  border-radius: 999px;
  padding: 13px 30px;
  font-weight: 700;
  font-size: 15px;
  text-decoration:none;
  border: 2px solid transparent;
  transition: all .2s ease;
  text-align:center;
}
.eb-btn:hover{ text-decoration:none; }
.eb-btn--primary{
  background: var(--eb-primary);
  color:#fff;
  box-shadow: 0 12px 26px rgba(91,116,255,.32);
}
.eb-btn--primary:hover{ background: var(--eb-primary-600); color:#fff; }
.eb-btn--ghost{
  border-color: var(--eb-primary);
  color: var(--eb-primary);
  background: transparent;
}
.eb-btn--ghost:hover{ background: var(--eb-primary); color:#fff; }
.eb-btn--white{
  background:#fff; color: var(--eb-primary-900);
}
.eb-btn--white:hover{ background:#f0f3ff; color: var(--eb-primary-900); }
.eb-btn--outline-white{
  border-color: rgba(255,255,255,.9); color:#fff; background:transparent;
}
.eb-btn--outline-white:hover{ background: rgba(255,255,255,.14); color:#fff; }

/* ---------- header additions --------------------------------------------- */

.eb-nav-cta{
  display:inline-block;
  background: var(--eb-primary);
  color:#fff !important;
  border-radius: 999px;
  padding: 9px 20px !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
.eb-nav-cta:hover{ background: var(--eb-primary-600); color:#fff !important; }
.eb-nav-login{
  display:inline-block;
  color: var(--eb-ink);
  font-size: 12px;
  font-weight: 700;
  margin-right: 14px;
  white-space: nowrap;
}
.eb-nav-login:hover{ color: var(--eb-primary); }
.navbar.background-transparent .eb-nav-login{ color:#fff; }
.navbar.background-transparent.on .eb-nav-login{ color: var(--eb-ink); }

/* ---------- nav dropdown -------------------------------------------------- */

/* Το style.css δίνει στο dropdown σκούρο φόντο (#232323) με γκρι κείμενο —
   ταίριαζε στο παλιό dark theme, όχι στο σημερινό. Το γυρίζουμε σε λευκή
   κάρτα με μπλε hover.

   ΠΡΟΣΟΧΗ στη specificity: το bootsnav.css έχει
   `@media (min-width:1024px){ nav.navbar.bootsnav li.dropdown ul.dropdown-menu }`
   με `border-radius: 0` και `border: 0`. Γι' αυτό ο selector του container
   είναι πλήρης (nav.navbar.bootsnav … li.dropdown.simple-dropdown …). */

/* Μόνο desktop: στα ≤991px ολόκληρο το collapse menu είναι σκούρο
   (ul#accordion → rgba(23,23,23,.95) με λευκά links), οπότε εκεί το σκούρο
   dropdown είναι συνεπές και το αφήνουμε ως έχει. */
@media (min-width: 992px){
  nav.navbar.bootsnav li.dropdown.simple-dropdown ul.dropdown-menu,
  .simple-dropdown .dropdown-menu{
    background: #fff;
    min-width: 300px;
    padding: 10px 0;
    border: 1px solid var(--eb-line);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(17,19,24,.12);
    overflow: hidden;
  }
  nav.navbar.bootsnav .simple-dropdown .dropdown-menu > li{
    padding-left: 10px;
    padding-right: 10px;
  }
  nav.navbar.bootsnav li.dropdown.simple-dropdown ul.dropdown-menu > li > a,
  .simple-dropdown .dropdown-menu > li > a{
    font-size: 13.5px;
    color: var(--eb-body);
    font-weight: 600;
    padding: 10px 14px;
    border-radius: 9px;
    line-height: 1.45;
    transition: background-color .16s ease, color .16s ease;
  }

  /* Το hover χρειάζεται πλήρη selector: υπάρχουν κανόνες με μεγαλύτερη
     specificity που βάζουν ΛΕΥΚΟ κείμενο —
     `nav.navbar.navbar-default ul li.dropdown .dropdown-menu li > a:hover`
     (style.css) και το αντίστοιχο του responsive.css κάτω από 991px.
     Πάνω σε λευκό φόντο θα ήταν αόρατο. */
  nav.navbar.bootsnav li.dropdown.simple-dropdown ul.dropdown-menu > li > a:hover,
  nav.navbar.bootsnav li.dropdown.simple-dropdown ul.dropdown-menu > li > a:focus,
  nav.navbar.bootsnav li.dropdown.simple-dropdown ul.dropdown-menu > li:hover > a,
  .simple-dropdown .dropdown-menu > li a:hover,
  .simple-dropdown .dropdown-menu > li a:focus{
    background-color: var(--eb-soft-2);
    color: var(--eb-primary);
  }
  /* υπο-μενού 2ου επιπέδου (αν χρησιμοποιηθεί) */
  nav.navbar.bootsnav .simple-dropdown .dropdown-menu > li.dropdown > ul,
  nav.navbar.bootsnav .simple-dropdown .dropdown-menu > li.dropdown > ul > li.dropdown > ul{
    background: #fff;
    border: 1px solid var(--eb-line);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(17,19,24,.12);
    left: 300px;
    min-width: 300px;
    padding: 10px 0;
    margin-top: -10px;
  }
  .simple-dropdown .dropdown-menu > li.dropdown > ul li a{
    color: var(--eb-body);
    font-size: 13.5px;
    font-weight: 600;
  }
  nav.navbar.bootsnav.navbar-default li.dropdown.simple-dropdown > ul.dropdown-menu > li.active > a{
    color: var(--eb-primary);
  }
}
/* ---------- app hero (home) ---------------------------------------------- */

.eb-hero{
  position: relative;
  padding: 190px 0 110px;
  background: linear-gradient(120deg,#1b2469 0%, #28358a 42%, #4c6fff 100%);
  color:#fff;
  overflow:hidden;
}
.eb-hero:after{
  content:"";
  position:absolute;
  right:-160px; top:-160px;
  width: 620px; height: 620px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
}
.eb-hero .container{ position:relative; z-index:2; }
.eb-hero-badge{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  padding: 7px 16px;
  font-size: 13px;
  margin-bottom: 22px;
}
.eb-hero-title{
  font-size: 52px;
  line-height: 1.25;
  font-weight: 800;
  margin: 0 0 20px;
}
.eb-hero-sub{
  font-size: 19px;
  line-height: 1.75;
  opacity: .94;
  max-width: 620px;
  margin-bottom: 32px;
}
.eb-hero-actions{ display:flex; flex-wrap:wrap; gap: 14px; margin-bottom: 26px; }
.eb-hero-note{ font-size: 13px; opacity:.8; }
.eb-hero-shot{
  border-radius: 20px;
  box-shadow: var(--eb-shadow-lg);
  width: 100%;
  display:block;
  background:#fff;
}

/* stat strip — αυτόνομη κάρτα κάτω από το hero, με κανονικό κενό (χωρίς
   overlap: το negative margin μηδενιζόταν στα tablet και η κάρτα κολλούσε
   πάνω στο hero). */
.eb-stats-section{ background:#fff; padding: 56px 0 60px; }
.eb-stats{
  background:#fff;
  border-radius: var(--eb-radius);
  box-shadow: var(--eb-shadow);
  border: 1px solid var(--eb-line);
  padding: 30px 20px;
  position: relative;
  z-index: 5;
}
.eb-stat{ text-align:center; padding: 10px 6px; }
.eb-stat-num{
  font-size: 32px; font-weight: 800; color: var(--eb-primary); line-height: 1.35;
}
.eb-stat-label{ font-size: 13px; color: var(--eb-muted); margin-top: 6px; }

/* ---------- module / feature cards --------------------------------------- */

.eb-card-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.eb-card-grid--2{ grid-template-columns: repeat(2, 1fr); }
.eb-card-grid--4{ grid-template-columns: repeat(4, 1fr); }

.eb-card{
  background:#fff;
  border: 1px solid var(--eb-line);
  border-radius: var(--eb-radius);
  padding: 28px 26px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
/* Ισοϋψείς κάρτες ΜΟΝΟ μέσα σε grid. Το `height:100%` στο ίδιο το .eb-card
   έσπαγε τις στοιβαγμένες κάρτες μέσα σε bootstrap column (ο row είναι flex,
   άρα η στήλη έχει ορισμένο ύψος και ΚΑΘΕ κάρτα έπαιρνε το 100% του). */
.eb-card-grid > .eb-card{ height: 100%; }
.eb-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--eb-shadow);
  border-color: #cdd6ff;
}
.eb-card-ico{
  width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--eb-soft-2);
  color: var(--eb-primary);
  display:flex; align-items:center; justify-content:center;
  font-size: 22px;
  margin-bottom: 18px;
}
.eb-card h3{
  font-size: 18px;
  font-weight: 800;
  color: var(--eb-ink);
  margin: 0 0 10px;
  line-height: 1.3;
}
.eb-card p{
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--eb-body);
  margin: 0;
}
.eb-card ul{
  list-style:none; padding:0; margin: 12px 0 0;
  font-size: 14px; line-height: 1.7; color: var(--eb-body);
}
.eb-card ul li{ position:relative; padding-left: 20px; margin: 5px 0; }
.eb-card ul li:before{
  content:"›"; position:absolute; left:4px; top:-1px;
  color: var(--eb-primary); font-weight:800; font-size:16px;
}
.eb-card--flat{ background: var(--eb-soft); border-color: transparent; }

/* compact checklist grid (full feature catalogue) */
.eb-check-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px 28px;
}
.eb-check{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--eb-body);
  padding: 9px 0;
  border-bottom: 1px dashed var(--eb-line);
}
.eb-check i{ color: var(--eb-primary); font-size: 13px; margin-top: 4px; }
.eb-check strong{ color: var(--eb-ink); font-weight: 700; }
.eb-check span{ display:block; }
.eb-check small{ display:block; color: var(--eb-muted); font-size: 12.5px; margin-top:2px; }

/* numbered steps */
.eb-step-num{
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--eb-primary); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight: 800; font-size: 17px; margin-bottom: 18px;
}
.eb-card--step{ position:relative; }

/* ---------- vertical switcher / tabs -------------------------------------- */

.eb-tabs{
  display:flex; flex-wrap:wrap; justify-content:center; gap: 10px;
  margin-bottom: 44px;
}
.eb-tab{
  border: 1px solid var(--eb-line);
  background:#fff;
  border-radius: 999px;
  padding: 11px 24px;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--eb-body);
  cursor: pointer;
  transition: all .18s ease;
  text-decoration:none;
}
.eb-tab:hover{ border-color: var(--eb-primary); color: var(--eb-primary); text-decoration:none; }
.eb-tab.is-active{
  background: var(--eb-primary); border-color: var(--eb-primary); color:#fff;
  box-shadow: 0 10px 22px rgba(91,116,255,.28);
}
.eb-tab-panel{ display:none; }
.eb-tab-panel.is-active{ display:block; animation: ebFade .28s ease; }
@keyframes ebFade{ from{opacity:0; transform: translateY(6px);} to{opacity:1; transform:none;} }

/* ---------- vertical hero (industry pages) -------------------------------- */

.eb-vhero{
  position: relative;
  min-height: 520px;
  /* Στις εσωτερικές σελίδες το nav είναι in-flow (όχι fixed), οπότε δεν
     χρειάζεται top offset — μόνο στην αρχική (.eb-hero) που είναι fixed. */
  padding: 80px 0 90px;
  background-color: var(--eb-primary-900);
  background-image: linear-gradient(120deg,#1b2469 0%, #28358a 42%, #4c6fff 100%);
  background-size: cover;
  background-position: center;
  color:#fff;
  overflow:hidden;
}
.eb-vhero:before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(100deg, rgba(20,26,70,.88) 0%, rgba(28,40,120,.72) 55%, rgba(76,111,255,.55) 100%);
}
.eb-vhero .container{ position:relative; z-index:2; }
.eb-vhero-crumb{ font-size: 13px; margin-bottom: 18px; opacity:.85; }
.eb-vhero-crumb a{ color:#fff; }
.eb-vhero-crumb a:hover{ color:#fff; text-decoration:underline; }
.eb-vhero h1{
  font-size: 46px; line-height: 1.22; font-weight: 800; margin: 0 0 18px; color:#fff;
}
.eb-vhero-lead{ font-size: 18px; line-height: 1.75; max-width: 620px; opacity:.95; margin-bottom: 28px; }
.eb-vhero-list{ list-style:none; padding:0; margin: 0 0 30px; max-width: 560px; }
.eb-vhero-list li{
  display:flex; align-items:flex-start; gap: 12px;
  font-size: 16px; padding: 7px 0;
}
.eb-vhero-list li i{ color:#9fb2ff; margin-top: 5px; }
.eb-vhero-media{
  border-radius: 22px;
  overflow:hidden;
  box-shadow: var(--eb-shadow-lg);
  border: 6px solid rgba(255,255,255,.12);
}
.eb-vhero-media img{ width:100%; display:block; }
.eb-vhero-actions{ display:flex; flex-wrap:wrap; gap: 14px; }

/* ---------- split feature rows ------------------------------------------- */

.eb-split{ padding: 78px 0; background:#fff; }
.eb-split--soft{ background: var(--eb-soft); }
.eb-split-img{
  width:100%; border-radius: 22px; display:block; box-shadow: var(--eb-shadow);
}
.eb-split h2{
  font-size: 34px; line-height: 1.3; font-weight: 800; color: var(--eb-ink); margin: 0 0 18px;
}
.eb-split p{ font-size: 16px; line-height: 1.8; color: var(--eb-body); }
.eb-split ul{ list-style:none; padding:0; margin: 20px 0 0; }
.eb-split ul li{
  position:relative; padding-left: 30px; margin: 12px 0;
  font-size: 15.5px; line-height: 1.65; color: var(--eb-body);
}
.eb-split ul li:before{
  content:"✓";
  position:absolute; left:0; top:0;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--eb-soft-2); color: var(--eb-primary);
  display:flex; align-items:center; justify-content:center;
  font-size: 12px; font-weight: 800;
}

/* ---------- timeline (fixed rail markup) ---------------------------------- */

.eb-tl{ max-width: 720px; margin: 0 auto; }
.eb-tl-item{
  display:grid;
  grid-template-columns: 86px 1fr;
  column-gap: 26px;
  align-items:start;
  position:relative;
  padding: 6px 0 40px;
}
.eb-tl-rail{ position:relative; display:flex; justify-content:center; }
.eb-tl-rail:before{
  content:""; position:absolute; top:0; bottom:-40px; left:50%;
  width:2px; transform: translateX(-50%); background: var(--eb-primary); opacity:.9;
}
.eb-tl-item:last-child .eb-tl-rail:before{ bottom: 0; height: 34px; }
.eb-tl-dot{
  width: 64px; height: 64px; border-radius:50%;
  border: 2px solid var(--eb-primary); background:#fff;
  display:flex; align-items:center; justify-content:center;
  z-index:2; margin-top: 4px;
  color: var(--eb-primary); font-size: 24px;
}
.eb-tl-dot img{ width: 32px; height: 32px; }
.eb-tl-content h3{ font-size: 22px; line-height: 1.3; font-weight: 800; color: var(--eb-ink); margin: 8px 0 10px; }
.eb-tl-content ul{ list-style:none; padding:0; margin:0; font-size: 14.5px; line-height:1.75; color: var(--eb-body); }
.eb-tl-content li{ position:relative; padding-left: 18px; margin: 4px 0; }
.eb-tl-content li:before{ content:"→"; position:absolute; left:0; top:0; opacity:.75; }

/* ---------- pricing ------------------------------------------------------- */

.eb-billing-toggle{
  display:inline-flex; background: var(--eb-soft); border-radius: 999px; padding: 5px; gap: 4px;
  margin: 0 auto 46px;
}
.eb-billing-toggle button{
  border:0; background:transparent; border-radius: 999px;
  padding: 10px 24px; font-size: 14px; font-weight: 700; color: var(--eb-muted);
  cursor:pointer; transition: all .18s ease;
}
.eb-billing-toggle button.is-active{
  background:#fff; color: var(--eb-ink); box-shadow: 0 4px 12px rgba(17,19,24,.08);
}
.eb-billing-toggle .eb-save{
  background: #e7f7ee; color:#1e8b53; border-radius: 999px;
  font-size: 11px; font-weight:800; padding: 2px 8px; margin-left: 6px;
}

.eb-plans{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 22px; align-items: stretch; }
.eb-plan{
  background:#fff; border: 1px solid var(--eb-line); border-radius: 20px;
  padding: 32px 26px; display:flex; flex-direction:column; position:relative;
}
.eb-plan--featured{
  border: 2px solid var(--eb-primary);
  box-shadow: var(--eb-shadow-lg);
}
.eb-plan-tag{
  position:absolute; top:-13px; left:50%; transform: translateX(-50%);
  background: var(--eb-primary); color:#fff; border-radius: 999px;
  font-size: 11px; font-weight: 800; letter-spacing: .5px; padding: 5px 16px;
  white-space: nowrap;
}
.eb-plan h3{ font-size: 20px; line-height: 1.35; font-weight: 800; color: var(--eb-ink); margin: 0 0 6px; }
.eb-plan-desc{ font-size: 13.5px; color: var(--eb-muted); min-height: 40px; margin-bottom: 18px; line-height:1.5; }
.eb-plan-price{ display:flex; align-items:baseline; gap: 6px; margin-bottom: 4px; }
.eb-plan-amount{ font-size: 40px; font-weight: 800; color: var(--eb-ink); line-height: 1.15; }
.eb-plan-amount--word{ font-size: 32px; }
.eb-plan-fine s{ opacity:.75; }
.eb-plan-period{ font-size: 13px; color: var(--eb-muted); }
.eb-plan-fine{ font-size: 12px; color: var(--eb-muted); margin-bottom: 22px; min-height: 18px; }
.eb-plan-limits{
  background: var(--eb-soft); border-radius: 12px; padding: 14px 16px; margin-bottom: 20px;
}
.eb-plan-limits div{ font-size: 13.5px; color: var(--eb-body); padding: 3px 0; }
.eb-plan-limits strong{ color: var(--eb-ink); }
.eb-plan ul{ list-style:none; padding:0; margin: 0 0 26px; flex: 1 1 auto; }
.eb-plan ul li{
  position:relative; padding-left: 24px; margin: 9px 0;
  font-size: 14px; line-height: 1.55; color: var(--eb-body);
}
.eb-plan ul li:before{
  content:"✓"; position:absolute; left:0; top:0; color: var(--eb-primary); font-weight: 800;
}
.eb-plan ul li.is-off{ color:#a3a8b4; }
.eb-plan ul li.is-off:before{ content:"–"; color:#c2c6d0; }
.eb-plan .eb-btn{ width:100%; }

.eb-price-hidden{ display:none; }

.eb-compare{ width:100%; border-collapse: collapse; background:#fff; }
.eb-compare th, .eb-compare td{
  padding: 14px 16px; border-bottom: 1px solid var(--eb-line);
  font-size: 14px; text-align:center; color: var(--eb-body);
}
.eb-compare th{ font-weight: 800; color: var(--eb-ink); }
.eb-compare td:first-child, .eb-compare th:first-child{ text-align:left; min-width: 240px; }
.eb-compare tr.eb-compare-head td{
  background: var(--eb-soft); font-weight: 800; color: var(--eb-ink); text-align:left;
  text-transform: uppercase; font-size: 12px; letter-spacing: 1px;
}
.eb-compare .yes{ color: var(--eb-primary); font-weight: 800; }
.eb-compare .no{ color:#c2c6d0; }

/* ---------- faq ----------------------------------------------------------- */

.eb-faq{ max-width: 860px; margin: 0 auto; }
.eb-faq-item{
  border: 1px solid var(--eb-line);
  border-radius: 14px;
  margin-bottom: 12px;
  background:#fff;
  overflow:hidden;
}
.eb-faq-q{
  display:flex; justify-content:space-between; align-items:center; gap: 16px;
  padding: 18px 22px; cursor:pointer; font-weight: 700; color: var(--eb-ink); font-size: 16px;
}
.eb-faq-q:after{ content:"+"; color: var(--eb-primary); font-size: 22px; line-height:1; }
.eb-faq-item.is-open .eb-faq-q:after{ content:"–"; }
.eb-faq-a{ display:none; padding: 0 22px 20px; font-size: 15px; line-height: 1.75; color: var(--eb-body); }
.eb-faq-item.is-open .eb-faq-a{ display:block; }

/* ---------- logo / integrations ------------------------------------------- */

.eb-int-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.eb-int{
  background:#fff; border:1px solid var(--eb-line); border-radius: 14px;
  padding: 22px 20px; text-align:center;
}
.eb-int-name{ font-weight: 800; color: var(--eb-ink); font-size: 15px; margin-bottom: 6px; }
.eb-int-desc{ font-size: 13px; color: var(--eb-muted); line-height:1.6; }

/* ---------- vertical cards (who is it for) -------------------------------- */

.eb-verticals{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.eb-vert{
  position:relative; border-radius: 18px; overflow:hidden; min-height: 300px;
  display:flex; align-items:flex-end; color:#fff; text-decoration:none;
  background-size: cover; background-position:center;
}
.eb-vert:before{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(17,19,24,0) 30%, rgba(17,19,24,.86) 100%);
  transition: background .25s ease;
}
.eb-vert:hover:before{ background: linear-gradient(180deg, rgba(40,53,138,.25) 0%, rgba(28,40,120,.92) 100%); }
.eb-vert-body{ position:relative; z-index:2; padding: 24px; width:100%; }
.eb-vert-body h3{ font-size: 19px; font-weight: 800; margin: 0 0 8px; color:#fff; }
.eb-vert-body p{ font-size: 13.5px; line-height:1.6; margin:0 0 12px; opacity:.9; }
.eb-vert-more{ font-size: 13px; font-weight: 700; color:#fff; }
.eb-vert:hover{ color:#fff; text-decoration:none; }

/* ---------- cta band ------------------------------------------------------ */

.eb-cta{
  padding: 76px 0;
  background: linear-gradient(115deg, var(--eb-primary-900) 0%, var(--eb-primary-600) 65%, var(--eb-primary) 100%);
  color:#fff; text-align:center;
}
.eb-cta h2{ font-size: 34px; line-height: 1.3; font-weight: 800; margin: 0 0 12px; color:#fff; }
.eb-cta p{ font-size: 18px; opacity:.94; margin: 0 0 28px; }
.eb-cta-actions{ display:flex; gap: 14px; justify-content:center; flex-wrap:wrap; }
.eb-cta-fine{ font-size: 13px; opacity:.8; margin-top: 18px; }

/* ---------- page title bar (inner pages) ---------------------------------- */

.eb-pagehead{
  padding: 60px 0 52px;   /* inner pages: το nav είναι in-flow */
  background: var(--eb-soft);
  border-bottom: 1px solid var(--eb-line);
}
.eb-pagehead h1{ font-size: 38px; line-height: 1.3; font-weight: 800; color: var(--eb-ink); margin: 0 0 8px; }
.eb-pagehead p{ font-size: 16px; color: var(--eb-body); margin:0; max-width: 720px; }
.eb-pagehead-crumb{ font-size: 13px; color: var(--eb-muted); margin-bottom: 14px; }
.eb-pagehead-crumb a{ color: var(--eb-muted); }
.eb-pagehead-crumb a:hover{ color: var(--eb-primary); }

/* ---------- long-form page content (terms, cookies, legal) ---------------- */

.eb-page-content{ font-size: 16px; line-height: 1.85; color: var(--eb-body); }
.eb-page-content h1,
.eb-page-content h2,
.eb-page-content h3,
.eb-page-content h4{
  color: var(--eb-ink); font-weight: 800; margin: 38px 0 14px; line-height:1.3;
}
.eb-page-content h2{ font-size: 26px; }
.eb-page-content h3{ font-size: 20px; }
.eb-page-content h4{ font-size: 17px; }
.eb-page-content p{ margin-bottom: 16px; }
.eb-page-content ul,
.eb-page-content ol{ margin: 0 0 18px 20px; }
.eb-page-content li{ margin: 6px 0; }
.eb-page-content a{ color: var(--eb-primary); }
.eb-page-content table{ width:100%; border-collapse: collapse; margin-bottom: 20px; }
.eb-page-content th,
.eb-page-content td{ border: 1px solid var(--eb-line); padding: 10px 12px; font-size: 14.5px; }

/* ---------- forms (contact form 7 inside eb-card) ------------------------- */

.eb-card .wpcf7 input[type="text"],
.eb-card .wpcf7 input[type="email"],
.eb-card .wpcf7 input[type="tel"],
.eb-card .wpcf7 input[type="url"],
.eb-card .wpcf7 select,
.eb-card .wpcf7 textarea{
  width: 100%;
  border: 1px solid var(--eb-line);
  border-radius: 10px;
  padding: 12px 15px;
  font-size: 15px;
  color: var(--eb-ink);
  background:#fff;
  margin-bottom: 14px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.eb-card .wpcf7 input:focus,
.eb-card .wpcf7 select:focus,
.eb-card .wpcf7 textarea:focus{
  outline: none;
  border-color: var(--eb-primary);
  box-shadow: 0 0 0 3px rgba(91,116,255,.14);
}
.eb-card .wpcf7 textarea{ min-height: 150px; resize: vertical; }
.eb-card .wpcf7 input[type="submit"]{
  width: auto;
  background: var(--eb-primary);
  color:#fff;
  border: 0;
  border-radius: 999px;
  padding: 13px 34px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(91,116,255,.3);
  transition: background .18s ease;
}
.eb-card .wpcf7 input[type="submit"]:hover{ background: var(--eb-primary-600); }
.eb-card .wpcf7 label{ display:block; font-size: 14px; font-weight: 700; color: var(--eb-ink); margin-bottom: 6px; }
.eb-card .wpcf7-not-valid-tip{ font-size: 12.5px; color:#d63232; margin: -8px 0 12px; }
.eb-card .wpcf7-response-output{
  border-radius: 10px; font-size: 14px; padding: 12px 16px; margin: 14px 0 0;
}

/* ---------- footer brand block -------------------------------------------- */

/* Το wrapper παίρνει το πλάτος του logo (shrink-to-fit) και ακολουθεί τη
   στοίχιση της στήλης· το κουμπί από κάτω κεντράρεται ως προς το logo. */
/* Ο wrapper είναι inline-block, οπότε παίρνει ακριβώς το πλάτος του logo και
   δεν μετακινεί το logo από τη στοίχιση της στήλης. Το .eb-footer-cta-row
   είναι block (δεν μεγαλώνει τον wrapper) και κεντράρει το κουμπί. */
.eb-footer-brand{ display: inline-block; }
.eb-footer-cta-row{ text-align: center; margin-top: 20px; }
.eb-footer-cta{
  display: inline-block;
  font-size: 13px;
  padding: 10px 22px;
  white-space: nowrap;
}

/* social icons — κεντραρισμένα κι αυτά ως προς το logo */
.eb-social{
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}
.eb-social a{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--eb-line);
  background: #fff;
  color: var(--eb-body);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.eb-social a:hover{
  background: var(--eb-primary);
  border-color: var(--eb-primary);
  color: #fff;
  transform: translateY(-2px);
}
.eb-social-svg{
  width: 15px;
  height: 15px;
  display: block;
}

/* ---------- mini κάρτες κλάδου (σελίδα επικοινωνίας) ---------------------- */

/* Οι τίτλοι έχουν άνισο μήκος («Ιατρεία & Ιατρικά Κέντρα» χωράει σε μία γραμμή,
   οι υπόλοιποι σπάνε σε δύο), οπότε ο σύνδεσμος κάθε κάρτας έπεφτε σε άλλο ύψος.
   Κρατάμε τον τίτλο σε σταθερό χώρο 2 γραμμών και σπρώχνουμε τον σύνδεσμο στη
   βάση της κάρτας — έτσι ευθυγραμμίζονται σε κάθε πλάτος οθόνης, ανεξάρτητα
   από το μήκος του τίτλου. */
.eb-vcard{
  display: flex;
  flex-direction: column;
}
.eb-vcard h3{
  font-size: 16px;
  line-height: 1.35;
  min-height: 2.7em;   /* 2 γραμμές × 1.35 */
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.eb-vcard-link{
  margin-top: auto;
  padding-top: 15px;
}
.eb-vcard-link a{
  font-weight: 700;
  font-size: 14px;
  color: var(--eb-primary);
}
.eb-vcard-link a:hover{ color: var(--eb-primary-600); }

/* ---------- contact page: ισοϋψείς στήλες --------------------------------- */

/* Ο bootstrap .row είναι ήδη flex, άρα οι στήλες έχουν ίδιο ύψος — αλλά οι
   κάρτες μέσα τους κρατούν το φυσικό τους ύψος. Κάνουμε τη στήλη flex column
   και αφήνουμε την ΤΕΛΕΥΤΑΙΑ κάρτα να απορροφά τον υπόλοιπο χώρο, ώστε η φόρμα
   αριστερά να τελειώνει στο ίδιο σημείο με τα κουτάκια δεξιά.
   (Δεν χρησιμοποιούμε height:100% στο .eb-card — βλ. σχόλιο στο .eb-card-grid.) */
@media (min-width: 992px){
  .eb-contact-row > [class*="col-"]{
    display: flex;
    flex-direction: column;
  }
  .eb-contact-row > [class*="col-"] > .eb-card:last-child{
    flex: 1 1 auto;
  }
}

/* ---------- contact details list ------------------------------------------ */

.eb-contact-list{ list-style:none; padding:0; margin:0; }
.eb-contact-list li{
  display:flex;
  align-items:flex-start;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--eb-line);
}
/* Η λίστα ζει μέσα σε .eb-card, οπότε κληρονομεί το `content:"›"` του
   `.eb-card ul li:before` — εδώ δεν το θέλουμε (υπάρχει ήδη εικονίδιο). */
.eb-contact-list li:before{ content: none !important; }
.eb-contact-list li:last-child{ border-bottom: 0; padding-bottom: 0; }
.eb-contact-list li:first-child{ padding-top: 0; }

.eb-contact-ico{
  flex: 0 0 40px;
  width: 40px; height: 40px;
  border-radius: 11px;
  background: var(--eb-soft-2);
  color: var(--eb-primary);
  display:flex; align-items:center; justify-content:center;
  font-size: 15px;
  margin-top: 2px;
}
.eb-contact-body{ display:block; }
.eb-contact-label{
  display:block;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  color: var(--eb-muted);
  margin-bottom: 3px;
}
.eb-contact-value{
  display:block;
  font-size: 15px;
  line-height: 1.55;
  color: var(--eb-ink);
  font-weight: 600;
}
.eb-contact-value a{ color: var(--eb-ink); }
.eb-contact-value a:hover{ color: var(--eb-primary); }

/* ---------- footer newsletter (Mailchimp embed) --------------------------- */

/* Το embed φορτωνόταν με το classic Mailchimp CSS + inline styles (σταθερά
   πλάτη σε px, γκρι input με μαύρο border, τεράστιο μαύρο badge). Αφαιρέθηκαν
   και το styling γίνεται εδώ, ώστε να ταιριάζει με το υπόλοιπο site. */

.eb-news{ max-width: 300px; }
.eb-news-intro{
  font-size: 13px;
  line-height: 1.65;
  color: var(--eb-muted);
  margin: 0 0 16px;
}

/* ουδετεροποίηση του embed wrapper */
#mc_embed_signup{
  background: transparent;
  width: 100%;
  clear: none;
  font-family: inherit;
  font-size: inherit;
}
#mc_embed_signup form{ margin: 0; padding: 0; text-align: left; }
#mc_embed_signup .mc-field-group{ width: 100%; padding: 0; min-height: 0; }
#mc_embed_signup .foot{ display: block; width: 100%; }
#mc_embed_signup .clear{ clear: none; }

/* honeypot — εκτός οθόνης χωρίς να επηρεάζει το layout */
.eb-news-hp{ position: absolute; left: -5000px; }

/* ΠΡΟΣΟΧΗ — γιατί υπάρχει !important εδώ:
   Το `Template/revolution/css/layers.css` (Revolution Slider demo CSS) περιέχει
   ~15 κανόνες που πιάνουν οποιοδήποτε `#mc_embed_signup` στη σελίδα και του
   επιβάλλουν σταθερό `width: 400px`, γραμματοσειρά Lato, uppercase, πορτοκαλί
   κουμπί και `border-radius: 0` — μαζί με media queries που το συρρικνώνουν σε
   200/260/160px. Οι selectors του έχουν 2 IDs και είναι σκορπισμένοι σε
   πολλαπλά breakpoints, οπότε το !important είναι ο μόνος σταθερός τρόπος
   να μη χρειάζεται να τους κυνηγάμε έναν προς έναν. */

#mc_embed_signup input#mce-EMAIL,
#mc_embed_signup input#mce-EMAIL[type="email"],
#mc_embed_signup input#mce-EMAIL[type="email"]:focus{
  width: 100% !important;
  height: 46px !important;
  line-height: 44px !important;
  background-color: #fff !important;
  border: 1px solid var(--eb-line) !important;
  border-radius: 10px !important;
  padding: 0 15px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  color: var(--eb-ink) !important;
  margin-bottom: 0 !important;
  transition: border-color .18s ease, box-shadow .18s ease !important;
}
#mc_embed_signup input#mce-EMAIL::placeholder{ color: #9aa1b1 !important; }
#mc_embed_signup input#mce-EMAIL:focus,
#mc_embed_signup input#mce-EMAIL[type="email"]:focus{
  outline: none;
  border-color: var(--eb-primary) !important;
  box-shadow: 0 0 0 3px rgba(91,116,255,.14) !important;
}

#mc_embed_signup input#mc-embedded-subscribe,
#mc_embed_signup input#mc-embedded-subscribe:focus{
  width: 100% !important;
  height: 46px !important;
  line-height: 46px !important;
  margin: 10px 0 0 !important;
  padding: 0 20px !important;
  background: var(--eb-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  text-transform: none !important;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(91,116,255,.28);
  transition: background .18s ease, transform .18s ease;
}
#mc_embed_signup input#mc-embedded-subscribe:hover{ background: var(--eb-primary-600) !important; }
#mc_embed_signup input#mc-embedded-subscribe:active{ transform: translateY(1px); }

/* μηνύματα επιτυχίας / σφάλματος */
.eb-news-responses{ margin: 0; padding: 0; }
.eb-news-responses .response{
  margin: 10px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 8px;
  font-size: 12.5px;
  line-height: 1.5;
  width: 100% !important;
}
#mce-error-response{ background: #fdecec; color: #b02a2a; }
#mce-success-response{ background: #e7f7ee; color: #1e8b53; }

/* inline validation του mc-validate.js */
#mc_embed_signup div.mce_inline_error{
  background: transparent !important;
  color: #b02a2a !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
}
#mc_embed_signup input.mce_inline_error{ border-color: #d97070 !important; }

/* Mailchimp referral badge — διακριτικό αντί για μαύρο πλακάτ 220×40 */
.eb-news-badge{ margin: 14px 0 0; }
.eb-news-badge a{
  display: inline-block;
  background: #1c1f2a;
  border-radius: 6px;
  padding: 4px 10px;
  opacity: .5;
  transition: opacity .18s ease;
}
.eb-news-badge a:hover{ opacity: .85; }
.eb-news-badge img{
  width: auto;
  height: 18px;
  display: block;
}

@media (max-width: 991px){
  .eb-news{ max-width: 100%; }
}

/* ---------- misc ---------------------------------------------------------- */

.eb-note{
  background: var(--eb-soft-2);
  border-left: 4px solid var(--eb-primary);
  border-radius: 0 12px 12px 0;
  padding: 18px 22px;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--eb-body);
}
.eb-terms{ display:grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.eb-term{
  background:#fff; border:1px solid var(--eb-line); border-radius: 12px;
  padding: 16px; text-align:center;
}
.eb-term-k{ font-size: 12px; text-transform:uppercase; letter-spacing:1px; color: var(--eb-muted); margin-bottom:6px; }
.eb-term-v{ font-size: 16px; font-weight: 800; color: var(--eb-ink); }

/* ---------- responsive ---------------------------------------------------- */

@media (max-width: 1199px){
  .eb-check-grid{ grid-template-columns: repeat(2, 1fr); }
  .eb-plans{ grid-template-columns: repeat(2, 1fr); }
  .eb-verticals{ grid-template-columns: repeat(2, 1fr); }
  .eb-int-grid{ grid-template-columns: repeat(2, 1fr); }
  .eb-card-grid--4{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991px){
  .eb-section{ padding: 62px 0; }
  .eb-hero{ padding: 160px 0 70px; text-align:center; }
  .eb-vhero{ padding: 56px 0 70px; min-height:auto; }
  .eb-hero-title{ font-size: 38px; }
  .eb-hero-sub{ margin-left:auto; margin-right:auto; }
  .eb-hero-actions{ justify-content:center; }
  .eb-card-grid,
  .eb-card-grid--2{ grid-template-columns: 1fr; }
  .eb-sec-title{ font-size: 30px; }
  .eb-vhero h1{ font-size: 34px; }
  .eb-split h2{ font-size: 28px; }
  .eb-stats-section{ padding: 42px 0 46px; }
  .eb-terms{ grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 767px){
  .eb-check-grid{ grid-template-columns: 1fr; }
  .eb-plans{ grid-template-columns: 1fr; }
  .eb-verticals{ grid-template-columns: 1fr; }
  .eb-int-grid{ grid-template-columns: 1fr; }
  .eb-card-grid--4{ grid-template-columns: 1fr; }
  .eb-hero-title{ font-size: 32px; }
  .eb-cta h2{ font-size: 26px; }
  .eb-tl-item{ grid-template-columns: 64px 1fr; column-gap: 16px; }
  .eb-tl-dot{ width: 52px; height: 52px; font-size: 20px; }
  .eb-pagehead{ padding: 44px 0 36px; }
  .eb-pagehead h1{ font-size: 28px; }
  .eb-compare-wrap{ overflow-x:auto; }
}
