/* ============================== */
/* 📁 repository-entry.php */
/* ============================== */


/* 📦 Wrapper */
.entry-wrapper {
  max-width: 1140px;
  margin: 0 auto;
  padding-top: 125px;
}

/* SECTION: Entry template link color (global within entry layout) */
.entry-wrapper a,
.entry-wrapper a:visited {
  color: #3371B2 !important;
}
.entry-wrapper a:hover,
.entry-wrapper a:focus {
  color: #3371B2 !important;
  text-decoration: underline;
}


/* 🔝 Top layout */
.entry-top {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
}


/* 📸 Gallery */
.entry-gallery {
  width: 360px;
  height: 500px;
  position: relative;
  overflow: hidden;
  margin-left: 153px;
  margin-right: 95px;

}

/* Accompanying text row - full width block */
.entry-meta-row--accompanying {
  align-items: flex-start; /* align label with top of text */
}

/* Make label sit on top, not as narrow left column */
.entry-meta-label--accompanying {
  width: 100%;
  max-width: none;
  margin-bottom: 8px;
}


/* Accompanying text row – allow variable height */
.entry-meta-row--accompanying {
  height: auto !important;      /* override 174px */
  align-items: flex-start;
}

/* Accompanying text content – full width, normal wrapping */
.entry-meta-content--accompanying {
  flex: 1 1 100%;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
  display: block;               /* override flex from .entry-meta-content */
}



/* Swiper core */
.entry-swiper {
  width: 100%;
}

.swiper-wrapper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Gallery image */
.entry-gallery .swiper-slide a img,
.entry-gallery .swiper-slide img {
  width: 360px;
  height: 498px;
  object-fit: cover;
  border-radius: 16px;
  border: 3px solid #707070;
}


/* Pagination bullets */
.swiper-pagination {
  position: absolute;
  bottom: 10px;
  width: 100%;
  text-align: center;
  z-index: 2;
}

/* 📝 Δεξί κομμάτι */
.entry-text {
  width: 285px;
  flex: 1;
  margin-right: 10px;
  color: #000;
}

.entry-fullname {
  font-family: 'Literata', serif;
  font-size: 36px;
  font-weight: 400;
  margin-bottom: 36px;
}

.entry-short-desc {
  font-family: 'ZonaProCustom', sans-serif;
  font-weight: 300 !important;
  font-size: 16px;
  margin-bottom: 45px;

}

.entry-subtitle {
  font-family: 'ZonaProCustom', sans-serif;
  font-weight: bold;
  font-size: 18px;
  color: #000;
  margin-bottom: 24px;

}

/* 📄 PDF */
.entry-pdf-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #3472B0;
  font-weight: 400;
  text-decoration: underline;
  font-size: 14px;
}

.entry-pdf-link img {
  width: 36px;
  height: 36px;
}

/* 🧾 Τίτλος κάτω */
.entry-title-section {
  font-family: 'ZonaProCustom', sans-serif;
  text-align: left;
  margin-top: 72px;
  margin-bottom: 32px;
  justify-items: center;
}

.entry-title {
  font-family: 'ZonaProCustom', sans-serif;
  font-size: 24px;
  font-weight: bold;
  width: 739px;
  color: #000;
}

/* 📖 Βιογραφία */
.entry-biography {
  width: 739px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 76px;

}

.entry-biography-title {
  font-family: 'ZonaProCustom', sans-serif;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 64px;
  color: #000;
}

.entry-biography-text p {
  line-height: 1.8;
  font-size: 16px;
  color: #000;
}

.entry-biography-text>.bio-page {
  display: none;
}

.entry-biography-text>.bio-page.active {
  display: block;
}

.bio-counter {
  font-family: 'ZonaProCustom', sans-serif;
  font-size: 18px;
  font-weight: 300;
}


.pagination-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'ZonaProCustom', sans-serif;
  font-size: 16px;
  padding-top: 76px;

}

.pagination-controls button {
  background: transparent;
  border: none;
  font-size: 22px;
  cursor: pointer;
  color: #000;
}

.pagination-controls button:disabled {
  color: #aaa;
  cursor: default;
}

