/* ============================================================
   Dachdecker Thormählen — Ergänzungen für Referenzen,
   Projektkategorien und Projektseiten.
   Ergänzt assets/css/thormaehlen.css (wird zusätzlich geladen),
   ändert dort nichts. Nur Klassen, die es in der Basis noch
   nicht gibt, plus Modifikatoren bestehender Bausteine.
   ============================================================ */

/* ---------- Hero mit Kasten und Einleitungstext ---------- */
.hero__box .hero__sub{margin:14px 0 0}

/* ---------- Filter-Chips (Projektgalerie) ---------- */
.filter{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin:34px 0 4px;
  padding:0;
}
.filter li{margin:0}
.filter__chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 22px;
  background:var(--weiss);
  border:1px solid #d7d7d7;
  border-radius:2px;
  color:var(--anthrazit);
  font-family:var(--kopf);
  font-weight:600;
  font-size:16px;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:background 150ms ease,color 150ms ease,border-color 150ms ease;
}
.filter__chip:hover{border-color:var(--orange);color:var(--orange)}
.filter__chip:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.filter__chip[aria-current="true"]{
  background:var(--orange);
  border-color:var(--orange);
  color:#fff;
}

/* ---------- Projektgalerie (Bildraster) ---------- */
.galerie-raster{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px 28px;
  margin:38px 0 0;
  padding:0;
}
.galerie-karte{margin:0}
.galerie-karte[hidden]{display:none}
.galerie-karte a{display:block;text-decoration:none;color:inherit}
.galerie-karte img{
  width:100%;
  height:auto;
  aspect-ratio:400/284;
  object-fit:cover;
  box-shadow:var(--schatten);
  transition:transform 150ms ease;
}
.galerie-karte a:hover img,
.galerie-karte a:focus-visible img{transform:scale(1.02)}
.galerie-karte a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.galerie-karte h3{
  font-size:22px;
  color:var(--orange);
  margin:16px 0 2px;
}
.galerie-karte a:hover h3{color:var(--orange-dunkel)}
.galerie-karte__kat{
  display:block;
  font-family:var(--kopf);
  font-weight:600;
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#6d6d6d;
}
.galerie-leer{
  margin:38px auto 0;
  max-width:60ch;
  text-align:center;
}
@media (max-width:1024px){
  .galerie-raster{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:768px){
  .galerie-raster{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){
  .galerie-raster{grid-template-columns:1fr}
  .filter{justify-content:flex-start}
}

/* ---------- Projektseite: Hero (Text links, Foto rechts) ---------- */
.projekt-hero{
  background:var(--anthrazit);
  color:var(--text-hell);
}
.projekt-hero__raster{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}
.projekt-hero__text{padding:72px 0}
.projekt-hero__text h1{
  color:var(--orange);
  font-size:clamp(28px,3.4vw,44px);
  font-weight:700;
  margin-bottom:.45em;
}
.projekt-hero__text p{margin-bottom:1em}
.projekt-hero__text p:last-child{margin-bottom:0}
.projekt-hero__bild{
  position:relative;
  align-self:stretch;
  min-height:360px;
}
.projekt-hero__bild img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media (max-width:900px){
  .projekt-hero__raster{grid-template-columns:1fr;gap:0;padding:0}
  .projekt-hero__text{padding:56px 20px}
  .projekt-hero__bild{min-height:0;aspect-ratio:16/10}
}

/* ---------- Projektseite: Herausforderungen / Lösungen ---------- */
.projekt-detail{
  display:grid;
  grid-template-columns:.85fr 1fr 1fr;
  gap:44px;
  align-items:start;
}
.projekt-detail__bild img{
  width:100%;
  height:auto;
  box-shadow:var(--schatten);
}
.projekt-spalte h3{color:var(--orange);margin-bottom:20px}
.projekt-punkt{display:flex;gap:14px;align-items:flex-start}
.projekt-punkt svg{
  flex:0 0 30px;
  width:30px;
  height:30px;
  margin-top:2px;
  stroke:var(--orange);
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.projekt-punkt h4{color:var(--anthrazit);margin-bottom:8px}
.projekt-punkt p{margin:0 0 .9em}
.projekt-punkt p:last-child{margin-bottom:0}
@media (max-width:1024px){
  .projekt-detail{grid-template-columns:1fr 1fr;gap:36px}
  .projekt-detail__bild{grid-column:1 / -1;max-width:460px}
}
@media (max-width:768px){
  .projekt-detail{grid-template-columns:1fr}
  .projekt-detail__bild{max-width:none}
}

/* ---------- „Weitere Projekte“: drei helle Schieberegler-Karten ---------- */
.projekt-raster--drei{grid-template-columns:repeat(3,1fr);gap:32px}
@media (max-width:1100px){
  .projekt-raster--drei{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .projekt-raster--drei{grid-template-columns:1fr}
}
.projekt-karte--hell{background:var(--weiss);color:var(--text);box-shadow:var(--schatten)}
.projekt-karte--hell h4{color:var(--anthrazit)}
.projekt-karte--hell h4.vnlabel{color:var(--orange)}

/* ---------- Bewegung respektieren ---------- */
@media (prefers-reduced-motion:reduce){
  .galerie-karte img,
  .galerie-karte a:hover img,
  .galerie-karte a:focus-visible img{transform:none}
}
