html {
  scroll-padding-top: calc(var(--notice-height) + var(--header-height) + var(--space-md));
}

.galerie-filtres {
  background: radial-gradient(circle at top left, rgba(106, 242, 163, 0.08), transparent 60%), var(--color-bg-elevated);
}

.galerie-filtres__controls {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  justify-content: center;
}

.galerie-filtres__controls .btn {
  background: var(--color-bg-soft);
  border-color: var(--color-border-subtle);
}

.galerie-filtres__controls .btn:hover {
  background: var(--color-bg-muted);
}

.galerie-filter-btn--active,
.galerie-filtres__controls .btn[aria-selected="true"] {
  background: var(--color-accent-soft);
  color: var(--color-accent-strong);
  border-color: rgba(106, 242, 163, 0.7);
}

.galerie-filtres__hint {
  margin-top: var(--space-sm);
  text-align: center;
}

.hero__side-card--secondary .hero-side-list-categories {
  margin-bottom: var(--space-sm);
}

.hero-side-list-categories li {
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

.hero-side-list-categories li + li {
  margin-top: 0.25rem;
}

.hero__side-card--secondary .btn {
  margin-top: var(--space-xs);
}

.galerie-section {
  background: radial-gradient(circle at top right, rgba(106, 242, 163, 0.06), transparent 55%), var(--color-bg);
}

#galerie-grid {
  position: relative;
}

.gallery-item {
  transform: translateY(10px);
  opacity: 0;
  transition: opacity var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
}

.gallery-item--visible {
  opacity: 1;
  transform: translateY(0);
}

.gallery-item:hover {
  box-shadow: var(--shadow-soft);
}

.gallery-item__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent, rgba(15, 23, 42, 0.4));
  opacity: 0;
  transition: opacity var(--transition-base);
}

.gallery-item:hover .gallery-item__media::after {
  opacity: 1;
}

.gallery-item img {
  transition: transform var(--transition-slow);
}

.gallery-item:hover img {
  transform: scale(1.05);
}

.galerie-cta {
  margin-top: var(--space-2xl);
}

.galerie-cta .btn-group {
  margin-top: var(--space-sm);
}

.galerie-cta .btn {
  max-width: 100%;
}

#age-notice-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

@media (max-width: 768px) {
  .galerie-filtres__controls {
    justify-content: flex-start;
  }
  .galerie-filtres__controls .btn {
    flex: 1 1 calc(50% - var(--space-sm));
    min-width: min(10rem, 100%);
  }
}

@media (max-width: 600px) {
  .galerie-filtres__controls {
    flex-direction: column;
  }
  .galerie-filtres__controls .btn {
    flex: 1 1 auto;
    width: 100%;
  }
}