/* 🔹 Εξουδετέρωση όλων των default styles για button στοιχείο */
button.bio-prev,
button.bio-next {
  all: unset;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 6px;
  cursor: pointer;
  background-color: transparent !important;
  border-radius: 4px;
  transition: background-color 0.2s ease;
  border: none !important;
  color: inherit !important;
  box-shadow: none !important;
  outline: none !important;
}

/* 🔹 Hover με μπλε background */
button.bio-prev:hover,
button.bio-next:hover {
  background-color: #3472B0 !important;
}

/* 🔹 Βελάκι με animation */
.pagination-arrow {
  width: 23px;
  height: 23px;
  transition: transform 0.2s ease;
}

button.bio-prev:hover .pagination-arrow,
button.bio-next:hover .pagination-arrow {
  transform: scale(1.5);
}

/* 🔹 Ακύρωση active / current */
button.bio-prev.active,
button.bio-next.active,
button.bio-prev[aria-current="page"],
button.bio-next[aria-current="page"],
button.bio-prev.current,
button.bio-next.current,
button.bio-prev.elementor-pagination-item.current,
button.bio-next.elementor-pagination-item.current {
  background-color: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
}

/* 🔹 Μετρητής σελίδας */
.bio-counter {
  font-family: 'ZonaProCustom', sans-serif;
  font-size: 16px;
}







/* Swiper custom pagination style */
.swiper-pagination-bullet {
  width: 19px;
  height: 19px;
  border: 1px solid #000;
  background: transparent;
  border-radius: 50%;
  opacity: 1;
  margin: 0 11px !important;
  transition: background 0.3s ease;
}

.swiper-pagination-bullet-active {
  background: #000;
}

.swiper-pagination {
  margin-bottom: 25px;
}

/* meta section */

.entry-meta-row {
  display: flex;
  align-items: flex-start;
  gap: 115px;
  height: 174px;
  padding-bottom: 24px;
  padding-top: 22px;
  border-bottom: 1px solid #707070;
}

.entry-meta-row:first-of-type {
  border-top: 1px solid #707070;
}

.entry-meta-label {
  flex-basis: 256px;
  font-weight: bold;
  font-family: 'ZonaProCustom', sans-serif;
  font-size: 16px;
}

.entry-meta-content {
  flex: 0 1 550px;         /* basis 550px, can shrink */
  min-width: 0;            /* critical for flex children */
  font-family: 'ZonaProCustom', sans-serif;
  font-size: 16px;
  white-space: pre-wrap;    /* preserves \n but allows wrapping */
  overflow-wrap: anywhere;  /* break long URLs anywhere if needed */
  word-break: break-word;   /* extra safety for legacy engines */
}

/* Make sure links can wrap and don’t force overflow */
.entry-meta-content a {
  overflow-wrap: anywhere;
  word-break: break-word;
  text-decoration: none;
  color: #3371B2;          /* το μπλε που θες */
}

.entry-meta-content a:hover,
.entry-meta-content a:focus {
  text-decoration: underline;
  color: #3371B2;
}

/* back-button to subcategories*/

/* 🔙 Container */
.entry-back-wrapper {
  position: relative;
  width: 100%;
  max-width: 227px;

}

/* 🏷️ Heading “Υποκατηγορία …” */
.entry-back-heading {
  font-family: "Zona Pro", sans-serif;
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 6px 0;
  color: #000;
}

/* Βασικό layout */
.back-button-repository {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: 36px;
  text-decoration: none;
  color: #000;
  font-family: 'ZonaProCustom', sans-serif;
  font-weight: bold;
  font-size: 14px;
  position: relative;
  padding-left: 42px;
  background: #fff;
  /* ✅ αυτό κόβει τη γραμμή πίσω από το κείμενο */
  z-index: 2;
  padding-bottom: 20px !important;
}


/* Γραμμή */
.back-button-repository::before {
  content: '';
  display: block;
  height: 0.5px;
  background-color: black;
  position: absolute;
  top: 50%;
  left: 44px;
  width: 101px;
  transform: translateY(-50%);
  z-index: 0;
}

