

/* ── Back link ──────────────────────────────────────────────*/
.pd-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-family: var(--nav-font);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--default-color), transparent 40%);
  text-decoration: none;
  margin-bottom: 36px;
  transition: color 0.2s;
}
.pd-back:hover { color: var(--accent-color); }
.pd-back i { font-size: 15px; }

/* ── Page heading ───────────────────────────────────────────*/
.pd-title {
  font-family: var(--heading-font);
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--heading-color);
  margin: 0 0 10px;
}
.pd-title-line {
  display: block;
  width: 48px;
  height: 3px;
  background: var(--accent-color);
  margin-bottom: 48px;
}

/* ── Meta card (left sticky column) ────────────────────────*/
.pd-meta-card {
  background: var(--surface-color);
  border-left: 3px solid var(--accent-color);
  padding: 28px 28px 24px;
  position: sticky;
  top: 88px;           /* clears the fixed header */
}
.pd-meta-card h4 {
  font-size: 11px;
  font-family: var(--nav-font);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-color);
  margin-bottom: 20px;
}
.pd-meta-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.7;
}
.pd-meta-list li {
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--default-color), transparent 88%);
}
.pd-meta-list li:last-child { border-bottom: none; }
.pd-meta-list .label {
  font-size: 10px;
  font-family: var(--nav-font);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--default-color), transparent 55%);
  margin-bottom: 2px;
}
.pd-meta-list .value {
  color: var(--default-color);
  font-weight: 500;
}
.pd-meta-list .value a {
  color: var(--accent-color);
  text-decoration: none;
  transition: color 0.2s;
}
.pd-meta-list .value a:hover {
  color: color-mix(in srgb, var(--accent-color), transparent 25%);
}

/* ── Description column ────────────────────────────────────*/
.pd-description h2 {
  font-family: var(--heading-font);
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  font-weight: 700;
  color: var(--heading-color);
  margin-bottom: 20px;
  line-height: 1.3;
}
.pd-description p {
  font-size: 15px;
  line-height: 1.8;
  color: color-mix(in srgb, var(--default-color), transparent 25%);
  margin-bottom: 16px;
}
.pd-description p:last-child { margin-bottom: 0; }
.pd-description ul {
  padding-left: 18px;
  font-size: 15px;
  line-height: 1.8;
  color: color-mix(in srgb, var(--default-color), transparent 25%);
  margin-bottom: 16px;
}
.pd-description ul li { margin-bottom: 6px; }

/* ── Section label above image grid ────────────────────────*/
.pd-gallery-label {
  font-size: 11px;
  font-family: var(--nav-font);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--default-color), transparent 50%);
  margin-bottom: 18px;
  padding-top: 4px;
}

/* ── Divider between content and gallery ───────────────────*/
.pd-divider {
  border: none;
  border-top: 1px solid color-mix(in srgb, var(--default-color), transparent 88%);
  margin: 52px 0 44px;
}

/* ── Image grid cards ───────────────────────────────────────*/
.pd-img-wrap {
  overflow: hidden;
  display: block;
  position: relative;
}
.pd-img-wrap img {
  width: 100%;
  display: block;
  object-fit: contain;
  transition: transform 0.45s ease;
}
.pd-img-wrap:hover img { transform: scale(1.04); }
.pd-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--accent-color), transparent 92%);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.pd-img-wrap:hover::after { opacity: 1; }

/* ── Single hero image (for single-image projects) ─────────*/
.pd-hero-wrap {
  overflow: hidden;
  display: block;
}
.pd-hero-wrap img {
  width: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.pd-hero-wrap:hover img { transform: scale(1.02); }

/* ── Swiper refinements (P[ART]AKING) ──────────────────────*/
.pd-swiper {
  overflow: hidden;
}
.pd-swiper .swiper-slide img {
  width: 100%;
  display: block;
  object-fit: cover;
  height: 420px;
}
.pd-swiper .swiper-pagination {
  position: relative;
  margin-top: 14px;
  text-align: center;
}
.pd-swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: color-mix(in srgb, var(--default-color), transparent 75%);
  opacity: 1;
  border-radius: 50%;
  margin: 0 4px;
}
.pd-swiper .swiper-pagination-bullet-active {
  background: var(--accent-color);
  width: 24px;
  border-radius: 5px;
}

/* ── Responsive tweaks ──────────────────────────────────────*/
@media (max-width: 991px) {
  .pd-meta-card { position: static; margin-bottom: 32px; }
  .pd-swiper .swiper-slide img { height: 300px; }
}
@media (max-width: 575px) {
  .pd-title { font-size: 2rem; }
  .pd-swiper .swiper-slide img { height: 220px; }
}
