/* stylelint-disable selector-class-pattern */
.woocommerce div.product .woocommerce-product-gallery {
  position: relative;
}

.woocommerce div.product .woocommerce-product-gallery__trigger {
  align-items: center;
  background: var(--color-canvas);
  border: 1px solid var(--color-border-strong);
  border-radius: 50%;
  color: var(--brand-olive);
  display: flex;
  inset-block-start: calc(var(--space-3) + 1px);
  inset-inline-end: calc(var(--space-3) + 1px);
  justify-content: center;
  min-block-size: 3.25rem;
  min-inline-size: 3.25rem;
  padding: 0;
  position: absolute;
  text-decoration: none;
  z-index: 2;
}

.woocommerce div.product .woocommerce-product-gallery__trigger:hover,
.woocommerce div.product .woocommerce-product-gallery__trigger:active {
  background: var(--brand-gold);
  border-color: var(--brand-gold);
  color: var(--brand-charcoal);
}

.woocommerce div.product .woocommerce-product-gallery__trigger:focus-visible {
  outline: 0.1875rem solid var(--color-focus);
  outline-offset: 0.1875rem;
}

.woocommerce div.product .woocommerce-product-gallery__trigger span {
  block-size: 1.125rem;
  font-size: 0;
  inline-size: 1.125rem;
  position: relative;
}

.woocommerce div.product .woocommerce-product-gallery__trigger span::before {
  border: 0.125rem solid currentcolor;
  border-radius: 50%;
  content: "";
  inset: 0.0625rem 0.25rem 0.25rem 0.0625rem;
  position: absolute;
}

.woocommerce div.product .woocommerce-product-gallery__trigger span::after {
  background: currentcolor;
  block-size: 0.125rem;
  bottom: 0.1875rem;
  content: "";
  inline-size: 0.5625rem;
  position: absolute;
  right: 0.0625rem;
  transform: rotate(45deg);
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: flex-start;
  list-style: none;
  margin: var(--space-3) 0 0;
  padding: 0;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
  flex: 0 0 5rem;
  float: none;
  margin: 0;
  width: 5rem;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img {
  aspect-ratio: 1;
  border: 1px solid var(--color-border);
  display: block;
  cursor: pointer;
  object-fit: cover;
  opacity: 0.68;
  transition: border-color 160ms ease, opacity 160ms ease;
  width: 100%;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img:hover {
  border-color: var(--brand-gold);
  opacity: 1;
}

.pswp {
  font-family: var(--font-body);
  z-index: 2000;
}

.pswp__bg {
  background: #20201c;
}

html:has(.pswp--open),
body:has(.pswp--open) {
  overflow: hidden;
}

.pswp__img {
  box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 35%);
  outline: 1px solid rgb(255 255 255 / 12%);
}

.pswp .pswp__top-bar {
  align-items: center;
  background: rgb(45 45 45 / 94%);
  border-block-end: 1px solid rgb(193 157 107 / 70%);
  block-size: 4.25rem;
  box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 20%);
  padding-inline: 0.75rem;
}

.pswp__counter {
  align-items: center;
  background: rgb(255 255 255 / 8%);
  border: 1px solid rgb(193 157 107 / 55%);
  color: var(--color-on-dark);
  display: flex;
  font-family: var(--font-display);
  font-size: var(--font-size-xs);
  font-weight: 700;
  block-size: 2.75rem;
  line-height: 1;
  margin-inline-end: auto;
  padding-inline: 0.75rem;
}

.pswp .pswp__top-bar .pswp__button {
  background-image: none !important;
  border: 1px solid transparent;
  block-size: 3rem;
  color: var(--color-on-dark);
  float: none;
  inline-size: 3rem;
  margin: 0;
  opacity: 1;
  padding: 0;
}

.pswp .pswp__top-bar .pswp__button:hover,
.pswp .pswp__top-bar .pswp__button:active {
  background-color: var(--brand-gold);
  border-color: var(--brand-gold);
  color: var(--brand-charcoal);
}

.pswp .pswp__button:focus-visible {
  outline: 0.1875rem solid var(--color-on-dark);
  outline-offset: 0.125rem;
}

.pswp .pswp__button--close::before,
.pswp .pswp__button--close::after {
  background: currentcolor;
  block-size: 0.125rem;
  content: "";
  inline-size: 1.125rem;
  inset-block-start: calc(50% - 0.0625rem);
  inset-inline-start: calc(50% - 0.5625rem);
  position: absolute;
}

.pswp .pswp__button--close::before {
  transform: rotate(45deg);
}

.pswp .pswp__button--close::after {
  transform: rotate(-45deg);
}

.pswp .pswp__button--zoom::before {
  border: 0.125rem solid currentcolor;
  border-radius: 50%;
  content: "";
  block-size: 0.8125rem;
  inline-size: 0.8125rem;
  inset-block-start: 0.8125rem;
  inset-inline-start: 0.8125rem;
  position: absolute;
}

