/* ================================================================
   NICKMUSIC.GR HEADER / NAVIGATION (Final perfected version)
   ================================================================ */

/* ---------------------------------------------------------------
   Global Variables
---------------------------------------------------------------- */
:root {
  --nm-blue: #1a9ee8;
  --nm-header: #232323;
  --nm-text: #ffffff;
  --nm-hover: #1f2937;
  --nm-font: 'Pontano Sans', sans-serif;
}

/* ---------------------------------------------------------------
   Reset / Base
---------------------------------------------------------------- */
html {
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body {
  margin: 0;
  font-family: var(--nm-font);
  color: var(--nm-text);
  background: #fff;
  line-height: 1.6;
}

/* ================================================================
   NICKMUSIC.GR HEADER (Sticky with smooth height transition + fixed blue line)
================================================================ */

/* ---------------------------------------------------------------
   Header Wrapper (Sticky)
---------------------------------------------------------------- */
#ht-masthead.ht-site-header {
  background: var(--nm-header);
  color: var(--nm-text);
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: height 0.35s ease, padding 0.35s ease, background 0.3s ease;
  height: 90px;
}

/* ✅ Μπλε γραμμή ακριβώς όπως στο original (πάνω από το header) */
#ht-masthead.ht-site-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0%;            /* ίδιο offset με το container */
  width: 100%;            /* ίδιο μήκος */
  height: 4px;
  background: var(--nm-blue);
  z-index: 200;
  pointer-events: none;
}

/* Μπλε γραμμή κάτω από την εικόνα */
.bg-section {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.bg-section img {
  width: 100%;
  height: auto;
  display: block;
}

.bg-section::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0%;
  width: 100%;
  height: 4px;
  background: var(--nm-blue);
  z-index: 150;
  pointer-events: none;
}

/* Sticky header + animation */
#ht-masthead.ht-site-header {
  background: var(--nm-header);
  color: var(--nm-text);
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: height 0.35s ease, padding 0.35s ease, background 0.3s ease;
  height: 90px;
}

/* Όταν γίνεται scroll */
#ht-masthead.ht-site-header.shrink {
  height: 70px;
  background: rgba(35, 35, 35, 0.98);
}

/* ---------------------------------------------------------------
   Container (Logo + Menu)
---------------------------------------------------------------- */
#ht-container.ht-clearfix {
  width: 95%;
  margin: 0 auto;
  padding: 0 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  box-sizing: inherit;
  position: relative;
}

/* ---------------------------------------------------------------
   Logo Section
---------------------------------------------------------------- */
#ht-site-branding {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  transition: all 0.35s ease;
}

#ht-site-branding img {
  max-height: 60px;
  height: auto;
  width: auto;
  transition: max-height 0.35s ease;
}

/* Όταν γίνεται scroll — μικραίνει ελαφρά */
#ht-masthead.ht-site-header.shrink #ht-site-branding img {
  max-height: 48px;
}

/* ---------------------------------------------------------------
   Navigation Menu
---------------------------------------------------------------- */
#ht-site-navigation.ht-main-navigation {
  display: flex;
  align-items: center;          /* ✅ Κεντράρει κάθετα το μενού */
  justify-content: flex-end;    /* ✅ Το σπρώχνει δεξιά */
  flex: 1;
  margin-right: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Κύριο UL μενού */
.nm-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 28px;                    /* ✅ Σταθερό spacing μεταξύ των items */
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Κουμπιά / Σύνδεσμοι */
.nm-menu > li > a {
  position: relative;
  display: inline-block;
  padding: 10px 14px;
  text-decoration: none;
  color: var(--nm-text);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.2px;
  border-radius: 4px;
  transition: color 0.2s ease, transform 0.2s ease;
}

/* Hover underline animation */
.nm-menu > li > a::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: var(--nm-blue);
  transform: translateX(-50%);
  transition: width 0.3s ease;
}

/* Ενεργό ή hover item */
.nm-menu > li > a:hover::after,
.nm-menu > li.active > a::after {
  width: 70%;
}

.nm-menu > li > a:hover {
  color: var(--nm-blue);
  transform: translateY(-1px);
}

.nm-menu > li.active > a {
  color: var(--nm-blue);
}

/* ---------------------------------------------------------------
   Προσαρμογή για μικρές οθόνες
---------------------------------------------------------------- */
@media (max-width: 860px) {
  #ht-site-navigation.ht-main-navigation {
    justify-content: center;
  }

  .nm-menu {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .nm-menu > li > a {
    padding: 10px 0;
  }
}

/* ---------------------------------------------------------------
   Language Dropdown (Perfect alignment with flex)
---------------------------------------------------------------- */
.lang-dropdown {
  margin-left: auto;
  position: relative;
  display: flex;
  align-items: center;
}

.lang-toggle {
  display: inline-block;
  border: none;
  border-radius: 4px;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  background: transparent;
  transition: background 0.2s ease, border-color 0.2s ease;
  padding: 6px 10px;
}

.lang-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.lang-label {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  line-height: 1;
}

.lang-flag-wrap {
  display: flex;
  align-items: center;
  gap: 3px;
}

.lang-flag-wrap img.flag {
  height: 14px;
  width: auto;
  display: block;
}

.lang-flag-wrap .arrow {
  font-size: 11px;
  position: relative;
  top: 0; /* ✅ Τέλεια στο ίδιο baseline */
}

.lang-toggle:hover {
  background: var(--nm-hover);
  border-color: var(--nm-hover);
  border: none;               /* ✅ Βεβαιωνόμαστε ότι δεν επιστρέφει */
}

/* Dropdown menu */
.lang-menu {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 5px);
  background: #222;
  border: 1px solid var(--nm-blue);
  border-radius: 6px;
  list-style: none;
  margin: 0;
  padding: 6px 0;
  min-width: 150px;
  z-index: 2000;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
}

.lang-menu.show {
  display: block;
  animation: fadeIn 0.25s ease forwards;
}

.lang-menu li a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #eee;
  padding: 8px 12px;
  text-decoration: none;
  font-size: 14px;
  transition: background 0.2s ease, color 0.2s ease;
}

.lang-menu li a:hover {
  background: var(--nm-blue);
  color: #fff;
}

/* Fade in animation */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------------------------------------------------------------
   Burger Menu (Mobile)
---------------------------------------------------------------- */
.nm-toggle {
  display: none;
  border: 0;
  background: transparent;
  color: #fff;
  padding: 8px 10px;
  cursor: pointer;
}

.nm-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: #cbd5e1;
  position: relative;
}

.nm-toggle span::before,
.nm-toggle span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: #cbd5e1;
}

.nm-toggle span::before { top: -6px; }
.nm-toggle span::after { top: 6px; }

/* ---------------------------------------------------------------
   Responsive
---------------------------------------------------------------- */
@media (max-width: 860px) {
  .nm-toggle {
    display: inline-block;
  }

  #ht-site-navigation {
    display: none;
  }

  #ht-site-navigation.open {
    display: block;
    width: 100%;
  }

  .nm-menu {
    flex-direction: column;
    gap: 0;
    padding: 8px 0;
  }

  .nm-menu > li > a {
    padding: 12px 14px;
  }

  .lang-dropdown {
    margin-top: 8px;
    align-self: flex-end;
  }
}
/* ================================================================
   NickMusic Footer (Faithful clone of WordPress version)
================================================================ */
#ht-colophon.ht-site-footer {
  background: #232323;
  color: #ccc;
  font-size: 14px;
  line-height: 1.6;
  width: 100%;
}

/* Μπλε γραμμή στο πάνω μέρος */
.footer-top-border {
  width: 100%;
  height: 4px;
  background: var(--nm-blue);
}

/* Πάνω footer (τέσσερις στήλες) */
#ht-top-footer {
  padding: 40px 0;
  border-bottom: 1px solid #2e2e2e;
}

#ht-top-footer .ht-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.ht-footer {
  width: 23%;
  min-width: 230px;
  padding: 0 90px; /* ✅ Προσθήκη για σωστή απόσταση από τα άκρα */
}