/* Arrow */
.back-arrow {
  width: 36px;
  height: 36px;
  background-image: url('https://local.talent.gr/wp-content/uploads/2025/04/general_site_arrow.svg');
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 17px;
  transform: translateY(-50%) scaleX(-1);
  /* mirror το βελάκι προς τα αριστερά */
  z-index: 1;
}

/* pdf */


/* ✨ Force Fancybox styling for PDF popups */
.fancybox__container {
  border-radius: 16px !important;
  overflow: hidden !important;
  width: 100% !important;
  height: 100% !important;
  align-self: center;
  justify-self: center;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.3) !important;
  background: #fff;
}


.fancybox__button.is-close {
  z-index: 9999 !important;
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  opacity: 1 !important;
  display: flex !important;
}

html.fancybox-active {
  overflow-y: scroll !important;
  /* ✅ Πάντα να δείχνει scrollbar */
  padding-right: 0 !important;
  /* ✅ Αν έβαλε extra padding για το scroll */
}

body.fancybox-active {
  position: static !important;
  /* Ή fixed αν θες full lock */
}

html.fancybox-active body {
  overflow-y: scroll !important;
}

html.fancybox-active,
html.fancybox-active body {
  overflow-y: scroll !important;
  padding-right: 0 !important;
  position: static !important;
}


/* 🔵 Fancybox carousel navigation hover color */
.carousel__button.is-next:hover,
.carousel__button.is-prev:hover {
  background-color: #3472B0 !important;
  transition: background-color 0.2s ease-in-out;
}

/* 🔵 Fancybox buttons hover και active με custom μπλε */

.carousel__button:hover,
.carousel__button:focus,
.carousel__button.is-active,
.fancybox__button:hover,
.fancybox__button:focus,
.fancybox__button.is-active {
  background-color: #3472B0 !important;
  color: white !important;
}


/* Επίσης αν θες πιο έντονη σκιά hover */
.carousel__button:hover,
.fancybox__button:hover {
  box-shadow: 0 0 0 3px rgba(52, 114, 176, 0.3);
}


.fancybox__slide.has-iframe {
  border-radius: 16px !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.fancybox__content {
  border-radius: 16px !important;
  overflow: hidden !important;
}

.fancybox__container.fancybox--pdf .fancybox__content {
  width: 95vw !important;
  height: 80vh !important;
  padding: 0px !important;
}



.fancybox__slide iframe {
  border-radius: 16px !important;
}

.fancybox__caption {

  color: #fff;
  font-family: 'ZonaProCustom', sans-serif;
  font-size: 14px;
  text-align: center;
  max-width: 100%;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 450px;
}

/* ✅ Custom styling μόνο για PDF Fancybox */
.fancybox--pdf .fancybox__slide {
  overflow: visible !important;
  padding: 0 !important;
  border-radius: 16px;
}

.fancybox--pdf .fancybox__content {
  overflow: visible !important;
  position: relative !important;
  border-radius: 16px;
  box-shadow: 0 10px 60px rgba(0, 0, 0, 0.4);
  background: #fff;
}

/* 🧷 Proper close button for PDF modal */
.fancybox--pdf .carousel__button.is-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
}


/* ✖ Optional styling for the X icon */
.fancybox--pdf .carousel__button.is-close svg {
  width: 16px;
  height: 16px;
  stroke: #000;
}

/* PDF iframe full size */
.fancybox--pdf iframe {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block;
  border-radius: 16px;
}


/* ==============================
   Fancybox • Video (YouTube)
   ============================== */


.fancybox__carousel .fancybox__slide.has-video .fancybox__content {
  width: 90vw !important;
  height: 80vh !important;
  max-width: 100%;
  max-height: 100%;
  background: #000;
  overflow: visible !important;
  /* toolbar πάνω από iframe */
}

/* Close button πάνω από το iframe */
.fancybox__carousel .fancybox__slide.has-video .fancybox__button.is-close,
.fancybox__carousel .fancybox__slide.has-video .carousel__button.is-close {
  position: absolute !important;
  top: -50px !important;
  right: 12px !important;
  width: 44px;
  height: 44px;
  background: rgba(0, 0, 0, 0.55);
  border-radius: 50%;
  z-index: 10010;
  display: flex !important;
  justify-content: center;
  align-items: center;
  opacity: 1 !important;
  pointer-events: auto;
}

