/* Γραμματοσειρές */


/* Τίτλοι */
h1, h2, h3, h4, h5, h6 {
  font-family: "Inter", "Noto Sans", sans-serif;
  font-weight: 100;   /* Μπορείς να βάλεις και 800 για πιο heavy look */
  line-height: 1.2;
  margin-bottom: 0.5em;
}



.attr-title{
  display: block;
  margin: 0 0 18px 0;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #333;
}
.proficiency-level-title{
  margin: 0 0 12px 0;
  font-size: 0.9rem;
  line-height: 1.2;
  color: #333;
}




/* Κείμενο παραγράφου */
p {
  font-family: "Inter", "Noto Sans", sans-serif;
  font-weight: 400;
  margin-bottom: 1em;
  line-height: 1.6;
}

/*ΚΑΡΤΕΣ 1η σελίδα*/
/* Ίδιο ύψος σε όλες τις κάρτες */
.card {
  min-height: 340px;           /* baseline ύψος */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Όλα τα icons ίδια */
.card img[data-icon] {
  width: 85px;
  height: 85px;
  object-fit: contain;
  margin-bottom: 1rem;
}
.card-title-heading {
  font-size: 1.2rem;
  line-height: 1.2;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
}
.card p {
  font-size: 1rem;
  line-height: 1.5;
  max-width: 42ch;
  margin-left: auto;
  margin-right: auto;
}

.card-title-heading {
  font-size: 1.1rem;
  line-height: 1.2;
  margin-bottom: 0.6rem;
}

/* Εναλλάξ layout: οι κάρτες στη 2η στήλη κατεβαίνουν */
.col-md-6 .card:nth-child(even) {
  transform: translateY(30px);
}

/* Σε κινητά, ακυρώνουμε το offset */
@media (max-width: 768px) {
  .col-md-6 .card:nth-child(even) {
    transform: none;
  }
}
.header-logo a {
  display: flex;
  align-items: stretch;   /* εικόνα και κείμενο ίδιο ύψος */
  gap: 8px;              /* απόσταση εικόνας-κειμένου */
  text-decoration: none;
}

.logo-text {
  display: flex;
  align-items: center;    /* κεντράρει το κείμενο κατακόρυφα */
  font-size: 14px;
  font-family: "Inter", "Noto Sans", sans-serif;
  font-weight: bold;
  color: #000;
  line-height: 1.1;
  width: 200px;           /* αυξάνει το πλάτος του κειμένου */
}



/*-------------------------*/
/*responsive fancy tables*/
/*-------------------------*/

.styled-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px; /* κενό ανάμεσα στις σειρές */
  font-family: 'Inter', sans-serif;
  font-size: 14px;
}

/* Κεφαλίδα */
.styled-table thead {
  background-color: #171940;
  color: #fff;
}

.styled-table thead th {
  padding: 12px;
  text-align: left;
  font-weight: 600;
  font-size: 12px;       /* πιο μικρό μέγεθος */
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Σειρές ως κάρτες */
.styled-table tbody tr {
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.2s ease-in-out;
}

/* Εναλλαγή φόντου (striped effect) */
.styled-table tbody tr:nth-child(odd) {
  background: #fafafa;
}

/* Εσωτερικές γραμμές */
.styled-table tbody td {
  padding: 16px 20px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #f0f0f0;
  border-right: 1px solid #f0f0f0;
}

/* Βγάζουμε γραμμές στο τελευταίο κελί */
.styled-table tbody tr td:last-child {
  border-right: none;
}
.styled-table tbody tr:last-child td {
  border-bottom: none;
}

/* Hover */
.styled-table tbody tr:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  transform: translateY(-2px);
}

/* Στήλη τίτλου projects */
.styled-table tbody td[data-label="Title"] a {
  font-size: 13px;
  font-weight: 600;
  color: #171940;
  text-decoration: none;
}

.styled-table tbody td[data-label="Title"] a:hover {
  text-decoration: underline;
  color: #e63946; /* χρώμα highlight στο hover */
}


/* hover */
.styled-table tbody tr:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  transform: translateY(-2px);
  transition: all 0.2s ease-in-out;
}


/* Βγάζουμε το border από το τελευταίο κελί της σειράς */
.styled-table tbody tr td:last-of-type {
  border-bottom: none;
}

/* Hover effect */
.styled-table tbody tr:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  transform: translateY(-2px);
  transition: all 0.2s ease-in-out;
}

.styled-table td div {
  padding: 4px 0;
  border-bottom: 1px dotted #ccc;
}

.styled-table td div:last-child {
  border-bottom: none; /* να μην έχει γραμμή το τελευταίο */
}

/*Accordionmμεγάλα κελιά*/
/* βασικό στυλ για κελιά που κόβονται */
.styled-table td.truncated {
  max-height: 4.8em; /* περίπου 3 γραμμές */
  overflow: hidden;
  position: relative;
  transition: max-height 0.3s ease;
}

/* όταν ανοίγουν */
.styled-table td.truncated.expanded {
  max-height: none;
}

/* κουμπί "more / less" */
.styled-table td.truncated::after {
  content: "… more";
  position: absolute;
  bottom: 0;
  right: 8px;
  background: linear-gradient(to right, transparent, #fff 50%);
  color: #1a237e;
  font-weight: 600;
  cursor: pointer;
  padding-left: 10px;
}
.styled-table td.truncated.expanded::after {
  content: "less";
}

/*-------------------------------*/
/* Responsive σε μικρές οθόνες */
/* Mobile card-style για πίνακα */
@media (max-width: 768px) {
  .styled-table thead { display: none; }

  .styled-table tr {
    display: block;
    margin: 0 12px 18px;   /* κενό δεξιά-αριστερά + απόσταση μεταξύ καρτών */
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    overflow: hidden;
    position: relative;
    cursor: pointer;

    background:
      linear-gradient(90deg, #1a237e, #3949ab) top / 100% 6px no-repeat,
      #fff;
  }

  /* απόκρυψη κελιών default */
  .styled-table td {
    display: none;
  }

  /* τίτλος πάντα ορατός */
  .styled-table td[data-label="Title"] {
    display: block;
    padding: 14px;
  }

  .styled-table td[data-label="Title"] a {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a237e;
    text-decoration: none;
    display: block;
  }

  /* όταν ανοίγει η κάρτα */
  .styled-table tr.active td {
    display: block;
    padding: 10px 16px;   /* εσοχή μέσα στην κάρτα */
  }

  .styled-table tr.active td[data-label]::before {
    content: attr(data-label) ": ";
    font-weight: 600;
    color: #444;
    display: block;
    margin-bottom: 4px;
    font-size: 0.85rem;
  }

  /* μην δείχνεις "Title:" */
  .styled-table tr.active td[data-label="Title"]::before {
    content: none;
  }
}
/*για να σπάνε τα keywords εάν είναι μεγάλα*/
.keywords {
  display: inline-flex;
  align-items: flex-start;   /* το εικονίδιο μένει πάνω */
  gap: 6px;                  /* μικρό κενό ανάμεσα */
  flex: 1;
  min-width: 0;
}

.keywords .icon {
  flex: 0 0 auto;            /* σταθερό πλάτος για το εικονίδιο */
}

.keywords .text {
  flex: 1;
  word-break: break-word;    /* αφήνει το κείμενο να κατεβαίνει σωστά */
  white-space: normal;       /* επιτρέπει wrap */
  
  /*Blockquotes*/
}
.blockquote-pulse-art-orange {
  border-left: 4px solid var(--pulse-art-orange);
  padding-left: 10px;
  color: var(--pulse-art-orange);
  font-style: italic;
}
.blockquote-p-pulse-art-orange {
  border-left: 4px solid var(--pulse-art-orange);
  padding-left: 10px;
  color: var(--pulse-art-orange);

}
.text-pulse-art-orange  {
  color: var(--pulse-art-orange);
}

.text-pulse-art-orange a {
  color: var(--pulse-art-orange);
  text-decoration: none; /* αν δεν θες underline */
}

.text-pulse-art-orange a:hover {
  text-decoration: underline; /* ή ό,τι θες στο hover */
}
/*purple*/

.blockquote-pulse-art-purple {
  border-left: 4px solid var(--pulse-art-purple);
  padding-left: 10px;
  color: var(--pulse-art-purple);
  font-style: italic;
}
.blockquote-p-pulse-art-purple {
  border-left: 4px solid var(--pulse-art-purple);
  padding-left: 10px;
  color: var(--pulse-art-purple);
}
.text-pulse-art-purple  {
  color: var(--pulse-art-purple);
}

.text-pulse-art-purple a {
  color: var(--pulse-art-purple);
  text-decoration: none; /* αν δεν θες underline */
}

.text-pulse-art-purple a:hover {
  text-decoration: underline; /* ή ό,τι θες στο hover */
}

/*purple2*/

.blockquote-pulse-art-purple-2 {
  border-left: 4px solid var(--pulse-art-purple-2);
  padding-left: 10px;
  color: var(--pulse-art-purple-2);
  font-style: italic;
}
.blockquote-p-pulse-art-purple-2 {
  border-left: 4px solid var(--pulse-art-purple-2);
  padding-left: 10px;
  color: var(--pulse-art-purple-2);
}
.text-pulse-art-purple-2  {
  color: var(--pulse-art-purple-2);
}

.text-pulse-art-purple-2 a {
  color: var(--pulse-art-purple-2);
  text-decoration: none; /* αν δεν θες underline */
}

.text-pulse-art-purple-2 a:hover {
  text-decoration: underline; /* ή ό,τι θες στο hover */
}


/* Fix για Bootstrap 5 collapse */
.collapse:not(.show) { 
  display: none;
}

.accordion-button.custom-purple {
  background-color: var(--pulse-art-purple);
  
}

.accordion-button.custom-purple:not(.collapsed) {
  background-color: var(--pulse-art-purple); /* κρατάει το ίδιο όταν είναι ανοιχτό */
}

/*Masonry Gallery*/

.thumb-info-title .thumb-info-inner {
  font-size: 14px;   /* άλλαξε το νούμερο ανάλογα με το πόσο μικρό θέλεις */
  line-height: 1.4;  /* πιο σφιχτό ύψος γραμμής */
  font-weight: 500;  /* μπορείς να το παίξεις: 400=normal, 600=bold */
}

/*μενού και υπομενού*/

/* Βασικό styling του header */
.dropdown-header {
  padding: 0.25rem 1rem;
  margin: 0.5rem 0 0.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background-color: #f8f9fa;
  color: #212529; /* ουδέτερο χρώμα */
  border-left: none !important; /* ❌ δεν θα έχει γραμμή */
}

/* Κατηγορία: Knowledge */
.category-knowledge {
  border-left: 4px solid var(--primary); /* ✅ μόνο στα items */
}
.category-knowledge.dropdown-header {
  color: var(--primary);
}

.category-knowledge.dropdown-item:hover {
  background-color: rgba(var(--primary-rgb), 0.1);
  color: var(--primary)!important;
}

/* Κατηγορία: Development */
.category-development {
  border-left: 4px solid var(--pulse-art-blue); /* ✅ μόνο στα items */
}

.category-development.dropdown-item:hover {
  background-color: rgba(var(--pulse-art-blue-rgb), 0.1);
  color: var(--pulse-art-blue)!important;
}

.category-development.dropdown-header {
  color: var(--pulse-art-blue);
}

/*DISABLED SECTIONS*/
/* Section που δεν είναι ενεργό */
.disabled-section {
  position: relative;
  filter: grayscale(60%) opacity(0.4);
  pointer-events: none;      /* απενεργοποιεί τα κλικ / hover μέσα στο section */
  user-select: none;         /* απενεργοποιεί την επιλογή κειμένου */
  transition: filter 0.3s ease;
}

/* Προαιρετικά: για να δείχνει πιο “κλειδωμένο” */
.disabled-section::after {
  content: "Unavailable";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.6);
  color: #333;
  font-size: 1.2rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}

/* Κάρτα που δεν είναι active*/
.disabled-card {
  position: relative;
  filter: grayscale(60%) opacity(0.4);
  pointer-events: none;
}
/*Ποπ με μήνυμα όταν ξεκινάει"*/
#uc-popup {
  position: fixed;
  inset: 0; /* top:0; right:0; bottom:0; left:0 */
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0,0,0,0.5); /* ημιδιαφανές φόντο */
  z-index: 9999;
}

#uc-popup .uc-box {
  background: #fff;
  padding: 2rem;
  max-width: 400px;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

#uc-popup h2 {
  margin-bottom: 1rem;
  color: #B12079;
}

#uc-popup button {
  margin-top: 1rem;
  padding: 0.5rem 1.5rem;
  border: none;
  border-radius: 4px;
  background: #B12079;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
}


/* μόνιμο μήνυμα στο πλάι under construction*/
#uc-tab {
  position: fixed;
  right: 12px;   /* άλλαξέ το σε left:12px αν το θες αριστερά */
  top: 50%;
  transform: translateY(-50%);
  background: #B12079;
  color: #fff;
  font-weight: 700;
  font-family: sans-serif;
  padding: 10px 14px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
  cursor: pointer;
  z-index: 100000;
  user-select: none;
}