.ht-footer h3 {
  color: #fff;
  font-size: 15px;
  margin-bottom: 10px;
  letter-spacing: 0.5px;
}

.ht-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ht-footer ul li {
  margin: 4px 0;
}

.ht-footer ul li a {
  color: #ccc;
  text-decoration: none;
  transition: color 0.3s ease;
}

.ht-footer ul li a:hover {
  color: var(--nm-blue);
}

/* Social icons */
.social-icons {
  display: flex;
  gap: 10px;
  margin: 8px 0;
}

.social-icons img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  transition: transform 0.3s ease;
}

.social-icons img:hover {
  transform: scale(1.1);
}

/* PayPal logo */
.paypal-logo {
  width: 90px;
  margin: 5px 0;
}

/* ---------------------------------------------------------------
   Cineapolis Footer Widget (accurate visual replica)
---------------------------------------------------------------- */
.ht-footer .cineapolis-logo {
  display: block;
  border-top: 3px solid #ff0045;       /* Κόκκινη γραμμή πάνω */
  border-bottom: 3px solid #ff0045;    /* Κόκκινη γραμμή κάτω */
  padding: 0px 0;                      /* Ίδιο spacing όπως WP */
  margin: 0px;            /* Κέντρο και λίγο περιθώριο κάτω */
  background-color: transparent;
  width: 220px;                        /* Ίδιο με το original debug box */
  box-sizing: border-box;
}

/* Κάτω footer */
#ht-bottom-footer {
  background: #1a1a1a;
  text-align: center;
  padding: 12px 0;
  border-top: 3px solid var(--nm-blue);
}

#ht-bottom-footer p {
  color: #999;
  font-size: 13px;
  margin: 0;
}

/* Back to top button */
#ht-back-top {
  position: fixed;
  bottom: 25px;
  right: 25px;
  background: var(--nm-blue);
  color: #fff;
  padding: 10px 13px;
  border-radius: 5px;
  cursor: pointer;
  transition: opacity 0.3s ease;
  opacity: 0;
  z-index: 100;
}

#ht-back-top.ht-show {
  opacity: 1;
}

/* ================================================================
   INDEX (Αρχική σελίδα NickMusic)
================================================================ */

/* Wrapper βασικής διάταξης */
.ht-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 95%;
  margin: 40px auto;
  gap: 30px;
}

/* Κύρια περιοχή περιεχομένου */
#primary {
  flex: 1;
}

/* Sidebar δεξιά */
#secondary {
  width: 300px;
  flex-shrink: 0;
}

/* Κατηγορίες */
.categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 30px;
}

.category {
  flex: 0 0 calc(33.333% - 20px);
  box-sizing: border-box;
  text-align: center;
  background: transparent;
  position: relative;
}

/* Εικόνες */
.category img {
  width: 100%;
  height: auto;
  display: block;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  transition: transform 0.3s ease;
}

/* Κείμενο κάτω από την εικόνα */
.category p {
  margin: 8px 0 0;
  font-size: 16px;
  color: #222;
  font-family: 'Pontano Sans', sans-serif;
  letter-spacing: 0.4px;
}

/* ---------------------------------------------------------------
   Οριζόντιες γραμμές (πάνω/κάτω ανά χρώμα κατηγορίας)
---------------------------------------------------------------- */
.category:nth-child(1) img {
  border-color: #1a9ee8; /* Μπλε */
}
.category:nth-child(2) img {
  border-color: #ff0045; /* Κόκκινο */
}
.category:nth-child(3) img {
  border-color: #f8b400; /* Πορτοκαλί */
}
.category:nth-child(4) img {
  border-color: #a367f0; /* Μωβ */
}
.category:nth-child(5) img {
  border-color: #59b600; /* Πράσινο */
}

/* Hover εφέ */
.category:hover img {
  transform: scale(1.03);
  opacity: 0.9;
}

/* ---------------------------------------------------------------
   Responsive: σε κινητά η sidebar πάει κάτω
---------------------------------------------------------------- */
@media (max-width: 1024px) {
  .ht-container {
    flex-direction: column;
  }

  #secondary {
    width: 100%;
    margin-top: 40px;
  }

  .categories {
    justify-content: center;
  }

  .category {
    flex: 0 0 45%;
  }
}

@media (max-width: 600px) {
  .category {
    flex: 0 0 90%;
  }
}
/* ================================================================
   SIDEBAR (Δεξιά στήλη - Τελική Επαγγελματική Έκδοση)
================================================================ */
.widget-area {
  width: 26%;
  float: right;
  padding: 0 25px;
  box-sizing: border-box;
  font-family: 'Pontano Sans', sans-serif;
}

.content-area {
  width: 70%;
  float: left;
}

/* ================================================================
   Βασικό widget block
================================================================ */
.widget {
  margin-bottom: 28px;       /* πιο σφιχτό spacing */
  padding-bottom: 0;
  border: none;              /* καμία γκρι γραμμή */
}

.widget a {
  text-decoration: none;
  color: #222;
  font-size: 15px;
  line-height: 1.5;
  display: inline-block;
  margin: 3px 0;
  transition: color 0.3s ease;
}

.widget a:hover {
  color: #1a9ee8;
}

/* ================================================================
   Κοινό στυλ τίτλου για όλα τα widgets
================================================================ */
.widget-title {
  position: relative;
  font-size: 17px;
  color: #222;
  font-weight: 600;
  margin-bottom: 10px;
  padding-bottom: 3px;
  display: inline-block;
}

.widget-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 26px;              /* ίδια μικρή μπλε γραμμή παντού */
  height: 2px;
  background-color: #1a9ee8;
}

/* ================================================================
   SEARCH BOX (όπως το original)
================================================================ */
.widget_search {
  margin-bottom: 20px;
}

.widget_search .search-form {
  display: flex;
  justify-content: flex-start;
}

.widget_search .search-field {
  width: 100%;
  padding: 6px 10px;
  border: 2px solid #1a9ee8;
  border-radius: 0;
  background-color: #fff;
  color: #444;
  font-size: 15px;
  font-family: 'Pontano Sans', sans-serif;
  transition: all 0.25s ease;
}

.widget_search .search-field:focus {
  outline: none;
  border-color: #007acc;
  box-shadow: 0 0 3px rgba(26, 158, 232, 0.6);
}

.widget_search input[type="submit"] {
  display: none;
}

/* ================================================================
   ΕΠΙΛΕΓΜΕΝΕΣ ΚΡΙΤΙΚΕΣ
================================================================ */
.widget_media_image {
  text-align: left;
  margin-bottom: 28px;
}

.widget_media_image .widget-title {
  color: #222;
}

.widget_media_image img {
  width: 140px;
  height: auto;
  margin-top: 6px;
  margin-bottom: 6px;
  display: block;
}

.widget_media_image a:hover .widget-title {
  color: #1a9ee8;
}

/* ================================================================
   ΠΩΣ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΣΕΤΕ ΤΟ ΒΙΒΛΙΟ / ΕΡΩΤΗΜΑΤΑ / ΑΝΑΚΟΙΝΩΣΕΙΣ
================================================================ */
.widget_text,
.widget_recent_entries {
  text-align: left;
  margin-bottom: 28px;
}

.widget_text .widget-title,
.widget_recent_entries .widget-title {
  color: #222;
}

.widget_text a:hover .widget-title,
.widget_recent_entries a:hover .widget-title {
  color: #1a9ee8;
}

/* λίστα ανακοινώσεων χωρίς γκρι γραμμές */
.widget_recent_entries ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.widget_recent_entries ul li {
  margin: 3px 0;
  border-bottom: none;
  padding-bottom: 0;
}

/* ================================================================
   USEFUL LINKS
================================================================ */
.widget_custom_html {
  text-align: left;
  margin-bottom: 28px;
}

.widget_custom_html a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #333;
  font-size: 15px;
  transition: color 0.3s ease;
}

.widget_custom_html a:hover {
  color: #1a9ee8;
}

.widget_custom_html img {
  width: 28px;
  height: auto;
  margin-right: 8px;
  border-radius: 4px;
  vertical-align: middle;
}

