/* =====================  ΝΕΑ — λίστα  ===================== */
.feat {
  display: grid; grid-template-columns: 1.1fr 1fr;
  background: #101010; margin-top: clamp(28px, 3vw, 56px);
}
.feat__media { display: block; overflow: clip; }
.feat__media img { width: 100%; height: 100%; object-fit: cover; display: block; aspect-ratio: 4 / 3; transition: scale .9s var(--ease); }
[data-richness="2"] .feat:hover .feat__media img { scale: 1.04; }
.feat__body { padding: clamp(24px, 3vw, 60px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: clamp(14px, 1.6vw, 26px); }
.feat__title { margin: 0; font-family: var(--f-sans); font-weight: 700; font-size: clamp(22px, 2.08vw, 40px); line-height: 1.22; }
.feat__title a { color: var(--c-white); transition: color var(--dur) var(--ease); }
.feat__title a:hover { color: var(--c-gold); }
.feat__excerpt { margin: 0; color: var(--c-secondary); font-size: clamp(14px, .89vw, 17px); line-height: 1.7; }

.cards {
  list-style: none; margin: clamp(28px, 3vw, 56px) 0 0; padding: 0;
  display: grid; gap: clamp(20px, 2.4vw, 46px) clamp(18px, 2vw, 38px);
  grid-template-columns: repeat(2, 1fr);
}
.cards--4 { grid-template-columns: repeat(4, 1fr); }
/* Κρύβονται ΜΟΝΟ όταν τρέχει JS — αλλιώς το κουμπί δεν θα δούλευε ποτέ
   και τα άρθρα θα ήταν απροσπέλαστα. */
.has-js .card.is-hidden { display: none; }
.card__media { display: block; overflow: clip; background: #101010; aspect-ratio: 16 / 9; }
.card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: scale .9s var(--ease); }
/* Σχετικά άρθρα (4 στήλες) — Figma: τετράγωνες φωτο */
.cards--4 .card__media { aspect-ratio: 1 / 1; }
[data-richness="2"] .card:hover .card__media img { scale: 1.04; }
.card__title { margin: 16px 0 0; font-family: var(--f-sans); font-weight: 700; font-size: clamp(16px, 1.15vw, 22px); line-height: 1.3; }
.card__title a { color: var(--c-white); transition: color var(--dur) var(--ease); }
.card__title a:hover { color: var(--c-gold); }
.card__excerpt { margin: 10px 0 0; color: var(--c-secondary); font-size: 14px; line-height: 1.65; }
.cards__more { display: flex; justify-content: center; margin: clamp(30px, 3.4vw, 62px) 0 0; }

/* =====================  ΑΡΘΡΟ  ===================== */
.post { padding-block: clamp(92px, 10vw, 140px) 0; }
.post__head { text-align: center; }
.post__title {
  margin: 0; font-family: var(--f-sans); font-weight: 700;
  font-size: clamp(26px, 2.6vw, 50px); line-height: 1.2; color: var(--c-white);
  max-width: 24ch; margin-inline: auto; text-wrap: balance;
}
.post__share { display: flex; align-items: center; justify-content: center; gap: 16px; margin: clamp(16px, 1.8vw, 30px) 0 0; }
.post__share-label { font-family: var(--f-sans); font-size: 13px; letter-spacing: .12em; color: var(--c-secondary); }
.post__share a { color: var(--c-secondary); display: inline-flex; transition: color var(--dur) var(--ease); }
.post__share a:hover { color: var(--c-gold); }
.post__share .icon { width: 18px; height: 18px; }

.post__media { margin: clamp(26px, 3vw, 54px) 0 0; padding-inline: max(var(--page-margin), (100% - 1184px) / 2); }
.post__media img { width: 100%; height: auto; display: block; }

.post__body { margin-top: clamp(26px, 3vw, 54px); padding-inline: max(var(--page-margin), (100% - 1184px) / 2); }
.post__body p { margin: 0 0 1.2em; font-size: clamp(15px, .94vw, 18px); line-height: 1.8; color: var(--c-white); }
.post__body a { color: var(--c-white); text-decoration: underline; text-underline-offset: 4px; }
.post__body a:hover { color: var(--c-gold); }
.post__body h2, .post__body h3 {
  font-family: var(--f-display); font-weight: 700; letter-spacing: var(--ls-h1);
  text-transform: uppercase; margin: 1.6em 0 .6em;
}
.post__body img { max-width: 100%; height: auto; }
.post__cta { margin: clamp(24px, 2.6vw, 44px) 0 0; }
/* Επαναφορά btn styles μέσα στο post__body — αντικαθιστά το γενικό .post__body a */
.post__body .post__cta a.btn { text-decoration: none; color: var(--c-gold); }
.post__body .post__cta a.btn:hover { background: var(--c-gold); color: var(--c-black); }

.post__gallery {
  list-style: none; margin: clamp(34px, 4vw, 76px) 0 0; padding-inline: var(--page-margin);
  columns: 4; column-gap: clamp(12px, 1.4vw, 26px);
}
.post__gallery li { break-inside: avoid; margin-bottom: clamp(12px, 1.4vw, 26px); }
.post__gallery img { width: 100%; height: auto; display: block; }

.related { padding-block: clamp(44px, 5vw, 96px); }
.related__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.related__title { text-align: left; margin: .25em 0 0; }
.related__all {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--f-sans); font-size: 13px; letter-spacing: .16em;
  color: var(--c-gold); transition: opacity var(--dur) var(--ease);
}
.related__all:hover { opacity: .75; }
.related .cards { border-top: 1px solid rgb(255 255 255 / .12); padding-top: clamp(24px, 2.6vw, 44px); }