/*CASE STUDIES BUTTONS δεν το έχω ακόμα χρησιμοποιήσει*/

.thumb-info-title .btn {
  position: relative;
  z-index: 5;
  transition: all 0.3s ease;
}

.thumb-info-title .btn:hover {
  background-color: #0056b3; /* ή όποιο hover χρώμα θέλεις */
  border-color: #0056b3; /* ή όποιο hover χρώμα θέλεις */
  transform: scale(1.05);
  cursor: pointer;
}

/* για να μην μπλοκάρει το overlay */
.thumb-info-wrapper::after {
  pointer-events: none !important;
}

/*Μικρότερο εικονίδιο στο masonry a kinht;a*/
/* Προεπιλογή για desktop */
.thumb-info-action-icon i {
  font-size: 1rem; /* ή 16px, ανάλογα με το template */
}

/* Μικρότερο στο κινητό */
@media (max-width: 767px) {
  .thumb-info-action {
    width: 32px !important;
    height: 32px !important;
  }

  .thumb-info-action-icon i {
    font-size: 0.75rem !important;
  }
}

/*****/

.masonry { display: block !important; }
.masonry-item { float: left; }

@media (max-width: 767px) { .masonry-item { width: 100% !important; } }  /* 2 στήλες */
@media (max-width: 480px) { .masonry-item { width: 100% !important; } } /* 1 στήλη */


#teaching-arts {
  padding-bottom: 100px; /* ή 80px ή όσο χρειάζεται */
}


/* === Custom Pagination Style === */
/* === Clean Grey Circle Pagination (no background arrows) === */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Γενικά κουμπιά (οι αριθμοί) */
.pagination .page-link {
  background-color: #666666;   /* γκρι φόντο */
  color: #ffffff;              /* άσπρα γράμματα */
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;               /* ✅ τέλειο κεντράρισμα */
  justify-content: center;
  align-items: center;
  margin: 0 4px;
  font-size: 15px;
  transition: all 0.2s ease-in-out;
}


/* Hover */
.pagination .page-link:hover {
  background-color: #555555;
  color: #ffffff;
}

/* Ενεργό (τρέχουσα σελίδα) */
.pagination .page-item.active .page-link {
  background-color: #222222; /* πιο σκούρο γκρι */
  font-weight: 700;
  transform: scale(1.05);
}

/* Απενεργοποιημένα βελάκια */
.pagination .page-item.disabled .page-link {
  color: #999999;
  background: none;
  cursor: not-allowed;
}

/* Μόνο τα βελάκια χωρίς φόντο */
.pagination .page-item:first-child .page-link,
.pagination .page-item:last-child .page-link {
  background: none !important;
  color: #666666;
  border: none;
  width: auto;
  height: auto;
  line-height: normal;
  font-size: 1.2em;
}

.pagination .page-item:first-child .page-link:hover,
.pagination .page-item:last-child .page-link:hover {
  color: #222222;
}


/*
/* Κρύβει το floating Game Jam tab και το popup στα κινητά */
@media (max-width: 767.98px) {
  #uc-tab,
  #uc-popup {
    display: none !important;
  }
}

/*Συννεφάκια που να λέει mockup*/

.mockup-badge2 {
  position: absolute;
  top: 30px;          /* κατεβαίνει λίγο ώστε να ακουμπά το περιεχόμενο */
  right: 40px;
  background: #1e3a8a;  /* βαθύ μπλε */
  color: #fff;
  padding: 18px 36px;   /* μεγαλύτερο “συννεφάκι” */
  border-radius: 999px;
  font-size: 24px;       /* μεγάλο μέγεθος γραμματοσειράς */
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
  opacity: 0.95;
  z-index: 10;
  transform: rotate(-3deg); /* προαιρετικά, λίγο κλίση για πιο “mockup” στυλ */
}

#self-reflection-tool {
  position: relative;
}

/* Cloud-style badge πάνω αριστερά */
.mockup-cloud {
  position: absolute;
  top: -50px;
  left: 200px;  /* 👈 μεταφέρθηκε από right σε left */
  background: radial-gradient(circle at 30% 30%, rgba(173, 216, 255, 0.95) 60%, rgba(135, 206, 250, 0.8) 100%);
  color: #0f172a;
  padding: 28px 50px;
  border-radius: 50px;
  font-size: 24px;
  font-weight: 700;
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  border: 2px solid rgba(59,130,246,0.6);
  z-index: 10;
  backdrop-filter: blur(4px);
}

/* Ουρίτσα προς τα κάτω δεξιά */
.mockup-cloud::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 55px; /* 👈 αλλάζει κατεύθυνση ουρίτσας */
  width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 25px solid rgba(173, 216, 255, 0.95);
  filter: drop-shadow(0 -1px 0 rgba(59,130,246,0.6));
}

/* container */
#resultsPagination {
  display: flex !important;
  justify-content: flex-end !important; /* right aligned */
  gap: 6px;
  padding-left: 0 !important;
  margin-bottom: 50px !important;
  list-style: none;
}

#resultsPagination > li.page-item {
  display: inline-flex !important;
  align-items: center;
}

/* circular buttons */
#resultsPagination .page-link {
  display: inline-flex !important;     /* inline so it flows with text */
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;               /* remove Bootstrap padding */
  border-radius: 50% !important;
  background-color: #666666 !important;
  color: #fff !important;
  border: none !important;
  font-size: 15px !important;
  transition: transform .15s ease, background-color .15s ease;
}

/* hover / active / disabled */
#resultsPagination .page-link:hover { background-color: #555 !important; color:#fff !important; }
#resultsPagination .page-item.active .page-link { background-color:#222 !important; transform: scale(1.05) !important; font-weight:700 !important; }
#resultsPagination .page-item.disabled .page-link { background: none !important; color:#999 !important; cursor:not-allowed !important; }


/* === Arrow buttons (Font Awesome style) === */
#resultsPagination .page-item:first-child .page-link,
#resultsPagination .page-item:last-child .page-link {
  background: none !important;
  color: #666 !important;
  border: none !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  transition: all 0.2s ease-in-out;
}

/* Hover arrows */
#resultsPagination .page-item:first-child .page-link:hover,
#resultsPagination .page-item:last-child .page-link:hover {
  background-color: #555 !important;
  color: #fff !important;
}

/* Disabled arrows */
#resultsPagination .page-item.disabled .page-link {
  background: none !important;
  color: #999 !important;
  pointer-events: none !important;
  opacity: 0.6 !important;
}


/* === PDP Infographic – Flat 3×3 grid (only cards) === */
#pdp-infographic {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Arial, sans-serif;
  padding: 40px 20px;
  background: none; /* λευκό ή διάφανο φόντο */
  color: #1a1a1a;
}

#pdp-infographic .container {
  max-width: 1100px;  /* πιο μαζεμένο για σωστή αναλογία 3 στη σειρά */
  margin: 0 auto;
}

/* --- GRID: 3 ανά σειρά --- */
#pdp-infographic .grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: 24px;
  justify-items: stretch;
  align-items: start;
}

/* 2 ανά σειρά σε tablets */
@media (max-width: 900px) {
  #pdp-infographic .grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

/* 1 ανά σειρά σε κινητά */
@media (max-width: 600px) {
  #pdp-infographic .grid {
    grid-template-columns: 1fr;
  }
}

/* --- Flat Card --- */
#pdp-infographic .card {
  position: relative;
  padding: 20px 18px 18px 18px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(94, 63, 215, 0.25);
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

#pdp-infographic .card:hover {
  transform: translateY(-3px);
  border-color: rgba(94, 63, 215, 0.5);
  background-color: #F9F8FF; /* ελαφρύ μοβ φόντο στο hover */
}

/* --- Badge (αριθμός) --- */
#pdp-infographic .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-weight: 700;
  background: #5E3FD7;
  color: #fff;
  margin-bottom: 10px;
}

/* --- Κείμενο μέσα στην κάρτα --- */
#pdp-infographic h3 {
  margin: 0 0 6px;
  font-size: 1rem;
  color: #2E2B4B;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

#pdp-infographic p {
  margin: 0;
  font-size: 0.92rem;
  color: #4a446a;
  line-height: 1.4;
}

#pdp-infographic .mini {
  margin-top: 8px;
  font-size: 0.85rem;
  color: #5E3FD7;
}

/* Απόκρυψη όλων των εξωτερικών στοιχείων (τίτλοι, legends κλπ.) */

#pdp-infographic p.lead,
#pdp-infographic .legend {
  display: none !important;
}

.pulse-art-purple {
  background-color: var(--pulse-art-purple);   /* ή όποιο είναι το βασικό μοβ σου */
  color: #fff;                 /* για σωστό contrast */
}

/* βάλ’ το στο container που έχει το μοβ φόντο */
#pdp-infographic .container.pulse-art-bg{
  position:relative; overflow:hidden;
  background: #F6D2FF; /* ή το δικό σου μοβ variant */
}
#pdp-infographic .container.pulse-art-bg::after{
  content:""; position:absolute; inset:-10% -5% auto auto; 
  width:420px; height:420px; 
  background:url('img/tools.svg') center/contain no-repeat;
  opacity:.06; pointer-events:none; transform:rotate(-8deg);
}


.pulse-art-purple-bg {
  background-color: var(--pulse-art-purple); /* ή #5E3FD7 για κανονικό purple */
  color: #111;               /* μαύρα γράμματα */
  border-radius: 16px;
  padding: 24px 20px;
}

/* Εσωτερικά στοιχεία aside */
.pulse-art-bg h2,
.pulse-art-bg .section-title,
.pulse-art-bg p,
.pulse-art-bg .toc a {
  color: #111; /* όλα μαύρα */
}

.pulse-art-bg .toc a:hover {
  color: var(--pulse-art-purple); /* μοβ link στο hover */
  text-decoration: underline;
}

.pulse-art-orange-bg {
  background-color: var(--pulse-art-orange); /* ή #5E3FD7 για κανονικό orange */
  color: #111;               /* μαύρα γράμματα */
  border-radius: 16px;
  padding: 24px 20px;
}

/* Εσωτερικά στοιχεία aside */
.pulse-art-bg h2,
.pulse-art-bg .section-title,
.pulse-art-bg p,
.pulse-art-bg .toc a {
  color: #111; /* όλα μαύρα */
}

.pulse-art-bg .toc a:hover {
  color: var(--pulse-art-orange); /* μοβ link στο hover */
  text-decoration: underline;
}

/* Ensure policy info links remain clickable */
.info-value a {
  pointer-events: auto;
  position: relative;
  z-index: 10;
  text-decoration: underline;
}
.info-value a:hover {
  text-decoration: none;
}
/*Inactive sto menu*/
.dropdown-item.inactive,
.dropdown-menu .dropdown-item.inactive {
  color: #999 !important;        /* Γκρι χρώμα */
  opacity: 0.6 !important;       /* Ελαφρά αχνό */
  pointer-events: none !important; /* Δεν πατιέται */
  cursor: default !important;    /* Κανονικό cursor */
  background-color: transparent !important; /* Όχι hover background */
  text-decoration: none !important;
}

/*Inactive sto Read More*/
.inactive {
  color: #999 !important;       /* Γκρι χρώμα */
  pointer-events: none;         /* Δεν πατιέται */
  cursor: default;              /* Κανονικός δείκτης (όχι χεράκι) */
  opacity: 0.6;                 /* Ελαφρώς ξεθωριασμένο */
  text-decoration: none;        /* Χωρίς υπογράμμιση */
}

.inactive:hover {
  color: #999 !important;
  text-decoration: none;
}


/*κατακόρυφη γραμμή ανάμεσα σε κολώνες*/
.sidebar-contents {
  border-right: 1px solid #e5e5e5;
  padding-right: 24px;
}


/*COMPETENCE FRAMEWORK*/
/* Left graphic */

.competence-graphic {
  max-width: 180px;
  margin-top: 1rem;
}

/* Columns */

.competence-col,
.level-col,
.area-col{
  position:relative;
}

.competence-col.dotted::after,
.level-col.dotted::after,
.area-col.dotted::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  height:100%;
  border-right:1px dotted rgba(0,0,0,0.25);
}

@media (max-width: 991px) {
  .competence-col.dotted::after,
  .level-col.dotted::after,
  .area-col.dotted::after {
    display: none;
  }
}

/* Icons */

.competence-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #8aa7d6;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

/* Levels */

.level-col {
  position: relative;
  height:100%;
  padding-right: 2rem;
}

.level-bar {
  height: 10px;
  border-radius: 20px;
  margin-bottom: 1rem;
  background: #e6d1e6;
}

.level-1 { width: 30%; background: #cfa6cf; }
.level-2 { width: 50%; background: #b979b9; }
.level-3 { width: 70%; background: #a45ca4; }
.level-4 { width: 90%; background: #8b3f8b; }

/* Mobile tweaks */

@media (max-width: 991px) {
  .competence-col.dotted::after,
  .level-col.dotted::after {
    display: none;
  }
}





/* =========================
   CONTENT AREA
========================= */

#competence-content h2 {
  font-weight: 700;
  margin-bottom: 1rem;
}

#competence-content ul {
  padding-left: 1.2rem;
}

#competence-content li {
  margin-bottom: 0.4rem;
}

#frameworkObj {
  display: block;
  width: 100%;
  min-height: 500px;
}
.competence-detail {
  background-color: rgba(0, 0, 0, 0.2);
}