/* ================================================================
   AFTERSHIP - ΕΝΤΟΠΙΣΜΟΣ ΑΠΟΣΤΟΛΗΣ
================================================================ */
.widget_aftership {
  margin-bottom: 28px;
}

.widget_aftership .widget-title {
  color: #222;
}

.as-track-button {
  margin-top: 8px;
}

._poweredBy_sgm6c_1 {
  font-size: 11px;
  color: #999;
  margin-top: 4px;
  display: block;
}

/* ================================================================
   Responsive
================================================================ */
@media (max-width: 980px) {
  .widget-area {
    float: none;
    width: 100%;
    padding: 15px 0;
    border-top: 1px solid #2e2e2e;
  }

  .content-area {
    float: none;
    width: 100%;
  }

  .widget {
    margin-bottom: 24px;
  }

  .widget-title::after {
    width: 22px;
  }
}
/* ==============================================================
   Μαύρη γραμμή κάτω από το navigation (όπως στο original)
=============================================================== */
.page-header-line {
  width: 100%;
  height: 5px;
  background-color: #004a80; /* μαύρο-μπλε όπως το original theme */
  border-top: 1px solid #1a9ee8; /* προαιρετικά για πιο original αίσθηση */
  margin-bottom: 20px;
}
/* ==============================================================
   SHIPPING PAGE - Οπτική ταύτιση με original NickMusic.gr
=============================================================== */
.shipping-page .page-title {
  font-size: 20px;
  font-weight: 600;
  color: #222;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
  padding: 12px 0 8px 10px;
}

/* Κύριο τμήμα */
.shipping-section {
  font-family: 'Pontano Sans', sans-serif;
  color: #333;
  font-size: 15px;
  line-height: 1.65;
  padding: 0 15px 15px 15px;
}

/* Εισαγωγική παράγραφος */
.shipping-section .pickup-info {
  color: #007acc;
  font-weight: 500;
  font-size: 15px;
  text-align: center;
  margin: 10px 0 25px 0;
}

/* Μπλοκ καταστήματος */
.shipping-section .store-info {
  border: none; /* ✅ αφαιρούμε το top/bottom border, γιατί έχουμε γραμμές ξεχωριστά */
  padding: 12px 15px 15px 15px;
  margin-bottom: 10px;
  line-height: 1.7;
}

.shipping-section .store-info a {
  color: #007acc;
  text-decoration: none;
}

.shipping-section .store-info a:hover {
  text-decoration: underline;
}

/* Τίτλος “Αποστολές προϊόντων” */
.shipping-section h2 {
  font-size: 16px;
  color: #007acc;
  font-weight: 600;
  text-align: center;
  margin-top: 25px;
  margin-bottom: 20px;
}

/* Υπότιτλοι (ΕΛΤΑ, Κύπρος, Ευρώπη κ.λπ.) */
.shipping-section h3 {
  font-size: 15.5px;
  color: #007acc;
  font-weight: 600;
  margin-top: 18px;
  margin-bottom: 6px;
}

/* Κείμενα */
.shipping-section p {
  margin: 0 0 10px 0;
  line-height: 1.7;
}

/* ✅ Οριζόντιες πορτοκαλί γραμμές (όπως στο original WordPress) */
.shipping-divider {
  border: none;
  border-top: 2px solid #f68c1f;
  margin: 18px 0;
}

/* Responsive */
@media (max-width: 980px) {
  .shipping-page .page-title {
    font-size: 18px;
    text-align: center;
    padding-left: 0;
  }

  .shipping-section {
    padding: 0 5px 10px 5px;
  }

  .shipping-section h2 {
    font-size: 15px;
  }

  .shipping-section h3 {
    font-size: 14.5px;
  }
}
/* ==============================================================
   PAYMENT PAGE - Οπτική ταύτιση με original NickMusic.gr
=============================================================== */
.payment-page .page-title {
  font-size: 20px;
  font-weight: 600;
  color: #222;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0;
  padding: 12px 0 8px 10px;
}
/* Κύριο περιεχόμενο */
.payment-section {
  font-family: 'Pontano Sans', sans-serif;
  color: #333;
  font-size: 15px;
  line-height: 1.65;
  padding: 0 15px 15px 15px;
}

/* Εισαγωγικό κείμενο */
.payment-section .payment-intro {
  color: #007acc;
  font-weight: 500;
  text-align: center;
  font-size: 15px;
  margin: 10px 0 25px 0;
}

/* Κεφαλίδες */
.payment-section h3 {
  font-size: 15.5px;
  color: #007acc;
  font-weight: 600;
  margin-top: 18px;
  margin-bottom: 8px;
}

/* Παράγραφοι */
.payment-section p {
  margin: 0 0 10px 0;
  line-height: 1.7;
}

/* Ειδική παράγραφος για σημείωση */
.payment-section .note {
  font-size: 14px;
  color: #b33;
  line-height: 1.5;
}

/* Οριζόντιες πορτοκαλί γραμμές */
.payment-divider {
  border: none;
  border-top: 2px solid #f68c1f;
  margin: 18px 0;
}

/* Responsive */
@media (max-width: 980px) {
  .payment-page .page-title {
    font-size: 18px;
    text-align: center;
    padding-left: 0;
  }

  .payment-section {
    padding: 0 5px 10px 5px;
  }

  .payment-section h3 {
    font-size: 14.5px;
  }
}
/* ==============================================================
   CONTACT PAGE — Όμοιο με το original WordPress contact
============================================================== */

.contact-page .page-title {
  font-size: 20px;
  font-weight: 600;
  color: #222;
  text-transform: uppercase;
  margin: 0 0 15px 0;
  padding-left: 10px;
  border-bottom: 1px solid #ccc;
}

.contact-section {
  font-family: 'Pontano Sans', sans-serif;
  font-size: 15px;
  color: #333;
  padding: 10px;
}

/* Labels */
.contact-form label {
  font-size: 15px;
  font-weight: 500;
  display: block;
  margin: 10px 0 5px 0;
  color: #333;
}

/* Inputs – ίδιο style με το original */
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form input[type="password"],
.contact-form input[type="search"] {
  width: 25%;              /* <<< στενά, όπως στο original */
  box-sizing: border-box;
  padding: 7px 10px;
  border: 1px solid #1fa3e5;
  border-radius: 2px;
  font-size: 15px;
  outline: none;
  margin-bottom: 8px;
}

/* Textarea – full width όπως στο original WP */
.contact-form textarea {
  width: 100%;             /* <<< αυτό είναι το σωστό */
  min-height: 220px;       /* ίδιο ύψος με WP */
  resize: vertical;        /* scroll όχι resize horizontal */
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid #1fa3e5;
  border-radius: 2px;
  font-size: 15px;
  outline: none;
}

/* Submit button */
.contact-submit {
  background: #007acc;
  color: #fff;
  border: none;
  padding: 8px 22px;
  font-size: 15px;
  cursor: pointer;
  border-radius: 2px;
  margin-top: 10px;
}

.contact-submit:hover {
  background: #005da3;
}

.contact-page .page-title {
    text-align: left;
    padding-left: 10px;  /* ίδιο με τα input fields */
	margin-left: 0 !important;
  }

  /* ========================= */
/* CONTACT FORM MESSAGES     */
/* ========================= */
.contact-form-msg {
  margin: 0 0 15px 0;
  padding: 10px 12px;
  border-radius: 2px;
  font-size: 14px;
  font-weight: 600;
  max-width: 100%;
  box-sizing: border-box;
}

/* Success */
.contact-form-msg.ok {
  background: #e9f8ee;
  color: #1d6f42;
  border: 1px solid #b7dfc4;
}

/* Error */
.contact-form-msg.error {
  background: #fff1f1;
  color: #b42318;
  border: 1px solid #f1b0b7;
}

.contact-form-msg {
  width: fit-content;
  min-width: 25%;
}

