:root{
     --ink:#171717;
     --paper:#f4f0e9;
     --accent:#bd311f;
     --line:#d8d1c8 
}
 *{
     box-sizing:border-box;
}
 html{
     scroll-behavior:smooth;
}
 body{
     margin:0;
     color:var(--ink);
     background:var(--paper);
     font-family:Montserrat,Arial,sans-serif;
}
 .site-header{
     height:115px;
     background:#fff;
     display:flex;
     align-items:center;
     justify-content:space-between;
     padding:0 5.5vw;
     position:sticky;
     top:0;
     z-index:20;
     border-bottom:1px solid #eee;
}
 .logo img {
     width: 90px;
     height: auto;
     display: block;
}
 nav{
     display:flex;
     gap:32px;
}
 nav a{
     font-size:15px;
     font-weight:600;
     letter-spacing:1px;
     color:#222;
     text-decoration:none;
}
 .menu-btn{
     display:none;
     border:0;
     background:none;
}
 .hero{
     height:calc(100vh - 115px);
     min-height:620px;
     position:relative;
     overflow:hidden;
     position: relative;
     width: 100%;
}

 .hero-image {
     min-height: 88vh;
     position: relative;
     background-image: linear-gradient( 137deg, rgba(229, 0, 126, 0.89) 0%, rgba(0, 0, 0, 0.89) 100% ), url('danistiki-vivliothiki.webp');
     background-position: center center;
     background-repeat: no-repeat;
     background-size: cover;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     padding: 40px 20px;
     box-sizing: border-box;
}
 .hero-copy {
     background-color: rgba(197, 0, 108, 0.33);
     padding: 50px 60px;
     border-radius: 25px;
     text-align: left;
     max-width: 900px;
     width: 100%;
     box-sizing: border-box;
}
 .hero-copy p {
     margin: 0;
     color: #FFFFFF;
     font-family: Montserrat,Arial,sans-serif;
     font-size: 70px;
     font-weight: 900;
     line-height: 1.1;
     letter-spacing: 2.5px;
     text-transform: uppercase;
}

.hero-copy p.hero-subtext {
    font-size: 16px;         
    font-weight: 500;        
    line-height: 1.5;        
    letter-spacing: 0.5px;
    text-transform: none;     
    margin-top: 25px;        
    opacity: 0.95;            
}

@media (max-width: 767px) {
    .hero-copy p.hero-subtext {
        font-size: 15px;      
        margin-top: 15px;
    }
}
 @media (max-width: 767px) {
     .hero-copy {
         padding: 30px 25px;
         border-radius: 18px;
         max-width: 90%;
    }
     .hero-copy p {
         font-size: 26px;
         letter-spacing: 1px;
    }
}
 .scroll-cue{
     position:absolute;
     z-index:1;
     bottom:25px;
     left:50%;
     transform:translateX(-50%);
     font-size:32px;
     color:white;
     text-decoration:none;
}
 .section{
     padding:40px 1vw;
     background-color:#f4f4f4;
}

 .intro{
     display:block;
     text-align:center;
     max-width: 800px;
     margin: 0 auto;
     background:#fff;
}
 .intro h1{
     font-family:Montserrat,Arial,sans-serif;
     font-size:clamp(32px,4vw,60px);
     font-weight:300;
     line-height:1.05;
     margin:0;
}
 .intro-text{
     font-weight:500;
     font-size:18px;
     line-height:1.3;
     padding-top:20px;
     color:#000;
}
 .intro-text p{
     margin:0 0 8px;
}

 .section-head{
     font-family:Montserrat,Arial,sans-serif;
     font-size:clamp(30px,4vw,32px);
     text-align:center;
     line-height:1.05;
     margin-bottom:65px;
     display:flex;
     flex-direction:column;
}
 .section-head strong{
     font-weight:500;
}


/* ==========================================
   LANGUAGES SECTION & CARDS GRID
   ========================================== */

.languages {
     background:var(--paper);
}
     
