/* --- Γενικές Ρυθμίσεις & Χρώματα --- */
:root {
  --primary: #42a19b;
  --primary-dark: #35827d;
  --secondary: #444444;
  --white: #ffffff;
  --light-bg: #f5f9f8;
}

body {
  font-family: "Roboto", sans-serif;
  color: #444444;
  /* Αφαιρέσαμε το margin-top γιατί το topbar δεν είναι πλέον fixed */
}

a {
  color: var(--primary);
  text-decoration: none;
}

a:hover {
  color: var(--primary-dark);
}

/* --- Top Bar (Πάνω μπάρα) --- */
#topbar {
  background: var(--primary);
  height: auto; /* Άλλαξε σε auto για να χωράει το περιεχόμενο αν χρειαστεί */
  padding: 10px 0;
  font-size: 14px;
  z-index: 996;
  /* Δεν είναι πλέον fixed, άρα χάνεται στο scroll */
}

#topbar .contact-info i {
  font-style: normal;
  color: #fff;
}

#topbar .contact-info a {
    color: #fff;
    transition: 0.3s;
}

#topbar .contact-info a:hover {
    text-decoration: none;
}

/* --- Header & Navigation --- */
#header {
  background: #fff;
  transition: all 0.5s;
  z-index: 997;
  padding: 15px 0;
  box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1);
  /* Κάνει το μενού να κολλάει πάνω όταν σκρολάρουμε */
  position: sticky;
  top: 0;
}

#header .logo {
  font-size: 26px;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.5px;
}

#header .logo a {
  color: #2c4964;
  display: flex;
  align-items: center;
}

/* --- Desktop Navigation --- */
.navbar {
  padding: 0;
}

.navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}

.navbar li {
  position: relative;
}

.navbar a, .navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 10px 30px;
  font-size: 15px;
  font-weight: 600;
  color: #2c4964;
  white-space: nowrap;
  transition: 0.3s;
}

.navbar a:hover, .navbar .active, .navbar .active:focus, .navbar li:hover > a {
  color: var(--primary);
}

/* Απόκρυψη του mobile icon σε desktop */
.mobile-nav-toggle {
  display: none;
}

/* --- Mobile Navigation Fix (Οθόνες < 991px) --- */
@media (max-width: 991px) {
  
  /* Το κουμπί (Hamburger/X) */
  .mobile-nav-toggle {
    display: block;
    color: #2c4964;
    font-size: 28px;
    cursor: pointer;
    line-height: 0;
    transition: 0.5s;
    /* Αυτό διορθώνει το πρόβλημα ορατότητας: */
    position: relative; 
    z-index: 10000; /* Πάνω από όλα */
  }

  /* Όταν το κουμπί γίνεται 'Χ' (active), το κάνουμε πιο έντονο αν χρειαστεί */
  .mobile-nav-toggle.fa-times {
    color: var(--primary); 
  }

  /* Απόκρυψη λίστας αρχικά */
  .navbar ul {
    display: none; 
  }

  /* Το Overlay μενού */
  .navbar-mobile {
    position: fixed;
    overflow: hidden;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: rgba(20, 20, 20, 0.95); /* Πιο σκούρο φόντο */
    transition: 0.3s;
    z-index: 999; /* Μικρότερο από το κουμπί (10000) */
  }

  .navbar-mobile ul {
    display: block;
    position: absolute;
    top: 55px;
    right: 15px;
    bottom: 15px;
    left: 15px;
    padding: 10px 0;
    background-color: #fff;
    overflow-y: auto;
    transition: 0.3s;
    border-radius: 10px;
    border: 2px solid var(--primary);
  }

  .navbar-mobile a {
    padding: 15px 20px;
    font-size: 16px;
    color: #333;
    border-bottom: 1px solid #eee;
  }
}

/* --- Hero Section --- */
#hero {
  width: 100%;
  height: 90vh;
  background: url("https://images.unsplash.com/photo-1629909613654-28e377c37b09?auto=format&fit=crop&w=1600") top center;
  background-size: cover;
  position: relative;
  /* Αφαιρέσαμε το margin-top */
}

#hero:before {
  content: "";
  background: rgba(255, 255, 255, 0.85);
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
}

#hero .container {
  position: relative;
}

#hero h1 {
  margin: 0;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
  color: #2c4964;
}

#hero h2 {
  color: var(--primary);
  margin: 10px 0 0 0;
  font-size: 24px;
}

#hero .btn-get-started {
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 10px 35px;
  border-radius: 50px;
  transition: 0.5s;
  margin-top: 30px;
  border: 2px solid var(--primary);
  color: var(--primary);
  background: #fff;
}

#hero .btn-get-started:hover {
  background: var(--primary);
  color: #fff;
}

/* --- Sections --- */
section {
  padding: 60px 0;
  overflow: hidden;
}

.section-bg {
  background-color: var(--light-bg);
}

.section-title {
  text-align: center;
  padding-bottom: 30px;
}

.section-title h2 {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
  color: #2c4964;
}

.section-title h2::after {
  content: "";
  position: absolute;
  display: block;
  width: 50px;
  height: 3px;
  background: var(--primary);
  bottom: 0;
  left: calc(50% - 25px);
}