/* Responsive */
@media (max-width: 980px) {
  .contact-form input[type="text"],
  .contact-form input[type="email"],
  .contact-form input[type="tel"],
  .contact-form input[type="password"],
  .contact-form input[type="search"],
  .contact-form textarea {
    width: 100% !important;
  }
}
/* Partner link container */
.footer-partner-box {
  margin-top: 20px;
  text-align: center;
}

/* Partner link */
.footer-partner-box .footer-link-partner {
  color: #ffffff !important;
  font-size: 16px;
  text-decoration: none !important;
}

/* Hover */
.footer-partner-box .footer-link-partner:hover {
  color: #1fa3e5 !important;
  text-decoration: underline !important;
}

/* Partners Page */
.partners-page .page-title {
    font-size: 28px;
    font-weight: bold;
    color: #333;
    margin: 25px 0;
}

.partners-intro {
    text-align: center;
    color: #0072bc;
    font-size: 18px;
    margin-bottom: 30px;
}

.partners-divider {
    border: none;
    border-top: 3px solid #f88c26;
    margin: 25px 0;
}

.partner-box h3 {
    color: #0072bc;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

.partner-box p {
    font-size: 16px;
    color: #333;
    line-height: 1.7;
}

/* Downloads Page */
.downloads-page .page-title {
    font-size: 28px;
    font-weight: bold;
    color: #333;
    margin: 0 0 25px 0;
    padding-bottom: 10px;
}

.downloads-coming-soon {
    font-size: 18px;
    color: #444;
    text-align: center;
    margin-top: 40px;
}
/* Authors Page */
.authors-page .page-title {
    font-size: 28px;
    font-weight: bold;
    color: #333333;     /* original black */
    margin: 25px 0;
    text-transform: uppercase;
}

.authors-list {
    margin-top: 30px;
}

.author-item {
    font-size: 18px;
    margin-bottom: 20px;
}

.author-item a {
    color: #0072bc;
    font-weight: bold;
    text-decoration: none;
}

.author-item a:hover {
    text-decoration: underline;
}
/* Instructions & Videos Page */
.instructions-page .page-title {
    color: #222;
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 25px;
}

.instructions-page .instr-category {
    font-size: 18px;
    font-weight: bold;
    color: #777;
    margin: 30px 0 10px 0;
}

.instructions-page .instr-item a {
    color: #0072bc !important;
    font-size: 16px;
    text-decoration: none;
}

.instructions-page .instr-item a:hover {
    text-decoration: underline;
}

.instructions-page .videos-coming-soon {
    color: #444;
    font-size: 16px;
    margin-top: 10px;
}
/* ========================== */
/*   ABOUT PAGE — CUSTOM CSS  */
/* ========================== */

.about-page .page-title {
    font-size: 36px;
    color: #333333;         /* Μαύρο τίτλου όπως original */
    margin-top: 10px;
    margin-bottom: 10px;
    font-weight: bold;
}

/* Υπότιτλος κάτω από τον τίτλο */
.about-page h2 {
    color: #0072bc;
    font-size: 20px;
    margin-top: 10px;
    margin-bottom: 25px;
	text-decoration: none !important;
}

/* Κείμενο About */
.about-page .about-text {
    color: #333;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 25px;
}

/* Links μέσα στο about-text */
.about-page .about-text a {
    color: #0072bc;
    font-weight: bold;
    text-decoration: none;
}

.about-page .about-text a:hover {
    text-decoration: underline;
}

/* Κάτω ενότητα με τα τρία links */
.about-page .about-links p {
    margin-bottom: 15px;
}

.about-page .about-links a {
    color: #0072bc;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
}

.about-page .about-links a:hover {
    text-decoration: underline;
}
/* FREE PAGE – Styling */
.free-page .page-title {
    font-size: 36px;
    font-weight: bold;
    color: #333;
    margin-bottom: 40px;
}

/* GRID */
.free-items {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 180px;
    margin-top: 60px;
}

/* Κάθε box */
.free-box {
    text-align: center;
    width: 260px;
    text-decoration: none;
}

/* Μπλε γραμμή πάνω και κάτω */
.free-box .line-top,
.free-box .line-bottom {
    width: 260px;
    height: 4px;
    background-color: #1e73be;  /* ORIGINAL BLUE */
    margin: 10px auto;
}

/* ΕΙΚΟΝΑ */
.free-box img {
    width: 260px;
    height: auto;
    display: block;
    margin: 10px auto;
}

/* ΚΕΙΜΕΝΟ ΚΑΤΩ ΑΠΟ ΤΗ ΦΩΤΟ – ΜΑΥΡΟ */
.free-box-title {
    font-size: 17px;
    font-weight: bold;
    color: #333;  /* ΜΑΥΡΟ */
    text-decoration: none;
    margin-top: 10px;
}

/* RESPONSIVE */
@media(max-width: 900px){
    .free-items {
        flex-direction: column;
        gap: 60px;
    }
}
/* SCORES PAGE */
.scores-page .page-title {
    font-size: 32px;
    font-weight: bold;
    color: #333;          /* μαύρο όπως στις άλλες */
    margin-bottom: 30px;
}

.scores-coming-soon {
    font-size: 16px;
    color: #333;
}
/* FREEBOOKS PAGE */

/* Τίτλος */
.freebooks-title {
    color: #222;       /* Μαύρο */
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 25px;
}

/* Πορτοκαλί γραμμές πάνω/κάτω */
.orange-line {
    width: 100%;
    height: 3px;
    background-color: #FF8600;
    margin: 25px 0;
}

/* Κεντρικό μήνυμα */
.freebook-message {
    text-align: center;
    color: #0073C8;    /* Μπλε */
    font-size: 16px;
    margin-bottom: 40px;
}

/* Links αριστερά */
.freebook-list {
    margin-left: 30px;
}

.freebook-list a {
    display: block;
    color: #0073C8;    /* Μπλε */
    font-size: 16px;
    margin-bottom: 18px;
    text-decoration: none;
}

.freebook-list a:hover {
    text-decoration: underline;
}
/* MEDIA PAGE */
.media-title {
    font-size: 36px;
    font-weight: bold;
    color: #000;
    margin-bottom: 40px;
}

.media-grid {
    display: flex;
    justify-content: center;
    gap: 150px;
    margin-top: 40px;
}

.media-item {
    text-align: center;
}

/* Εικόνα + μπλε γραμμές */
.media-img-box {
    width: 260px;
    margin: 0 auto;
    position: relative;
}

.media-img-box::before,
.media-img-box::after {
    content: "";
    display: block;
    width: 260px;
    height: 3px;
    background: #0078d7; /* Μπλε γραμμή */
    margin: 0 auto 10px auto;
}

.media-img-box::after {
    margin: 10px auto 0 auto;
}

.media-img-box img {
    width: 260px;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Κείμενο κάτω από τις εικόνες */
.media-label {
    margin-top: 12px;
    font-size: 18px;
    color: #000;  /* Μαύρο όπως original */
    font-weight: bold;
}

/* Responsive */
@media (max-width: 900px) {
    .media-grid {
        flex-direction: column;
        gap: 60px;
    }
}
/* YOUTUBE PAGE */
.youtube-title {
    font-size: 36px;
    font-weight: bold;
    color: #000;
    margin-bottom: 10px;
}

/* Μπλε γραμμή κάτω από τον τίτλο */
.youtube-blue-line {
    width: 100%;
    height: 2px;
    background-color: #0078d7; /* ίδιο μπλε με όλες τις σελίδες */
    margin-bottom: 40px;
}

.youtube-message {
    font-size: 20px;
    color: #333;
    margin-top: 10px;
}
/* -------------------------------
   RECORDING PAGE
-------------------------------- */

.recording-page .recording-title {
    font-size: 34px;
    font-weight: bold;
    color: #000;
    margin-bottom: 30px;
}

.recording-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 150px;
    margin-top: 40px;
}

.rec-item {
    text-align: center;
    width: 360px;
}

.rec-img {
    width: 360px;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* Μπλε γραμμές πάνω/κάτω */
.rec-line {
    width: 360px;
    height: 3px;
    background-color: #0078d7;
    margin: 0 auto;
}

/* Λεζάντες */
.rec-label {
    margin-top: 12px;
    font-size: 18px;
    color: #000;
    font-weight: 500;
}

/* Responsive */
@media (max-width: 1000px) {
    .recording-wrap {
        flex-direction: column;
        gap: 60px;
    }
}
/* CINEAPOLIS FILM PAGE */
.cineapolis-title {
    font-size: 36px;
    font-weight: bold;
    color: #000;
    margin-bottom: 10px;
}

/* Μπλε γραμμή κάτω από τον τίτλο */
.cineapolis-blue-line {
    width: 100%;
    height: 2px;
    background-color: #0078d7; /* ίδιο μπλε */
    margin-bottom: 40px;
}

.cineapolis-message {
    font-size: 20px;
    color: #333;
    margin-top: 10px;
}
/* -------------------------------------- */
/*  REVIEWS PAGE                          */
/* -------------------------------------- */

.reviews-title {
    font-size: 30px;
    font-weight: 800;
    color: #000;
    margin-bottom: 25px;
    text-align: left;
}

.reviews-line-strong {
    width: 100%;
    height: 4px;
    background-color: #f28d24;
    margin-bottom: 40px;
}

.reviews-line-thin {
    width: 100%;
    height: 2px;
    background-color: #f28d24;
    margin: 40px 0;
}

.review-block {
    max-width: 1100px;
}

.review-name {
    font-size: 22px;
    font-weight: 700;
    color: #0099cc;
    margin-bottom: 5px;
}

.review-title {
    color: #0099cc;
    font-size: 16px;
    margin-bottom: 15px;
    line-height: 1.5;
}

.review-text {
    color: #b12a5b;
    font-size: 17px;
    line-height: 1.65;
    margin-bottom: 10px;
    max-width: 1100px;
}
/* -------------------------------------------------- */
/* INSTRUCTIONS PAGE                                  */
/* -------------------------------------------------- */

.instructions-title {
    font-size: 36px;
    font-weight: 800;
    color: #000;
    margin-bottom: 15px;
}

.instructions-blue-line {
    width: 100%;
    height: 2px;
    background-color: #0078d7;
    margin-bottom: 40px;
}

.instructions-section-title {
    font-size: 20px;
    font-weight: bold;
    color: #000;
    margin-bottom: 10px;
}

.instructions-pdf-link a {
    font-size: 18px;
    color: #0078d7;
    text-decoration: none;
}

.instructions-pdf-link a:hover {
    text-decoration: underline;
}

.instructions-coming {
    font-size: 18px;
    color: #333;
    margin-top: 5px;
}
/* -------------------------------------------------- */
/* SPACE QUESTIONS PAGE                               */
/* -------------------------------------------------- */

.spaceq-title {
    font-size: 36px;
    font-weight: 800;
    color: #000;
    margin-bottom: 15px;
}

.spaceq-blue-line {
    width: 100%;
    height: 2px;
    background-color: #0078d7;
    margin-bottom: 40px;
}

.spaceq-description {
    font-size: 18px;
    color: #333;
    margin-bottom: 35px;
}

.spaceq-subtitle {
    font-size: 20px;
    font-weight: bold;
    color: #000;
    margin-bottom: 12px;
}

.spaceq-form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.spaceq-input {
    border: 2px solid #0099cc !important;
    padding: 8px 12px;
    font-size: 16px;
    border-radius: 4px;
    outline: none;
    width: 260px;
    color: #444;
}

/* Για να μην αλλάζει στο focus */
.space-input:focus {
    border-color: #0099cc !important;
    box-shadow: none !important;
}

.spaceq-button {
    background-color: #0078d7;
    color: #fff;
    padding: 8px 18px;
    border: none;
    font-size: 15px;
    cursor: pointer;
    border-radius: 3px;
}

.spaceq-button:hover {
    background-color: #005fae;
}

.spaceq-error {
    color: #ff0000;
    font-weight: bold;
    margin-left: 10px;
    font-size: 15px;
}

/* ============================== */
/*  SPREC DOWNLOADS PAGE          */
/* ============================== */

.sprec-title {
    font-size: 32px;
    font-weight: 800;
    color: #000;
    margin-bottom: 15px;
}

.sprec-blue-line {
    width: 100%;
    height: 2px;
    background-color: #0078d7;
    margin-bottom: 35px;
}

.sprec-message {
    font-size: 18px;
    color: #333;
    margin-bottom: 25px;
}

/* =============================== */
/*  SPREC DOWNLOADS — ΛΗΨΕΙΣ      */
/* =============================== */

.sprec-title {
    font-size: 32px;
    font-weight: 800;
    color: #000;
    margin-bottom: 12px;
}

.sprec-blue-line {
    width: 100%;
    height: 2px;
    background-color: #00aeff;
    margin-bottom: 25px;
}

.sprec-message {
    font-size: 17px;
    color: #333;
    margin-bottom: 25px;
}

/* Wrapper για όλα τα CDs */
.sprec-downloads-wrapper {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* Κάθε CD row */
.sprec-item {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 14px 0;
    border-bottom: 1px solid #e8e8e8;
}

/* Αριστερά: εξώφυλλο CD */
.sprec-item-left img {
    max-width: 210px;
    height: auto;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

/* Δεξιά: κουμπί */
.sprec-item-right {
    flex: 1;
    display: flex;
    justify-content: flex-end;   /* ➜ πάει ΔΕΞΙΑ */
    align-items: center;
}

/* Κουμπί download (link) */
.sprec-download-btn {
    display: inline-block;
    padding: 12px 26px;
    background-color: #00aeff;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border-radius: 4px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.1s ease;
}

.sprec-download-btn:hover {
    background-color: #000;
    color: #fff;
}

/* Κατάσταση active / το κουμπί που πατήθηκε */
.sprec-download-btn-active {
    transform: translateY(1px);
}

/* Κουμπιά που κλειδώνουν μετά το πρώτο download */
.sprec-download-btn-disabled {
    background-color: #cccccc !important;
    color: #666 !important;
    cursor: default !important;
}

/* Responsive: στο κινητό η εικόνα πάνω, το κουμπί κάτω */
@media (max-width: 768px) {
    .sprec-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .sprec-item-left img {
        max-width: 100%;
    }

    .sprec-item-right {
        justify-content: flex-start; /* στο κινητό πάει κάτω από την εικόνα */
        width: 100%;
    }
}

/* ============================
   LINKS PAGE (links.php)
   ============================ */

.links-orange-line {
    width: 100%;
    height: 3px;
    background-color: #FF8600;
    margin: 25px 0;
}

/* Τίτλοι κατηγοριών */
.links-category {
    color: #04a9e0;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

/* Ροζ links */
.links-item a,
.links-final {
    color: #993366;
    font-size: 17px;
    text-decoration: none;
}

.links-item a:hover,
.links-final:hover {
    text-decoration: underline;
}

/* ===== 2-Column Layout  ===== */
.links-row {
    display: flex;
    flex-direction: row;
    gap: 140px;   /* Ακριβώς όπως στο original */
    margin-bottom: 10px;
}

.links-col {
    min-width: 320px;
}

/* Mobile */
@media (max-width: 900px) {
    .links-row {
        flex-direction: column;
        gap: 30px;
    }
}

/* ===== EXAMS PAGE ===== */

.exams-page {
    background: #ffffff;
}

.exams-title {
    font-size: 28px;
    font-weight: 700;
    color: #222;
    margin: 20px 0 25px;
}
/* ====== ΕΞΕΤΑΣΕΙΣ GRID ====== */
.exams-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 0px;
}

.exam-table-box {
    background: #fff;
    border: 1px solid #ddd;
    padding: 15px;
}

.exam-table-title {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    margin-bottom: 15px;
    text-align: center;
}

/* ====== ΠΙΝΑΚΕΣ ====== */
.exam-table {
    width: 100%;
    border-collapse: collapse;
}

.exam-table th {
    background: #f2f2f2;
    padding: 10px;
    border: 1px solid #ddd;
    font-weight: 600;
    text-align: center;
    color: #333;
}

.exam-table td {
    padding: 8px;
    border: 1px solid #ddd;
    text-align: center;
}

.exam-table a {
    color: #0066cc;
    text-decoration: none;
}

.exam-table a:hover {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 900px) {
    .exams-grid {
        grid-template-columns: 1fr;
    }
}

/* === Header block πάνω από τους πίνακες === */
.exam-header-box {
    background: #f9a825;
    padding: 12px 10px;
    text-align: center;
    margin-bottom: 0px !important; 
    border-bottom: 3px solid #c69200;
}

.exam-header-title {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    letter-spacing: 1px;
}

.exam-header-subtitle {
    font-size: 16px;
    color: #333;
    margin-top: 3px;
    font-weight: 600;
}
/* === Header block (2 γραμμές) === */
.exam-header-box-2 {
    background: #f9a825;
    padding: 18px 10px;
    text-align: center;
    border-bottom: 3px solid #c69200;
    margin: 0 !important; /* κολλάει πάνω-κάτω */
}

.exam-header-line {
    color: #333;
    font-weight: 700;
    margin: 5px 0;
}

/* Μεγέθη γραμματοσειράς */
.exam-header-line:first-child {
    font-size: 20px;  /* μεγάλη γραμμή */
}

.exam-header-line:last-child {
    font-size: 16px;  /* λίγο μικρότερη γραμμή */
}
/* === Header Block 3 (Μπλε) === */
.exam-header-box-3 {
    background: #1a9ee8;        /* μπλε original */
    padding: 18px 10px;
    text-align: center;
    margin: 0 !important;       /* ΚΑΘΟΛΟΥ κενό από πάνω/κάτω */
    border-bottom: 3px solid #0076b8; /* πιο σκούρα λεπτή γραμμή */
}

.exam-header3-line1,
.exam-header3-line2 {
    color: #333;
    font-weight: 700;
    margin: 3px 0;
}

.exam-header3-line1 {
    font-size: 20px;
}

.exam-header3-line2 {
    font-size: 18px;
}

/* Grid για τα έτη 2005–2022 */
.exam-years-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    background: #fff;
}

.exam-years-table td {
    border: 1px solid #ddd;
    padding: 12px 0;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
}

.exam-years-table a {
    color: #0078d7;
    text-decoration: none;
}

.exam-years-table a:hover {
    text-decoration: underline;
}

/* === Header Block 4 === */
.exam-header-box-4 {
    background: #f9a825;
    padding: 20px 10px;
    text-align: center;
    margin: 0 !important;          /* Κολλημένο από πάνω και κάτω */
    border-bottom: 3px solid #c69200;
}

.exam-header4-line1,
.exam-header4-line2,
.exam-header4-line3 {
    color: #333;
    font-weight: 700;
    margin: 4px 0;
}

.exam-header4-line1 {
    font-size: 20px;
}

.exam-header4-line2 {
    font-size: 18px;
}

.exam-header4-line3 {
    font-size: 16px;
    font-weight: 600;
}

/* === Header Block 5 (Μουσική Γνώση & Αντίληψη) === */
.exam-header-box-5 {
    background: #1ba3ea;     /* Ακριβές μπλε του δείγματος */
    color: #333;             /* Σκούρο γκρι κείμενο */
    padding: 25px 10px;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    margin: 0 !important;    /* Κολλημένο από πάνω και κάτω */
    border-bottom: 3px solid #128ac4; /* Σκιά όπως στα άλλα blocks */
}

/* =============================== */
/*     Πίνακας Μουσικής Γνώσης     */
/* =============================== */

.exam-table-wrapper {
    width: 100%;
    overflow-x: auto;
    margin-top: 0;
    margin-bottom: 40px;
}

.exam-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    text-align: center;
}

.exam-table thead th {
    background: #f3f3f3;
    font-weight: 700;
    color: #333;
    padding: 12px 8px;
    border: 1px solid #dcdcdc;
}

.exam-table tbody td {
    background: #fff;
    padding: 12px 8px;
    border: 1px solid #e1e1e1;
}

.exam-table tbody a {
    color: #007bff;
    text-decoration: none;
}

.exam-table tbody a:hover {
    text-decoration: underline;
}

/* Παύλες που δεν είναι link */
.exam-table .dash {
    color: #000;
    font-size: 18px;
    font-weight: 600;
}

/* =============================== */
/*           E-BOOKS PAGE          */
/* =============================== */

/* Τίτλος */
.ebooks-title {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    letter-spacing: 2px;
    margin-top: 30px;
    margin-bottom: 20px;
}

/* Κείμενο εμφανιζόμενων αποτελεσμάτων */
.ebooks-results {
    font-size: 15px;
    margin-bottom: 25px;
    color: #7b7b7b;
}

/* --- GRID LAYOUT (3 books per row) --- */
.ebooks-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-bottom: 60px;
}

@media(max-width: 900px) {
    .ebooks-grid {
        grid-template-columns: 1fr;
    }
}

/* --- BOOK ITEM --- */
.ebook-item {
    background: #ffffff;
    border: 1px solid #e6e6e6;
    padding: 0; /* ΠΟΛΥ ΣΗΜΑΝΤΙΚΟ - όπως στο WooCommerce */
    transition: 0.3s;
    text-align: center;
}

/* Hover border μόνο (όχι σκιά) */
.ebook-item:hover {
    border-color: #00aeff;
}

/* --- IMAGE WRAPPER --- */
.ebook-img-wrapper {
    position: relative;
    border-bottom: 1px solid #e6e6e6;
    overflow: visible ;
}

.ebook-img-wrapper img {
    width: 100%;
    display: block;
    transition: 0.3s;
}

/* --- PDF BADGE πάνω δεξιά --- */
.pdf-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #ff1a1a;
    color: white;
    padding: 6px 14px;
    font-size: 13px;
    border-radius: 6px;
    font-weight: 700;
    z-index: 9999;    /* ΤΟ ΛΥΝΕΙ */
    pointer-events: none; /* ΓΙΑ ΝΑ ΜΗΝ ΕΞΑΦΑΝΙΖΕΤΑΙ ΣΤΟ HOVER */
}

