/* =========================================================
   SECTION REVEAL – OPT-IN (nur wenn .reveal gesetzt ist)
========================================================= */
main section.reveal{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}

main section.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* Optional: einzelne Bereiche explizit NIE animieren */
main section.no-reveal{
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Barrierefreiheit: Reduce Motion */
@media (prefers-reduced-motion: reduce){
  main section.reveal{
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* =========================================================
   TEXTRAHMEN INSTA – Container wirklich randbündig
   (Section-ID muss #textrahmen-insta heißen)
========================================================= */
#textrahmen-insta .container{
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}


.news__gallery {
	margin: 0;
  padding: 0;
  margin-top: 3rem;
  display: grid;
 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2.5rem;

  justify-items: stretch; /* wichtig */
  justify-content: stretch; /* oder */
  justify-content: space-between;
  width:100%;
}

.news__gallery a { display: block; }
.news__gallery img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
}

.events-filter-wrap {
  position:sticky;
  top:120px;
  z-index:200;
}

@media (max-width: 750px){
  .events-filter-wrap {
    top: 150px; /* mehr Abstand */
  }
}

.events-filter{
  display:flex;
  gap: clamp(8px, 2vw, 10px);
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  padding: 22px 0;
  position:sticky;
}

.events-filter__btn{
  border: clamp(1.5px, 0.25vw, 2px) solid #35150E !important;
  background: #FBF5ED !important;
  color:#3b1f16 ;
  padding: 0.4em 2em 0.45rem 2rem !important;
  text-transform: uppercase;
  letter-spacing:.14em;
  cursor:pointer;
  transition: all .2s ease;
  font-weight: 400 !important;
}


.events-filter__btn.is-active{
  background: #441C14 !important;
  color: #F4CA9D !important;
}

.events-filter__btn:hover{
  border: 1px solid #441C14;
  background: #441C14  !important; 
  color: #F4CA9D !important;
  }
  


.events-filter__select{
  border: clamp(1.5px, 0.25vw, 2px) solid #441C14 !important;
  background:#FBF5ED;
  color:#3b1f16;
  padding: 0.35em 1em 0.4rem 1rem !important;
  text-transform: uppercase;
  letter-spacing:.14em;
  font-size: clamp(0.6rem, 1rem + 0.35vw, 1.1rem);


}

.events-filter .nice-select {
	display:inline-block;
	width:300px;

}



/* =========================================================
   NICE-SELECT – Touch-sicherer Active/Open Look
   (muss am Ende der CSS stehen!)
========================================================= */

/* Default */
.events-filter-wrap .nice-select{
  border-bottom: 2px solid #441C14;
  color: #441C14;
  background-color: var(--color-bg);
}

/* Hover (Desktop) */
@media (hover:hover){
  .events-filter-wrap .nice-select:hover{
    color: #F4CA9D !important;
    background-color: #441C14 !important;
    border-bottom-color: #441C14 !important;
  }
}

/* Touch/Tablet/Smartphone: dauerhafter Zustand = open / focus */
.events-filter-wrap .nice-select.open,
.events-filter-wrap .nice-select:focus,
.events-filter-wrap .nice-select:focus-within{
  color: #F4CA9D !important;
  background-color: #441C14 !important;
  border-bottom-color: #441C14 !important;
}

/* Wichtig: Text im Trigger explizit mitfärben */
.events-filter-wrap .nice-select.open .current,
.events-filter-wrap .nice-select:focus .current,
.events-filter-wrap .nice-select:focus-within .current{
  color: #F4CA9D !important;
}


/* Nice-Select: NUR SVG-Pfeil, Standardpfeil aus */
.nice-select::after{
  display: none !important;
}

/* iOS Tap-Highlight weg (wirkt oft wie "grün") */
.nice-select,
.nice-select *{
  -webkit-tap-highlight-color: transparent;
}



