/* =========================================================
   RESIDENCES — Projects Archive — v8.5
   Scope: /projects/ + /project-status/*/ + /project-type/*/
   ========================================================= */

/* ---------- 1. WHITE PAGE BACKGROUND ---------- */
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]),
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) :is(.site-content, .ast-container, #primary, .site-main) {
  background: #fff;
}

/* ---------- 2. ARCHIVE TITLE / SUBTITLE ---------- */
.projects-archive-title {
  text-align: center;
  font-family: "Inter", "Manrope", sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #8a7a5e;
  margin: -32px 0 60px;
}

/* Hide subtitle on main /projects/ (already has "Τα Έργα μας" heading) */
body.post-type-archive-project .projects-archive-title {
  display: none;
}

/* ---------- 3. LOOP WRAPPER ---------- */
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-widget-loop-grid {
  padding: 40px 0 120px;
  counter-reset: resi-num;
}

/* ---------- 4. DESKTOP GRID ---------- */
@media (min-width: 1025px) {
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container.elementor-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 100px;
    row-gap: 0;
    align-items: start;
    padding: 0 60px;
  }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > *:not(.e-loop-item) { display: none; }

  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item { margin: 0 0 80px; align-self: start; }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item:nth-of-type(odd)  { grid-column: 1; }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item:nth-of-type(even) { grid-column: 2; margin-top: 180px; }
}

/* ---------- 5. CARD ROOT + COUNTER ---------- */
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card {
  position: relative;
  background: transparent;
  counter-increment: resi-num;
}

/* ---------- 6. META ROW + TITLE (EB Garamond italic) ---------- */
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__meta-row { margin-bottom: -20px; }
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__meta-row > .e-con-inner { display: block; text-align: center; padding: 0; }

