/* v1.0.22 Gallery force fix - keeps old and new gallery markup stable */
.gallery-page,
.gallery-force-page {
  width: 100%;
  overflow-x: hidden !important;
  background: #f8fafc !important;
}

.gallery-force-hero,
.page-hero.gallery-force-hero {
  position: relative !important;
  min-height: 430px !important;
  display: flex !important;
  align-items: center !important;
  padding: 120px 0 78px !important;
  color: #fff !important;
  overflow: hidden !important;
  background:
    linear-gradient(110deg, rgba(2, 6, 23, 0.96) 0%, rgba(15, 23, 42, 0.88) 55%, rgba(245, 158, 11, 0.20) 100%),
    url('/assets/images/theme/gallery-hero.svg') center/cover no-repeat !important;
}

.gallery-force-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -120px;
  width: 360px;
  height: 360px;
  border-radius: 999px;
  background: rgba(245, 158, 11, 0.18);
  filter: blur(6px);
  pointer-events: none;
}

.gallery-force-hero__inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 850px !important;
}

.gallery-force-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
  color: #fbbf24 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase !important;
}

.gallery-force-kicker::before {
  content: "";
  width: 34px;
  height: 2px;
  border-radius: 99px;
  background: #f59e0b;
}

.gallery-force-kicker--dark {
  color: #d97706 !important;
}

.gallery-force-hero h1 {
  max-width: 760px !important;
  margin: 0 0 18px !important;
  color: #fff !important;
  font-size: clamp(42px, 5.6vw, 72px) !important;
  line-height: 1.02 !important;
  font-weight: 760 !important;
  letter-spacing: -1.4px !important;
}

.gallery-force-hero p {
  max-width: 690px !important;
  margin: 0 0 28px !important;
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
}

.gallery-force-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
}

.gallery-force-summary {
  padding: 54px 0 20px !important;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
}

.gallery-force-summary-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 26px !important;
  padding: 30px !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(245, 158, 11, 0.17), transparent 30%),
    #fff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08) !important;
}

.gallery-force-summary-card h2 {
  margin: 0 0 12px !important;
  color: #0f172a !important;
  font-size: clamp(30px, 4vw, 44px) !important;
  line-height: 1.1 !important;
  font-weight: 740 !important;
  letter-spacing: -0.8px !important;
}

.gallery-force-summary-card p {
  max-width: 760px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.gallery-force-stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
  gap: 14px !important;
}

.gallery-force-stat {
  min-width: 130px !important;
  padding: 20px 16px !important;
  border-radius: 22px !important;
  text-align: center !important;
  color: #fff !important;
  background: linear-gradient(160deg, #0f172a, #1e293b) !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.15) !important;
}

.gallery-force-stat strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #fbbf24 !important;
  font-size: 34px !important;
  line-height: 1 !important;
}

.gallery-force-stat span {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
}

.gallery-force-categories {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 22px !important;
}

.gallery-force-pill {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05) !important;
}

.gallery-force-pill.is-active {
  background: #f59e0b !important;
  border-color: #f59e0b !important;
  color: #111827 !important;
}

.gallery-force-list-section {
  padding: 38px 0 76px !important;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%) !important;
}

/* This part intentionally overrides the original masonry columns gallery */
.gallery-grid,
.gallery-page-grid,
.gallery-force-grid {
  columns: initial !important;
  column-count: initial !important;
  column-gap: initial !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  width: 100% !important;
}

.gallery-item,
.gallery-page-card,
.gallery-force-card {
  break-inside: initial !important;
  page-break-inside: initial !important;
  margin: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 26px !important;
  background: #0f172a !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.14) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.gallery-item:hover,
.gallery-page-card:hover,
.gallery-force-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.18) !important;
}

.gallery-item > img,
.gallery-page-card__media,
.gallery-force-card__image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 250px !important;
  overflow: hidden !important;
  background: #111827 !important;
}

.gallery-item > img {
  object-fit: cover !important;
}

.gallery-page-card__media img,
.gallery-force-card__image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  transition: transform 0.55s ease !important;
}

.gallery-item:hover > img,
.gallery-page-card:hover .gallery-page-card__media img,
.gallery-force-card:hover .gallery-force-card__image img {
  transform: scale(1.06) !important;
}

.gallery-force-placeholder,
.gallery-page-card__placeholder {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #111827, #1f2937) !important;
}

.gallery-force-placeholder span,
.gallery-page-card__placeholder span {
  color: #f59e0b !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  letter-spacing: 2px !important;
}