.intro-link {
  cursor: pointer;
  color: #000;
  text-decoration: underline;
}

.intro-link:hover {
  color: #555;
}

.area-list {
  margin-top: 1rem;
}

.area-link {
  display: block;              /* ⬅️ ΚΑΘΕΤΑ */
  cursor: pointer;
  font-weight: 600;
  color: #0d6efd;
  text-decoration: underline;
  margin-bottom: 0.5rem;
}

.area-link:hover {
  color: #084298;
}
.area-code {
  font-weight: 700;
  color: #a0006d; /* ίδιο με SVG L1 */
  margin-right: .25rem;
}

.item-code {
  font-weight: 700;
  color: #7a003c;      /* ίδιο tone με L4 */
  margin-right: 6px;
  white-space: nowrap;
}


.item-text {
  font-weight: 400;      /* κανονικό */
}

.area-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
}
.area-title-left:hover{
  text-decoration: none !important;
}

.area-title-left:hover .area-title-text{
  text-decoration: underline;
}

.area-title-left .area-code-badge,
.area-title-left .area-code-badge:hover{
  text-decoration: none !important;
}

.area-title svg {
  width: 26px;
  height: 26px;
  stroke-width: 1.8;
  stroke: currentColor;
}

.area-col h5,
.proficiency-title,
.cluster-title{
  margin-bottom:18px;
}

.area-levels {
  align-items: stretch;
}

.area-levels ul.small {
  font-size: 0.75rem;
  line-height: 1.45;
}

.area-separator {
  border: none;
  border-top: 1px dashed #ccc;
  margin: 3rem 0;
}
/* Area title μέσα σε Cluster view */
h2.area-context-title {
  all: unset;                 /* ⬅️ ΚΛΕΙΔΙ */
  display: block;
  font-family: inherit;

  font-size: 0.95rem;
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;

  color: #9c1c6b;
  margin-bottom: 0.4rem;
}


.area-context-title .area-title-text{
  font-size:1.05rem;
  font-weight:300;        /* thin */
  text-transform:uppercase;
  letter-spacing:0.06em;  /* αραιά */
  color:#8B1C5A;
}

h2.area-context-title .area-code {
  font-weight: 600;
  margin-right: 0.25em;
}


/* Area title μέσα σε Cluster view */
.area-context-title{
  display:flex;
  align-items:center;
  justify-content:space-between;   /* κρατάει το group δεξιά */
  gap:20px;
}

.cluster-inline-nav .areas-label{
margin-right:4px;
color:#666;
font-size:0.95rem;
}

.level-link:hover,
.cluster-inline-link:hover{
  text-decoration:underline;
}


.area-context-title .area-code {
  font-weight: 600;
  margin-right: 0.25em;
}

.area-context-title .area-title-text {
	font-size: 1rem;
	 color: #8B1C5A;
  font-weight: 700;
}

/* Cluster title – πιο "βαρύς" και καθαρός */
.cluster-title{
  font-size:1.15rem;
  font-weight:400;        /* πιο λεπτά γράμματα */
  text-transform:uppercase;
  letter-spacing:0.08em;  /* πιο αραιά */
  line-height:1.4;
  margin-top:0.3rem;
  margin-bottom:32px;
  color:#9c1c6b;
}


/* Ο κωδικός (L4C3) λίγο πιο έντονος */
.cluster-title .cluster-code {
	font-weight:600;

  color: #9c1c6b;
}
.area-context {
  color: var(--color-primary);
  margin-top:10px;
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
#competence-content p{
  margin-top:0;
  margin-bottom:16px;
}

.area-context .area-code {
  font-weight: 700;
  margin-right: 0.35em;
}



.area-top {
  margin-top: 0.75rem;
}

.cluster-box {
  transition: transform 200ms ease, filter 200ms ease;
}

.cluster-box.cluster-selected {
  filter:
    drop-shadow(0 6px 10px rgba(0,0,0,0.35))
    drop-shadow(0 0 6px rgba(156,28,107,0.35));
}

.cluster-inline-nav{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.9rem;
  justify-content:flex-end;
}

.cluster-inline-nav .areas-label{
  text-align:right;
}

.cluster-box.cluster-selected .top-face {
  filter: brightness(1.08);
}

.cluster-box.cluster-selected .front-face {
  filter: brightness(1.05);
}

.cluster-box.cluster-selected {
  transform: translateY(-2px);
}


.reflection-section {
  display: flex;
  align-items: flex-start; /* στοίχιση πάνω */
  justify-content: center;
  gap: 40px; /* απόσταση εικόνας - καρτών */
  padding: 40px 20px;
}

.reflection-left {
  flex: 0 0 160px; /* σταθερό πλάτος εικόνας */
  text-align: center;
}

.reflection-left img {
  width: 150px;
  display: block;
  margin: 0 auto 15px;
}

.reflection-left .underline {
  width: 100px;
  height: 4px;
  background: linear-gradient(90deg, #7b5cff, #c084fc);
  margin: 0 auto;
  border-radius: 2px;
}

.reflection-right {
  flex: 1; /* πιάνει τον υπόλοιπο χώρο */
  max-width: 700px;
}

iframe {
  display: block;
  width: 100%;
  border-radius: 12px;
}
@media (max-width: 900px) {
  .reflection-section {
    flex-direction: column;
    align-items: center;
  }

  .reflection-left {
    margin-bottom: 20px;
  }

  .reflection-right {
    width: 100%;
  }
}


.section-nav a {
  margin-left: 10px;
  text-decoration: none;
  font-weight: 500;
  color: #666;
}

.section-nav a:hover {
  color: #0d6efd; /* bootstrap primary */
}





.section-nav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 32px;
  height: 32px;

  border-radius: 50%;
  border: none;

  background: #eee;
  color: #555;

  font-size: 14px;
  font-weight: 500;

  margin-left: 8px;
  cursor: pointer;

  transition: all 0.2s ease;
}

.section-nav button:hover {
  background: #0d6efd;
  color: #fff;
}

/* TOP MODULES */
#top-modules button {
  background: none;
  border: none;
  font-weight: 500;
  margin-right: 18px;
  cursor: pointer;
  color: #666;
}

#top-modules button.active {
  color: #0d6efd;
  font-weight: 600;
}

/* SECTION CIRCLES */
.section-nav button.active {
  background: #0d6efd;
  color: white;
}

/*EXPAND EFFECT OF MODULES*/
#top-modules {
  display: flex;
  width: 100%;
}

/* Base */
#top-modules button {
  flex: 1;
  height: 64px;
  border: none;
  font-weight: 600;
  letter-spacing: 0.4px;
  cursor: pointer;
  transition: all 0.25s ease;
  color: white;
}

/* Different colors */
#top-modules button:nth-child(1) { background: #8e24aa; }
#top-modules button:nth-child(2) { background: #43a047; }
#top-modules button:nth-child(3) { background: #e53935; }
#top-modules button:nth-child(4) { background: #1e88e5; }
#top-modules button:nth-child(5) { background: #fb8c00; }
#top-modules button:nth-child(6) { background: #00897b; }

/* Hover */
#top-modules button:hover {
  filter: brightness(1.1);
}

/* ACTIVE – inverted style */
#top-modules button.active {
  background: white;
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
}

/* Active text color per module */
#top-modules button:nth-child(1).active { color: #8e24aa; }
#top-modules button:nth-child(2).active { color: #43a047; }
#top-modules button:nth-child(3).active { color: #e53935; }
#top-modules button:nth-child(4).active { color: #1e88e5; }
#top-modules button:nth-child(5).active { color: #fb8c00; }
#top-modules button:nth-child(6).active { color: #00897b; }

#top-modules button.active::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 6px;
  background: currentColor;
}

/* ΤΥΠΟΓΡΑΦΙΑ μόνο για το markdown */
#content-area h2{
  font-size: 1.55rem;
  line-height: 1.2;
  margin: 0 0 0.8rem 0;
}

#content-area h3{
  font-size: 1.15rem;
  line-height: 1.25;
  margin: 1.6rem 0 0.6rem 0;
  text-transform: none; /* αν το theme τα κάνει uppercase */
  letter-spacing: normal;
}

#content-area h4{
  font-size: 1.02rem;
  margin: 1.1rem 0 0.4rem 0;
}

#content-area p{
  margin: 0 0 0.9rem 0;
  line-height: 1.75;
  max-width: 72ch;  /* κάνει το κείμενο πιο ευανάγνωστο */
}

#content-area ul{
  margin: 0.8rem 0 1rem 1.2rem;
  padding: 0;
}

#content-area li{
  margin: 0.35rem 0;
  line-height: 1.6;
}

#content-area h3{
  border-top: 1px solid rgba(0,0,0,0.08);
  padding-top: 1rem;
}



#content-area{
  font-size: 16px; /* ή 15px αν το theme είναι μεγάλο */
}

/*CSS για να “ξεκολλήσει” + να γίνει sticky (προαιρετικό)*/
.module-top{
  padding-top: 12px;
  padding-bottom: 18px;
  margin-bottom: 22px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* λίγο κενό κάτω από το bar */
#top-modules{
  margin-bottom: 14px;
}

/*να μένει πάνω όταν κάνεις scroll*/
.module-top{
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 50;
}

/*Κενό ανάμεσα σε SVG και content*/
.module-body-row{
  margin-top: 18px;
}

/* Force spacing + visual hierarchy for markdown headings */
#content-area h2{
  font-size: 1.55rem !important;
  font-weight: 600 !important;
  margin: 2.2rem 0 1rem 0 !important;
  padding-top: 0.2rem;
  border-top: 1px solid rgba(0,0,0,0.08);
}

#content-area h3{
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  margin: 1.6rem 0 0.8rem 0 !important;
}

#content-area h4{
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  margin: 1.2rem 0 0.6rem 0 !important;
}


/* Κάνει τα decorative SVG & circles να μην πιάνουν click */
.custom-page-header-curved-top-1,
.custom-circle {
  pointer-events: none;
}
.step-controls {
  position: relative;
  z-index: 5;
}




#frameworkObj-wrapper{
display:flex;
flex-direction:column;
align-items:flex-start;
transform:translateY(100px); /*ο κύβος πιο κάτω*/
}

#frameworkObj{
display:block;
transform:translateY(-200px);
}

.framework-legend{
list-style:none;
padding-left:0;
font-size:0.8rem;
line-height:1.6;
position:relative;
top:-270px;   
}
.framework-legend li{
  cursor:pointer;
  padding:4px 6px;
  border-radius:4px;
  transition:all .2s;
}

.framework-legend li.legend-active{
  font-weight: 600;
  background: #f3e6f0;
  color: #8B1C5A;
  border-left: 4px solid #8B1C5A;
  padding-left: 8px;
}
.framework-legend li.legend-active .legend-text{
  color: #8B1C5A;
}

.framework-legend li::before{
content:"";
width:10px;
height:10px;
border-radius:50%;
position:absolute;
left:0;
top:8px;
}

#frameworkObj-wrapper{
padding-right:30px;
border-right:1px solid rgba(0,0,0,0.08);
}

/* colors */
.framework-legend li[data-area="L1"]::before{
background:var(--level1);
}

.framework-legend li[data-area="L2"]::before{
background:var(--level2);
}

.framework-legend li[data-area="L3"]::before{
background:var(--level3);
}

.framework-legend li[data-area="L4"]::before{
background:var(--level4);
}

.framework-legend li:hover{
  text-decoration: none;
}

.framework-legend li:hover .legend-text{
  text-decoration: underline;
}

.framework-legend li:hover .legend-badge{
  text-decoration: none !important;
}