.language-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  align-items: stretch; 
}

.lang-card {
  background: #fff;
  min-width: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.photo-wrapper {
  position: relative;
  overflow: hidden;
  height: 400px; 
  flex-shrink: 0;
}

.photo-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.8s cubic-bezier(0.25, 0, 0.2, 1);
}

.lang-card:hover .photo-wrapper img {
  transform: scale(1.1);
}

.card-body {
  padding: 22px 18px;
  text-align: left;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-start;
}

.card-body h2 {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 15px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid #E5007E;
}

.lang-quick-info {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lang-quick-info li {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 14px;
  color: #444444;
  line-height: 1.45;
  text-align: left;
  display: block;
}

.lang-quick-info li strong {
  color: #111111;
  font-weight: 700;
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

@media (max-width: 1200px) {
  .language-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

 @media(max-width:1050px){
     .language-grid{
         grid-template-columns:repeat(2,1fr);
    }
 }

@media (max-width: 768px) {
  .language-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .language-grid {
    grid-template-columns: 1fr;
  }
  .photo-wrapper {
    height: 350px;
  }
}


/* ==========================================
   FAQ
   ========================================== */
   
 .faq{
     padding:40px 8vw;
     background:#f4f0e9;
     display:block;
}
 .faq-title span{
     color:#E5007E;
     font-size:25px;
     font-weight:800;
     letter-spacing:2px;
}
 .faq-title h2{
     font-family:Montserrat,Arial,sans-serif;
     font-size:clamp(50px,6vw,85px);
     margin:8px 0;
     line-height:.9;
}
 .faq-lead{
     grid-column:2;
     font-size:17px;
     line-height:1.8;
}
 .accordion{
     grid-column:2;
}
 .accordion details{
     border-top:1px solid var(--line);
     padding:20px 0;
}
 .accordion details:last-child{
     border-bottom:1px solid var(--line);
}
 summary{
     list-style:none;
     cursor:pointer;
     font-size:16px;
     font-weight:700;
     display:flex;
     justify-content:space-between;
     gap:20px;
}
 summary::-webkit-details-marker{
     display:none;
}
 summary b{
     font-size:22px;
     color:#E5007E;
     font-weight:400;
}
 .accordion details[open] summary b{
     transform:rotate(45deg);
}
 .accordion p{
     line-height:1.8;
     max-width:100%;
     font-size:16px;
     color:#555;
}
 .contact{
     background:#E5007E;
     color:#fff;
     display:grid;
     grid-template-columns:1fr 1fr;
}
 .contact-photo{
     min-height:720px;
}
 .contact-photo img{
     width:100%;
     height:100%;
     object-fit:cover;
}
 .contact-info{
     padding:9vw 8vw;
     display:grid;
     grid-template-columns:1fr 1fr;
     gap:60px;
}
 .contact-info>div:first-child{
     grid-column:1/-1;
}
 .contact-info span{
     font-size:20px;
     color:#fff;
     font-weight:bold;
     letter-spacing:2px;
}
 .contact h2{
     font-family:Montserrat,Arial,sans-serif;
     font-size:40px;
     margin:10px 0 28px;
}
 .contact h3{
     font-size:17px;
     text-transform:uppercase;
     letter-spacing:1px;
}
 .contact p,.contact a{
     font-size:16px;
     line-height:1.9;
     color:#fff;
     text-decoration:none;
}

 .social a{
     color:#e4e4e4;
}
 footer {
     background: #070b14;
     color:#ffffff;
     padding: 30px 20px;
     text-align: center;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 12px;
}
 .footer-credits {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 6px;
     flex-wrap: wrap;
}
 .footer-credits a, .footer-credits span {
     color: #ffffff;
     font-size: 14px;
     text-decoration: none;
     line-height: 1;
}

 .hostnetics-brand {
     display: flex;
     align-items: center;
}

 .footer-credits img {
     height: 40px;
     width: 100px;
     display: block;
     margin-top: 0px;
}

     .faq{
         grid-template-columns:1fr 
    }
     .faq-lead,.accordion{
         grid-column:1;
         margin:0;
    }
     .faq{
         gap:25px;
    }
     .section{
         padding:90px 7vw;
    }

@media(max-width:900px){
     .site-header{
         height:80px;
         padding:0 24px;
    }
     .logo img {
         width: 60px;
         height: auto;
         display: block;
    }
     nav{
         display:none;
         position:absolute;
         top:80px;
         left:0;
         right:0;
         background:#fff;
         padding:24px;
         flex-direction:column;
         gap:22px;
         border-top:1px solid #eee;
    }
     nav.open{
         display:flex;
    }
     .menu-btn{
         display:flex;
         width:30px;
         flex-direction:column;
         gap:5px;
    }
     .menu-btn i{
         height:2px;
         background:#111;
         width:100%;
         display:block;
    }
     .hero{
         height:calc(100vh - 230px);
         min-height:560px;
    }
     .hero-copy{
         left:8vw;
         bottom:20%;
         font-size:clamp(39px,12vw,62px);
         letter-spacing:-2px;
    }
     .section{
         padding:75px 24px;
    }
     .intro{
         grid-template-columns:1fr;
         gap:38px;
    }
     .intro-text{
         font-size:15px;
         line-height:1.8;
    }
     .language-grid{
         grid-template-columns:1fr;
    }
     .photo{
         height:380px;
    }
     .faq-title h2{
         font-size:60px;
    }
     .contact{
         grid-template-columns:1fr;
    }
     .contact-photo{
         min-height:420px;
    }
     .contact-info{
         padding:70px 24px;
         grid-template-columns:1fr;
         gap:35px;
    }
     .contact-info h2{
         font-size:35px;
    }
     .contact-info>div:first-child{
         grid-column:auto;
    }
     .section-head{
         margin-bottom:40px;
    }
}
/* Base Section */
 .about-us {
     background-color: #f4f4f4;
     padding: 0px 0px;
}
 .about-us .container {
     max-width: 1200px;
     margin: 0 auto;
}
/* Header & Ιστορικό */
 .about-head {
     text-align: center;
     max-width: 1000px;
     margin: 0 auto 60px auto;
}
 .about-head small {
     color: #E5007E;
     font-weight: 700;
     letter-spacing: 2px;
     text-transform: uppercase;
     font-size: 13px;
     display: block;
     margin-bottom: 10px;
}
 .about-head h2 {
     font-family: Montserrat, Arial, sans-serif;
     font-size: clamp(32px, 4vw, 44px);
     color: #111111;
     margin: 0 0 25px 0;
     font-weight: 800;
}
 .about-head p {
     font-size: 18px;
     line-height: 1.7;
     color: #000;
     margin-bottom: 18px;
}
/* Grid Cards */
 .about-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 30px;
     padding-top:50px;
}
 .about-card {
     background: #e5007e;
     padding: 30px;
     border-radius: 12px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     border: 1px solid rgba(0, 0, 0, 0.04);
     overflow: hidden;
}
 .about-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 15px 35px rgba(229, 0, 126, 0.1);
}
 .about-card .image-box {
     width: 100%;
     height: 300px;
     border-radius: 8px;
     overflow: hidden;
     margin-bottom: 25px;
     background-color: #f0f0f0;
}
 .about-card .image-box img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
}
 .about-card h3 {
     font-family: Montserrat, Arial, sans-serif;
     font-size: 22px;
     color: #fff;
     margin: 0 0 15px 0;
     font-weight: 700;
}
 .about-card p {
     font-size: 15px;
     line-height: 1.7;
     color: #fff;
     margin: 0;
}
 @media (max-width: 991px) {
     .about-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 24px;
    }
}

 @media (max-width: 767px) {
     .about-us {
         padding: 0px 0px;
    }
     .about-head {
         text-align: center;
         margin-bottom: 35px;
    }
     .about-head h2 {
         font-size: 28px;
         margin-bottom: 15px;
    }
     .about-head p {
         font-size: 15px;
         line-height: 1.6;
    }
     .about-grid {
         grid-template-columns: 1fr;
         gap: 20px;
    }
     .about-card {
         padding: 20px;
    }
     .about-card .image-box {
         height: 180px;
         margin-bottom: 15px;
    }
     .about-card h3 {
         font-size: 20px;
    }
}
 .btn-edu {
     display: inline-block;
     background-color: #070b14;
     color: #ffffff;
     padding: 12px 28px;
     font-size: 16px;
     font-weight: 700;
     text-decoration: none;
     border-radius: 6px;
     transition: all 0.3s ease;
}
 .btn-edu:hover {
     background-color: #E5007E;
     color: #ffffff;
     transform: translateY(-2px);
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Container διαχωριστικού */

 .custom-section-divider {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     max-width: 1200px;
     margin: 40px auto;
     padding: 0 20px;
     gap: 20px;
}
 .custom-section-divider .divider-line {
     flex: 1;
     height: 1px;
     background-color: rgba(229, 0, 126, 0.2);
}
 .custom-section-divider .divider-icon {
     width: 38px;
     height: 38px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
}
 .custom-section-divider .divider-icon svg {
     width: 100%;
     height: 100%;
     display: block;
}
 @media (max-width: 767px) {
     .custom-section-divider {
         margin: 25px auto;
         gap: 12px;
    }
     .custom-section-divider .divider-icon {
         width: 30px;
         height: 30px;
    }
}

/* ==========================================
   HIGHLIGHTS SECTION (4 ΣΤΟΙΧΕΙΑ)
   ========================================== */

.highlights-section {
  background-color: #ffffff;
  padding: 50px 20px;
}

.highlights-section .container {
  max-width: 1200px;
  margin: 0 auto;
}

.highlights-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.highlight-card {
  background: #fcfcfc;
  padding: 30px 20px;
  border-radius: 12px;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.highlight-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(229, 0, 126, 0.12);
  border-color: rgba(229, 0, 126, 0.2);
}


.highlight-number {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 38px;
  font-weight: 900;
  color: #E5007E; 
  line-height: 1;
  margin-bottom: 12px;
}


.highlight-badge {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #E5007E;
  background-color: rgba(229, 0, 126, 0.1);
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 15px;
}

.highlight-text {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #222222;
  line-height: 1.4;
  margin: 0;
}


@media (max-width: 991px) {
  .highlights-grid {
    grid-template-columns: repeat(2, 1fr); 
    gap: 20px;
  }
}

@media (max-width: 575px) {
  .highlights-section {
    padding: 35px 15px;
  }
  
  .highlights-grid {
    grid-template-columns: 1fr; 
    gap: 15px;
  }

  .highlight-card {
    padding: 22px 15px;
  }

  .highlight-number {
    font-size: 32px;
  }

  .highlight-text {
    font-size: 14px;
  }
}


/* ==========================================
   ENOTHTA: ΓΙΑΤΙ ΔΑΜΙΑΝΟΥ
   ========================================== */

.why-us-section {
  background-color: #f9f9f9;
  padding: 60px 20px;
}

.why-us-section .container {
  max-width: 1200px;
  margin: 0 auto;
}

.intro-title {
   font-family:Montserrat,Arial,sans-serif;
     font-size:clamp(32px,4vw,45px);
     font-weight:300;
     line-height:1.05;
     margin:0;
     text-align:center;
}

.why-us-title {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 32px;
  font-weight: 900;
  color: #222222;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 45px;
  position: relative;
}

.why-us-title::after {
  content: '';
  display: block;
  width: 50px;
  margin: 12px auto 0 auto;
  border-radius: 2px;
}

.why-us-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.why-us-card {
  background: #ffffff;
  padding: 35px 25px;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.05);
  text-align: left;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.why-us-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 30px rgba(229, 0, 126, 0.12);
  border-color: rgba(229, 0, 126, 0.2);
}