/* --- Icon Boxes --- */
.icon-box {
  padding: 30px;
  position: relative;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 29px 0 rgba(68, 88, 144, 0.12);
  transition: all 0.3s ease-in-out;
  border-radius: 8px;
  text-align: center;
  height: 100%;
}

.icon-box .icon {
  margin-bottom: 15px;
}

.icon-box .icon i {
  font-size: 36px;
  line-height: 1;
  color: var(--primary);
}

.icon-box:hover {
  transform: translateY(-5px);
  border-color: var(--primary);
}

.icon-box h4 a {
  color: #111;
  transition: 0.3s;
}

.icon-box:hover h4 a {
    color: var(--primary);
}

/* --- Contact Info --- */
.contact .info {
  border-top: 3px solid var(--primary);
  border-bottom: 3px solid var(--primary);
  padding: 30px;
  background: #fff;
  width: 100%;
  box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.12);
}

.contact .info i {
  font-size: 20px;
  color: var(--primary);
  float: left;
  width: 44px;
  height: 44px;
  background: #eef7f6;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
}

.contact .info h4 {
  padding-left: 60px;
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #2c4964;
}

.contact .info p {
  padding-left: 60px;
  margin-bottom: 20px;
  font-size: 14px;
  color: #4b7dab;
}

.contact .info a {
    color: #4b7dab;
}
.contact .info a:hover {
    color: var(--primary);
}

/* --- Footer --- */
#footer {
  background: #42a19b;
  padding: 30px 0;
  color: #ffffff;
  font-size: 14px;
  text-align: center;
}

/**********************************
	DimisM Social Circle Buttons
***********************************/
.socialdm{	
	display: inline;
	float: left;
	margin: 20px 0px;
	width: 100%;
}
.socialdm a {
	color: #000; /*Icon color*/
	border: 1px solid #000; /*Border color*/
	border-radius: 50%;
	display: inline-block;
	font-size: 18px;
	height: 38px; /*48px*/
	line-height: 38px; /*48px*/
	margin: 0 5px; /*0 9px*/
	text-align: center;
	width: 38px; /*48px*/
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

.socialdm:hover a:hover{
	filter: brightness(150%);
}

.socialdm a.facebook{
	background-color: #3b5998;
	border-color: #3b5998;
	color: #fff;
}
.socialdm a.twitter{
	background-color: #00aced;
	border-color: #00aced;
	color: #fff;
}
.socialdm a.google-plus{
	background-color: #dd4b39;
	border-color: #dd4b39;
	color: #fff;
}
.socialdm a.youtube{
	background-color: #bb0000;
	border-color: #bb0000;
	color: #fff;
}
.socialdm a.linkedin{
	background-color: #007bb5;
	border-color: #007bb5;
	color: #fff;
}

.socialdm a.instagram{
	background-color: #c6268d;
	border-color: #c6268d;
	color: #fff;
}
.socialdm a.instagram:hover{
	filter: brightness(150%);
}
.socialdm a.playstore{
	background-color: #689f38;
	border-color: #689f38;
	color: #fff;
}
.socialdm a.pinterest{
	background-color: #bd081c;
	border-color: #bd081c;
	color: #fff;
}
.socialdm a.stumbleupon{
	background-color: #ee4813;
	border-color: #ee4813;
	color: #fff;
}
.socialdm a.reddit{
	background-color: #ff4500;
	border-color: #ff4500;
	color: #fff;
}
.socialdm a.tumblr{
	background-color: #36465d;
	border-color: #36465d;
	color: #fff;
}
.socialdm a.vk{
	background-color: #5181b8;
	border-color: #5181b8;
	color: #fff;
}
.socialdm a.getpocket{
	background-color: #e84352;
	border-color: #e84352;
	color: #fff;
}
.socialdm a.digg{
	background-color: #797979;
	border-color: #797979;
	color: #fff;
}
.socialdm a.skype{
	background-color: #00aff0;
	border-color: #00aff0;
	color: #fff;
}
.socialdm a.whatsapp{
	background-color: #0dc143;
	border-color: #0dc143;
	color: #fff;
}
.socialdm a.viber{
	background-color: #7c529e;
	border-color: #7c529e;
	color: #fff;
}
.socialdm a.email{
	background-color: #29d616;
	border-color: #29d616;
	color: #fff;
}
.socialdm a.sms{
	background-color: #f9bd0c;
	border-color: #f9bd0c;
	color: #fff;
}
.socialdm a.print{
	background-color: #e22919;
	border-color: #e22919;
	color: #fff;
}
.socialdm a.qr{
	background-color: #f00;
	border-color: #f00;
	color: #fff;
}
.socialdm a.vcard{
	background-color: #960ff9;
	border-color: #960ff9;
	color: #fff;
}

/* --- Styling για τη νέα φόρμα (php-email-dimism) --- */
.php-email-dimism button[type="submit"] {
  background: var(--primary);
  border: 0;
  padding: 10px 30px;
  color: #fff;
  transition: 0.4s;
  border-radius: 50px;
  cursor: pointer;
}

.php-email-dimism button[type="submit"]:hover {
  background: var(--primary-dark);
}

.php-email-dimism input, .php-email-dimism textarea, .php-email-dimism select {
  border-radius: 4px;
  box-shadow: none;
  font-size: 14px;
}

.php-email-dimism input:focus, .php-email-dimism textarea:focus, .php-email-dimism select:focus {
  border-color: var(--primary);
}