.area-L1 { background:#2F5BFF; }
.area-L2 { background:#FF7A2F; }
.area-L3 { background:#FFD84A; color:#222; }
.area-L4 { background:#C26BFF; }




.area-context-title{
  margin-top:12px;
  margin-bottom:14px;
}

.area-parent-line{
  border-left:1px dashed #bbb;
  height:18px;
  margin:2px 0 6px 6px;
}


.cluster-code{
  color:#8B1C5A;     /* μοβ */
  font-weight:700;
  margin-right:8px;
}

/*framework tree*/
.framework-tree{
  margin-bottom:2px;
  
}

.framework-root{
display:flex;
align-items:center;
justify-content:space-between;
font-weight:600;
font-size:0.95rem;
margin-bottom:2px;
}

.tree-line{
  position:relative;
  height:16px;
  margin-left:6px;
}

.tree-line::before{
  content:"";
  position:absolute;
  top:-6px;
  bottom:-6px;
  left:0;
  border-left:1px dashed rgba(0,0,0,0.25);
}

.framework-link{
  text-decoration:none;
  color:#111;
}

.framework-link:hover{
  text-decoration:underline;
}

.area-code{
	font-size:1.15rem;
  color:#8B1C5A;
  font-weight:700;
  margin-right:6px;
}

.framework-page-header{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
}

.framework-level-nav{
display:flex;
align-items:center;
gap:6px;
font-size:.95rem;
font-weight:600;
}

.areas-label{
color:#666;
margin-right:6px;
}

.level-link{
color:#9c1c6b;
font-weight:600;
text-decoration:none;
position:relative;
padding-bottom:2px;
}


/* active area indicator */
.level-link.active::after{
content:"";
position:absolute;
left:0;
right:0;
bottom:-3px;
height:2px;
background:#9c1c6b;
border-radius:2px;
}

/*
.level-sep{
	margin-left:4px;
  margin-right:4px;
color:#9c1c6b;
opacity:1;
}
*/


.level-pill{
display:flex;
align-items:center;
justify-content:center;

width:36px;
height:36px;

border-radius:50%;
border:1px solid #ccc;

font-size:.8rem;
font-weight:600;

cursor:pointer;
}

.level-pill:hover{
background:#f3e6f0;
border-color:#9c1c6b;
}

.level-sep::after{
  background:#9c1c6b;
  opacity:.35;
}

.framework-tree .tree-line:first-of-type{
  display:none;

}

/* =================================
Framework header typography align
================================= */

.area-context-title,
.cluster-title,
.framework-level-nav,
.cluster-inline-nav,
.cluster-inline-link{
  font-size:1rem;
  font-weight:600;
  letter-spacing:.05em;
}

.cluster-inline-nav{
  align-items:center;

}

.cluster-title{
  margin-bottom:24px;
}
/* =================================
Framework typography
================================= */

/* AREA TITLE
L1 Creativity and Reflection */

.area-context-title{
  font-size:1rem;
  font-weight:300;          /* thin */
  text-transform:uppercase; /* CAPS */
  letter-spacing:0.12em;    /* αραιά */
  line-height:1.3;
}


/* CLUSTER TITLE
L1C1 Generating Creative Ideas */

.cluster-title{
  font-size:1.1rem;
  font-weight:500;
  text-transform:none;
  letter-spacing:normal;
  line-height:1.4;
  color:#7a003c;
}


/* area title text */
.area-title{
  font-weight:300;
  text-transform:none;
  letter-spacing:0.15rem;
}


/* codes */

.area-code,
.cluster-code,
.item-code{
  color:#7a003c;
  font-weight:700;
  letter-spacing:0;
}

/* item code smaller */

.item-code{
  font-size:0.75rem;
}

/* framework header navigation */

.framework-level-nav,
.cluster-inline-nav{
  font-size:0.95rem;   /* ίδιο μέγεθος με το framework-link */
  font-weight:600;
}

/* labels */

.areas-label,
.cluster-inline-nav .areas-label{
  font-size:0.95rem;
  text-transform:none;   /* όχι CAPS */
  letter-spacing:normal;
}

.framework-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:600;
}

.framework-section-title i{
  font-size:1rem;
  opacity:.85;
}
.proficiency-block{
  margin-top:3rem;
  padding-top:0.5rem;
}

.proficiency-header{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:1.25rem;
}

.proficiency-title{
  font-size:0.95rem;
  font-weight:300;
  letter-spacing:.05em;
  /*text-transform:uppercase;*/
}

.proficiency-block{
  margin-top:1rem;
}

.proficiency-header{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
}

.proficiency-header::after{
  content:"";
  flex:1;
  height:0;
  border-top:1px dotted rgba(0,0,0,0.25);
}

.framework-root{
  margin-bottom:14px;
}

.area-context-title{
  margin-bottom:14px;
}

.cluster-title{
  margin-bottom:24px;
}

.framework-level-nav,
.cluster-inline-nav{
  display:flex;
  align-items:center;
  gap:6px;
}


.framework-container{
  width:min(1500px,92vw);
  margin:auto;
}

#frameworkObj{
  width:100%;
  transform-origin:center;
  
}

@media (min-width: 992px) {
  .framework-crop{
    transform:scale(1.35);
    transform-origin:top right;
  }
}
@media (max-width: 991px){
  .framework-legend{
    display:none;
  }
}
*/
.framework-legend li.legend-active{
  font-weight: 600;
  background: rgba(139, 28, 90, 0.04);
  color: #7a003c;
  border-left: 4px solid #8B1C5A;
  padding-left: 8px;
}

.framework-legend li.legend-active .legend-text{
  color: #7a003c;
}
.framework-legend{
  list-style:none;
  padding-left:0;
  font-size:0.78rem;
  line-height:1.5;
  margin-top:30px;
}
.framework-legend-title{
  font-size:0.8rem;
  font-weight:600;
  margin-bottom:6px;
  color:#666;
}
.level-col ul{
  padding-left:10px;   
  margin-left:0;
}
.area-levels{
  --bs-gutter-x:14px;
}
.level-col li{
  margin-bottom:6px;
  line-height:1.55;
  padding-left:0;
}
.level-col{
  padding-right:12px;
}
.level-col{
  padding-left:12px;
}

.level-col li{
  line-height:1.6;
  margin-bottom:6px;
}
.level-col.dotted::after{
  left:18px;
}
.level-col li{
  overflow-wrap: break-word;
  word-break: normal;
  line-height:1.6;
}

.framework-card{
  max-width:1450px;     /* μικραίνει την κάρτα */
  margin-left:auto;
  margin-right:auto;
  margin-top:20px;     /* την ανεβάζει λίγο προς τα πάνω */
}

.framework-card .card-body{
  padding-top:180px;
}
#frameworkObj-wrapper{
  padding-right:10px;
  border-right:1px solid rgba(0,0,0,0.08);
}

@media (max-width: 768px){

  #frameworkObj-wrapper{
    margin-bottom: 10px;
  }

  .framework-legend{
    margin-bottom: 10px;
  }

  #area-content{
    margin-top: 0;
  }

}

/* κινητά */
@media (max-width: 576px){
  #area-content{
    margin-top:-520px;
  }
}

/* μεσαίες οθόνες */
@media (min-width: 577px) and (max-width: 991px){
  #area-content{
    margin-top:-320px;
  }
}

.framework-link{
  cursor:pointer;
  pointer-events:auto;
}

.framework-tree{
position:relative;
z-index:5;
}

#frameworkObj-wrapper{
  position:relative;
  z-index:1;
}

@media (max-width: 991px){

  #area-content{
    margin-top: -200px;
  }

  .framework-crop{
    transform: scale(0.9);
    transform-origin: top center;
  }

  #frameworkObj{
    transform: translateY(-310px);
    min-height: auto !important;
	
  }

}

@media (max-width: 991px){

  .section.bg-color-light{
    padding-bottom: 120px;
  }

}
@media (max-width: 1199px){

  .row > [class*="col-"]{
    border-left: none !important;
    border-right: none !important;
  }

}

.framework-nav,
.cluster-inline-nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.framework-nav a,
.cluster-inline-nav a{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 8px;
  font-size:0.9rem;
  line-height:1;
  text-decoration:none;
  border-radius:4px;
}
.framework-nav a:hover,
.cluster-inline-nav a:hover{
  background:rgba(0,0,0,0.05);
}
.framework-nav a.active,
.cluster-inline-nav a.active{
  background:#eee;
  font-weight:600;
}


@media (max-width: 991px){

  .framework-label,
  .cluster-label{
    display:none;
  }

}
@media (max-width: 991px){

  .framework-nav a,
  .cluster-inline-nav a{
    height:20px;
    padding:0 4px;
    font-size:0.8rem;
  }

}
.area-context-title{
  align-items:flex-start;
}

.area-parent-line{
  position:absolute;
  left:6px;
  height:18px;
}

.level-link{
  line-height:1;
  padding-bottom:3px;
}
.level-link.active{
  background:#f3e6f0;
  border-radius:3px;
  border-bottom:2px
}
@media (max-width: 768px) {
  .areas-label {
    display: none;
  }
}


@media (max-width:768px){

  .area-context-title{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }

  .area-title-left{
    display:flex;
    align-items:flex-start;
    gap:8px;
    width:100%;
    min-width:0;
  }

  .area-title-left .area-title-text{
    max-width:none;
    white-space:normal;
    overflow-wrap:break-word;
  }

  .cluster-inline-nav{
    width:100%;
    justify-content:flex-start;
    text-align:left;
    flex:0 0 auto;
  }

}
@media (max-width:768px){

  .framework-root{
    display:flex;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:6px;
  }

  .framework-level-nav{
    width:100%;
    justify-content:flex-start !important;
  }

}
@media (max-width:991px){

  #frameworkObj{
    border-bottom:1px solid rgba(0,0,0,0.15);
    padding-bottom:50px;
    margin-bottom:20px;
  }

}
@media (max-width:576px){

  #frameworkObj-wrapper{
    margin-bottom:10px;
  }

  .module-body-row{
    margin-top:0;
    margin-bottom:0;
  }

}

/*σπάσιμο του τίτλου εάν είναι μεγάλος σε μεγάλη οθόνη*/
@media (min-width: 769px) {
  .area-context-title{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
  }

  .area-title-left{
    display:flex;
    align-items:flex-start;
    gap:8px;
    flex:1 1 auto;
    min-width:0;
    text-decoration:none;
  }

  .area-title-left .area-code{
    flex:0 0 auto;
  }

  .area-title-left .area-title-text{
    display:block;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
    line-height:1.25;
    max-width:62ch;
  }

  .cluster-inline-nav{
    flex:0 0 220px;
    justify-content:flex-end;
    text-align:right;
    align-self:flex-start;
  }
}
/*more space before magenta curve*/

.framework-main-section{
  padding-bottom: 100px !important;
}





.framework-side-label{
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  color: #8B1C5A;
}

.framework-static-img{
  max-height: 250px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.framework-btn{
  font-weight: 600;
}

.framework-intro-text{
  line-height: 1.8;
}

@media (max-width: 991.98px){
  .framework-static-img{
    max-height: 210px !important;
  }

  .framework-side-label{
    font-size: 0.95rem;
  }
}

@media (max-width: 767.98px){
  .framework-side-label{
    font-size: 0.9rem;
  }

  .framework-static-img{
    max-height: 180px;
  }
}

.framework-level-nav .level-sep{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  line-height: 1;
  color: #9c1c6b;
  margin: 0 4px;
  transform: translateΧ(-1px);
}
.area-code-badge{
  margin-left: -8px;
}

/*gi aa mhn κλέβει η κάτω μοβ ζώνη το κλικ"*/


.framework-dual-page .framework-btn{
  position: relative;
  z-index: 30;
  pointer-events: auto !important;
}

@media (max-width: 576px){
  .framework-dual-content{
    margin-top: 0 !important;
  }
}

@media (min-width: 577px) and (max-width: 991px){
  .framework-dual-content{
    margin-top: 0 !important;
  }
}

/*legend with color labels*/
.framework-legend {
  list-style: none;
  padding-left: 0;
}

.framework-legend li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  cursor: pointer;
}

.legend-badge{
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  border: 2px solid currentColor;
}