.why-us-icon {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  color: #E5007E;
  background-color: rgba(229, 0, 126, 0.08);
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.why-us-card h3 {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 10px 0;
  line-height: 1.3;
}

.why-us-card p {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 14px;
  color: #555555;
  line-height: 1.6;
  margin: 0;
}

/* Responsive για Tablet & Mobile */
@media (max-width: 991px) {
  .why-us-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 575px) {
  .why-us-section {
    padding: 40px 15px;
  }

  .why-us-title {
    font-size: 26px;
    margin-bottom: 30px;
  }

  .why-us-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .why-us-card {
    padding: 25px 20px;
  }
}

/* ==========================================
   ENOTHTA: ΤΑ ΠΡΟΓΡΑΜΜΑΤΑ ΜΑΣ
   ========================================== */

.programs-section {
  background-color: #ffffff;
  padding: 70px 20px;
}

.programs-section .container {
  max-width: 1200px;
  margin: 0 auto;
}

.programs-header {
  text-align: center;
  margin-bottom: 50px;
}

.programs-title {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 32px;
  font-weight: 900;
  color: #222222;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin: 0 0 15px 0;
}


.programs-badge-text {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 16px;
  color: #444444;
  background-color: rgba(229, 0, 126, 0.06);
  border: 1px dashed #E5007E;
  display: inline-block;
  padding: 10px 22px;
  border-radius: 30px;
  margin: 0 auto;
  max-width: 800px;
  line-height: 1.5;
}

.programs-badge-text span {
  font-weight: 800;
  color: #E5007E;
}

.programs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.program-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 35px 25px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.program-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(229, 0, 126, 0.15);
  border-color: #E5007E;
}

