/* ===== Variables ===== */
:root {
  --primary:       #B8963E;
  --primary-dark:  #9A7C30;
  --primary-light: #F2EAD8;
  --primary-mid:   #E8D9B0;
  --text-dark:     #2C2C2C;
  --text-muted:    #6B7280;
  --grey-dark:     #3A3A3A;
  --grey-mid:      #5A5A5A;
  --grey-light:    #3A3A3A;
  --grey-page:     #1E1E1E;
  --grey-card:     #2A2A2A;
  --grey-navbar:   #252525;

  /* Bootstrap overrides */
  --bs-primary:         #B8963E;
  --bs-primary-rgb:     184, 150, 62;
  --bs-link-color:      #B8963E;
  --bs-link-hover-color:#9A7C30;
  --bs-body-bg:         #E5E5E5;
  --bs-white:           #F0F0F0;
}

/* ===== Global ===== */
body {
  font-family: 'Lato', sans-serif;
  color: #E0E0E0;
  line-height: 1.7;
  background-color: var(--grey-page);
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif;
  color: #F0F0F0;
}

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

.py-6 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.mt-6 { margin-top: 4rem; }

/* ===== Navbar ===== */
.navbar {
  padding: 1rem 0;
  border-bottom: 1px solid #D8D8D8;
  background-color: var(--grey-navbar) !important;
}

.brand-logo {
  width: 44px;
  height: auto;
}

.footer-logo {
  width: 32px;
  height: auto;
  vertical-align: -0.3em;
}

.brand-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #F0F0F0;
  line-height: 1.2;
}

.brand-subtitle {
  font-size: 0.75rem;
  color: var(--primary);
  font-weight: 400;
  letter-spacing: 0.05em;
}

.nav-link {
  font-weight: 500;
  color: #D0D0D0 !important;
  padding: 0.5rem 0.75rem !important;
  border-radius: 0.5rem;
  transition: background 0.2s, color 0.2s;
}

/* Κουμπί μενού (☰) σε κινητό: χρυσό, ώστε να φαίνεται στο σκούρο navbar */
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23B8963E' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-toggler:focus { box-shadow: 0 0 0 0.2rem rgba(184,150,62,0.35); }

.nav-link:hover,
.nav-link.active {
  background: rgba(184,150,62,0.15);
  color: var(--primary) !important;
}

/* ===== Hero ===== */
.hero {
  min-height: 88vh;
  background: linear-gradient(135deg, var(--primary-light) 0%, var(--grey-page) 65%);
  padding: 5rem 0;
}

.hero-img {
  max-height: 520px;
  width: 100%;
  object-fit: cover;
}

.hero-image-wrapper { position: relative; }

.hero-placeholder {
  width: 100%;
  min-height: 420px;
  background: var(--primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  font-size: 6rem;
}

/* Stats */
.stat-item { text-align: center; }

.stat-number {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--primary);
  line-height: 1;
}

.stat-label {
  font-size: 0.75rem;
  color: #000000;
  margin-top: 0.25rem;
}

/* ===== Quick Contact Bar ===== */
.bg-primary {
  background-color: var(--primary) !important;
}

.text-primary {
  color: var(--primary) !important;
}

.border-primary {
  border-color: var(--primary) !important;
}

/* ===== Section Titles ===== */
.section-title {
  font-size: 2rem;
  font-weight: 700;
  color: #F0F0F0;
  position: relative;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}

.section-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 3rem;
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--primary-mid));
  border-radius: 2px;
}

.text-center .section-title::after {
  left: 50%;
  transform: translateX(-50%);
}

/* ===== Service Cards ===== */
.service-card {
  transition: transform 0.2s, box-shadow 0.2s;
  background-color: var(--grey-card) !important;
  border: 1px solid #383838 !important;
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(184,150,62,0.12) !important;
  border-color: var(--primary-mid) !important;
}

.service-icon {
  width: 3rem;
  height: 3rem;
  background: var(--primary-light);
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  color: var(--primary);
}

/* Εικονίδια οργάνων από το logo */
.service-svg {
  width: 50%;
  height: 50%;
  object-fit: contain;
}

/* ===== Service Detail Cards ===== */
.service-detail-card {
  background-color: var(--grey-card);
  border: 1px solid #383838;
  transition: box-shadow 0.2s, border-color 0.2s;
}

.service-detail-card:hover {
  box-shadow: 0 8px 24px rgba(184,150,62,0.10) !important;
  border-color: var(--primary-mid) !important;
}

.service-icon-lg {
  width: 3.5rem;
  height: 3.5rem;
  background: var(--primary-light);
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
  color: var(--primary) !important;
}

/* ===== Why Section ===== */
.why-icon {
  width: 3rem;
  height: 3rem;
  background: var(--primary-light);
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: var(--primary);
}

/* ===== Contact CTA Card ===== */
.contact-cta-card {
  background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary-mid) 100%);
  border: 1px solid #DFC98A;
}

/* ===== Contact Info ===== */
.contact-info-card {
  background-color: var(--grey-card);
  border: 1px solid #383838;
  transition: box-shadow 0.2s, border-color 0.2s;
}

.contact-info-card:hover {
  box-shadow: 0 4px 16px rgba(184,150,62,0.10) !important;
  border-color: var(--primary-mid) !important;
}

.contact-icon {
  width: 2.8rem;
  height: 2.8rem;
  background: var(--primary-light);
  border-radius: 0.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: var(--primary);
  flex-shrink: 0;
}

