
.primerivy {
  display: block !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  overflow: hidden !important;
  contain: layout paint !important;
}


.primerivy > .row {
  margin: 0 !important;
}

.primerivy > .row:first-child,
.primerivy__media-grid {
  display: grid !important;
  grid-template-columns: repeat(var(--primerivy-cols, 3), minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 248px !important;
  min-height: 248px !important;
  padding: 8px 8px 0 !important;
}

.primerivy > .row:first-child > [class*="col-"],
.primerivy__media-grid > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
}

.primerivy > .row:first-child > [class*="col-"]:has(> img[src=""]),
.primerivy > .row:first-child > [class*="col-"]:has(> img:not([src])) {
  display: none !important;
}

.primerivy__photo {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 240px !important;
  overflow: hidden !important;
  background: #f8fafc !important;
  border-radius: 6px !important;
  cursor: zoom-in !important;
  outline: none !important;
}

.primerivy__photo::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  border-radius: inherit !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background: rgba(17, 24, 39, 0.28) !important;
  transition: opacity 0.18s ease !important;
}

.primerivy__photo::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: 2 !important;
  width: 48px !important;
  height: 48px !important;
  margin: -24px 0 0 -24px !important;
  border-radius: 50% !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background-color: rgba(255, 255, 255, 0.96) !important;
  background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4.2-4.2'/%3E%3Cpath d='M11 8v6'/%3E%3Cpath d='M8 11h6'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.18) !important;
  transform: scale(0.92) !important;
  transition: opacity 0.18s ease, transform 0.18s ease !important;
}

.primerivy__photo:hover::before,
.primerivy__photo:focus-visible::before {
  opacity: 1 !important;
}

.primerivy__photo:hover::after,
.primerivy__photo:focus-visible::after {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.primerivy__photo:focus-visible {
  box-shadow: inset 0 0 0 2px #94a3b8 !important;
}

.primerivy__photo > img,
.primerivy > .row:first-child > [class*="col-"] > img {
  display: block !important;
  width: 100% !important;
  height: 240px !important;
  min-height: 240px !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important;
  transition: filter 0.18s ease !important;
}

.primerivy__photo:hover > img,
.primerivy__photo:focus-visible > img {
  filter: brightness(0.92) !important;
}

.primerivy > .row:nth-child(2),
.primerivy__info {
  display: flex !important;
  align-items: center !important;
  min-height: 74px !important;
  padding: 16px 18px 18px !important;
  background: #fff !important;
}

.primerivy > .row:nth-child(2)::before,
.primerivy__info::before {
  content: none !important;
}

.primerivy > .row:nth-child(2) > [class*="col-"],
.primerivy__info > [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

.primerivy > .row > div > p,
.primerivy__info p {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 4px 8px !important;
  margin: 0 !important;
  text-align: left !important;
  font-style: normal !important;
  color: #4b5563 !important;
  font-size: 16px !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
}

.primerivy > .row > div > p a,
.primerivy__info p a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  max-width: 100% !important;
  color: #111827 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

.primerivy > .row > div > p a::after,
.primerivy__info p a::after {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  background: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 17 17 7'/%3E%3Cpath d='M8 7h9v9'/%3E%3C/svg%3E") center / 16px 16px no-repeat !important;
}

.primerivy > .row > div > p a:hover,
.primerivy__info p a:hover,
.primerivy > .row > div > p a:focus-visible,
.primerivy__info p a:focus-visible {
  color: #374151 !important;
}

.primerivy-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 32px 78px !important;
  background: rgba(17, 24, 39, 0.92) !important;
}

.primerivy-lightbox.is-open {
  display: flex !important;
}

body.primerivy-lightbox-open {
  overflow: hidden !important;
}

.primerivy-lightbox__figure {
  width: min(1180px, 100%) !important;
  max-height: calc(100vh - 84px) !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.primerivy-lightbox__img {
  display: block !important;
  max-width: 100% !important;
  max-height: calc(100vh - 150px) !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  background: #141414 !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42) !important;
}

.primerivy-lightbox__caption {
  min-height: 22px !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

.primerivy-lightbox__counter {
  color: rgba(255, 255, 255, 0.62) !important;
}

.primerivy-lightbox__button {
  position: absolute !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.12) !important;
  cursor: pointer !important;
  transition: background 0.16s ease !important;
}

.primerivy-lightbox__button:hover,
.primerivy-lightbox__button:focus-visible {
  background: rgba(255, 255, 255, 0.22) !important;
}

.primerivy-lightbox__button svg {
  width: 23px !important;
  height: 23px !important;
  pointer-events: none !important;
}

.primerivy-lightbox__close {
  top: 22px !important;
  right: 24px !important;
}

.primerivy-lightbox__prev,
.primerivy-lightbox__next {
  top: 50% !important;
  margin-top: -24px !important;
}

.primerivy-lightbox__prev {
  left: 24px !important;
}

.primerivy-lightbox__next {
  right: 24px !important;
}

.primerivy-lightbox__button[hidden] {
  display: none !important;
}

@media (max-width: 767px) {
  .primerivy {
    margin-bottom: 18px !important;
    border-radius: 8px !important;
  }

  .primerivy > .row:first-child,
  .primerivy__media-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 8px 8px 0 !important;
  }

  .primerivy__photo,
  .primerivy__photo > img,
  .primerivy > .row:first-child > [class*="col-"] > img {
    height: 218px !important;
    min-height: 218px !important;
  }

  .primerivy > .row:nth-child(2),
  .primerivy__info {
    min-height: auto !important;
    padding: 14px 14px 16px !important;
  }

  .primerivy > .row > div > p,
  .primerivy__info p {
    display: block !important;
    font-size: 16px !important;
  }

  .primerivy > .row > div > p a,
  .primerivy__info p a {
    margin-top: 3px !important;
    font-size: 16px !important;
  }

  .primerivy-lightbox {
    padding: 68px 12px 24px !important;
  }

  .primerivy-lightbox__img {
    max-height: calc(100vh - 178px) !important;
    border-radius: 6px !important;
  }

  .primerivy-lightbox__button {
    width: 44px !important;
    height: 44px !important;
  }

  .primerivy-lightbox__close {
    top: 14px !important;
    right: 14px !important;
  }

  .primerivy-lightbox__prev {
    left: 12px !important;
  }

  .primerivy-lightbox__next {
    right: 12px !important;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  .primerivy[data-image-count="2"] > .row:first-child,
  .primerivy[data-image-count="2"] .primerivy__media-grid,
  .primerivy[data-image-count="3"] > .row:first-child,
  .primerivy[data-image-count="3"] .primerivy__media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.row.primerivy__info {
border-bottom: 1px solid #f0f0f0;
}