/* default outline colors */
.legend-badge.e1 { color: #d64209 !important; }
.legend-badge.e2 { color: #847714 !important; }
.legend-badge.e3 { color: #2f5bb3 !important; }
.legend-badge.e4 { color: #b45494 !important; }
.legend-badge.e5 { color: #197db3 !important; }

/* active filled badge */
.framework-legend li.legend-active .legend-badge.e1{
  background: #d64209 !important;
  color: #fff !important;
  border-color: #d64209 !important;
}

.framework-legend li.legend-active .legend-badge.e2{
  background: #847714 !important;
  color: #fff !important;
  border-color: #847714 !important;
}

.framework-legend li.legend-active .legend-badge.e3{
  background: #2f5bb3 !important;
  color: #fff !important;
  border-color: #2f5bb3 !important;
}

.framework-legend li.legend-active .legend-badge.e4{
  background: #b45494 !important;
  color: #fff !important;
  border-color: #b45494 !important;
}

.framework-legend li.legend-active .legend-badge.e5{
  background: #197db3 !important;
  color: #fff !important;
  border-color: #197db3 !important;
}

.legend-text {
  display: inline-block;
  line-height: 1.35;
  font-weight: 400;
  font-size: 0.78rem;
  letter-spacing: 0.01em;
}

/* active row */
.framework-legend li.legend-active{
  background: rgba(139, 28, 90, 0.04);
  color: #7a003c;
  border-left: 4px solid #8B1C5A;
  padding-left: 8px;
  margin-bottom: 6px;   /* από 8px */
}

.framework-legend li.legend-active .legend-text{
  color: #7a003c;
  font-weight: 500;
 line-height: 1.15;
}

/* hover: underline only on text, not on badge */
.framework-legend li:hover{
  text-decoration: none;
}

.framework-legend li:hover .legend-text{
  text-decoration: underline;
}

.framework-legend li:hover .legend-badge{
  text-decoration: none !important;
}

/*gramm;h eni;amesa*/
.framework-legend li{
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  padding-bottom: 6px;
}

.framework-legend li:not(:last-child)::after{
  content: "";
  position: absolute;
  left: 38px;
  right: 0;
  bottom: 0;
  border-bottom: 1px dotted rgba(0,0,0,0.12);
}
/*******************************************************************/
/* χρώματα ανά area αρχικά
.legend-badge.e1 { background: #f8895e; }
.legend-badge.e2 { background: #e8da6a; }
.legend-badge.e3 { background: #2f5bb3; }
.legend-badge.e4 { background: #e5c4da; }
.legend-badge.e5 { background: #69bdea; }*/

.legend-badge.e1 { color: #d64209 !important; }
.legend-badge.e2 { color: #847714 !important; }
.legend-badge.e3 { color: #2f5bb3 !important; }
.legend-badge.e4 { color: #b45494 !important; }
.legend-badge.e5 { color: #197db3 !important; }

/* area navigation labels */
.level-badge{
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  text-decoration: none;
  padding: 0 !important;
  border: 2px solid currentColor;
}

/* default state: outline only */
.level-badge.e1 { color: #d64209 !important; }
.level-badge.e2 { color: #847714 !important; }
.level-badge.e3 { color: #2f5bb3 !important; }
.level-badge.e4 { color: #b45494 !important; }
.level-badge.e5 { color: #197db3 !important; }

.level-badge:hover{
  text-decoration: none;
}

/* active = filled */
.level-link.level-badge.active.e1{
  background: #d64209 !important;
  color: #fff !important;
  border-color: #d64209 !important;
}

.level-link.level-badge.active.e2{
  background: #847714 !important;
  color: #fff !important;
  border-color: #847714 !important;
}

.level-link.level-badge.active.e3{
  background: #2f5bb3 !important;
  color: #fff !important;
  border-color: #2f5bb3 !important;
}

.level-link.level-badge.active.e4{
  background: #b45494 !important;
  color: #fff !important;
  border-color: #b45494 !important;
}

.level-link.level-badge.active.e5{
  background: #197db3 !important;
  color: #fff !important;
  border-color: #197db3 !important;
}

.level-link.level-badge{
  border-radius: 50% !important;
  padding: 0 !important;
}

.level-link.level-badge.active{
  border-radius: 50% !important;
  background-clip: padding-box;
}

.level-link.level-badge.active::after{
  display: none;
}

/*******************/
/*κυκλάκι στον κωδικό του area*/
.area-code-badge{
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  margin-right: 8px;
}
.area-title-left{
  align-items: center;
}

.area-code-badge.e1 { background: #d64209; }
.area-code-badge.e2 { background: #847714; }
.area-code-badge.e3 { background: #2f5bb3; }
.area-code-badge.e4 { background: #b45494; }
.area-code-badge.e5 { background: #197db3; }

/*******************************/
/* στα κινητά να μην φαίνεται το svg αριστερά*/
@media (max-width: 991.98px){
  #frameworkObj-wrapper{
    display: none !important;
  }

  #area-content{
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/*************************/

#frameworkObj-wrapper{
  position: relative;
  z-index: 20;
}

#frameworkObj{
  position: relative;
  z-index: 20;
}

#area-content{
  position: relative;
  z-index: 1;
}

@media (max-width: 991px){
  #area-content{
    margin-top: 0 !important;
    position: relative;
    z-index: 20;
  }

  #frameworkObj-wrapper,
  #frameworkObj{
    position: relative;
    z-index: 1;
  }
}

/***************************/
/*άνοιγμα-κλείσιμο custer labels"*/
.code-label {
  pointer-events: none;
}

.code-label.revealed {
  pointer-events: all;
  cursor: pointer;
}

.leader-line{
  stroke: #333;
  stroke-width: 1;
}


/********************************/
/* CLUSTER NAV LINKS = text only */
/********************************/



/* color by area */
.cluster-badge.e1 { color: #d64209 !important; }
.cluster-badge.e2 { color: #847714 !important; }
.cluster-badge.e3 { color: #2f5bb3 !important; }
.cluster-badge.e4 { color: #b45494 !important; }
.cluster-badge.e5 { color: #197db3 !important; }



/********************************/
/* CLUSTER CODE BADGE */
/********************************/

.cluster-code-badge{
  min-width: 54px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  margin-right: 10px;
  transform: translateX(-28px); /*για να χωρέσει το cluster badge*/
}

.cluster-code-badge.e1 { background: #d64209 !important; }
.cluster-code-badge.e2 { background: #847714 !important; }
.cluster-code-badge.e3 { background: #2f5bb3 !important; }
.cluster-code-badge.e4 { background: #b45494 !important; }
.cluster-code-badge.e5 { background: #197db3 !important; }

.cluster-code-badge.e1 { background: #d64209 !important; }
.cluster-code-badge.e2 { background: #847714 !important; }
.cluster-code-badge.e3 { background: #2f5bb3 !important; }
.cluster-code-badge.e4 { background: #b45494 !important; }
.cluster-code-badge.e5 { background: #197db3 !important; }



/********************************/
/* CLUSTER TITLE */
/********************************/

.cluster-title{
  color:#9c1c6b;
  font-weight:400;
}

.cluster-title .cluster-code{
  color: inherit;
  font-weight: 700;
}


@media (min-width: 992px){
  #area-content{
    padding-left: 28px;
  }

  .cluster-inline-nav{
    margin-top: 6px;
  }
}






/* ===== Cluster nav badges ===== */


/* default outline colors */
.cluster-badge.e1 { color: #d64209 !important; }
.cluster-badge.e2 { color: #847714 !important; }
.cluster-badge.e3 { color: #2f5bb3 !important; }
.cluster-badge.e4 { color: #b45494 !important; }
.cluster-badge.e5 { color: #197db3 !important; }




/* ===== CLEAN CLUSTER NAV ===== */

.cluster-inline-nav{
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: nowrap;
  text-align: right;
}

.cluster-inline-nav .areas-label{
  margin-right: 4px;
  color: #666;
  font-size: 0.95rem;
  white-space: nowrap;
}

.cluster-inline-nav .level-sep{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #999;
  margin: 0 2px;
  line-height: 1;
}

.cluster-inline-nav .cluster-inline-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 4px;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
  transition: background-color .2s ease;
}

.cluster-inline-nav .cluster-inline-link:hover{
  background: #f1f1f1;
  text-decoration: underline;
  cursor: pointer;
}

.cluster-inline-nav .cluster-inline-link.active{
  background: #e6e6e6;
  color: inherit;
  font-weight: 700;
  text-decoration: none;
}

.cluster-inline-nav .cluster-inline-link.active::after{
  display: none;
}

/* το cluster badge να είναι text-like, όχι circle */
.cluster-inline-nav .cluster-badge{
  background: transparent;
  border: none;
  min-width: 0;
  min-height: 0;
  border-radius: 4px;
  padding: 0 8px;
}

/* κράτα μόνο το separator που έρχεται από το JS */
.cluster-inline-nav a + a::before{
  content: none;
}

.cluster-title{
  color: #9c1c6b;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: default;
}

.cluster-code-badge{
  min-width: 54px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  margin-right: 0;
  transform: none;
}

.cluster-title{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
  left: -16px;   /* πιο αριστερά */
  top: 8px;      /* πιο κάτω */
}

.cluster-code-badge{
  transform: none;
  margin-right: 0;
}
/****graphic cluster fade*/

.cluster-graphic{
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease-out;
}

.cluster-graphic.revealed{
  opacity: 1;
}

/*Learners FRAMEWORK*/

/* =========================================================
   LEARNER FRAMEWORK COLORS (L1–L4)
   ========================================================= */

:root{
--level1: #338eccff; 
  --level2: #4099ffff; 
  --level3: #3f7ed9ff; 
  --level4: #244fafff; 
}

/* legend badge outline */
.legend-badge.l1 { color: var(--level1) !important; }
.legend-badge.l2 { color: var(--level2) !important; }
.legend-badge.l3 { color: var(--level3) !important; }
.legend-badge.l4 { color: var(--level4) !important; }

/* legend badge active filled */
.framework-legend li.legend-active .legend-badge.l1{
  background: var(--level1) !important;
  border-color: var(--level1) !important;
  color: #fff !important;
}
.framework-legend li.legend-active .legend-badge.l2{
  background: var(--level2) !important;
  border-color: var(--level2) !important;
  color: #fff !important;
}
.framework-legend li.legend-active .legend-badge.l3{
  background: var(--level3) !important;
  border-color: var(--level3) !important;
  color: #fff !important;
}
.framework-legend li.legend-active .legend-badge.l4{
  background: var(--level4) !important;
  border-color: var(--level4) !important;
  color: #fff !important;
}

/* top area pills */
.level-badge.l1 { color: var(--level1) !important; }
.level-badge.l2 { color: var(--level2) !important; }
.level-badge.l3 { color: var(--level3) !important; }
.level-badge.l4 { color: var(--level4) !important; }

.level-link.level-badge.active.l1{
  background: var(--level1) !important;
  border-color: var(--level1) !important;
  color: #fff !important;
}
.level-link.level-badge.active.l2{
  background: var(--level2) !important;
  border-color: var(--level2) !important;
  color: #fff !important;
}
.level-link.level-badge.active.l3{
  background: var(--level3) !important;
  border-color: var(--level3) !important;
  color: #fff !important;
}
.level-link.level-badge.active.l4{
  background: var(--level4) !important;
  border-color: var(--level4) !important;
  color: #fff !important;
}

/* area code circle */
.area-code-badge.l1 { background: var(--level1) !important; }
.area-code-badge.l2 { background: var(--level2) !important; }
.area-code-badge.l3 { background: var(--level3) !important; }
.area-code-badge.l4 { background: var(--level4) !important; }

/* cluster nav links */
.cluster-badge.l1 { color: var(--level1) !important; }
.cluster-badge.l2 { color: var(--level2) !important; }
.cluster-badge.l3 { color: var(--level3) !important; } /* λίγο πιο σκούρο για αναγνωσιμότητα */
.cluster-badge.l4 { color: var(--level4) !important; }

.cluster-inline-link.cluster-badge.active.l1{
  background: color-mix(in srgb, var(--level1) 12%, white) !important;
}
.cluster-inline-link.cluster-badge.active.l2{
  background: color-mix(in srgb, var(--level2) 12%, white) !important;
}
.cluster-inline-link.cluster-badge.active.l3{
  background: color-mix(in srgb, var(--level3) 18%, white) !important;
}
.cluster-inline-link.cluster-badge.active.l4{
  background: color-mix(in srgb, var(--level4) 12%, white) !important;
}

/* cluster title code badge */
.cluster-code-badge.l1 { background: var(--level1) !important; }
.cluster-code-badge.l2 { background: var(--level2) !important; }
.cluster-code-badge.l3 { background: var(--level3) !important; }
.cluster-code-badge.l4 { background: var(--level4) !important; }

/* optional: headings / accents by area */
.area-title-left .area-code-badge.l1 + .area-title-text { color: var(--level1); }
.area-title-left .area-code-badge.l2 + .area-title-text { color: var(--level2); }
.area-title-left .area-code-badge.l3 + .area-title-text { color: var(--level3); }
.area-title-left .area-code-badge.l4 + .area-title-text { color: var(--level4); }




/* ===== Learner clusters: same geometry as title badge ===== */

.cluster-inline-nav .cluster-inline-link.cluster-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 30px;
  padding: 0 10px;
  border-radius: 4px;
  border: 2px solid currentColor;
  background: #fff !important;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  text-decoration: none !important;
  box-sizing: border-box;
}

/* colors from vars */
.cluster-inline-nav .cluster-inline-link.cluster-badge.l1{
  color: var(--level1) !important;
}
.cluster-inline-nav .cluster-inline-link.cluster-badge.l2{
  color: var(--level2) !important;
}
.cluster-inline-nav .cluster-inline-link.cluster-badge.l3{
  color: var(--level3) !important;
}
.cluster-inline-nav .cluster-inline-link.cluster-badge.l4{
  color: var(--level4) !important;
}

/* hover */
.cluster-inline-nav .cluster-inline-link.cluster-badge:hover{
  background: #f5f8fc !important;
  text-decoration: none !important;
}

/* active */
.cluster-inline-nav .cluster-inline-link.cluster-badge.active.l1{
  background: var(--level1) !important;
  border-color: var(--level1) !important;
  color: #fff !important;
}
.cluster-inline-nav .cluster-inline-link.cluster-badge.active.l2{
  background: var(--level2) !important;
  border-color: var(--level2) !important;
  color: #fff !important;
}
.cluster-inline-nav .cluster-inline-link.cluster-badge.active.l3{
  background: var(--level3) !important;
  border-color: var(--level3) !important;
  color: #fff !important;
}
.cluster-inline-nav .cluster-inline-link.cluster-badge.active.l4{
  background: var(--level4) !important;
  border-color: var(--level4) !important;
  color: #fff !important;
}


/* ===== Learner legend badges ===== */

/* κλείσε το παλιό μικρό dot */
.framework-legend li::before{
  display: none !important;
}

/* learner colors */
.legend-badge.l1 { color: var(--level1) !important; }
.legend-badge.l2 { color: var(--level2) !important; }
.legend-badge.l3 { color: var(--level3) !important; }
.legend-badge.l4 { color: var(--level4) !important; }

/* active filled badge */
.framework-legend li.legend-active .legend-badge.l1{
  background: var(--level1) !important;
  color: #fff !important;
  border-color: var(--level1) !important;
}
.framework-legend li.legend-active .legend-badge.l2{
  background: var(--level2) !important;
  color: #fff !important;
  border-color: var(--level2) !important;
}
.framework-legend li.legend-active .legend-badge.l3{
  background: var(--level3) !important;
  color: #fff !important;
  border-color: var(--level3) !important;
}
.framework-legend li.legend-active .legend-badge.l4{
  background: var(--level4) !important;
  color: #fff !important;
  border-color: var(--level4) !important;
}

/*case studies*/
.thumb-info-link {
  color: #ff4da6; /* λίγο πιο φωτεινό */
}
.thumb-info-link {
  color: #ff4da6; /* λίγο πιο φωτεινό */
}
.thumb-info-wrapper::after {
  background: rgba(0, 0, 0, 0.7);
}
.lightbox-case-link {
  display: inline-block;
  margin-top: 8px;
  color: #e83e8c !important;
  font-weight: 700;
  text-decoration: none !important;
  font-size: 0.95rem;
  line-height: 1.2;
}

.lightbox-case-link:hover,
.lightbox-case-link:focus,
.lightbox-case-link:active,
.lightbox-case-link:visited {
  color: #e83e8c !important;
  text-decoration: underline !important;
}

/*logotext*/
.logo-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  line-height: 1.1;
  margin-left: 8px;
  max-width: 145px;
}

.logo-title {
  font-size: 16px;
  font-weight: 700;
  color: #111;
}

.logo-subtitle {
  font-size: 14px;
  font-weight: 500;
  color: #111;
}

/*accordion to select the last item*/
/*FAQ section να κάθεται πιο πάνω στο stacking*/

.section.bg-color-tertiary {
  position: relative;
  z-index: 5;
}
/*decorative SVG να μην πιάνουν click*/
.custom-section-curved-top-4,
.custom-section-curved-top-7 {
  pointer-events: none;
}
/*στο accordion πιο καθαρό z-index*/
#accordionExample {
  position: relative;
  z-index: 10;
}
/*λίγο αέρα κάτω από το FAQ section:*/
.section.bg-color-tertiary {
  padding-bottom: 80px !important;
}


/* Porto accordion fix */
.accordion.accordion-modern-status > .card {
  min-height: auto !important;
  display: block !important;
  flex-direction: initial !important;
  justify-content: initial !important;
  transform: none !important;
}

.accordion.accordion-modern-status .card-header,
.accordion.accordion-modern-status .card-body {
  width: 100%;
}

.accordion.accordion-modern-status .card-title,
.accordion.accordion-modern-status .card-title a {
  font-weight: 700 !important;
}

/*patch*/
/* Fix 1px line without losing open background */
/* FAQ accordion: no rounded corners, no border */
.accordion.accordion-modern-status > .card {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.accordion.accordion-modern-status > .card .card-header {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.accordion.accordion-modern-status > .card .card-header a {
  display: block;
  width: 100%;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.accordion.accordion-modern-status > .card .collapse,
.accordion.accordion-modern-status > .card .collapsing {
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.accordion.accordion-modern-status > .card .card-body {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* accordion Remove uppercase από titles */
.accordion.accordion-modern-status .card-title a {
  text-transform: none !important;
}
.accordion.accordion-modern-status > .card + .card {
  margin-top: 8px !important;   /* ή 4px / 6px */
}


/* FAQ left column text softer */
.accordion.accordion-modern-status > .card {
  min-height: auto !important;
  display: block !important;
}
.accordion.accordion-modern-status > .card .card-header a {
  padding: 16px 20px !important;
  line-height: 1.2 !important;
}

.accordion.accordion-modern-status .card-title {
  margin: 0 !important;
}

.accordion.accordion-modern-status .card-title a {
  font-size: 15px !important;
}


.cta-top-wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;        /* ΟΧΙ 100% */
  height: 120px;
  display: block;
  z-index: 1;
}

/* =========================
   PDP MODULE PAGE - CLEAN
========================= */

:root {
  --lesson-ink: #111;
  --lesson-ink-soft: #222;
  --lesson-muted: #666;
  --lesson-muted-strong: #595959;
  --lesson-accent: #9c1c6b;
  --lesson-accent-strong: #8B1C5A;
  --lesson-accent-dark: #7a003c;
  --lesson-accent-bg: #f3e6f0;
  --lesson-line: rgba(0,0,0,0.08);
  --lesson-panel: #fff;
}

/* Panels */
.sidebar,
.main-content,
.pdp-overview-card {
  background: var(--lesson-panel);
  border: 1px solid var(--lesson-line);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}

.sidebar {
  position: sticky;
  top: 120px;
  padding: 20px 16px;
}

.main-content,
.pdp-overview-card {
  width: 100%;
  padding: 24px 28px;
}

#module-intro-panel,
#lesson-area,
.main-content {
  width: 100%;
  max-width: none;
}

/* Box area */
.module-box-header {
  width: 100%;
  
  margin-bottom: 12px;
}

.module-box-header h2 {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--lesson-accent);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 0 0 8px 0;
}

.module-box-instruction {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  margin: 0;
  text-align: left;
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--lesson-muted);
}

.instruction-icon {
  font-size: 1.35rem;
  line-height: 1.1;
  flex-shrink: 0;
}

#pdp-box-wrapper {
  margin: 14px 0 24px;
}

#pdpBoxObj {
  display: block;
  width: 100%;
}

/* PDP overview */
.pdp-overview-card {
  display: block !important;
  min-height: auto !important;
  font-size: 14px;
  line-height: 1.6;
  color: var(--lesson-ink-soft);
}

.pdp-overview-card h2,
.module-intro-title {
  font-size: 1.55rem;
  font-weight: 500 !important;
  line-height: 1.2;
  color: var(--lesson-ink);
  margin: 0 0 14px 0;
}

.pdp-overview-card h3 {
  font-size: 0.78rem;
  font-weight: 400 !important;
  color: var(--lesson-accent);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin: 18px 0 10px 0;
}

.pdp-overview-card p,
.pdp-overview-card li,
.module-intro-panel p {
  font-size: 14px;
  line-height: 1.6;
  max-width: none;
}

.pdp-overview-card ul {
  padding-left: 18px;
  margin-bottom: 14px;
}

.pdp-start-hint {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid var(--lesson-line);
  color: var(--lesson-ink-soft);
}

/* Module links inside PDP overview */
.pdp-module-list {
  list-style: none;
  padding-left: 0;
}

.pdp-module-list li {
  margin-bottom: 6px;
}

.pdp-module-link {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  font: inherit;
  color: var(--lesson-ink-soft);
  cursor: pointer;
}

.pdp-module-link:hover {
  color: var(--lesson-accent);
  text-decoration: underline;
}

.pdp-module-link span {
  width: 10px;
  height: 10px;
  margin-top: 6px;
  border-radius: 50%;
  background: var(--mcolor);
  flex-shrink: 0;
}

/* Lesson */
.lesson-progress-wrap {
  margin: 16px 0 20px;
}

.lesson-progress-bar {
  width: 100%;
  height: 8px;
  background: #ececec;
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 8px;
}

#progress-fill {
  height: 100%;
  width: 0;
  background: var(--lesson-accent);
  transition: width 0.3s ease;
}

#progress-text {
  font-size: 0.85rem;
  color: var(--lesson-muted);
}

.lesson-section-label {
  font-size: 0.85rem;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--lesson-accent-strong);
  margin-bottom: 0.4rem;
}

.lesson-subsection-title {
  font-size: 1rem;
  font-weight: 500;
  color: var(--lesson-accent-dark);
  margin-bottom: 18px;
}

.lesson-crumb-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Inter", "Noto Sans", sans-serif;
}

.lesson-crumb-module {
  margin-bottom: 8px;
}

.lesson-crumb-section {
  margin: 0 0 14px 22px;
}

.lesson-subsection-title {
  margin-left: 40px !important;
}

.lesson-crumb-badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 28px;
  padding: 0 9px;
  border-radius: 8px;
  color: #fff;
  font-weight: 800;
  font-size: .85rem;
  line-height: 1;
}

.lesson-crumb-badge-section {
  min-width: 30px;
  height: 24px;
  border-radius: 7px;
  font-size: .78rem;
}

.lesson-crumb-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #171940;
  line-height: 1.3;
}

.lesson-crumb-title-section {
  font-size: .98rem;
  font-weight: 600;
  color: #171940;
}

.lesson-crumb-shape {
  display: inline-flex;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
}

.lesson-crumb-shape svg {
  width: 100%;
  height: 100%;
  display: block;
}

.lesson-crumb-code {
  flex-shrink: 0;
  font-weight: 800;
  font-size: 1.05rem;
  line-height: 1;
}

.lesson-card {
  background: #fff;
  border: 1px solid var(--lesson-line);
  border-radius: 16px;
  padding: 24px 28px;
  overflow-x: hidden;
}

#content-area {
  font-size: 14px;
  color: var(--lesson-ink);
}

#content-area p,
#content-area li {
  line-height: 1.65;
  color: var(--lesson-ink-soft);
}

#content-area p {
  width: 100% !important;
}

#content-area h2 {
  font-size: 1.55rem !important;
  font-weight: 600 !important;
}

#content-area h3 {
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--lesson-accent);
}

#content-area h4 {
  font-size: 1rem !important;
  font-weight: 600 !important;
}

#btn-prev,
#btn-next {
  padding: 6px 14px;
  min-height: 36px;
  line-height: 1.2;
  font-size: 0.9rem;
}

/* Sidebar modules */
.sidebar-module {
  margin-bottom: 12px;
}

.sidebar-module-title {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: start;
  column-gap: 8px;
  padding: 8px 10px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  border-radius: 10px;
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--lesson-ink-soft);
}

.sidebar-module-title:hover {
  background: #f8f8f8;
}

.sidebar-module-title.current {
  background: var(--lesson-accent-bg);
  border-left: 3px solid var(--module-color);
  padding-left: 7px;
}

.module-title-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.module-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--module-color);
  flex-shrink: 0;
}

.module-shape-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.module-shape-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.module-number {
  min-width: 18px;
  font-size: 0.82rem;
  color: var(--module-color);
  font-weight: 700;
}

.module-title-text {
  line-height: 1.2;
}

.module-toggle {
  color: var(--lesson-muted-strong);
  font-size: 1rem;
  line-height: 1;
  align-self: start;
}

/* Sidebar sections */
.sidebar-module-content {
  margin-top: 6px;
  margin-left: 12px;
  padding-left: 10px;
  border-left: 2px solid rgba(0,0,0,0.08);
}

.sidebar-section {
  margin-bottom: 10px;
}

.sidebar-section-title {
  width: 100%;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 18px;
  align-items: start;
  column-gap: 8px;
  padding: 7px 6px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  border-radius: 8px;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.15;
  color: var(--lesson-ink-soft);
}

.sidebar-section-title:hover {
  background: #f8f8f8;
}

.section-left {
  display: contents;
}

.section-status {
  display: none;
}

.section-number {
  grid-column: 1;
  min-width: 24px;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--lesson-muted-strong);
}

.section-text {
  grid-column: 2;
  line-height: 1.2;
}

.section-toggle {
  grid-column: 3;
  width: 18px;
  text-align: center;
  font-size: 1rem;
  line-height: 1;
  color: var(--lesson-muted-strong);
  align-self: start !important;
  justify-self: center;
}

.sidebar-section-title.current .section-text,
.sidebar-section-title.current .section-number,
.sidebar-section-title.current .section-toggle {
  color: var(--lesson-accent);
}

/* Sidebar subsections */
.sidebar-sublist {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 4px;
  margin-left: 10px;
  padding-left: 8px;
  border-left: 1px solid #d9d9d9;
}

.sidebar-subsection {
  display: grid;
  grid-template-columns: 12px 30px minmax(0, 1fr);
  align-items: start;
  column-gap: 6px;
  width: 100%;
  padding: 6px 8px;
  border: none;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  font-size: 0.8rem;
  line-height: 1.2;
}

.sidebar-subsection .status {
  width: 12px;
  text-align: center;
  font-size: 0.7rem;
  color: var(--lesson-muted);
}

.subsection-number {
  min-width: 30px;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--lesson-muted-strong);
}

.subsection-text {
  line-height: 1.15;
  color: var(--lesson-muted-strong);
  overflow-wrap: break-word;
}

.sidebar-subsection.current {
  background: var(--lesson-accent-bg);
}

.sidebar-subsection.current .status,
.sidebar-subsection.current .subsection-number,
.sidebar-subsection.current .subsection-text {
  color: var(--lesson-accent);
  font-weight: 700;
}

/* Buttons */
.lesson-controls {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
}

.lesson-controls button {
  border: 1px solid var(--lesson-accent-strong);
  border-radius: 10px;
  padding: 10px 16px;
  cursor: pointer;
  background: #fff;
  color: var(--lesson-accent-strong);
  font-weight: 600;
}

.lesson-controls button:hover:not(:disabled) {
  background: var(--lesson-accent-bg);
}

.lesson-controls button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* align top overview card with lesson card */
#module-intro-panel,
#lesson-area,
.main-content,
.module-overview-card,
.pdp-overview-card {
  width: 100%;
  max-width: none;
}

.module-overview-card,
.pdp-overview-card,
.main-content {
  background: #fff;
  border: 1px solid var(--lesson-line);
  border-radius: 16px;
  padding: 24px 28px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.04);
  box-sizing: border-box;
}

.module-intro-panel {
  margin-bottom: 24px;
}

/* Same heading style in top PDP card and modules card */
.pdp-overview-card h2,
.pdp-static-card h2 {
  font-size: 1.55rem !important;
  font-weight: 500 !important;
  line-height: 1.2;
  color: #111;
  text-transform: none;
  letter-spacing: normal;
  margin: 0 0 14px 0;
}

.pdp-overview-card h3,
.pdp-static-card h3 {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--lesson-accent);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 18px 0 10px 0;
}
.sidebar-subtitle {
  font-size: 0.8rem;
  font-weight: 600;
  color: #9c1c6b;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 16px 0 10px 0;
}
.pdp-modules-heading {
  margin: 0 0 18px 0;
}

.pdp-modules-heading h2 {
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: #111;
  margin-bottom: 6px;
}

.pdp-modules-heading p {
  font-size: 0.9rem;
  line-height: 1.5;
  color: #666;
  margin: 0;
  max-width: 72ch;
}
/* 1. Section heading */
.pdp-modules-heading h2 {
  font-size: 1.75rem;
  font-weight: 600;
  color: #111;
  margin: 0 0 6px 0;
}

.pdp-modules-heading p {
  font-size: 0.95rem;
  line-height: 1.5;
  color: #555;
  max-width: 70ch;
}

/* 2. Card titles */
.module-box-header h2,
.pdp-overview-card h2 {
  font-size: 1.25rem;
  font-weight: 600 !important;
  color: #111;
  text-transform: none;
  letter-spacing: normal;
  margin-bottom: 12px;
}

/* 3. Small labels */
.pdp-overview-card h3,
.sidebar-subtitle {
  font-size: 0.78rem;
  font-weight: 700 !important;
  color: #9c1c6b;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin: 18px 0 10px 0;
}

/* ειδικά για το αριστερό label */
.module-box-header h2 {
  color: #9c1c6b;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
}
/* Card title */
#module-intro-panel .pdp-overview-card h2 {
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #111;
  margin-bottom: 14px;
}
#module-intro-panel .pdp-overview-card h3 {
  font-weight: 600 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.14em;
}

/* Unified small section labels */
#module-intro-panel .pdp-overview-card h3,
.module-box-header h2,
.sidebar-subtitle,
.lesson-section-label {
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  line-height: 1.25;
  color: #9c1c6b !important;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin: 18px 0 10px 0;
}
/* Same title style: Modules Overview + selected module intro */
#module-intro-panel .pdp-overview-card h2,
#module-intro-panel .module-overview-card .module-intro-title {
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  line-height: 1.2;
  color: #111;
  margin: 0 0 14px 0;
}

/* Make Module number more visible */
#module-intro-panel .module-intro-code {
  display: inline-block;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: #9c1c6b;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 8px;
}

.module-intro-code {
  margin-top: 14px;
}
.module-box-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.sidebar-reset-btn {
  border: 1px solid rgba(156, 28, 107, 0.35);
  background: #fff;
  color: #9c1c6b;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
}

.sidebar-reset-btn:hover {
  background: #f3e6f0;
}

.pdp-reset-center {
  display: block;
  margin: 10px auto 22px auto;
}
.module-intro-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.module-intro-title-row .module-intro-title {
  margin: 0 0 14px 0;
}

.pdp-reset-btn {
  flex-shrink: 0;
}
.pdp-reset-btn {
  border: 1px solid rgba(156, 28, 107, 0.45);
  background: #fff;
  color: #9c1c6b;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}
.module-intro-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.pdp-reset-btn:hover {
  background: #f3e6f0;
  border-color: #9c1c6b;
  color: #8B1C5A;
}
.pdp-modules-heading {
  width: 100%;
}

.pdp-modules-heading p {
  max-width: 100%;
}

.pdp-start-hint {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hint-icon {
  font-size: 1.8rem;
  font-weight: 700;
  color: #9c1c6b;
  display: inline-block;
  line-height: 1;
  transform: translateY(2px);
}

.hint-icon {
  animation: hint-left 1.4s ease-in-out infinite;
}

@keyframes hint-left {
  0%, 100% { transform: translate(0, 2px); }
  50% { transform: translate(-6px, 2px); }
}

.module-intro-image {
  width: 60%;
  height: auto;
  display: block;
  margin: 1rem auto 0 auto; /* top | horizontal center | bottom */
}

.lesson-image-small {
  width: 50%;
  max-width: 50%;
  height: auto;
  display: block;
  margin: 1rem auto 0;
}

/*stakeholders profile*/
body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: #f4f6f8;
  color: #222;
}

.page {
  max-width: 1100px;
  margin: 40px auto;
  padding: 20px;
}

.profile-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: grid;
  grid-template-columns: 320px 1fr;
}

.photo-section {
  background: #202938;
  color: #fff;
  padding: 30px;
  text-align: center;
}

.profile-photo {
  width: 190px;
  height: 190px;
  object-fit: cover;
  border-radius: 50%;
  border: 5px solid #fff;
  margin-bottom: 20px;
}

.photo-section h1 {
  font-size: 26px;
  margin: 10px 0 6px;
}

.subtitle {
  margin: 0;
  opacity: 0.9;
}

.category {
  display: inline-block;
  margin-top: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #4f8cff;
  font-size: 14px;
}

.content-section {
  padding: 34px;
}

.section {
  margin-bottom: 28px;
}

.section h2 {
  font-size: 19px;
  margin-bottom: 12px;
  color: #1f2937;
  border-bottom: 2px solid #e5e7eb;
  padding-bottom: 8px;
}

.info-grid {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 10px 18px;
  font-size: 15px;
}

.label {
  font-weight: bold;
  color: #555;
}

a {
  color: #2563eb;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tag {
  background: #eef2ff;
  color: #3046a0;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 14px;
}

.activity-box {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 18px;
  margin-top: 12px;
}

.comment {
  background: #fff7ed;
  border-left: 4px solid #f97316;
  padding: 14px 16px;
  border-radius: 8px;
  line-height: 1.5;
}

@media (max-width: 800px) {
  .profile-card {
    grid-template-columns: 1fr;
  }

  .info-grid {
    grid-template-columns: 1fr;
  }
}

/*completed section css*/
.sidebar-section-title.completed {
  background: rgba(22, 128, 60, 0.08);
  border-radius: 8px;
}

.sidebar-section-title.completed .section-status {
  color: #16803c;
}

.sidebar-module-title.completed {
  background: rgba(22, 128, 60, 0.12);
  color: #16803c;
  font-weight: 700;
}

.sidebar-module-title.completed .module-number {
  background: #16803c;
  color: #fff;
  border-radius: 999px;
  padding: 2px 6px;
}
.sidebar-section-title.completed .section-status {
  color: #16803c;
  font-weight: 700;
  font-size: 14px;
}

.section-status {
  outline: 1px solid red;
}

/*button read*/
.mark-done-box {
  margin-top: 16px;
}

.mark-done-label input:checked {
  accent-color: #16803c;
}

.mark-done-label input:checked + span {
  color: inherit;
  font-weight: 600;
}

.mark-done-hint {
  margin-top: 4px;
  font-size: 0.8rem;
  color: #6b7280;
}

/*reflection prompts*/
.reflection-field {
  margin: 12px 0 20px;
}

.reflection-label {
  display: block;
  font-size: 0.85rem;
  color: #6b7280;
  margin-bottom: 6px;
}

.reflection-field textarea {
  width: 100%;
  min-height: 180px;
  padding: 8px;
  border-radius: 6px;
  border: 1px solid #d1d5db;
  font-family: inherit;
  font-size: 0.95rem;
}

/*Image gallery information*/
/* =========================================================
   PULSE-ART Lightbox styling
   ========================================================= */

/* Πιο σκοτεινό overlay ώστε να μη φαίνεται έντονα το gallery πίσω */
.lightboxOverlay {
  opacity: 0.95 !important;
}

/* Βασικό lightbox box */
.lightbox {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* Μεγάλη εικόνα */
.lightbox .lb-image {
  max-width: 86vw !important;
  max-height: 72vh !important;
  object-fit: contain;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.lb-outerContainer,
.lb-container {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.lb-outerContainer {
  border-radius: 0 !important;
}

/* Περιοχή caption κάτω από την εικόνα */
.lb-dataContainer {
  background: #000;
  padding: 14px 18px 18px;
  border-radius: 0 0 6px 6px;
  box-sizing: border-box;
}

/* Τίτλος caption */
.lb-data .lb-caption {
  display: block !important;
  color: #fff;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
}

/* Κύριο link προς τη σελίδα του case study */
.lb-data .lightbox-case-link {
  display: inline-block;
  margin-top: 4px;
  color: #ff3fa4 !important;
  font-size: 18px;
  font-weight: 800;
  text-decoration: none;
}

.lb-data .lightbox-case-link:hover {
  text-decoration: underline;
}

/* Copyright / attribution */
.lb-data small {
  display: block;
  margin-top: 7px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
}

/* Link μέσα στο copyright — όχι μπλε */
.lb-data small a {
  color: rgba(255, 255, 255, 0.78) !important;
  text-decoration: underline;
  font-weight: 400;
}

.lb-data small a:hover {
  color: #ffffff !important;
}

/* Image counter */
.lb-data .lb-number {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  padding-top: 6px;
}

/* Close button */
.lb-close {
  opacity: 1 !important;
}

/* Καλύτερη συμπεριφορά σε μικρές οθόνες */
@media (max-width: 768px) {
  .lightbox .lb-image {
    max-width: 92vw !important;
    max-height: 62vh !important;
  }

  .lb-dataContainer {
    padding: 12px 14px 16px;
  }

  .lb-data .lightbox-case-link {
    font-size: 16px;
  }

  .lb-data small,
  .lb-data small a,
  .lb-data .lb-number {
    font-size: 11px;
  }
}

/*--------------------------------------*/
/* Case studies masonry: remove tiny gaps, keep masonry layout */
.case-studies-gallery .masonry,
.case-studies-gallery .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}

.case-studies-gallery .masonry-item {
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
}

.case-studies-gallery .thumb-info,
.case-studies-gallery .thumb-info-wrapper,
.case-studies-gallery .case-lightbox-link {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 0;
}

.case-studies-gallery .thumb-info-wrapper img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  vertical-align: top;
}

.cookie-banner {
    position: fixed;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 99999;
}

.cookie-banner {
    position: fixed;
    left: 24px;
    bottom: 24px;
    z-index: 99999;

    max-width: 480px;
    width: calc(100vw - 48px);
}

.cookie-banner-content {
    padding: 18px 20px;

    background: #fff;
    border: 1px solid rgba(23,25,64,.12);
    border-top: 4px solid #b12079;

    border-radius: 16px;

    box-shadow: 0 10px 35px rgba(0,0,0,.14);
}

.cookie-banner h3 {
    margin: 0 0 8px;
    color: #171940;
    font-size: 1rem;
    font-weight: 700;
}

.cookie-banner p {
    margin: 0;
    color: #6f7285;
    font-size: 0.85rem;
    line-height: 1.45;
}

.cookie-banner-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.cookie-banner .btn-primary {
    background-color: #b12079;
    border-color: #b12079;
}

.cookie-banner .btn-primary:hover {
    background-color: #971a67;
    border-color: #971a67;
}


/* Word cloud full-width fix */
.cloud-box,
.curve-word-cloud,
#curveCloudSvg {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
}

#curveCloudSvg {
  height: 420px;
  overflow: visible;
}

#curveWordsLayer {
  overflow: visible;
}

.curve-word {
  font-family: "Inter", "Noto Sans", sans-serif;
}

@media (max-width: 767px) {
  .wordcloud-title,
  .cloud-box {
    display: none !important;
  }

  .custom-negative-margin-1 {
    margin-top: -150px !important;
  }

  .toolkit-section-up,
  .toolkit-section-up h2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .wordcloud-title,
  .cloud-box {
    display: none !important;
  }

  .custom-negative-margin-1 {
    margin-top: -60px !important;
  }

  .toolkit-section-up,
  .toolkit-section-up h2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media (min-width: 992px) {
  .wordcloud-title,
  .cloud-box {
    display: block !important;
  }
}
@media (max-width: 1199.98px) {
  .toolkit-home-section .wordcloud-row {
    display: none !important;
  }

  .toolkit-home-section .toolkit-home-container {
    margin-top: -20px !important;
  }

  .toolkit-home-section .toolkit-section-up {
    margin-top: 80px !important;
  }

  .toolkit-home-section .toolkit-section-up h2 {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 767.98px) {
  .toolkit-home-section .toolkit-home-container {
    margin-top: -120px !important;
  }

  .toolkit-home-section .toolkit-section-up {
    margin-top: 40px !important;
  }
}

@media (min-width: 992px) {
  .toolkit-home-section .wordcloud-row {
    display: flex !important;
  }

  .toolkit-home-section .cloud-box,
  .toolkit-home-section .wordcloud-title {
    display: block !important;
  }
}

/* === Toolkit homepage layout fix: cards left, text right === */
.toolkit-home-section .toolkit-section-up {
  align-items: top !important;
  margin-top: 20px !important;
}

.toolkit-home-section .toolkit-text-col {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.toolkit-home-section .toolkit-text-col h2 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 10px !important;
}

.toolkit-home-section .toolkit-text-col .lead {
  margin-bottom: 14px !important;
  line-height: 1.45;
}

.toolkit-home-section .toolkit-description {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.55;
}

.toolkit-home-section .toolkit-text-col p {
  max-width: 420px;
}

@media (min-width: 992px) {
  .toolkit-home-section .toolkit-text-col {
    padding-left: 70px !important;
    transform: translateY(-25px);
  }
}

@media (max-width: 991.98px) {
  .toolkit-home-section .toolkit-section-up {
    margin-top: 35px !important;
  }

  .toolkit-home-section .toolkit-text-col {
    margin-bottom: 30px;
  }

  .toolkit-home-section .toolkit-text-col p {
    max-width: none;
  }
}
.toolkit-home-section .wordcloud-title {
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #777 !important;
  
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

/* Toolkit cards: right column higher */
@media (min-width: 768px) {
  .cards-col-right {
    transform: translateY(-155px);
  }

  .cards-col-left {
    transform: translateY(-25px);
  }
}

/* Toolkit left text higher */
@media (min-width: 992px) {
  .toolkit-home-section .toolkit-text-col {
    transform: translateY(-70px);
  }
}

@media (min-width: 768px) {
  .hero-logo-wrap {
    position: relative;
    top: -100px;
  }
}

#curveCloudSvg {
    width: 100%;
    height: 500px;
    overflow: visible;
}

.wordcloud-curved-title {
    font-size: 18px;
    font-weight: 700;
    fill: #d81b72;
    transform: none !important;
	 letter-spacing: 8px;
}

.wordcloud-curved-title textPath {
    dominant-baseline: middle;
}

/*Profile reminder to edit*/

.profile-reminder-card {
  position: absolute;
  top: 95px;
  right: 70px;
  z-index: 30;
  background: #ffffff;
  border-left: 4px solid #0056b3;
  padding: 12px 42px 12px 16px;
  max-width: 340px;
  font-size: 14px;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

.profile-reminder-card a {
  font-weight: 700;
  margin-left: 6px;
  color: #0056b3;
}

.profile-reminder-close {
  position: absolute;
  top: 6px;
  right: 10px;
  border: 0;
  background: transparent;
  color: #666;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.profile-reminder-close:hover {
  color: #000;
}

/*end*/


/*μεγαλύτερα εικονίδια*/

.toolkit-home-section .card .card-body img[data-icon] {
  width: 90px !important;
  height: 90px !important;
  max-width: none !important;
  object-fit: contain;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Toolkit cards: 1 στήλη σε tablet / μεσαίες οθόνες */
@media (max-width: 1199px) {
  .toolkit-home-section .cards-col-left,
  .toolkit-home-section .cards-col-right {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .toolkit-home-section .cards-col-left .card,
  .toolkit-home-section .cards-col-right .card {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }
}




/* =========================================
   TOOLKIT SECTION - FIX OVERLAP + INTRO WIDTH
========================================= */

@media (max-width: 1199px) {

  /* Όλο το toolkit section γίνεται κάθετο */
  .toolkit-home-section .toolkit-text-col,
  .toolkit-home-section .col-lg-9,
  .toolkit-home-section .cards-col-left,
  .toolkit-home-section .cards-col-right {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Intro επάνω από τις κάρτες, όχι στενό */
  .toolkit-home-section .toolkit-text-col {
    text-align: center;
    margin: 0 auto 45px auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .toolkit-home-section .toolkit-text-col h2,
  .toolkit-home-section .toolkit-text-col p {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Οι δύο στήλες καρτών δεν συμπεριφέρονται σαν columns */
  .toolkit-home-section .cards-col-left,
  .toolkit-home-section .cards-col-right {
    display: block !important;
  }

  /* Ακύρωση όλων των μετατοπίσεων που προκαλούν overlap */
  .toolkit-home-section .card,
  .toolkit-home-section .card:nth-child(even),
  .toolkit-home-section .card:nth-child(odd),
  .toolkit-home-section .col-md-6 .card,
  .toolkit-home-section .col-md-6 .card:nth-child(even),
  .toolkit-home-section .col-md-6 .card:nth-child(odd) {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    transform: translateY(0) !important;
    translate: none !important;
  }

  /* Κάρτες μία κάτω από την άλλη με ασφαλές κενό */
  .toolkit-home-section .card {
    max-width: 760px;
    min-height: auto !important;
    margin: 0 auto 36px auto !important;
  }

  /* Έξτρα κενό πριν από τη δεξιά στήλη, που γίνεται συνέχεια της αριστερής */
  .toolkit-home-section .cards-col-right {
    margin-top: 0 !important;
  }

  /* Σώμα κάρτας */
  .toolkit-home-section .card .card-body {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}

/* Desktop μόνο: κράτα το staggered effect αν το θέλεις */
@media (min-width: 992px) {
  .toolkit-home-section .col-md-6 .card:nth-child(even) {
    transform: translateY(30px);
  }
}

/* =========================================
   TOOLKIT CARDS - DESKTOP STAGGER ONLY
========================================= */

/* Μεγάλη οθόνη: η δεξιά στήλη ανεβαίνει */
@media (min-width: 992px) {
  .toolkit-home-section .cards-col-left {
    transform: translateY(-25px);
  }

  .toolkit-home-section .cards-col-right {
    transform: translateY(-195px);
  }
}

/* Κάτω από 992px: καμία στήλη δεν ανεβαίνει */
@media (max-width: 1199px) {
  .toolkit-home-section .cards-col-left,
  .toolkit-home-section .cards-col-right {
    transform: none !important;
  }

  .toolkit-home-section .toolkit-text-col,
  .toolkit-home-section .col-lg-9,
  .toolkit-home-section .cards-col-left,
  .toolkit-home-section .cards-col-right {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .toolkit-home-section .toolkit-text-col {
    text-align: center;
    margin: 0 auto 45px auto !important;
  }

  .toolkit-home-section .toolkit-text-col h2,
  .toolkit-home-section .toolkit-text-col p {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .toolkit-home-section .card {
    max-width: 760px;
    min-height: auto !important;
    margin: 0 auto 36px auto !important;
    transform: none !important;
  }
}

/* =========================================
   CASE STUDIES MASONRY - RESPONSIVE FIX
========================================= */

/* Desktop: 3 στήλες */
@media (min-width: 992px) {
  .case-studies-gallery .masonry-item {
    width: 33.3333% !important;
    max-width: 33.3333% !important;
    flex: 0 0 33.3333% !important;
  }
}

/* Tablet / small laptop: 2 στήλες */
@media (min-width: 768px) and (max-width: 1199px) {
  .case-studies-gallery .masonry-item {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
  }
}

/* Mobile: 1 στήλη */
@media (max-width: 767px) {
  .case-studies-gallery .masonry-item {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}


/*patch*//* Unified typography for Case Studies page */
body,
p,
.card-text,
.card p {
  font-size: 1.2rem;
  line-height: 1.6;
  font-family: "Inter", "Noto Sans", sans-serif;
}

.card-title,
.card h2 {
  font-size: 1.4rem;
  line-height: 1.25;
  font-weight: 600;
}

.page-header h1 {
  font-size: 2.6rem;
  line-height: 1.2;
  font-weight: 700;
}

/* Fix paragraph width inside case study cards */
.card p,
.card-text {
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.toolkit-feature-row {
    margin-top: -35px;
    align-items: flex-start !important;
}

.toolkit-text-col {
    padding-top: 210px;
}

.toolkit-cards-area {
    margin-top: -40px;
    margin-left: -25px;
}

.cards-col-left {
    padding-top: 0px;
}

.cards-col-right {
    padding-top: 90px;
}

.toolkit-card {
    min-height: 300px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    overflow: hidden;
}

.toolkit-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
}

.toolkit-card .card-body {
    position: relative;
    z-index: 2;
}

.toolkit-card-icon {
    max-height: 82px;
    object-fit: contain;
}

.toolkit-text-col .lead {
    font-size: 1.08rem;
    line-height: 1.65;
    color: #4d4d4d;
}

.toolkit-text-col p {
    line-height: 1.7;
}

@media (max-width: 991px) {
    .toolkit-feature-row,
    .toolkit-cards-area {
        margin-top: 20px;
        margin-left: 0;
    }

    .toolkit-text-col {
        padding-top: 0;
        text-align: center;
    }

    .cards-col-left,
    .cards-col-right {
        padding-top: 0;
    }
}

.case-studies-blog-masonry .thumb-info-title {
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.82),
        rgba(0, 0, 0, 0.35),
        rgba(0, 0, 0, 0)
    ) !important;
    padding: 22px 20px 18px !important;
    width: 100%;
    left: 0 !important;
    bottom: 0 !important;
}

.case-studies-blog-masonry .thumb-info-inner {
    color: #ffffff !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
}

.case-studies-blog-masonry .thumb-info-type {
    color: #f03b9d !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.25 !important;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

#accordion100 .card-body {
    padding: 22px 30px;
}

#accordion100 .card-body p {
    font-size: 0.92rem;
    line-height: 1.5;
}

/*patch*//* === PDP uniform typography fix === */

#content-area,
#content-area .lesson-card {
  font-size: 18px !important;
  line-height: 1.6 !important;
}

#content-area .lesson-card p,
#content-area .lesson-card li,
#content-area .lesson-card td {
  font-size: 18px !important;
  line-height: 1.6 !important;
}

#content-area .lesson-card h2 {
  font-size: 1.55rem !important;
  line-height: 1.25 !important;
}

#content-area .lesson-card h3 {
  font-size: 1.35rem !important;
  line-height: 1.3 !important;
}

#content-area .lesson-card h4 {
  font-size: 1.15rem !important;
  line-height: 1.35 !important;
}

/* Visual diagrams */
#content-area .vf-diagram,
#content-area .vf-diagram p,
#content-area .vf-diagram li,
#content-area .vf-arrow-text,
#content-area .vf-arrow-target,
#content-area .vf-panel-text,
#content-area .vf-process-heading,
#content-area .vf-process-body,
#content-area .vf-or-card-title,
#content-area .vf-or-text,
#content-area .vf-dd-item,
#content-area .vf-fb-text,
#content-area .vf-at-text,
#content-area .vf-up-card-text,
#content-area .vf-cipt-text,
#content-area .vf-fti-text {
  font-size: 18px !important;
  line-height: 1.5 !important;
}

/* Αριθμοί / badges μέσα στα diagrams */
#content-area .vf-arrow-number,
#content-area .vf-panel-number,
#content-area .vf-process-stepnum {
  font-size: 16px !important;
}
/* === PDP overview + module intro typography fix === */

#module-intro-panel .pdp-overview-card,
#module-intro-panel .pdp-overview-card p,
#module-intro-panel .pdp-overview-card li,
#module-intro-panel .pdp-overview-card div {
  font-size: 18px !important;
  line-height: 1.6 !important;
}

#module-intro-panel .pdp-overview-card h2 {
  font-size: 1.55rem !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

#module-intro-panel .pdp-overview-card h3 {
  font-size: 1.35rem !important;
  line-height: 1.3 !important;
  font-weight: 650 !important;
}

#module-intro-panel .pdp-module-list,
#module-intro-panel .pdp-module-list li,
#module-intro-panel .pdp-module-link {
  font-size: 18px !important;
  line-height: 1.5 !important;
}

#module-intro-panel .module-overview-card,
#module-intro-panel .module-overview-card p,
#module-intro-panel .module-overview-card li,
#module-intro-panel .module-overview-card div,
#module-intro-panel .module-intro-text {
  font-size: 18px !important;
  line-height: 1.6 !important;
}

#module-intro-panel .module-intro-text {
  width: 100% !important;
}

