/* Gallery component from heleomo_verzia_03/gallery.html, scoped to gallery views. */
.heleomo-gallery-page .gallery-card { position: relative; overflow: hidden; border-radius: 12px; height: 260px; margin-bottom: 0; }
@media (min-width: 768px) { .heleomo-gallery-page .gallery-card { height: 280px; } }
.heleomo-gallery-page .gallery-card a { display: block; width: 100%; height: 100%; position: relative; }
.heleomo-gallery-page .gallery-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.heleomo-gallery-page .gallery-card .overlay { position: absolute; inset: 0; background: color-mix(in srgb, var(--accent-color), transparent 60%); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .3s ease; }
.heleomo-gallery-page .gallery-card .overlay i { color: var(--contrast-color); font-size: 28px; transform: scale(.6); transition: transform .3s ease; }
.heleomo-gallery-page .gallery-card:hover img { transform: scale(1.1); }
.heleomo-gallery-page .gallery-card:hover .overlay,
.heleomo-gallery-page .gallery-card:focus-within .overlay { opacity: 1; }
.heleomo-gallery-page .gallery-card:hover .overlay i,
.heleomo-gallery-page .gallery-card:focus-within .overlay i { transform: scale(1); }
.heleomo-gallery-page .heleomo-gallery-filters { display: flex; flex-wrap: wrap; gap: 12px; }
.heleomo-gallery-page .heleomo-gallery-filters a { white-space: normal; }
.heleomo-gallery-page .heleomo-gallery-filters .btn { color: var(--accent-color); border-color: var(--accent-color); }
.heleomo-gallery-page .heleomo-gallery-filters .btn:is(.active, :hover) { color: var(--contrast-color); background: var(--accent-color); }
.heleomo-gallery-page .heleomo-gallery-picker { width: 100%; min-width: 0; }
.heleomo-gallery-page .heleomo-gallery-toggle { display: none; }
@media (max-width: 767.98px) {
  .heleomo-gallery-page .heleomo-gallery-toggle { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 48px; list-style: none; text-align: left; white-space: normal; cursor: pointer; color: var(--contrast-color); background: var(--accent-color); border: 1px solid var(--accent-color); }
  .heleomo-gallery-page .heleomo-gallery-toggle::-webkit-details-marker { display: none; }
  .heleomo-gallery-page .heleomo-gallery-toggle span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
  .heleomo-gallery-page .heleomo-gallery-toggle .bi-list { font-size: 22px; line-height: 1; }
  .heleomo-gallery-page .heleomo-gallery-toggle .bi-chevron-down { flex-shrink: 0; transition: transform .2s ease; }
  .heleomo-gallery-page .heleomo-gallery-picker[open] .bi-chevron-down { transform: rotate(180deg); }
  .heleomo-gallery-page .heleomo-gallery-toggle:focus-visible { outline: 2px solid var(--accent-color); outline-offset: 3px; }
  .heleomo-gallery-page .heleomo-gallery-filters { flex-direction: column; flex-wrap: nowrap; gap: 8px; max-height: min(60vh, 420px); overflow-y: auto; overscroll-behavior-y: contain; margin-top: 12px; padding: 3px; }
  .heleomo-gallery-page .heleomo-gallery-filters .btn { display: block; width: 100%; min-height: 44px; text-align: left; }
}
.heleomo-gallery-page .heleomo-editor-note { display: none !important; }
.heleomo-gallery-page .heleomo-gallery-content > .wp-block-group { margin: 0; }
@media (prefers-reduced-motion: reduce) { .heleomo-gallery-page .gallery-card img, .heleomo-gallery-page .gallery-card .overlay i { transition: none; transform: none; } }
@media (prefers-reduced-motion: reduce) { .heleomo-gallery-page .heleomo-gallery-toggle .bi-chevron-down { transition: none; } }
