:where(.wp-site-blocks),:where(body){margin:0;}
/* Gutenberg/Plugin-Resets neutralisieren – Spezifitaet 0, Referenz-CSS gewinnt immer */
:where(.entry-content),:where(.wp-block-group),:where(main){max-width:none;}
:where(figure){margin:0;}
/* Admin-Bar verschiebt den fixierten Header (Fehlerbild nur eingeloggt) */
body.admin-bar .site-header{top:32px;}
@media screen and (max-width:782px){ body.admin-bar .site-header{top:46px;} }
/* Custom-HTML-Bloecke sollen keine Editor-/Theme-Abstaende erben */
:where(.wp-block-html){margin:0;}
/* --- Kernbloecke: WP-Defaults neutralisieren (Spezifitaet 0), Design-Klassen gewinnen --- */
:where(.wp-block-image),:where(.wp-block-group),:where(.wp-block-image figure){margin:0;}
:where(.wp-block-image img){vertical-align:middle;}
/* Galerie: core/image-figure IST .gallery__item; Bild fuellt die Zelle.
   Hoehere Spezifitaet (figure.gallery__item img) schlaegt das core/image-Default
   .wp-block-image img{height:auto} -> sonst wird das Portrait oben abgeschnitten (Zoom). */
figure.gallery__item{margin:0;height:100%;}
figure.gallery__item img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;vertical-align:middle;}
/* Hero: core/image-figure IST .hero__img (Grid-Zelle). Gleiche Ursache wie Galerie – das
   core/image-Default .wp-block-image img{height:auto} laesst das Bild auf Eigenhoehe schrumpfen
   (schwarzer Rest darunter). Hoehere Spezifitaet (figure.hero__img img) erzwingt Fuellung;
   object-position bleibt den Referenzregeln (.hero__img--center img) ueberlassen. */
figure.hero__img{margin:0;height:100%;}
figure.hero__img img{width:100%;height:100%;max-width:none;object-fit:cover;vertical-align:middle;}
/* Kategorie-Label (frueher .gallery__cap) jetzt als core/image-Caption .wp-element-caption */
.gallery__item figcaption.wp-element-caption{
  position:absolute;left:1rem;bottom:0.85rem;right:auto;top:auto;z-index:2;margin:0;
  max-width:none;text-align:left;background:none;padding:0;font-style:normal;
  color:#fff;opacity:0;transform:translateY(8px);
  transition:opacity 0.4s var(--ease),transform 0.4s var(--ease);
  font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;font-weight:600;
}
.gallery__item:hover figcaption.wp-element-caption{opacity:1;transform:translateY(0);}
/* Defensive: lange Woerter/URLs auf Rechtsseiten brechen (nur <=380px, damit 390px-Paritaet unangetastet bleibt) */
@media (max-width:380px){
  .legal__inner{overflow-wrap:break-word;}
  .legal__inner a{word-break:break-word;}
}
