/* Prevent Elementor's global link colour from making the enquiry CTA invisible. */
.copyme-product .copyme-product__quote-button,
.copyme-product .copyme-product__quote-button:visited,
.copyme-product .copyme-product__quote-button:hover,
.copyme-product .copyme-product__quote-button:focus,
.copyme-product .copyme-product__quote-button span {
  color: #fff !important;
  text-decoration: none !important;
}

/* Keep related-product cards consistent with the Shop and category archive. */
.copyme-product__related .copyme-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin-top: auto;
}

.copyme-product__related .copyme-card-actions .button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .2rem;
  min-width: 0;
  margin: 0 !important;
  border-radius: 8px !important;
  padding: .7rem .45rem;
  font-size: .76rem;
  white-space: nowrap;
}

.copyme-product__related .copyme-read-more-button {
  border: 1px solid #cfd9e8;
  background: #fff;
  color: var(--cp-navy) !important;
}

.copyme-product__related .copyme-enquire-button {
  background: var(--cp-orange) !important;
  color: #fff !important;
}

/* Images embedded in old product descriptions are surfaced here at runtime.
   They remain in the original WordPress content and are never migrated. */
.copyme-product__description-gallery {
  margin-top: 1rem;
}

.copyme-product__gallery-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }

.copyme-product__gallery-heading span {
  color: var(--cp-navy);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.copyme-product__gallery-heading p { margin: 0; color: #6c7890; font-size: .78rem; }.copyme-product__gallery-controls { display: flex; align-items: center; gap: .42rem; }.copyme-product__gallery-controls > span { color: #b6c0d0; font-size: .75rem; }
/* Reset the theme's generic button styling. These should read as quiet text links. */
.copyme-product .copyme-product__gallery-controls .copyme-gallery__scroll { display: inline; width: auto !important; height: auto !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--cp-navy) !important; cursor: pointer; font-family: inherit !important; font-size: .68rem !important; font-weight: 800 !important; letter-spacing: .055em; line-height: 1.2 !important; text-transform: uppercase; transform: none !important; }.copyme-product .copyme-product__gallery-controls .copyme-gallery__scroll:hover,.copyme-product .copyme-product__gallery-controls .copyme-gallery__scroll:focus-visible { background: transparent !important; color: var(--cp-orange) !important; outline: none; text-decoration: underline; }

.copyme-product__gallery-grid {
  display: flex;
  gap: .75rem;
  overflow-x: auto;
  padding: .15rem .05rem .15rem;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.copyme-product__gallery-grid::-webkit-scrollbar { display: none; }

.copyme-gallery__thumbnail {
  position: relative;
  display: block !important;
  flex: 0 0 clamp(84px, 13vw, 118px);
  overflow: hidden;
  width: clamp(84px, 13vw, 118px);
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  cursor: zoom-in;
  scroll-snap-align: start;
}

.copyme-gallery__thumbnail img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  background: transparent !important;
  transition: transform .2s ease;
}

.copyme-gallery__thumbnail span {
  position: absolute;
  right: .35rem;
  bottom: .35rem;
  padding: .26rem .42rem;
  border-radius: 999px;
  background: rgba(20, 45, 95, .84);
  color: #fff;
  font-size: .62rem;
  font-weight: 700;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity .2s ease, transform .2s ease;
}

.copyme-gallery__thumbnail:hover img,
.copyme-gallery__thumbnail:focus-visible img {
  transform: scale(1.04);
}

.copyme-gallery__thumbnail:hover span,
.copyme-gallery__thumbnail:focus-visible span { opacity: 1; transform: translateY(0); }.copyme-gallery__thumbnail:focus-visible { outline: 3px solid var(--cp-orange); outline-offset: 2px; }

.copyme-gallery-lightbox { position: fixed; z-index: 100000; inset: 0; display: flex; align-items: center; justify-content: center; padding: 2rem; background: rgba(8, 18, 40, .88); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease; }
.copyme-gallery-lightbox.is-open { opacity: 1; visibility: visible; }
.copyme-gallery-lightbox__dialog { position: relative; display: flex; align-items: center; justify-content: center; width: min(1100px, 100%); height: min(780px, 100%); }
.copyme-gallery-lightbox__image { display: block; max-width: 100%; max-height: 100%; border-radius: .75rem; box-shadow: 0 24px 70px rgba(0, 0, 0, .45); object-fit: contain; }
.copyme-gallery-lightbox__close,.copyme-gallery-lightbox__previous,.copyme-gallery-lightbox__next { position: absolute; display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border: 0; border-radius: 50%; background: #fff; color: var(--cp-navy); cursor: pointer; font-size: 1.55rem; line-height: 1; }
.copyme-gallery-lightbox__close { top: -1rem; right: -1rem; font-size: 1.7rem; }.copyme-gallery-lightbox__previous { left: -1.4rem; }.copyme-gallery-lightbox__next { right: -1.4rem; }.copyme-gallery-lightbox__close:hover,.copyme-gallery-lightbox__previous:hover,.copyme-gallery-lightbox__next:hover { background: var(--cp-orange); color: #fff; }.copyme-gallery-lightbox__count { position: absolute; bottom: -1.7rem; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.82); font-size: .8rem; }

@media (max-width: 560px) {
  .copyme-product__gallery-heading { display: block; }.copyme-product__gallery-controls { margin-top: .35rem; }.copyme-product__gallery-heading p { margin-right: auto; }.copyme-gallery__thumbnail { flex-basis: 82px; width: 82px; }
  .copyme-gallery-lightbox { padding: 1rem; }.copyme-gallery-lightbox__close { top: -.55rem; right: -.55rem; }.copyme-gallery-lightbox__previous { left: -.7rem; }.copyme-gallery-lightbox__next { right: -.7rem; }
}
