/*
 Theme Name:     Hammerich Divi
 Theme URI:      https://deine-domain.de/
 Description:    Ein Child-Theme für Divi mit eigenem Masonry Portfolio Modul.
 Author:         Florian Hammerich
 Author URI:     https://deine-domain.de/
 Template:       Divi
 Version:        1.0.0
*/

/* ----------------------------------------
   Grid-Konfiguration
   - .grid-sizer sorgt für eine Spalte
   - .grid-item deckt gleich eine Spalte ab
   - Ergebnis: 3-spaltiges Layout
---------------------------------------- */
.et_pb_masonry_portfolio .grid-sizer,
.et_pb_masonry_portfolio .grid-item {
  width: 33.3333%;
}

/* Abstand und Rahmen für jedes Item */
.et_pb_masonry_portfolio .grid-item {
  padding: 3px;
  box-sizing: border-box;
  position: relative; /* für Overlay */
}

/* ----------------------------------------
   Filter-Leiste
---------------------------------------- */
/* Filter-Leiste */
.masonry-filters {
  /* entfernt Listen-Punkte */
  list-style: none;
  /* Abstände über/unter der Leiste */
  margin: 2rem 0;
  padding: 0;
  /* Flexbox zur Zentrierung und Umbruch */
  display: flex;
  justify-content: center;
  flex-wrap: wrap;        /* Zeilenumbruch erlauben */
  gap: 1rem 2rem;         /* Zeilen- und Spaltenabstand */
}
.masonry-filters li {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.masonry-filters a {
  /* Basis-Styling für Links */
  text-decoration: none;
  font-size: 1rem;
  font-weight: 400;
  color: #000;
  text-transform: uppercase;
  transition: color .3s;
}
.masonry-filters a:hover {
  color: #7e479f; /* Hover-Farbe */
}
.masonry-filters a.active {
  /* Aktiver Zustand */
  color: #7e479f;
  border-bottom: 2px solid #7e479f;
  padding-bottom: 0.25rem;
}

/* ----------------------------------------
   Clip-Zoom fürs Bild
   - overflow hidden im picture-Container
   - transform skaliert nur das Bild
---------------------------------------- */
.et_pb_masonry_portfolio .grid-item picture {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden; /* clippt Überstände */
}
.et_pb_masonry_portfolio .grid-item picture img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
}
.et_pb_masonry_portfolio .grid-item:hover picture img {
  transform: scale(1.1); /* Zoom-Faktor */
}

/* ----------------------------------------
   Overlay-Figcaption
   - absolut positioniertes Overlay
   - halbtransparenter Hintergrund
   - fade-in bei Hover
---------------------------------------- */
/* Figcaption als Overlay */
.et_pb_masonry_portfolio .grid-item figcaption {
  /* Positioniert das Overlay innerhalb des Paddings */
  position: absolute;
  top: 3px;    /* gleicht Padding aus */
  left: 3px;
  right: 3px;
  bottom: 3px;
  background: rgba(0,0,0,0.5); /* halbtransparent */
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  opacity: 0; /* unsichtbar */
  transition: opacity 0.3s ease;
  padding: 1rem; /* Innenabstand im Overlay */
  box-sizing: border-box;
}
.et_pb_masonry_portfolio .grid-item:hover figcaption {
  opacity: 1; /* sichtbar */
}
.et_pb_masonry_portfolio .grid-item figcaption h3 {
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
  text-transform: uppercase;
  color: #fff;
}
.et_pb_masonry_portfolio .grid-item figcaption p.categories {
  margin: 0;
  font-size: 0.875rem;
  color: #fff;
}

/* ----------------------------------------
   Mobile: 1-Spalten-Layout
   Setzt das Grid auf eine Spalte bei kleineren Bildschirmen
---------------------------------------- */
@media (max-width: 768px) {
  /* 1-Spalten-Layout */
  .et_pb_masonry_portfolio .grid-sizer,
  .et_pb_masonry_portfolio .grid-item {
    width: 100% !important;
  }
  /* Overlay-Figcaption deaktivieren, Unterschrift unter dem Bild */
  .et_pb_masonry_portfolio .grid-item figcaption {
    position: static !important;
    background: transparent !important;
    display: block !important;
    opacity: 1 !important;
    padding: 0.7rem 0;
    text-align: center;
    flex-direction: column;
  }
  .et_pb_masonry_portfolio .grid-item figcaption h3 {
  margin: 0 0 0.2rem;
  padding: 0;
  font-size: 1.25rem;
  text-transform: uppercase;
  color: #000;
}
.et_pb_masonry_portfolio .grid-item figcaption p.categories {
  margin: 0;
  font-size: 0.875rem;
  color: #000;
}
}