/* ---- Inline content από import (vc_btn, vc_video, vc_single_image, vc_masonry_media_grid) ---- */
.vot-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: var(--btn-gap); min-height: var(--btn-h); padding-inline: var(--btn-px);
  font-family: var(--f-sans); font-size: 15px; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase; white-space: nowrap;
  border: 1px solid transparent; text-decoration: none !important;
  transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease),
              border-color var(--dur) var(--ease);
}
.vot-btn--gold { background: var(--c-gold); color: var(--c-black); }
.vot-btn--gold:hover { background: var(--c-gold-hover); color: var(--c-black); }
.wp-block-buttons { text-align: center; margin: 2em 0 0; }

.article-video { margin: 2em 0; aspect-ratio: 16/9; }
.article-video iframe { width: 100%; height: 100%; border: 0; display: block; }

.article-img { margin: 2em 0; }
.article-img img { max-width: 100%; height: auto; display: block; margin-inline: auto; }

.article-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 2em 0; }
.article-gallery figure { margin: 0; }
.article-gallery img { width: 100%; height: auto; display: block; aspect-ratio: 4/3; object-fit: cover; }

@media (max-width: 899px) {
  .feat { grid-template-columns: 1fr; }
  .cards, .cards--4 { grid-template-columns: repeat(2, 1fr); }
  .post__gallery { columns: 2; }
  .article-gallery { grid-template-columns: repeat(2, 1fr); }
}
/* #29 #30 — Mobile: κάρτες νέων + σχετικά άρθρα 2 ανά σειρά (όπως desktop), ratio 3:2 */
@media (max-width: 560px) {
  .cards, .cards--4 { grid-template-columns: repeat(2, 1fr); }
  .card__media { aspect-ratio: 3 / 2; }
  .cards--4 .card__media { aspect-ratio: 1 / 1; }
  .post__gallery { columns: 1; }
  .article-gallery { grid-template-columns: repeat(2, 1fr); }
}

/* #31 — Mobile: τίτλος άρθρου πιο κάτω (περισσότερη απόσταση από το header) */
@media (max-width: 640px) {
  .post { padding-block-start: 130px; }
}
