/* Brücke vom Prototyp-Markup zum Markup der Core-Blöcke (Patterns aus scripts/build_patterns.py).
   Die Prototyp-Regeln in components.css bleiben unverändert; hier nur, was Core-Blöcke anders ausgeben. */

.tr-inline { margin: 0; }
.wp-block-image { margin: 0; }
.wp-block-image figcaption.wp-element-caption { margin: 0; }
/* Bildunterschriften: Klasse an der figure (Core speichert keine Klassen an figcaption), Regeln wie im Prototyp */
.caption-hero .wp-element-caption {
  position: absolute; left: 0; bottom: 0;
  background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
  font-size: 0.8125rem; padding: 0.4rem 0.75rem; border-top: var(--wp--custom--line--hair) solid var(--wp--preset--color--contrast); border-right: var(--wp--custom--line--hair) solid var(--wp--preset--color--contrast);
}
.caption-hero { position: relative; }
.caption-muted .wp-element-caption { color: var(--wp--preset--color--muted); }

/* Kennzahlen: Absätze statt dt/dd, damit tr/metric sie binden kann */
.metric p { margin: 0; }
.metric .metric__value { font-size: var(--wp--preset--font-size--xx-large); font-weight: 800; letter-spacing: -0.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.metric .metric__label { color: var(--wp--preset--color--muted); margin-top: 0.4rem; }
.stand--note { margin-top: 0.25rem; }

/* Bühnenliste: Bild direkt im Listeneintrag */
.events li > img { grid-row: 1 / span 2; grid-column: 3; }
@media (min-width: 900px) { .events li > img { grid-row: auto; grid-column: 4; } }

/* Bildausschnitte, die im Prototyp am img hängen */
.hero-img-tedx img { object-position: 61% 55%; }
.hero__media.hero__pic--startup-nights img { object-position: 60% 30%; }
.hero-img-portrait img { object-position: 50% 6%; }

/* Beitragsraster als Query Loop */
.wp-block-post-template.post-grid { list-style: none; margin: 0; padding: 0; }
.post-grid > .wp-block-post { position: relative; display: grid; gap: 0.5rem; align-content: start; }
.post-grid > .wp-block-post > * { margin: 0; }
.post-grid > .wp-block-post .post-media { margin: 0 0 0.25rem; border-bottom: var(--wp--custom--line--strong) solid var(--wp--preset--color--contrast); }
.post-grid > .wp-block-post .post-media a { display: block; }
.post-grid > .wp-block-post:hover .post-media img { transform: scale(1.03); }
.post-grid > .wp-block-post .wp-block-post-title { font-size: var(--wp--preset--font-size--large); letter-spacing: -0.015em; line-height: 1.2; }
.post-grid > .wp-block-post .wp-block-post-title a { text-decoration: none; }
.post-grid > .wp-block-post .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.post-grid > .wp-block-post .kicker a { color: inherit; text-decoration: none; position: relative; z-index: 1; }
.post-grid > .wp-block-post .meta { display: flex; flex-wrap: wrap; gap: 0 0.4rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.post-grid > .wp-block-post .meta > * + *::before { content: "·"; margin-right: 0.4rem; }

/* Hervorgehobener Beitrag und Seitennavigation */
.feature-list { list-style: none; margin: 0; padding: 0; }
.feature-post .meta { display: flex; flex-wrap: wrap; gap: 0 0.4rem; }
.feature-post .meta > * + *::before { content: "·"; margin-right: 0.4rem; }
.feature-post .wp-block-post-title a { text-decoration: none; }
.card-meta .kicker a { color: inherit; text-decoration: none; }
.wp-block-query-pagination.pagination { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: var(--wp--preset--spacing--70); }
.pagination .wp-block-query-pagination-numbers { display: contents; }
.pagination .page-numbers.dots { border: 0; min-width: auto; }

/* Beitrag: Kasten «Im Buch» und Handlungsaufruf in der Textspalte, Abstände wie im Prototyp (dort Teil von .prose) */
.article-main { max-width: var(--wp--custom--layout--content); }
.article-main > .wp-block-tr-in-book > .in-book,
.article-main > .in-book { margin-top: 1.25em; }
.article-main .cta-box { margin-top: var(--wp--preset--spacing--60); }
.article-aside > .kicker { display: block; margin-bottom: var(--wp--preset--spacing--30); }

/* =====================================================================
   Kopfzeile: Core-Navigation und Mini-Warenkorb wie im Prototyp
   Reihenfolge: Name, Schnelllinks, Hauptnavigation, Werkzeuge; mobil Menü-Knopf nach den Werkzeugen.
   ===================================================================== */
.site-header .bar > * { margin-block: 0; }
.site-header .wordmark { margin-right: auto; }
.site-header .wordmark a { color: inherit; text-decoration: none; }
.site-header .quick-links { order: 1; }
.site-header .main-nav { order: 2; }
.site-header .header-tools { order: 3; }
.site-header .wp-block-navigation ul { gap: 0.25rem; }
.site-header .wp-block-navigation-item__content {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 0.7rem; text-decoration: none; font-weight: 550;
}
.site-header .wp-block-navigation-item__content[aria-current="page"] { color: var(--wp--preset--color--accent); }

/* Mini-Warenkorb: Desktop «Warenkorb» mit Zahl, mobil Symbol mit Zahl */
.site-header .wc-block-mini-cart__button { min-height: 44px; min-width: 44px; padding: 0 0.7rem; gap: 0.4rem; font: 600 0.9375rem var(--wp--preset--font-family--body); color: inherit; }
/* WooCommerce setzt Farben inline (Interactivity-State) und schiebt die Zahl mit margin-left: -44% über das Symbol;
   beides hier aufheben. Zahl in Akzentfarbe, hell und dunkel (Kontrast accent-contrast auf accent ≥ 5.5:1). */
.site-header .wc-block-mini-cart__badge {
  position: static; transform: none; margin: 0; display: inline-grid; place-items: center; min-width: 1.4rem; height: 1.4rem; padding: 0 0.3rem;
  border: 0; border-radius: 0; font-size: 0.75rem; font-weight: 700; line-height: 1;
  background-color: var(--wp--preset--color--accent) !important; color: var(--wp--preset--color--accent-contrast) !important;
}
.site-header .wc-block-mini-cart__quantity-badge { display: inline-flex; align-items: center; gap: 0.4rem; }
@media (min-width: 1024px) {
  .site-header .wc-block-mini-cart__icon { display: none; }
  .site-header .wc-block-mini-cart__quantity-badge::before { content: "Warenkorb"; }
}

@media (max-width: 1023px) {
  /* Prototyp-Regeln für das eigene Menü aufheben; Core-Navigation bringt Knopf und Overlay mit */
  .site-header .main-nav { position: static; inset: auto; max-height: none; overflow: visible; background: none; border: 0; display: flex; order: 4; }
  .site-header .main-nav .wp-block-navigation__responsive-container-open {
    display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; padding: 0 0.7rem; font: 600 0.9375rem var(--wp--preset--font-family--body); color: inherit;
  }
  .site-header .main-nav .wp-block-navigation__responsive-container-open svg { display: none; }
  .site-header .main-nav .wp-block-navigation__responsive-container-open::after { content: "Menü"; }
  .site-header .main-nav .wp-block-navigation__responsive-container.is-menu-open {
    background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); padding: var(--wp--preset--spacing--30) var(--wp--custom--layout--gutter);
  }
  .site-header .main-nav .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
  .site-header .main-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
  .site-header .main-nav .is-menu-open .wp-block-navigation-item__content {
    width: 100%; min-height: 52px; padding: 0; font-size: var(--wp--preset--font-size--large); font-weight: 700;
    border-bottom: var(--wp--custom--line--hair) solid var(--wp--preset--color--border);
  }
  .site-header .main-nav .wp-block-navigation__responsive-container-close { color: inherit; }
}
@media (max-width: 599px) {
  .site-header .quick-links { order: 5; width: 100%; border-top: var(--wp--custom--line--hair) solid var(--wp--preset--color--border); }
  .site-header .quick-links ul { width: 100%; gap: 0; }
  .site-header .quick-links li { flex: 1; }
  .site-header .quick-links .wp-block-navigation-item__content { width: 100%; justify-content: center; font-weight: 700; }
  .site-header .quick-links li + li { border-left: var(--wp--custom--line--hair) solid var(--wp--preset--color--border); }
}
@media (min-width: 1024px) { .site-header .quick-links { display: none; } }

/* Beitrag: Metazeile mit Trennpunkt; 404: grössere Einleitung */
.post-meta { display: flex; flex-wrap: wrap; gap: 0 0.4rem; }
.post-meta > * + *::before { content: "·"; margin-right: 0.4rem; }
.notfound__lead { font-size: var(--wp--preset--font-size--large); max-width: 44ch; }

/* Formulare: Hinweis und Fehler teilen sich die dritte Zeile des Feld-Subgrids (sonst überlappen sie) */
.field__notes { display: grid; gap: 0.25rem; align-self: start; }
.tr-form-wrap, #anfrage .form-status { scroll-margin-top: 6rem; }
.form-status + .form, .form-status + form { margin-top: var(--wp--preset--spacing--40); }