/* --- TITLE --- */
.ebook-title {
    font-size: 15px;
    font-weight: 600;
    margin-top: 18px;
    margin-bottom: 6px;
    color: #333;
}

/* --- PRICE --- */
.ebook-price {
    font-size: 17px;
    font-weight: 700;
    color: #00aeff;
    margin-bottom: 14px;
}

/* === BUTTON (WooCommerce replica) === */
.ebook-item {
    background: #ffffff;
    border: 1px solid #dcdcdc;
    padding: 0;
    text-align: center;
    position: relative;
    padding-bottom: 25px; /* χώρος για το κουμπί που εξέχει */
}

/* Το κουμπί “κρεμάει” πάνω στην κάτω γραμμή */
.ebook-btn {
    position: absolute;
    left: 50%;
    bottom: -20px;              /* ΜΙΣΟ κουμπί έξω από το box */
    transform: translateX(-50%);
    
    background: #ffffff;
    color: #333;
    padding: 12px 28px;
    border: 1px solid #cccccc;
    border-radius: 6px;
    text-decoration: none;
    
    font-size: 16px;
    font-weight: 600;
    
    box-shadow: 0 3px 12px rgba(0,0,0,0.12);
    transition: 0.25s ease;
    z-index: 5; /* για να περνάει πάνω από το border */
}