/* ===== Map ===== */
.map-wrapper { border: 1px solid #DDDDDD; }
.map-iframe  { border: 0; display: block; }
.map-consent { min-height: 380px; background-color: var(--grey-card); }

/* ===== Privacy Policy ===== */
.privacy-content ul { padding-left: 1.25rem; }
.privacy-content li { margin-bottom: 0.5rem; }

/* ===== Timeline ===== */
.timeline {
  position: relative;
  padding-left: 2rem;
}

.timeline::before {
  content: '';
  position: absolute;
  left: 0.65rem;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--primary-mid);
}

.timeline-item {
  position: relative;
  display: flex;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.timeline-item::before {
  content: '';
  position: absolute;
  left: -1.35rem;
  top: 0.4rem;
  width: 0.75rem;
  height: 0.75rem;
  background: var(--primary);
  border-radius: 50%;
  border: 2px solid white;
  box-shadow: 0 0 0 2px var(--primary);
}

.timeline-year {
  font-weight: 700;
  color: var(--primary);
  min-width: 3rem;
  font-size: 0.9rem;
  padding-top: 0.1rem;
}

/* ===== Buttons ===== */
.btn-primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  color: #fff;
}

.btn-outline-primary {
  color: var(--primary);
  border-color: var(--primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

.btn-outline-light:hover {
  color: var(--primary);
}

.btn-white {
  background: white;
  color: var(--primary);
  border: 2px solid white;
}

.btn-white:hover {
  background: var(--primary-light);
  color: var(--primary-dark);
  border-color: var(--primary-light);
}

/* ===== Footer ===== */
.footer { background-color: #1E1E1E !important; }

.footer-links a {
  color: rgba(255,255,255,0.5);
  text-decoration: none;
  display: block;
  margin-bottom: 0.4rem;
  transition: color 0.2s;
  font-size: 0.9rem;
}

.footer-links a:hover { color: var(--primary); }

.footer .bi { color: var(--primary) !important; }

/* ===== Page Header ===== */
.page-header {
  border-bottom: 1px solid #383838;
  background-color: var(--grey-light) !important;
}

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

.breadcrumb-item,
.breadcrumb-item.active {
  color: #B0B0B0;
}

/* Directions box */
.rounded-4.bg-light p,
.rounded-4.bg-light div,
.rounded-4.bg-light span { color: #C0C0C0; }
.table-borderless td { color: #C0C0C0; }
.table { --bs-table-bg: transparent; }

/* ===== Badges ===== */
.bg-primary-subtle {
  background-color: var(--primary-light) !important;
}

.badge.bg-primary {
  background-color: var(--primary) !important;
}

/* ===== Backgrounds ===== */
.bg-light { background-color: var(--grey-light) !important; }
.bg-white { background-color: var(--grey-card)  !important; }

/* Dark mode text overrides for Bootstrap utility classes */
.text-dark   { color: #E0E0E0 !important; }
.text-muted  { color: #9A9A9A !important; }
.text-white-50 { color: rgba(255,255,255,0.55) !important; }

/* ===== Checks in services ===== */
.bi-check-circle-fill.text-primary { color: var(--primary) !important; }

/* ===== Dark-mode text utilities ===== */
.text-dm        { color: #E0E0E0; }
.text-dm-muted  { color: #B0B0B0; }
.text-dm-soft   { color: #9A9A9A; }
.text-dm-mid    { color: #C0C0C0; }
.text-white-70  { color: rgba(255,255,255,0.7); }

/* ===== Misc utilities ===== */
.vr-dark        { background: #444; }
.icon-xxl       { font-size: 8rem; }
.min-h-350      { min-height: 350px; }

/* ===== Publication card ===== */
.publication-card {
  background: #2A2A2A;
  border-left: 3px solid var(--primary);
  padding: 1rem;
  border-radius: 0.5rem;
}

/* Κάρτα «Κλείστε το Ραντεβού»: σκούρο κείμενο πάνω στο μπεζ φόντο */
.contact-cta-card h3 { color: var(--text-dark); }
.contact-cta-card p  { color: var(--grey-mid) !important; }

/* Χρονολόγιο: σταθερό πλάτος για τις χρονιές ώστε να στοιχίζονται */
.timeline-year { flex: 0 0 5.5rem; }

/* ===== Responsive ===== */

/* Tablet και κινητό: οι στήλες του hero μπαίνουν η μία κάτω από την άλλη */
@media (max-width: 991.98px) {
  .hero {
    min-height: auto;
    background: linear-gradient(180deg, #3A3A3A 0%, var(--grey-page) 70%);
  }

  .stat-label { color: #B0B0B0; }
}

@media (max-width: 768px) {
  .hero {
    padding: 3rem 0;
  }

  .stat-number { font-size: 1.4rem; }
  .section-title { font-size: 1.6rem; }

  .py-6 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

/* Κινητά */
@media (max-width: 575.98px) {
  /* Τα g-5 (3rem) ξεπερνούν το padding του container και ξεχειλίζουν οριζόντια */
  .row.g-5 { --bs-gutter-x: 1.5rem; }

  /* Navbar: το όνομα και ο υπότιτλος σπάνε σε γραμμές ώστε να χωράει το ☰ */
  .navbar-brand {
    white-space: normal;
    min-width: 0;
    flex: 1 1 0;
    margin-right: 0.5rem;
  }
  .brand-logo     { width: 38px; flex-shrink: 0; }
  .brand-name     { font-size: 1rem; }
  .brand-subtitle { font-size: 0.68rem; letter-spacing: 0.02em; line-height: 1.35; }

  .hero .badge {
    white-space: normal;
    line-height: 1.4;
    text-align: left;
    font-size: 0.85rem !important;
  }
  .hero h1 { font-size: 2.1rem; }
  .hero .btn-lg { width: 100%; }

  .contact-cta-card { padding: 1.75rem !important; }
  .contact-cta-card .btn-lg { font-size: 1rem; }

  .timeline-year { flex-basis: 4.2rem; font-size: 0.8rem; }
}