.program-tag {
  align-self: flex-start;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #ffffff;
  background-color: #E5007E;
  padding: 5px 12px;
  border-radius: 20px;
  margin-bottom: 20px;
}

.program-card h3 {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 15px 0;
  line-height: 1.3;
}

.program-card p {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  color: #555555;
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 991px) {
  .programs-grid {
    grid-template-columns: 1fr; 
    gap: 25px;
  }

  .programs-badge-text {
    font-size: 14px;
    padding: 10px 15px;
  }
}

@media (max-width: 575px) {
  .programs-section {
    padding: 45px 15px;
  }

  .programs-title {
    font-size: 26px;
  }

  .program-card {
    padding: 25px 20px;
  }

  .program-card h3 {
    font-size: 20px;
  }
}

/* ==========================================
   ENOTHTA: ΕΓΓΥΗΣΗ ΠΤΥΧΙΟΥ
   ========================================== */

.guarantee-section {
  background: linear-gradient(135deg, #1e1e24 0%, #0d0d11 100%);
  border-top: 3px solid #E5007E;
  border-bottom: 3px solid #E5007E;
  padding: 80px 20px;
  width: 100%;
  box-sizing: border-box;
}

.guarantee-section .container {
  max-width: 1000px;
  margin: 0 auto;
}

.guarantee-box {
  color: #ffffff;
  text-align: center;
}

.guarantee-badge {
  display: inline-block;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #ffffff;
  background-color: #E5007E;
  padding: 6px 16px;
  border-radius: 20px;
  margin-bottom: 20px;
}

.guarantee-title {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 32px;
  font-weight: 900;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0 0 10px 0;
}

.guarantee-subtitle {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #E5007E;
  margin: 0 0 30px 0;
  line-height: 1.4;
}

.guarantee-content {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  color: #e0e0e0;
  line-height: 1.7;
  max-width: 850px;
  margin: 0 auto 35px auto;
  text-align: left;
}

.guarantee-content p {
  margin-bottom: 15px;
}

.guarantee-highlight {
  background-color: rgba(229, 0, 126, 0.12);
  border-left: 4px solid #E5007E;
  padding: 20px;
  border-radius: 0 12px 12px 0;
  margin-top: 25px;
}

.guarantee-highlight p {
  color: #ffffff;
  margin-bottom: 10px;
}

.guarantee-highlight p:last-child {
  margin-bottom: 0;
}

.guarantee-highlight strong {
  color: #E5007E;
}

/* Responsive */
@media (max-width: 767px) {
  .guarantee-section {
    padding: 50px 15px;
  }

  .guarantee-title {
    font-size: 26px;
  }

  .guarantee-subtitle {
    font-size: 15px;
  }

  .guarantee-content {
    font-size: 14px;
  }

  .guarantee-btn {
    font-size: 14px;
    padding: 14px 20px;
    width: 100%;
    box-sizing: border-box;
  }
}
 
 /* ==========================================
   ENOTHTA: ΠΙΣΤΟΠΟΙΗΣΕΙΣ / ΕΞΕΤΑΣΤΙΚΟΙ ΦΟΡΕΙΣ
   ========================================== */

.certifications-section {
  background-color: #ffffff;
  padding: 60px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.certifications-section .container {
  max-width: 1000px;
  margin: 0 auto;
}

.certifications-header {
  text-align: center;
  margin-bottom: 40px;
}

.certifications-title {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 32px;
  font-weight: 900;
  color: #222222;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin: 0 0 15px 0;
}

.certifications-description {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 16px;
  color: #555555;
  line-height: 1.6;
  max-width: 800px;
  margin: 0 auto;
}


.logos-grid {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  flex-wrap: wrap;
}

.logo-item {
  background: #fbfbfb;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  padding: 20px 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.logo-item:hover {
  transform: translateY(-3px);
  border-color: rgba(229, 0, 126, 0.3);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
}

.logo-item img {
  max-height: 60px;
  width: auto;
  object-fit: contain;
  opacity: 0.8;
  transition: filter 0.3s ease, opacity 0.3s ease;
}

.logo-item:hover img {
  filter: grayscale(0%);
  opacity: 1;
}


@media (max-width: 767px) {
  .certifications-section {
    padding: 45px 15px;
  }

  .certifications-title {
    font-size: 22px;
  }

  .certifications-description {
    font-size: 14px;
  }

  .logos-grid {
    gap: 20px;
  }

  .logo-item {
    padding: 15px 25px;
    width: 100%;
    max-width: 280px;
  }

  .logo-item img {
    max-height: 50px;
    opacity: 1;
  }
}

/* ==========================================
   ENOTHTA: ΜΑΘΗΣΙΑΚΗ ΥΠΟΣΤΗΡΙΞΗ
   ========================================== */

.learning-support-section {
  background-color: #f9f9f9;
  padding: 70px 20px;
}

.learning-support-section .container {
  max-width: 1200px;
  margin: 0 auto;
}

.support-header {
  text-align: center;
  margin-bottom: 50px;
}

.support-title {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 32px;
  font-weight: 900;
  color: #222222;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin: 0 0 12px 0;
}

.support-subtitle {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #E5007E;
  margin: 0;
}

.support-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.support-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 35px 25px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  text-align: left;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.support-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 28px rgba(229, 0, 126, 0.12);
  border-color: rgba(229, 0, 126, 0.2);
}

.support-icon {
  background-color: rgba(229, 0, 126, 0.08);
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}

.support-card h3 {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 19px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 15px 0;
  line-height: 1.35;
}

.support-card p {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 14.5px;
  color: #555555;
  line-height: 1.65;
  margin: 0;
}

.support-card p strong {
  color: #222222;
}

/* Responsive για Tablets & Κινητά */
@media (max-width: 991px) {
  .support-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width: 575px) {
  .learning-support-section {
    padding: 45px 15px;
  }

  .support-title {
    font-size: 24px;
  }

  .support-subtitle {
    font-size: 15px;
  }

  .support-card {
    padding: 25px 20px;
  }

  .support-card h3 {
    font-size: 17px;
  }
}

/* ==========================================
   ENOTHTA: ΥΠΟΤΡΟΦΙΑ «ΣΜΑΡΑΓΔΑ ΔΑΜΙΑΝΟΥ»
   ========================================== */

.scholarship-section {
  background-color: #ffffff;
  padding: 80px 20px;
}

.scholarship-section .container {
  max-width: 1100px;
  margin: 0 auto;
}

.scholarship-card {
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 20px;
  padding: 50px;
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 50px;
  align-items: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}

.scholarship-image-wrapper {
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.vintage-frame {
  position: relative;
  padding: 12px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  transform: rotate(-2deg); 
  transition: transform 0.3s ease;
  display: block !important;
  max-width: 260px;
  margin: 0 auto;
}

.scholarship-card:hover .vintage-frame {
  transform: rotate(0deg) scale(1.02);
}

.vintage-frame img {
  width: 100%;
  max-width: 260px;
  height: auto;
  aspect-ratio: 4/4;
  object-fit: cover;
  border-radius: 6px;
  filter: sepia(30%) contrast(105%);
  display: block !important;
}

.vintage-badge {
  position: absolute;
  bottom: -12px;
  right: 15px;
  background-color: #222222;
  color: #ffffff;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  letter-spacing: 1px;
  text-transform: uppercase;
  z-index: 2;
}

.scholarship-content {
  text-align: left;
}

.scholarship-tag {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  color: #E5007E;
  letter-spacing: 1.5px;
  display: block;
  margin-bottom: 8px;
}

.scholarship-content h2 {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 28px;
  font-weight: 900;
  color: #111111;
  margin: 0 0 6px 0;
  line-height: 1.25;
}

.scholarship-subtitle {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #555555;
  margin: 0 0 20px 0;
  font-style: italic;
}

.scholarship-text {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 14.5px;
  color: #444444;
  line-height: 1.65;
  margin: 0 0 12px 0;
}

.scholarship-highlight-box {
  background-color: rgba(229, 0, 126, 0.06);
  border-left: 4px solid #E5007E;
  padding: 12px 18px;
  margin: 20px 0 25px 0;
  border-radius: 0 8px 8px 0;
}

.scholarship-highlight-box span {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 14px;
  color: #222222;
}


@media (max-width: 991px) {
  .scholarship-card {
    grid-template-columns: 1fr;
    gap: 35px;
    padding: 35px 25px;
  }

  .scholarship-content {
    text-align: center;
  }

  .scholarship-highlight-box {
    border-left: none;
    border-top: 3px solid #E5007E;
    border-radius: 0 0 8px 8px;
  }
}

@media (max-width: 575px) {
  .scholarship-section {
    padding: 50px 15px;
  }

  .scholarship-content h2 {
    font-size: 22px;
  }

  .scholarship-btn {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
}

/* ==========================================
   ENOTHTA: ΔΙΑΔΡΟΜΗ - HORIZONTAL TIMELINE (Minimal)
   ========================================== */

.timeline-section {
  background-color: #f4f0e9;
  padding: 80px 20px;
  font-family: Montserrat, Arial, sans-serif;
}

.timeline-section .container {
  max-width: 1200px;
  margin: 0 auto;
}


.timeline-header {
  text-align: center;
  margin-bottom: 60px;
}

.timeline-tag {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  color: #E5007E;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 5px;
}

.timeline-title {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 32px;
  font-weight: 900;
  color: #111111;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin: 0 0 20px 0;
}


.timeline-span-badge {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  background-color: #111111;
  color: #ffffff;
  padding: 10px 28px;
  border-radius: 30px;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 1.5px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  border: 2px solid #E5007E;
}

.timeline-span-badge .arrow {
  color: #E5007E;
  font-size: 20px;
}


.timeline-horizontal-wrapper {
  position: relative;
  padding-top: 30px;
}


.timeline-line {
  position: absolute;
  top: 37px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: linear-gradient(90deg, #E5007E 0%, rgba(229, 0, 126, 0.2) 100%);
  z-index: 1;
}


.timeline-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  position: relative;
  z-index: 2;
}


.timeline-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}


.timeline-marker {
  width: 14px;
  height: 14px;
  background-color: #ffffff;
  border: 3.5px solid #E5007E;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(229, 0, 126, 0.12);
  margin-bottom: 25px;
  transition: transform 0.2s ease, background-color 0.2s ease;
  z-index: 3;
}

.timeline-item:hover .timeline-marker {
  transform: scale(1.25);
  background-color: #E5007E;
}

.timeline-marker.highlight-marker {
  background-color: #E5007E;
  width: 18px;
  height: 18px;
  margin-bottom: 23px;
}

.timeline-content {
  background: #ffffff;
  padding: 22px 18px;
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
  text-align: left;
  height: 100%;
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.timeline-item:hover .timeline-content {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.timeline-content.highlight-content {
  border-top: 4px solid #E5007E;
  background: #ffffff;
}

.timeline-date {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  color: #E5007E;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 8px;
}

.timeline-date.highlight-date {
  background-color: #E5007E;
  color: #ffffff;
  display: inline-block;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 10px;
}

.timeline-content h3 {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #111111;
  margin: 0 0 10px 0;
  line-height: 1.35;
}

.timeline-content p {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 12.5px;
  color: #555555;
  line-height: 1.6;
  margin: 0;
}


/* ==========================================
   RESPONSIVE DESIGN 
   ========================================== */

@media (max-width: 991px) {
  /* Αλλαγή πλέγματος σε 1 στήλη */
  .timeline-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .timeline-horizontal-wrapper {
    padding-top: 0;
    position: relative;
  }

  .timeline-line {
    display: block; 
    top: 10px;
    bottom: 10px;
    left: 15px; 
    right: auto;
    width: 2px;
    height: auto;
    background: linear-gradient(180deg, #E5007E 0%, rgba(229, 0, 126, 0.2) 100%);
  }

  .timeline-item {
    align-items: flex-start;
    position: relative;
    width: 100%;
  }

  .timeline-marker {
    display: block; /* Επαναφορά των bullets */
    position: absolute;
    left: 9px; /* Κεντράρισμα πάνω στη γραμμή 2px */
    top: 15px;
    margin-bottom: 0;
  }

  .timeline-marker.highlight-marker {
    left: 7px;
    top: 13px;
    margin-bottom: 0;
  }

  .timeline-content {
    margin-left: 45px;
    width: calc(100% - 45px);
  }

  .timeline-content.highlight-content {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    border-left: 4px solid #E5007E;
  }
}

@media (max-width: 575px) {
  .timeline-section {
    padding: 50px 15px;
  }

  .timeline-title {
    font-size: 26px;
  }

  .timeline-span-badge {
    font-size: 15px;
    padding: 8px 20px;
  }
  
  .timeline-content {
    padding: 18px 15px;
  }
}


/* ==========================================
   ANIMATIONS (Scroll Reveal Effect)
   ========================================== */

.timeline-item {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), 
              transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.timeline-item.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 992px) {
  .timeline-item:nth-child(1) { transition-delay: 0.1s; }
  .timeline-item:nth-child(2) { transition-delay: 0.25s; }
  .timeline-item:nth-child(3) { transition-delay: 0.4s; }
  .timeline-item:nth-child(4) { transition-delay: 0.55s; }
  .timeline-item:nth-child(5) { transition-delay: 0.7s; }
}

/* ==========================================
   SCROLL TO TOP BUTTON
   ========================================== */

#scrollToTopBtn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 45px;
  height: 45px;
  background-color: #111111;
  color: #ffffff;
  border: 2px solid #E5007E;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  z-index: 999;
  

  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.3s ease;
}


#scrollToTopBtn.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}


#scrollToTopBtn:hover {
  background-color: #E5007E;
  color: #ffffff;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(229, 0, 126, 0.3);
}


@media (max-width: 575px) {
  #scrollToTopBtn {
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
  }
}


#history,
#programs,
#languages,
#faq,
#contact {
  scroll-margin-top: 80px; 
}