.ebook-btn:hover {
    background: #00aeff;
    color: #ffffff;
    border-color: #00aeff;
}

/* Hover του κουμπιού όταν το mouse είναι πάνω στη φωτογραφία / item */
.ebook-item:hover .ebook-btn {
    background: #00aeff;
    color: #ffffff;
    border-color: #00aeff;
}

/* Για να φαίνεται η κάτω γραμμή πίσω από το κουμπί */
.ebook-item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #dcdcdc;
    z-index: 1;
}

/* === PRODUCT PAGE LAYOUT === */
.product-container {
    display: grid;
    grid-template-columns: 1fr 0.9fr;
    gap: 70px;
    margin-top: 40px;
}

/* LEFT COLUMN TITLE */
.product-left .product-title {
    font-size: 25px;
    font-weight: 600;
    margin-bottom: 18px;
    color: #333;
}

/* PDF PREVIEW */
.pdf-frame {
    width: 100%;
    height: 760px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

/* === RIGHT COLUMN (AUTONOMOUS) === */
.product-right {
    margin-top: 70px;              /* ΑΥΤΟ ΦΕΡΝΕΙ ΤΟΝ TITLO ΣΤΗΝ ΣΩΣΤΗ ΘΕΣΗ */
    color: #333;                    /* ΣΤΑΜΑΤΑΕΙ ΤΗΝ ΚΛΗΡΟΝΟΜΗΣΗ ΑΠΟ GLOBAL */
}

/* RIGHT COLUMN TITLE */
.product-title-right {
    font-size: 27px;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.3;
    color: #333;
}

/* PRICE */
.product-price {
    font-size: 30px;
    font-weight: 700;
    color: #00aeff;
    margin-bottom: 22px;
}

/* META LINES (WooCommerce style) */
.meta-line {
    font-size: 17px;
    color: #444;
    margin-bottom: 12px;
}

.meta-line strong {
    font-weight: 700;
    color: #222;          /* ώστε να φαίνονται τα labels */
}

.meta-line a {
    color: #00aeff;
    text-decoration: none;
}

.meta-line a:hover {
    text-decoration: underline;
}

/* BUY BUTTON */
.product-buy-btn {
    display: inline-block;
    margin-top: 25px;
    padding: 14px 28px;
    background: #00aeff;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none;
    transition: 0.3s;
}

.product-buy-btn:hover {
    background: #008bd1;
}

.product-meta-extra {
    margin-top: 25px;
    font-size: 14px;
    color: #666;
}

/* === OUTER WRAPPER (align with PDF container) === */
.woo-tabs-outer {
    margin-top: -20px;        /* Απόσταση από PDF */
    width: 100%;
    padding-left: 50px;
    padding-right: 50px;
}

/* === INNER WRAPPER === */
.woo-tabs-wrapper {
    width: 100%;
}

/* === Tabs list === */
.woo-tabs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 10px;
}