/* Εικονίδιο Χ */
.fancybox__carousel .fancybox__slide.has-video .fancybox__button.is-close svg,
.fancybox__carousel .fancybox__slide.has-video .carousel__button.is-close svg {
  width: 20px;
  height: 20px;
  stroke: #fff;
  stroke-width: 2;
}


/* ==============================
   Fancybox • 3D Object
   ============================== */
   .fancybox__container.fancybox--entry-3d .fancybox__content {
    width: 100vw !important;
    height: 100vh !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #000;
    padding: 0 !important;
  }
  
  .fancybox--entry-3d .fancybox__slide { 
    padding: 0 !important; 
    overflow: visible !important; 
    border-radius: 16px; 
  }
  
  .fancybox--entry-3d iframe {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    display: block;
    border-radius: 16px;
  }
  
  /* Close button above the iframe */
  .fancybox--entry-3d .fancybox__button.is-close,
  .fancybox--entry-3d .carousel__button.is-close {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    width: 44px;
    height: 44px;
    background: rgba(0,0,0,.55);
    border-radius: 50%;
    z-index: 10010;
    display: flex !important;
    justify-content: center;
    align-items: center;
    opacity: 1 !important;
    pointer-events: auto;
  }
  
  .fancybox--entry-3d .fancybox__button.is-close svg,
  .fancybox--entry-3d .carousel__button.is-close svg {
    width: 20px;
    height: 20px;
    stroke: #fff;
    stroke-width: 2;
  }
  
  

/* 360 viewer */


/* 🎯 Fancybox Custom Styling ONLY for 360 Viewer */
.fancybox__container.fancybox--entry-360 .fancybox__content {
  width: 95vw !important;
  height: 80vh !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 60px rgba(0, 0, 0, 0.4);
  background: #fff;
  padding: 0 !important;
  z-index: 1 !important;

}


.fancybox--entry-360 .fancybox__slide {
  padding: 0 !important;
  overflow: visible !important;
  border-radius: 16px;
}

.fancybox--entry-360 iframe {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  display: block;
  border-radius: 16px;
  z-index: 0 !important;

}

.fancybox--entry-360 .fancybox__button--close {
  z-index: 9999 !important;
  opacity: 1 !important;
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
}


.fancybox--entry-360 .fancybox__button.is-close,
.fancybox--entry-360 .carousel__button.is-close {
  z-index: 9999 !important;
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  width: 32px;
  height: 32px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
  display: flex !important;
  justify-content: center;
  align-items: center;
  opacity: 1 !important;
}

.fancybox--entry-360 .fancybox__button.is-close svg,
.fancybox--entry-360 .carousel__button.is-close svg {
  width: 16px;
  height: 16px;
  stroke: #000;
}


/* container for meta data upperContainer */

.entry-bottom-wrapper {
  width: 931px;
  margin: 0 auto;
  padding-bottom: 127px;
  color: #000;
}


/* media video,3d,360 */

.entry-media-block {
  width: 931px;
  margin: 0 auto;
  height: 174px;
  border-bottom: 1px solid #707070;
}

.entry-media-block .entry-media-row:last-of-type {

  padding-bottom: 24px;
}

.entry-media-block .entry-media-row:first-of-type {
  padding-top: 22px;
}



.entry-media-row {
  display: flex;
  align-items: center;
  gap: 115px;
  padding-bottom: 16px;

}



.entry-media-label {
  flex-basis: 256px;
  font-weight: bold;
  font-family: 'ZonaProCustom', sans-serif;
  font-size: 16px;
}

.entry-media-link {
  flex-basis: 465px;
}

.entry-rich-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #3371B2;
  font-weight: 400;
  text-decoration: underline;
  font-family: 'ZonaProCustom', sans-serif;
  font-size: 16px;
}

.entry-rich-link img {
  width: 30px;
  height: 30px;
  background-color: #3371B2;
  padding: 6px;
  border-radius: 50%;
  border: 1.5px solid black;
  box-sizing: border-box;
}


.entry-meta-content,
.entry-media-link {
  display: flex;
  align-items: flex-start;
}

.fade-in-section {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-section.visible {
  opacity: 1;
  transform: translateY(0);
}