body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__title :is(.elementor-heading-title, h2, h3) {
  font-family: "EB Garamond", "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(22px, 1.7vw, 30px);
  line-height: 1.25;
  letter-spacing: 0;
  color: #1b1b1b;
  text-align: center;
  margin: 0;
}
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__title :is(a, a:visited) {
  color: #1b1b1b; text-decoration: none; transition: color .28s ease;
}
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card:hover .project-card__title a,
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__title a:hover { color: #c3a065; }

/* ---------- 7. NUMBER BADGE (desktop) ---------- */
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media.e-con::before {
  content: counter(resi-num, decimal-leading-zero);
  position: absolute;
  z-index: 5;
  top: -28px;
  left: -10px;
  font-family: "Inter", "Manrope", sans-serif;
  font-weight: 300;
  font-size: clamp(40px, 3.4vw, 56px);
  line-height: 1;
  color: #1b1b1b;
  letter-spacing: -0.04em;
  pointer-events: none;
}
@media (min-width: 1025px) {
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item:nth-of-type(even) .project-card__media.e-con::before {
    left: auto; right: -10px; text-align: right;
  }
}

/* ---------- 8. MEDIA WRAPPER ---------- */
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media { position: relative; overflow: visible; }
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media > .e-con-inner { position: relative; padding: 0; }
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media .dynamic-content-featuredimage-bg {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  background-size: cover;
  background-position: center;
  transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card:hover .dynamic-content-featuredimage-bg { transform: scale(1.03); }
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media a { display: block; color: inherit; text-decoration: none; }

/* ---------- 9. SIDE LABEL ---------- */
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__side-label {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: auto;
  max-width: max-content;
  background: transparent;
  color: #1b1b1b;
  font-family: "Inter", "Manrope", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  white-space: nowrap;
  line-height: 1;
}
@media (min-width: 1025px) {
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item:nth-of-type(odd) .project-card__side-label  {
    left: -24px;  transform: translateY(-50%) rotate(-90deg); transform-origin: left center;
  }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item:nth-of-type(even) .project-card__side-label {
    right: -24px; transform: translateY(-50%) rotate(90deg);  transform-origin: right center;
  }
}

/* ---------- 10. STATUS PILL ---------- */
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .e-loop-item .project-card__status {
  position: absolute;
  bottom: 20px;
  left: 20px;
  z-index: 4;
  padding: 9px 18px;
  border-radius: 999px;
  font-family: "Inter", "Manrope", sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  background: rgba(255,255,255,.95);
  color: #1b1b1b;
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}

body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .e-loop-item.is-status-under-construction .project-card__status { background: #c3a065; color: #fff; }
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .e-loop-item.is-status-sold-out           .project-card__status { background: #1b1b1b; color: #fff; }
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .e-loop-item.is-status-completed          .project-card__status { background: #e6e1d8; color: #1b1b1b; }
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .e-loop-item.is-status-available          .project-card__status { background: #1b5e3a; color: #fff; }
body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .e-loop-item.is-status-renovation         .project-card__status { background: #7a6a52; color: #fff; }

/* ---------- 11. SCROLL-IN ANIMATION (desktop) ---------- */
@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item {
    opacity: 0;
    transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
    will-change: opacity, transform;
  }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item:nth-of-type(odd)  { transform: translateX(-60px); }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item:nth-of-type(even) { transform: translateX(60px); }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item.is-visible { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item { opacity: 1; transform: none; transition: none; }
}

/* ============================================================
   12. MOBILE & TABLET
   ============================================================ */
@media (max-width: 1024px) {

  /* Outer widget */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-widget-loop-grid > .elementor-widget-container {
    padding: 0;
  }

  /* Loop container — single column */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container.elementor-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
    row-gap: 64px !important;
    column-gap: 0 !important;
    padding: 20px 24px 40px !important;
  }

  /* Loop items */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container > .e-loop-item {
    margin: 0 !important;
    padding: 0 !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* CARD ROOT — vertical stack */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    position: relative;
  }

  /* META ROW — first */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__meta-row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    order: 1 !important;
    height: auto !important;
  }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__meta-row > .e-con-inner {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    text-align: center !important;
  }

  /* TITLE */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__title {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__title .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
  }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__title :is(.elementor-heading-title, h2, h3) {
    font-size: clamp(18px, 4.5vw, 22px) !important;
    line-height: 1.3 !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* MEDIA WRAPPER — second */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 2 !important;
    position: relative !important;
    flex: 0 0 auto !important;
    height: auto !important;
    overflow: visible !important;
  }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    height: auto !important;
  }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media .elementor-widget-dyncontel-featured-image,
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media .elementor-widget-dyncontel-featured-image > .elementor-widget-container,
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media .dce-featured-image,
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media .dce-featured-image .mask,
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media .dce-featured-image .wrap-filters {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  /* FEATURED IMAGE — explicit height */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media .dynamic-content-featuredimage-bg {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 240px !important;
    aspect-ratio: 16 / 11 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    margin: 0 !important;
  }

  /* NUMBER BADGE — overlaps top-left of image, breaks out slightly left */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media.e-con::before {
    content: counter(resi-num, decimal-leading-zero);
    position: absolute !important;
    z-index: 5 !important;
    top: 8px !important;
    left: -10px !important;
    right: auto !important;
    font-family: "Inter", "Manrope", sans-serif !important;
    font-weight: 300 !important;
    font-size: 36px !important;
    line-height: 1 !important;
    color: #1b1b1b !important;
    text-align: left !important;
    letter-spacing: -0.04em !important;
    pointer-events: none !important;
  }

  /* HIDE side label on mobile */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__side-label {
    display: none !important;
  }

  /* STATUS PILL */
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .e-loop-item .project-card__status {
    position: absolute !important;
    bottom: 14px !important;
    left: 14px !important;
    right: auto !important;
    top: auto !important;
    padding: 8px 14px !important;
    font-size: 9px !important;
    letter-spacing: .14em !important;
    max-width: calc(100% - 28px) !important;
    z-index: 4 !important;
  }

  /* Archive subtitle */
  .projects-archive-title {
    font-size: 10px;
    margin: -16px 0 32px;
  }
}

/* Very small phones */
@media (max-width: 380px) {
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .elementor-loop-container.elementor-grid {
    padding: 16px 16px 32px !important;
    row-gap: 56px !important;
  }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media .dynamic-content-featuredimage-bg {
    min-height: 200px !important;
  }
  body:is(.post-type-archive-project, [class*="tax-project_status"], [class*="tax-project_type"]) .project-card__media.e-con::before {
    top: 6px !important;
    left: -8px !important;
    font-size: 30px !important;
  }
}