/* === Tab item === */
.woo-tabs li {
    padding: 10px 18px;
    cursor: pointer;
    font-size: 16px;
    border-radius: 4px 4px 0 0;
    background: #222;      /* ΜΑΥΡΟ */
    color: #fff;           /* ΑΣΠΡΑ ΓΡΑΜΜΑΤΑ */
    border: 1px solid #000;
}

/* === Active Tab === */
.woo-tabs li.active {
    background: #00aeff !important;   /* ΜΠΛΕ */
    color: #fff !important;           /* ΑΣΠΡΟ */
    border-color: #00aeff !important;
}

/* === Blue underline === */
.woo-tabs-line {
    width: 100%;
    height: 2px;              /* όπως WooCommerce */
    background: #00aeff;
    margin-top: 20px;         /* κολλάει σωστά κάτω από tabs */
    margin-bottom: -15px;
}

/* === Tab Content === */
.woo-tab-content {
    display: none;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    padding-top: 10px;
}

.woo-tab-content.active {
    display: block;
}

/* ---------------------- */
/*      REVIEW FIELDS     */
/* ---------------------- */

.wc-input {
    width: 100%;
    padding: 12px;
    border: 1px solid #1e85be !important;   /* ΜΟΝΙΜΟ ΜΠΛΕ border */
    border-radius: 4px;
    margin-bottom: 15px;
    font-size: 16px;
    cursor: text;                            /* text cursor */
    outline: none !important;                /* no highlight */
    box-shadow: none !important;             /* no blue glow */
}

/* ΚΑΝΕΝΑ hover / focus — ΜΕΝΕΙ ΤΟ ΜΠΛΕ ΠΑΝΤΑ */
.wc-input:hover,
.wc-input:focus,
.wc-input:active {
    border: 1px solid #1e85be !important;
    box-shadow: none !important;
    outline: none !important;
}

/* ---------------------- */
/*      STAR RATING       */
/* ---------------------- */

.wc-stars {
    font-size: 28px;
    cursor: pointer;
    margin-bottom: 12px;
}

.wc-stars span {
    color: #d6d6d6;      /* inactive */
    transition: color 0.2s;
}

.wc-stars span.hover,
.wc-stars span.active {
    color: #ffcc00;      /* gold */
}

/* ---------------------- */
/*   SUBMIT BUTTON        */
/* ---------------------- */

.wc-submit {
    background: #1e85be;
    color: #fff;
    padding: 12px 24px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
}

.wc-submit:hover {
    background: #000;
}

/* ---------------------- */
/*      TABS COLORS       */
/* ---------------------- */

.woo-tab {
    background: #333;
    color: #fff !important;
    border-color: #333;
}

.woo-tab.active {
    background: #00aeff !important;
    color: #fff !important;
    border-color: #00aeff !important;
}

/* WooCommerce blue underline */
.woo-tabs-line {
    height: 2px;
    background: #00aeff;
    margin-top: 20px;
    margin-bottom: -10px;
}

/* ---------------------- */
/*       CHECKBOX         */
/* ---------------------- */

.wc-remember-wrap {
    margin-top: 10px;
    margin-bottom: 15px;
    font-size: 15px;
    color: #333;
}

.wc-checkbox {
    width: 16px;
    height: 16px;
    margin-right: 6px;
    cursor: pointer;
}

/* ---------------------- */
/*        CAPTCHA         */
/* ---------------------- */

.wc-captcha-label {
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 15px;
}

.wc-captcha {
    font-size: 15px;
    margin-bottom: 20px;
}

.wc-captcha strong {
    font-weight: bold;
}

.wc-captcha-input {
    width: 60px;
    padding: 6px;
    margin-left: 6px;
    border: 1px solid #1e85be;   /* ΜΠΛΕ border */
    border-radius: 4px;
    font-size: 16px;
    outline: none;
}

.wc-captcha-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

#captcha-status {
    font-size: 15px;
    font-weight: bold;
}

#captcha-status.ok {
    color: green;
}

#captcha-status.error {
    color: red;
}

/* =============================== */
/*      RELATED PRODUCTS BLOCK     */
/* =============================== */

.related-wrapper {
    margin-top: -20px;
    margin-bottom: 50px;
    width: 100%;
    padding-left: 50px;
    padding-right: 50px;
}

.related-title {
    font-size: 26px;
    font-weight: 700;
    color: #333;
    margin-bottom: 30px;
}

/* GRID: 3 προϊόντα */
.related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

@media (max-width: 900px) {
    .related-grid {
        grid-template-columns: 1fr;
    }
}

/* Item Box */
.related-item {
    background: #ffffff;
    border: 1px solid #dcdcdc;
    position: relative;
    text-align: center;
    padding-bottom: 25px;
    transition: 0.3s;
}

.related-item:hover {
    border-color: #00aeff;
}

/* Image wrapper */
.related-img-wrapper {
    border-bottom: 1px solid #e6e6e6;
    position: relative;
}

.related-img-wrapper img {
    width: 100%;
    display: block;
}

/* PDF Badge */
.pdf-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #ff1a1a;
    color: #fff;
    padding: 6px 14px;
    font-size: 13px;
    border-radius: 6px;
    font-weight: 700;
    pointer-events: none;
}

/* Titles & Prices */
.related-name {
    font-size: 15px;
    font-weight: 600;
    margin-top: 18px;
    margin-bottom: 6px;
    color: #333;
}

.related-price {
    font-size: 17px;
    font-weight: 700;
    color: #00aeff;
    margin-bottom: 14px;
}

/* Button */
.related-btn {
    position: absolute;
    left: 50%;
    bottom: -20px;
    transform: translateX(-50%);

    background: #ffffff;
    color: #333;
    padding: 12px 28px;
    border: 1px solid #cccccc;
    border-radius: 6px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;

    box-shadow: 0 3px 12px rgba(0,0,0,0.12);
    transition: 0.25s ease;
    z-index: 10;
}