.gallery-item figcaption,
.gallery-page-card__body,
.gallery-force-card__body {
  display: block !important;
  padding: 22px !important;
  background: #0f172a !important;
  color: #fff !important;
}

.gallery-force-card__body span,
.gallery-page-card__tag {
  display: inline-flex !important;
  margin-bottom: 12px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  color: #111827 !important;
  background: #f59e0b !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: 0.7px !important;
  text-transform: uppercase !important;
}

.gallery-item figcaption,
.gallery-force-card__body h3,
.gallery-page-card__body h3 {
  color: #fff !important;
}

.gallery-force-card__body h3,
.gallery-page-card__body h3 {
  margin: 0 0 10px !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 760 !important;
}

.gallery-force-card__body p,
.gallery-page-card__body p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.gallery-force-empty,
.gallery-page-empty {
  max-width: 680px !important;
  margin: 0 auto !important;
  padding: 46px 28px !important;
  text-align: center !important;
  border-radius: 28px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #0f172a, #1e293b) !important;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.12) !important;
}

.gallery-force-empty div,
.gallery-page-empty__icon {
  width: 70px !important;
  height: 70px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
  border-radius: 999px !important;
  background: #f59e0b !important;
  color: #111827 !important;
  font-size: 30px !important;
}

.gallery-force-empty h2,
.gallery-page-empty h2 {
  margin: 0 0 10px !important;
  color: #fff !important;
}

.gallery-force-empty p,
.gallery-page-empty p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

.gallery-force-cta-section,
.gallery-page-cta-section {
  padding: 0 0 82px !important;
  background: #f8fafc !important;
}

.gallery-force-cta,
.gallery-page-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 38px 42px !important;
  border-radius: 28px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #050b12, #111827 62%, #1f2937) !important;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.20) !important;
  overflow: hidden !important;
}

.gallery-force-cta span,
.gallery-page-cta .gallery-page-kicker {
  display: inline-flex !important;
  margin-bottom: 10px !important;
  color: #f59e0b !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

.gallery-force-cta h2,
.gallery-page-cta h2 {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: clamp(26px, 3vw, 38px) !important;
  line-height: 1.15 !important;
}

.gallery-force-cta p,
.gallery-page-cta p {
  margin: 0 !important;
  max-width: 680px !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

@media (max-width: 1023px) {
  .gallery-grid,
  .gallery-page-grid,
  .gallery-force-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .gallery-force-summary-card {
    grid-template-columns: 1fr !important;
  }

  .gallery-force-stats {
    max-width: 360px !important;
  }
}

@media (max-width: 767px) {
  .gallery-force-hero,
  .page-hero.gallery-force-hero {
    min-height: auto !important;
    padding: 104px 0 54px !important;
  }

  .gallery-force-hero h1 {
    font-size: 38px !important;
    letter-spacing: -0.7px !important;
  }

  .gallery-force-hero p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .gallery-force-actions,
  .gallery-force-cta {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .gallery-force-summary {
    padding: 34px 0 14px !important;
  }

  .gallery-force-summary-card {
    padding: 22px !important;
    border-radius: 22px !important;
  }

  .gallery-force-summary-card h2 {
    font-size: 28px !important;
  }

  .gallery-force-stats {
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    max-width: none !important;
  }

  .gallery-force-stat {
    min-width: 0 !important;
    padding: 16px 10px !important;
  }

  .gallery-force-stat strong {
    font-size: 28px !important;
  }

  .gallery-force-categories {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding-bottom: 6px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .gallery-force-pill {
    white-space: nowrap !important;
  }

  .gallery-force-list-section {
    padding: 28px 0 56px !important;
  }

  .gallery-grid,
  .gallery-page-grid,
  .gallery-force-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .gallery-item > img,
  .gallery-page-card__media,
  .gallery-force-card__image {
    height: 230px !important;
  }

  .gallery-item figcaption,
  .gallery-page-card__body,
  .gallery-force-card__body {
    padding: 18px !important;
  }

  .gallery-force-cta-section,
  .gallery-page-cta-section {
    padding-bottom: 56px !important;
  }

  .gallery-force-cta,
  .gallery-page-cta {
    padding: 26px 20px !important;
    border-radius: 22px !important;
  }
}


/* v1.0.86 - Public gallery category/sorting pills removed */
.gallery-force-categories,
.gallery-force-pill {
  display: none !important;
}
