/* ═══════════════════════════════════════════════════════════════════════════
   RSK23 Dark Theme for Phoca Gallery
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Categories List (Portfolio Grid) ───────────────────────────────────── */
.pg-categories-items-box {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  padding: 32px 40px 80px !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
}

.pg-category-box {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: var(--dark3, #162535) !important;
  border: 1px solid rgba(91,168,181,.1) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.45), 0 0 0 1px rgba(91,168,181,.08) !important;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease !important;
}
.pg-category-box:hover {
  transform: translateY(-5px) scale(1.012) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.65), 0 0 0 1px rgba(91,168,181,.28) !important;
}

/* Category image */
.pg-category-box-image {
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
}
.pg-category-box-image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.pg-category-box-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .5s ease, filter .4s !important;
}
.pg-category-box:hover .pg-category-box-image img {
  transform: scale(1.06) !important;
  filter: brightness(1.06) !important;
}

/* SVG folder icons — style them if thumbnails not available */
.pg-category-box-image .ph-si-category {
  width: 80px !important;
  height: 80px !important;
  fill: var(--teal, #5BA8B5) !important;
  opacity: .3 !important;
  margin: 40px auto !important;
  display: block !important;
}
.pg-svg-box {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 200px !important;
  background: linear-gradient(135deg, rgba(22,37,53,.9), rgba(10,18,24,.95)) !important;
}

/* Category info */
.pg-category-box-info {
  padding: 16px 18px 18px !important;
  background: linear-gradient(to top, rgba(10,18,24,.95), rgba(22,37,53,.8)) !important;
}
.pg-category-box-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}
.pg-category-box-title a {
  color: #fff !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
.pg-category-box-title a:hover {
  color: var(--teal, #5BA8B5) !important;
}
.pg-category-box-title svg {
  display: none !important;  /* hide folder icon in title */
}
.pg-category-box-count {
  color: var(--muted, #7A9298) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}
.pg-category-box-description {
  color: var(--muted, #7A9298) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  margin-top: 6px !important;
}

/* ── Image Gallery (Single Category View) ───────────────────────────────── */
.pg-cv-images-box {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
  padding: 24px !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
}

.pg-cv-image-box {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 6px !important;
  aspect-ratio: 4/3 !important;
  background: var(--dark3) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.5) !important;
  transition: box-shadow .3s, transform .3s !important;
}
.pg-cv-image-box:hover {
  box-shadow: 0 8px 40px rgba(0,0,0,.7) !important;
  transform: translateY(-2px) !important;
}
.pg-cv-image-box a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.pg-cv-image-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .5s ease !important;
}
.pg-cv-image-box:hover img {
  transform: scale(1.05) !important;
}

/* Image title overlay */
.pg-cv-image-box-image-title,
.pg-cv-image-box-description {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 8px 12px !important;
  background: linear-gradient(to top, rgba(10,18,24,.9), transparent) !important;
  color: rgba(255,255,255,.85) !important;
  font-size: 11px !important;
  opacity: 0 !important;
  transition: opacity .3s !important;
}
.pg-cv-image-box:hover .pg-cv-image-box-image-title,
.pg-cv-image-box:hover .pg-cv-image-box-description {
  opacity: 1 !important;
}

/* ── Category Header ───────────────────────────────────────────────────── */
.pg-category-header,
.pg-cv-category-box {
  padding: 100px 48px 32px !important;
  background: linear-gradient(180deg, rgba(10,18,24,1), rgba(15,29,41,.97)) !important;
  border-bottom: 1px solid rgba(91,168,181,.12) !important;
  max-width: none !important;
}
.pg-category-header h3,
.pg-cv-category-box-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(22px, 3.5vw, 38px) !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 8px !important;
}

/* Back button */
.pg-category-back,
.pg-cv-back {
  margin-bottom: 12px !important;
}
.pg-category-back a,
.pg-cv-back a {
  color: var(--teal, #5BA8B5) !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* ── Subcategories inside a parent ─────────────────────────────────────── */
.pg-cv-subcategories-box {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  padding: 24px 40px !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
}

/* ── General overrides ─────────────────────────────────────────────────── */
.ph-sr-only { display: none !important; }

/* Hide empty Phoca containers */
.pg-categories-items-box:empty,
.pg-cv-images-box:empty { display: none !important; }

/* Reset white backgrounds */
.com_phocagallery,
#phocagallery {
  background: transparent !important;
  color: var(--text, #E8E2D9) !important;
}

/* Pagination */
.pg-items-pagination,
.pagination {
  display: flex !important;
  justify-content: center !important;
  padding: 24px !important;
  gap: 4px !important;
}
.pagination li a,
.pagination li span {
  background: var(--dark3, #162535) !important;
  color: var(--text, #E8E2D9) !important;
  border: 1px solid rgba(91,168,181,.2) !important;
  border-radius: 6px !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
}
.pagination li.active span {
  background: var(--teal, #5BA8B5) !important;
  color: #fff !important;
}

/* RSS icon */
.pg-categories-items-box + a[href*="feed"],
a[href*="format=feed"] {
  display: none !important;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .pg-categories-items-box,
  .pg-cv-subcategories-box { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 700px) {
  .pg-categories-items-box,
  .pg-cv-subcategories-box,
  .pg-cv-images-box { grid-template-columns: 1fr !important; }
  .pg-categories-items-box { padding: 16px !important; }
  .pg-category-header,
  .pg-cv-category-box { padding: 96px 20px 24px !important; }
}
