/* =====================  Footer  (Figma: 1920×429)  ===================== */
.site-footer { border-top: 1px solid rgb(255 255 255 / .1); padding-block: clamp(48px, 5vw, 84px) 0; }
.site-footer__grid {
  display: grid; gap: clamp(32px, 3vw, 56px);
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .site-footer__grid { grid-template-columns: minmax(320px, 2.1fr) 1fr 1.15fr 1fr; }
}
.site-footer__logo { width: 230px; margin-bottom: 18px; }
.site-footer__about { color: var(--c-secondary); max-width: 42ch; margin: 0; font-size: 15px; line-height: 1.75; }
.site-footer__label {
  font-family: var(--f-sans); font-size: 13px; font-weight: 500;
  letter-spacing: var(--ls-caption); text-transform: uppercase;
  color: var(--c-gold); margin: 0 0 18px;
}
.site-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.site-footer__list a, .site-footer__contact a { transition: color var(--dur) var(--ease); }
.site-footer__list a:hover, .site-footer__contact a:hover { color: var(--c-gold); }
.site-footer__list a {
  font-family: var(--f-sans); font-size: 14px; letter-spacing: .16em; text-transform: uppercase;
}
.site-footer__contact { font-size: 15px; line-height: 1.9; color: var(--c-white); }
.site-footer__contact p { margin: 0 0 14px; }
.site-footer__contact p:last-child { margin: 0; }

.site-footer__news { margin-top: 26px; }
.site-footer__news .newsletter__form { margin-top: 12px; justify-content: flex-start; }
.site-footer__news .newsletter__input { flex: 1 1 220px; max-width: 260px; }
.site-footer__news .newsletter__consent { justify-content: flex-start; margin-top: 10px; }

/* --- Mobile: ο footer δεν πρέπει να γίνει σεντόνι ---
   Οι τρεις στήλες συνδέσμων μπαίνουν σε 2 κολόνες και το bottom
   αφήνει χώρο για το sticky CTA (56px + safe-area). */
@media (max-width: 899px) {
  .site-footer { padding-top: 44px; }
  .site-footer__grid { gap: 30px 24px; grid-template-columns: 1fr 1fr; }
  .site-footer__brand      { grid-column: 1 / -1; order: 1; }
  .site-footer__col--nav    { order: 2; }
  .site-footer__col--social { order: 3; }
  .site-footer__col--contact { grid-column: 1 / -1; order: 4; }
  .site-footer__list { gap: 11px; }
  .site-footer__list a { font-size: 13px; letter-spacing: .12em; }
  .site-footer__logo { width: 190px; }
  .site-footer__about { font-size: 14px; line-height: 1.7; }
  /* ίδιο θέμα με το newsletter section: σε column flex το basis είναι ύψος */
  .site-footer__news .newsletter__input { flex: 0 0 auto; max-width: none; height: var(--btn-h); }
  .site-footer__bottom { margin-top: 34px; }
}

.site-footer__bottom {
  margin-top: clamp(40px, 4vw, 72px); padding-block: 22px;
  border-top: 1px solid rgb(255 255 255 / .1);
  display: flex; flex-wrap: wrap; gap: 14px 32px;
  align-items: center; justify-content: space-between;
  font-size: 13px; color: var(--c-secondary);
}
.site-footer__legal { display: flex; flex-wrap: wrap; gap: 14px 28px; margin: 0; padding: 0; list-style: none; }
.site-footer__legal a:hover, .site-footer__bottom a:hover { color: var(--c-gold); }
.site-footer__by a { color: inherit; }
.site-footer__by strong {
  color: var(--c-white); font-weight: 600;
  transition: color var(--dur) var(--ease);
}
.site-footer__by a:hover strong { color: var(--c-gold); }
.site-footer__by a:focus-visible { outline: 2px solid var(--c-gold); outline-offset: 3px; }

/* Sticky CTA — μόνο mobile, εμφανίζεται μετά το hero */
.sticky-cta {
  position: fixed; inset: auto 0 0; z-index: 90;
  display: none; gap: 1px;
  background: rgb(255 255 255 / .1);
  transform: translateY(100%); transition: transform .35s var(--ease);
}
.sticky-cta.is-visible { transform: none; }
.sticky-cta .btn { flex: 1; min-height: 56px; border: 0; font-size: 13px; }
.sticky-cta .btn--outline { background: var(--c-black); color: var(--c-white); }
@media (max-width: 1099px) {
  .sticky-cta { display: flex; padding-bottom: env(safe-area-inset-bottom, 0px); }
  /* χώρος ώστε το sticky CTA να μην σκεπάζει τα νομικά links του footer */
  .site-footer { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
}

/* =====================  Επιστροφή στην κορυφή  =====================
   Εμφανίζεται μετά από ~1,2 οθόνες scroll. Στο κινητό ανεβαίνει πάνω από το
   sticky CTA, αλλιώς θα κάθονταν το ένα πάνω στο άλλο. */
.to-top {
  position: fixed; z-index: 91;
  right: clamp(16px, 1.7vw, 32px);
  bottom: clamp(16px, 1.7vw, 32px);
  width: 52px; height: 52px; border-radius: 50%;
  display: grid; place-items: center; cursor: pointer; padding: 0;
  background: rgb(0 0 0 / .55); backdrop-filter: blur(6px);
  border: 1px solid var(--c-gold);
  opacity: 0; translate: 0 12px; pointer-events: none;
  transition: opacity .3s var(--ease), translate .3s var(--ease),
              background-color var(--dur) var(--ease);
}
.to-top.is-visible { opacity: 1; translate: 0; pointer-events: auto; }
.to-top:hover { background: var(--c-gold); }
.to-top:focus-visible { outline: 2px solid var(--c-white); outline-offset: 3px; }
.to-top__arrow {
  width: 12px; height: 12px;
  border-left: 2px solid var(--c-gold); border-top: 2px solid var(--c-gold);
  rotate: 45deg; translate: 0 2px;
  transition: border-color var(--dur) var(--ease);
}
.to-top:hover .to-top__arrow { border-color: var(--c-black); }

/* Το κουμπί είναι fixed κάτω δεξιά, δηλαδή περνάει πάνω από το «Developed by
   MINDSEED» όταν φτάσεις στο τέλος. Αντί να το κρύψω εκεί ακριβώς που το
   χρειάζεται κανείς περισσότερο, κρατάω κενό στη σειρά του footer. */
@media (min-width: 1100px) {
  .site-footer__bottom { padding-right: calc(52px + clamp(16px, 1.7vw, 32px) + 20px); }
}

@media (max-width: 1099px) {
  .to-top {
    width: 44px; height: 44px;
    bottom: calc(56px + 14px + env(safe-area-inset-bottom, 0px));
  }
}
@media (prefers-reduced-motion: reduce) {
  .to-top { transition: opacity .3s linear; translate: none; }
}
