/* About Us / in-store gallery — scoped to the native About template only.
 * Reuses the core [data-slider] runtime and site tokens; no external library. */
.cc-about-page .cc-about-landing-hero__surface {
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 32rem);
}
.cc-about-page .cc-about-landing-hero__media--gallery {
  width: 100%;
  max-width: 32rem;
  padding: .55rem;
}
.cc-about-gallery {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-width: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: .95rem;
  background: var(--cc-cream);
  touch-action: pan-y;
  user-select: none;
  cursor: grab;
}
.cc-about-gallery.is-swipe-dragging { cursor: grabbing; }
.cc-about-gallery__slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .55s ease, visibility 0s linear .55s;
}
.cc-about-gallery__slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .55s ease, visibility 0s;
}
.cc-about-page .cc-about-gallery__slide img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  border-radius: .95rem;
  box-shadow: none;
  transform: none;
  transition: none;
  -webkit-user-drag: none;
  user-select: none;
}
.cc-about-gallery .cc-slider-dots {
  z-index: 4;
  bottom: .6rem;
  left: 50%;
  gap: .08rem;
  padding: .12rem .3rem;
  transform: translateX(-50%);
  background: rgba(255, 249, 244, .94);
  border: 1px solid rgba(166, 90, 49, .14);
  box-shadow: 0 4px 15px rgba(50, 24, 10, .11);
}
.cc-about-gallery .cc-slider-dot,
.cc-about-gallery .cc-slider-dot.is-active {
  display: grid;
  place-items: center;
  flex: 0 0 2.5rem;
  width: 2.5rem;
  height: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
}
.cc-about-gallery .cc-slider-dot::after {
  content: '';
  width: 1.45rem;
  height: .28rem;
  border-radius: 999px;
  background: rgba(106, 54, 26, .36);
  transition: background-color .2s ease;
}
.cc-about-gallery .cc-slider-dot.is-active::after,
.cc-about-gallery .cc-slider-dot:hover::after {
  background: var(--cc-primary);
}
@media (hover: hover) and (pointer: fine) {
  .cc-about-page .cc-about-gallery__slide img:hover {
    transform: none;
    filter: none;
    box-shadow: none;
  }
}
@media (max-width: 1024px) {
  .cc-about-page .cc-about-landing-hero__surface {
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 24rem);
  }
  .cc-about-page .cc-about-landing-hero__media--gallery {
    max-width: 24rem;
  }
}
/* Tablet portrait needs full-width copy: avoid a narrow justified column. */
@media (max-width: 900px) {
  .cc-about-page .cc-about-landing-hero__surface {
    grid-template-columns: minmax(0, 1fr);
  }
  .cc-about-page .cc-about-landing-hero__copy { order: 2; }
  .cc-about-page .cc-about-landing-hero__media--gallery {
    order: 1;
    width: min(100%, 35rem);
    max-width: 100%;
    padding: .45rem;
  }
}
@media (max-width: 390px) {
  .cc-about-page .cc-about-landing-hero__media--gallery {
    width: 100%;
  }
  .cc-about-gallery .cc-slider-dots { bottom: .35rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-about-gallery__slide,
  .cc-about-gallery__slide.is-active,
  .cc-about-gallery .cc-slider-dot::after {
    transition: none;
  }
}
