/* =====================  Κοινά ενοτήτων  ===================== */
.section { position: relative; }
.section__head { text-align: center; margin-bottom: clamp(32px, 3.3vw, 64px); }
.section__title {
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(26px, 2.8125vw, 54px); line-height: 1.15;
  letter-spacing: var(--ls-h1); text-transform: uppercase;
  margin: .35em 0 0;
}

/* =====================  04 - Program / ΣΧΗΜΑ  =====================
   Μετρημένο: section 1920×932 · κείμενο 816px πλάτος, left 160, gap 52
   εικόνα 1369×912 δεξιά, με σκίαση προς τα αριστερά ώστε να διαβάζεται το κείμενο.
   ================================================================ */
.schima { display: grid; align-items: center; padding-block: clamp(64px, 7vw, 120px); overflow: clip; }
.schima__media { grid-area: 1 / 1; position: relative; }
.schima__media img { width: 100%; height: 100%; object-fit: cover; }
.schima__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, #080808 0%, rgb(8 8 8 / .92) 28%, rgb(8 8 8 / .35) 62%, rgb(8 8 8 / 0) 100%);
}
.schima__inner { grid-area: 1 / 1; position: relative; z-index: 2; }
.schima__box {
  display: flex; flex-direction: column; align-items: flex-start;
  gap: clamp(20px, 2.7vw, 52px);
  max-width: min(816px, 100%);
}
.schima__names {
  font-family: var(--f-display); font-weight: 700;
  font-size: clamp(26px, 2.8125vw, 54px); line-height: 1.18;
  letter-spacing: var(--ls-h1); text-transform: uppercase; margin: 0;
}
.schima__text { margin: 0; color: var(--c-white); max-width: 48ch; }
.schima__text p { margin: 0 0 1em; }
.schima__text p:last-child { margin-bottom: 0; }

@media (min-width: 1100px) {
  .schima { min-height: 932px; }
  .schima__media { justify-self: end; align-self: stretch; width: 71.3%; }   /* 1369/1920 */
}
@media (max-width: 1099px) {
  .schima__media { position: absolute; inset: 0; }
  /* Το πορτρέτο μένει (κρατάμε την αισθητική του desktop) αλλά κάθεται πιο δεξιά
     και πιο ψηλά, ώστε το πρόσωπο να μην πέφτει πάνω στο κείμενο. */
  .schima__media img { object-position: 78% 18%; }
  .schima__media::after {
    background:
      linear-gradient(180deg, rgb(8 8 8 / .62) 0%, rgb(8 8 8 / .72) 46%, rgb(8 8 8 / .94) 84%, #080808 100%),
      linear-gradient(90deg, rgb(8 8 8 / .55) 0%, rgb(8 8 8 / .12) 70%, rgb(8 8 8 / 0) 100%);
  }
  .schima { min-height: 78svh; }
}

/* =====================  Marquee  ===================== */
.marquee {
  --marquee-speed: 40s;
  overflow: hidden; padding-block: clamp(24px, 3vw, 52px);
  border-block: 1px solid rgb(255 255 255 / .1);
  -webkit-user-select: none; user-select: none;
}
.marquee__track { display: flex; width: max-content; will-change: transform; animation: marqueeRun var(--marquee-speed) linear infinite; }
.marquee__group { display: flex; gap: clamp(28px, 3vw, 56px); padding-right: clamp(28px, 3vw, 56px); }
.marquee__item {
  font-family: var(--f-sans); font-weight: 700;
  font-size: clamp(22px, 2.1vw, 40px);
  letter-spacing: .12em; text-transform: uppercase; white-space: nowrap;
  color: var(--c-white);
}
@keyframes marqueeRun { to { transform: translate3d(-50%, 0, 0); } }
.marquee.is-paused .marquee__track,
[data-richness="0"] .marquee__track { animation-play-state: paused; }

/* =====================  ΠΟΥ ΘΑ ΜΑΣ ΒΡΕΙΤΕ  ===================== */
.venue { position: relative; overflow: clip; text-align: center; padding-block: clamp(72px, 8vw, 140px); }
.venue__media { position: absolute; inset: 0; z-index: 0; }
.venue__media img { width: 100%; height: 100%; object-fit: cover; }
.venue__media::after { content: ""; position: absolute; inset: 0; background: rgb(8 8 8 / .72); }
.venue__inner { position: relative; z-index: 1; }
.venue__block { margin-top: clamp(24px, 2.6vw, 44px); }
.venue__label {
  display: inline-flex; align-items: center; gap: 8px;
  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 10px;
}
.venue__value { margin: 0; font-size: clamp(15px, .94vw, 18px); line-height: 1.7; }
.venue__value a { transition: color var(--dur) var(--ease); }
.venue__value a:hover { color: var(--c-gold); }
.venue .btn { margin-top: clamp(24px, 2.6vw, 44px); }

/* =====================  Newsletter  ===================== */
.newsletter { text-align: center; padding-block: clamp(64px, 7vw, 120px); }
.newsletter__lead { max-width: 46ch; margin: 0 auto; color: var(--c-white); }
.newsletter__form {
  display: flex; justify-content: center; gap: 0; flex-wrap: wrap;
  margin-top: clamp(24px, 2.6vw, 44px);
}
.newsletter__input {
  flex: 1 1 320px; max-width: 470px; min-height: var(--btn-h);
  padding: 0 18px; color: var(--c-white);
  background: transparent; border: 1px solid var(--c-white-47);
  font: var(--t-p2);
}
.newsletter__input::placeholder { color: rgb(255 255 255 / .55); }
.newsletter__consent {
  flex: 1 0 100%;            /* πάντα δική του γραμμή, κάτω από το πεδίο */
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin: 14px 0 0; font-size: 13px; color: var(--c-secondary);
}
.newsletter__consent a { text-decoration: underline; text-underline-offset: 3px; }
.newsletter__consent input { accent-color: var(--c-gold); width: 15px; height: 15px; }
@media (max-width: 640px) {
  .newsletter__form { flex-direction: column; align-items: stretch; gap: 12px; }
  /* Σε flex-direction:column το flex-basis μετράει ΥΨΟΣ — χωρίς αυτό το πεδίο
     γινόταν τετράγωνο 320px. Κλειδώνουμε το ύψος στο ύψος του κουμπιού. */
  .newsletter__input { flex: 0 0 auto; max-width: none; height: var(--btn-h); }
  .newsletter__consent { margin-top: 2px; }
}

/* Το μήνυμα αποτελέσματος μέσα στη λωρίδα newsletter — άλλο πλαίσιο από τις
   μεγάλες φόρμες, ίδια σημασιολογία χρώματος. */
.newsletter__form .vform__result {
  flex-basis: 100%; margin: 0 0 10px; text-align: center;
}