#module-intro-panel .module-intro-title {
  font-size: 1.55rem !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

#module-intro-panel .module-intro-code {
  font-size: 1rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
/* === PDP: smaller lesson and diagram text === */

#content-area .lesson-card,
#content-area .lesson-card p,
#content-area .lesson-card li {
  font-size: 16px !important;
  line-height: 1.55 !important;
}

/* Titles inside lesson content */
#content-area .lesson-card h2 {
  font-size: 1.45rem !important;
  line-height: 1.25 !important;
}

#content-area .lesson-card h3 {
  font-size: 1.25rem !important;
  line-height: 1.3 !important;
}

/* Visual diagrams text
   NOTE: this used to also target ".vf-diagram *" and [class^="vf-"],
   which flattened EVERY element inside the diagrams (labels,
   captions, badges, tspans) to 15px. Now only the container gets a
   base size, inherited by plain text, while the specific sizes in
   visual-diagrams.css (labels, captions, sources, chips) win. */
#content-area .lesson-card .vf-diagram {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

/* Sidebar text */
#module-sections .sidebar-section-title,
#module-sections .sidebar-subsection {
  font-size: 14px !important;
  line-height: 1.25 !important;
}



.pdp-static-card ul,
.pdp-static-card ol {
  margin: 0.6rem 0 1.2rem 1.2rem;
  padding-left: 1.2em;
}

.pdp-static-card li {
  margin-bottom: 0.25rem;
  line-height: 1.6;
}