/*
  Additions beyond the original static clone's style.css — built for project
  detail components seen on the live thegrid-arch.com project pages
  (full-width images, image sliders, drawing/floor-plan carousels) that
  weren't present in the static reference site. Uses the same design tokens
  (fonts, colors, spacing) as style.css so these blocks feel native.
*/

/* ---------- Full-width single image ---------- */
.full-width-image-block {
  width: 100%;
  overflow: hidden;
}

.full-width-image-block img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.full-width-image-block .caption {
  margin-top: 1rem;
  padding: 0 2rem;
  font-family: var(--regular-font-family);
  font-size: var(--text-font-size);
  color: var(--highlight-color);
}

/* ---------- Shared slider/carousel nav (image slider + drawings carousel) ---------- */
.thegrid-slider-wrapper {
  position: relative;
}

.thegrid-slider-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: var(--white-color);
  border-radius: 50%;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.15);
  transition: var(--common-transition);
}

.thegrid-slider-nav:hover {
  background: var(--primary-color);
}

.thegrid-slider-nav:hover img {
  filter: invert(1);
}

.thegrid-slider-nav img {
  width: 1.125rem;
  height: 1.125rem;
}

.thegrid-slider-nav.prev {
  left: 1.5rem;
}

.thegrid-slider-nav.next {
  right: 1.5rem;
}

.thegrid-slider-counter {
  text-align: center;
  margin-top: 1rem;
  font-family: var(--regular-font-family);
  font-size: var(--text-font-size);
  color: var(--highlight-color);
}

/* ---------- Full-width image slider (one slide visible) ---------- */
.image-slider-block .swiper-slide {
  aspect-ratio: 16 / 9;
}

.image-slider-block .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media only screen and (max-width: 767px) {
  .image-slider-block .swiper-slide {
    aspect-ratio: 4 / 3;
  }

  .thegrid-slider-nav {
    width: 2.25rem;
    height: 2.25rem;
  }

  .thegrid-slider-nav.prev {
    left: 0.75rem;
  }

  .thegrid-slider-nav.next {
    right: 0.75rem;
  }
}

/* ---------- Drawings / floor plans carousel (several visible) ---------- */
.drawings-carousel-block {
  padding: 0 2rem;
}

.drawings-carousel-block .swiper-slide {
  aspect-ratio: 4 / 3;
  background: var(--background-smoke);
}

.drawings-carousel-block .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.drawings-carousel-block .thegrid-slider-nav.prev {
  left: -1.25rem;
}

.drawings-carousel-block .thegrid-slider-nav.next {
  right: -1.25rem;
}

/* 19-10-2026 */
#conversation-player {
    aspect-ratio: 16 / 9;
}


@media only screen and (max-width: 767px) {
  .drawings-carousel-block {
    padding: 0 1rem;
  }

  .drawings-carousel-block .thegrid-slider-nav.prev {
    left: -0.5rem;
  }

  .drawings-carousel-block .thegrid-slider-nav.next {
    right: -0.5rem;
  }
}