.related-btn:hover,
.related-item:hover .related-btn {
    background: #00aeff;
    color: #ffffff;
    border-color: #00aeff;
}

/* Underline behind button */
.related-item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #dcdcdc;
    z-index: 1;
}

/* =============================== */
/*        EBOOK REVIEWS LIST       */
/* =============================== */

.nm-reviews-list {
    margin: 10px 0 25px 0;
}

.nm-review-item {
    padding: 14px 0;
    border-bottom: 1px solid #e8e8e8;
}

.nm-review-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
}

.nm-review-name {
    color: #222;
}

.nm-review-date {
    color: #666;
    font-size: 14px;
}

.nm-review-stars span {
    font-size: 18px;
}

.nm-review-stars span.on { color: #ffcc00; }
.nm-review-stars span.off { color: #d6d6d6; }

.nm-review-text {
    margin-top: 8px;
    color: #333;
    line-height: 1.6;
}

/* submit message */
.nm-review-submit-msg {
    margin: 12px 0 18px 0;
    padding: 10px 12px;
    border-radius: 4px;
    font-weight: 600;
}

.nm-review-submit-msg.ok {
    background: #eaffea;
    color: #0b6b0b;
    border: 1px solid #bfe8bf;
}

.nm-review-submit-msg.error {
    background: #ffecec;
    color: #b10000;
    border: 1px solid #ffbcbc;
}


/* =============================== */
/*             BOOKS PAGE          */
/* =============================== */

/* Τίτλος */
.books-title {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    letter-spacing: 2px;
    margin-top: 30px;
    margin-bottom: 20px;
}

/* Κείμενο εμφανιζόμενων αποτελεσμάτων */
.books-results {
    font-size: 15px;
    margin-bottom: 25px;
    color: #7b7b7b;
}

/* GRID (3 books per row) */
.books-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-bottom: 60px;
}

@media(max-width: 900px) {
    .books-grid {
        grid-template-columns: 1fr;
    }
}

/* BOOK ITEM */
.book-item {
    background: #ffffff;
    border: 1px solid #e6e6e6;
    padding: 0;
    text-align: center;
    position: relative;
    padding-bottom: 25px;
    transition: 0.3s;
}

.book-item:hover {
    border-color: #00aeff;
}

/* IMAGE WRAPPER */
.book-img-wrapper {
    position: relative;
    border-bottom: 1px solid #e6e6e6;
}

.book-img-wrapper img {
    width: 100%;
    display: block;
}

/* TITLE */
.book-title {
    font-size: 15px;
    font-weight: 600;
    margin-top: 18px;
    margin-bottom: 6px;
    color: #333;
}

/* PRICE */
.book-price {
    font-size: 17px;
    font-weight: 700;
    color: #00aeff;
    margin-bottom: 14px;
}

/* BUTTON */
.book-btn {
    position: absolute;
    left: 50%;
    bottom: -20px;
    transform: translateX(-50%);

    background: #fff;
    color: #333;
    padding: 12px 28px;
    border: 1px solid #cccccc;
    border-radius: 6px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;

    box-shadow: 0 3px 12px rgba(0,0,0,0.12);
    transition: 0.25s ease;
    z-index: 10;
}

.book-btn:hover,
.book-item:hover .book-btn {
    background: #00aeff;
    color: #fff;
    border-color: #00aeff;
}

/* underline */
.book-item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #dcdcdc;
}

/* ===== BOOK COVER IMAGE (αντί για PDF frame) ===== */
.book-cover-img {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-bottom: 20px;
}

/* === EXTRA INFO TABLE === */
.extra-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-size: 16px;
}

.extra-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #eee;
}

.extra-table td:first-child {
    font-weight: 700;   /* bold labels */
    color: #333;
    width: 200px;
}

.extra-table td:last-child {
    font-weight: 500;   /* semi-bold values */
    color: #444;
}

/* ============================== */
/*      QUANTITY + ADD BUTTON     */
/* ============================== */

.quantity-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

/* INPUT NUMBER (quantity) */
.qty-input {
    width: 70px;
    height: 48px;
    margin-top: 24px;
    padding: 10px 5px;
    text-align: center;
    font-size: 18px;

    border: 1px solid #00aeff !important;   /* ΜΠΛΕ border */
    border-radius: 4px;

    background: #fff !important;            /* Λευκό πάντα */
    color: #333;

    /* Σταθερό — χωρίς αλλαγές στο hover ή focus */
    outline: none !important;
    box-shadow: none !important;

    appearance: textfield; /* Chrome cleanup */
}

/* Firefox cleanup */
.qty-input[type=number] {
    -moz-appearance: textfield;
}

/* ΑΡROWS (Chrome) — default hidden */
.qty-input::-webkit-inner-spin-button,
.qty-input::-webkit-outer-spin-button {
    opacity: 0;
    transition: opacity 0.15s ease-in-out;
}

/* Εμφάνιση ↑ ↓ όταν περνάει το ποντίκι */
.qty-input:hover::-webkit-inner-spin-button,
.qty-input:hover::-webkit-outer-spin-button {
    opacity: 1;
}

/* ΚΑΜΙΑ αλλαγή στο hover/focus */
.qty-input:hover,
.qty-input:focus,
.qty-input:active {
    border-color: #00aeff !important;
    background: #fff !important;
    box-shadow: none !important;
    outline: none !important;
}

/* =========================================
   NEWS PAGE
========================================= */

.news-title{
    color:#333;
    font-size:32px;
    font-weight:bold;
}

.news-blue-line{
    width:100%;
    height:2px;
    background:#1e73be;
    margin:10px 0 30px 0;
}

.news-message{
    color:#333;
    font-size:18px;
}

/* =========================================
   WELCOME PAGE
========================================= */

.welcome-title{
    color:#333;
    font-size:32px;
    font-weight:bold;
}

.welcome-blue-line{
    width:100%;
    height:2px;
    background:#1e73be;
    margin:10px 0 30px 0;
}

.welcome-message{
    color:#333;
    font-size:18px;
}

/* Welcome contact link */

.welcome-contact-link{
  color:#1e73be;
  font-weight:bold;
  text-decoration:none;
}

.welcome-contact-link:hover{
  text-decoration:underline;
}

.welcome-thanks{
    margin-top:15px;
    font-weight:500;
    color:#333;
}

/* =========================================
   PURCHASE DISABLED MODAL
========================================= */

.purchase-modal-overlay{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    padding: 20px;
}

.purchase-modal-box{
    position: relative;
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    background: #f3f3f3;
    border-radius: 10px;
    box-shadow: 0 10px 35px rgba(0,0,0,0.25);
    padding: 22px 18px 14px 18px;
}

.purchase-modal-content{
    background: #ffffff;
    border-radius: 8px;
    padding: 28px 30px 24px 30px;
    text-align: center;
}

.purchase-modal-close{
    position: absolute;
    top: 8px;
    right: 10px;
    border: none;
    background: transparent;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    color: #555;
}

.purchase-modal-intro{
    font-size: 15px;
    line-height: 1.45;
    color: #222;
    margin: 0 0 18px 0;
}

.purchase-modal-divider{
    border: none;
    border-top: 1px solid #a8a8a8;
    margin: 18px 0;
}

.purchase-modal-store{
    text-align: center;
    color: #222;
    font-size: 14px;
    line-height: 1.5;
}

.purchase-modal-store p{
    margin: 2px 0;
}

.purchase-modal-store-title{
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 6px !important;
}

.purchase-modal-store a{
    color: #111;
    text-decoration: none;
}

.purchase-modal-store a:hover{
    text-decoration: underline;
}

.purchase-modal-footer{
    margin-top: 24px;
}

.purchase-modal-btn{
    background: #3399ee;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 10px 28px;
    font-size: 16px;
    cursor: pointer;
}

.purchase-modal-btn:hover{
    background: #2587d8;
}

body.purchase-modal-open{
    overflow: hidden;
}


/* ---------------------------------------------------------------
   Utility
---------------------------------------------------------------- */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px;
}