.pswp .pswp__button--zoom::after {
  background: currentcolor;
  block-size: 0.125rem;
  content: "";
  inline-size: 0.625rem;
  inset-block-start: 1.75rem;
  inset-inline-start: 1.75rem;
  position: absolute;
  transform: rotate(45deg);
}

.pswp .pswp__button--fs::before {
  border-block-start: 0.125rem solid currentcolor;
  border-inline-start: 0.125rem solid currentcolor;
  content: "";
  block-size: 0.75rem;
  inline-size: 0.75rem;
  inset-block-start: 0.8125rem;
  inset-inline-start: 0.8125rem;
  position: absolute;
}

.pswp .pswp__button--fs::after {
  border-block-end: 0.125rem solid currentcolor;
  border-inline-end: 0.125rem solid currentcolor;
  content: "";
  block-size: 0.75rem;
  inline-size: 0.75rem;
  inset-block-end: 0.8125rem;
  inset-inline-end: 0.8125rem;
  position: absolute;
}

.pswp .pswp__button--arrow--left,
.pswp .pswp__button--arrow--right {
  background: rgb(45 45 45 / 90%) !important;
  border: 1px solid rgb(193 157 107 / 80%);
  border-radius: 50%;
  block-size: 3.5rem;
  color: var(--color-on-dark);
  inline-size: 3.5rem;
  margin-block-start: -1.75rem;
  opacity: 1;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.pswp .pswp__button--arrow--left {
  inset-inline-start: 1.25rem;
}

.pswp .pswp__button--arrow--right {
  inset-inline-end: 1.25rem;
}

.pswp .pswp__button--arrow--left::before,
.pswp .pswp__button--arrow--right::before {
  background: none;
  block-size: 0.875rem;
  content: "";
  inline-size: 0.875rem;
  inset-block-start: 1.25rem;
  position: absolute;
}

.pswp .pswp__button--arrow--left::before {
  border-block-end: 0.125rem solid currentcolor;
  border-inline-start: 0.125rem solid currentcolor;
  inset-inline-start: 1.4375rem;
  transform: rotate(45deg);
}

.pswp .pswp__button--arrow--right::before {
  border-block-end: 0.125rem solid currentcolor;
  border-inline-end: 0.125rem solid currentcolor;
  inset-inline-end: 1.4375rem;
  transform: rotate(-45deg);
}

.pswp .pswp__button--arrow--left:hover,
.pswp .pswp__button--arrow--left:active,
.pswp .pswp__button--arrow--right:hover,
.pswp .pswp__button--arrow--right:active {
  background-color: var(--brand-gold) !important;
  border-color: var(--brand-gold);
  color: var(--brand-charcoal);
}

.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: visible;
}

.pswp .pswp__caption__center {
  background: rgb(45 45 45 / 94%);
  border-block-start: 1px solid rgb(193 157 107 / 70%);
  color: var(--color-on-dark);
  font-family: var(--font-body);
  font-size: var(--font-size-xs);
  max-inline-size: min(100% - 1.5rem, 42rem);
  padding: 0.75rem 1rem;
}

@media (max-width: 39.99rem) {
  .woocommerce div.product .woocommerce-product-gallery__trigger {
    inset-block-start: calc(var(--space-2) + 1px);
    inset-inline-end: calc(var(--space-2) + 1px);
    min-block-size: 2.75rem;
    min-inline-size: 2.75rem;
  }

  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
    gap: var(--space-1);
    margin-block-start: var(--space-2);
  }

  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
    flex-basis: 4.5rem;
    width: 4.5rem;
  }

  .pswp .pswp__top-bar {
    block-size: 3.75rem;
    padding-inline: 0.5rem;
  }

  .pswp__counter {
    block-size: 2.5rem;
    padding-inline: 0.5rem;
  }

  .pswp .pswp__top-bar .pswp__button {
    block-size: 2.75rem;
    inline-size: 2.75rem;
  }

  .pswp .pswp__button--arrow--left,
  .pswp .pswp__button--arrow--right {
    block-size: 3.25rem;
    inline-size: 3.25rem;
    margin-block-start: -1.625rem;
  }

  .pswp .pswp__button--arrow--left {
    inset-inline-start: 0.75rem;
  }

  .pswp .pswp__button--arrow--right {
    inset-inline-end: 0.75rem;
  }

  .pswp .pswp__button--arrow--left::before,
  .pswp .pswp__button--arrow--right::before {
    inset-block-start: 1.125rem;
  }

  .pswp .pswp__button--arrow--left::before {
    inset-inline-start: 1.3125rem;
  }

  .pswp .pswp__button--arrow--right::before {
    inset-inline-end: 1.3125rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img,
  .pswp .pswp__button--arrow--left,
  .pswp .pswp__button--arrow--right {
    transition: none;
  }
}
/* stylelint-enable selector-class-pattern */