/* Tierschutzverein Schifferstadt – Komponenten.
   Farben, Schriften und Abstände kommen aus theme.json (CSS-Variablen --wp--preset--*). */

:root {
  --tsv-radius-card: 24px;
  --tsv-radius-tile: 20px;
  --tsv-touch: 44px;
}

body { overflow-wrap: break-word; }

/* ---------- Fokus ---------- */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible {
  outline: 3px solid var(--wp--preset--color--forest);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--wp--preset--color--surface);
  border-radius: 6px;
}

/* ---------- Abschnitte ---------- */
.tsv-section { padding-bottom: var(--wp--preset--spacing--70); }
.tsv-section-tight { padding-bottom: var(--wp--preset--spacing--60); }
.tsv-hero { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.tsv-page-hero { padding-top: 40px; padding-bottom: 40px; }
.tsv-page-hero > * { max-width: 820px; }

.is-style-dark-section {
  background: var(--wp--preset--color--forest);
  color: var(--wp--preset--color--surface);
  padding: var(--wp--preset--spacing--70) 24px;
}
.is-style-dark-section :where(h1, h2, h3, h4, a) { color: var(--wp--preset--color--surface); }
.is-style-dark-section :where(p) { color: var(--wp--preset--color--mint-text); }
.is-style-dark-section :where(.is-style-card-dark p) { color: var(--wp--preset--color--mint-text); }

/* ---------- Karten ---------- */
.is-style-card,
.is-style-card-dark,
.is-style-band {
  border-radius: var(--tsv-radius-card);
  padding: var(--wp--preset--spacing--50);
  position: relative;
}
.is-style-card { background: var(--wp--preset--color--surface); }
.is-style-card-dark { background: var(--wp--preset--color--forest-card); color: var(--wp--preset--color--surface); }
.is-style-band { background: var(--wp--preset--color--sand); padding: 28px 32px; }
.is-style-donate {
  background: var(--wp--preset--color--forest);
  color: var(--wp--preset--color--surface);
  border-radius: var(--tsv-radius-card);
  padding: 48px;
}
.is-style-donate :where(h2, h3, a:not(.wp-block-button__link)) { color: var(--wp--preset--color--surface); }
.is-style-donate > .wp-block-group .is-style-card :where(h3, p, a, strong) { color: var(--wp--preset--color--text); }
.is-style-card.tsv-flush { padding: 0; overflow: hidden; }
.is-style-card.tsv-flush > :not(figure) { margin-left: 22px; margin-right: 22px; }
.is-style-card.tsv-flush > :last-child { margin-bottom: 22px; }
.is-style-emergency {
  background: var(--wp--preset--color--surface);
  border: 3px solid var(--wp--preset--color--forest);
  border-radius: var(--tsv-radius-card);
  padding: 28px 32px;
}

/* ganze Karte klickbar: Link im Titel wird auf die Karte gestreckt */
.tsv-stretch .wp-block-post-title a::after,
.tsv-stretch.wp-block-heading a::after { content: ""; position: absolute; inset: 0; }
.tsv-stretch a { text-decoration: none; }
.tsv-stretch .wp-block-post-terms a { position: relative; z-index: 1; }

/* ---------- Texte ---------- */
.tsv-eyebrow {
  font-weight: 700;
  color: var(--wp--preset--color--accent);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: var(--wp--preset--font-size--small);
  margin: 0;
}
.tsv-stat-number {
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 800;
  font-size: var(--wp--preset--font-size--stat);
  line-height: 1.1;
  color: var(--wp--preset--color--accent);
  margin: 0;
}
.tsv-lead { font-size: var(--wp--preset--font-size--lead); color: var(--wp--preset--color--muted); }
.tsv-muted { color: var(--wp--preset--color--muted); }
.tsv-meta { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.tsv-phone-big {
  font-family: var(--wp--preset--font-family--heading);
  font-weight: 800;
  font-size: clamp(2.5rem, 7vw, 4.5rem);
  line-height: 1.1;
  margin: 0;
}
.tsv-phone-big a { color: var(--wp--preset--color--surface); text-decoration: none; }

/* ---------- Buttons ---------- */
.wp-block-button__link { min-height: var(--tsv-touch); display: inline-flex; align-items: center; text-decoration: none; }
.wp-block-button.is-style-dark .wp-block-button__link { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--surface); }
.wp-block-button.is-style-dark .wp-block-button__link:hover { background: var(--wp--preset--color--accent); }
.wp-block-button.is-style-light .wp-block-button__link { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text); }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--text); }
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent; color: var(--wp--preset--color--forest);
  border: 2px solid var(--wp--preset--color--forest); padding: calc(0.8rem - 2px) calc(1.6rem - 2px);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--surface); }
.is-style-dark-section .wp-block-button.is-style-outline .wp-block-button__link,
.is-style-donate .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--surface); }
.is-style-dark-section .wp-block-button.is-style-outline .wp-block-button__link:hover,
.is-style-donate .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--forest); }
.wp-block-button.is-style-chip .wp-block-button__link {
  background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text);
  border: 2px solid var(--wp--preset--color--line); padding: 0.4rem 1.1rem;
}
.wp-block-button.is-style-chip .wp-block-button__link:hover { border-color: var(--wp--preset--color--forest); color: var(--wp--preset--color--text); background: var(--wp--preset--color--surface); }
.wp-block-button.is-style-chip.is-active .wp-block-button__link { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--forest); }

/* ---------- Bilder ---------- */
.tsv-photo img, img.tsv-photo { width: 100%; height: 100%; object-fit: cover; border-radius: var(--tsv-radius-tile); background: var(--wp--preset--color--mint); }
.tsv-photo-43 img { aspect-ratio: 4 / 3; }
.tsv-photo-11 img { aspect-ratio: 1 / 1; }
.tsv-photo-wide img { aspect-ratio: 21 / 9; border-radius: var(--tsv-radius-card); }
.is-style-card.tsv-flush .wp-block-post-featured-image img,
.is-style-card.tsv-flush .tsv-photo img { border-radius: 0; aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.tsv-logo-round img { border-radius: 50%; background: #fff; }
.wp-block-site-logo img { border-radius: 50%; }

/* ---------- Header / Navigation ---------- */
.tsv-header { padding-top: 12px; padding-bottom: 12px; background: var(--wp--preset--color--surface); border-bottom: 1px solid var(--wp--preset--color--line); }
.tsv-header .wp-block-site-title a { text-decoration: none; }
.tsv-header .wp-block-site-tagline { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin: 0; }
.wp-block-navigation .wp-block-navigation-item__content { min-height: var(--tsv-touch); display: inline-flex; align-items: center; text-decoration: none; }
.wp-block-navigation .wp-block-navigation-item.is-cta .wp-block-navigation-item__content {
  background: var(--wp--preset--color--forest); color: var(--wp--preset--color--surface);
  padding: 12px 22px; border-radius: 999px; font-weight: 700;
}
.wp-block-navigation .wp-block-navigation-item.is-cta .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--surface); }
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close { min-width: var(--tsv-touch); min-height: var(--tsv-touch); }

.tsv-footer { padding-top: 20px; padding-bottom: 20px; background: var(--wp--preset--color--surface); border-top: 1px solid var(--wp--preset--color--line); font-size: 0.9375rem; color: var(--wp--preset--color--muted); }
.tsv-footer a { min-height: var(--tsv-touch); display: inline-flex; align-items: center; }

/* ---------- Beiträge, Tiere ---------- */
.wp-block-post-terms a { text-decoration: none; font-weight: 700; color: var(--wp--preset--color--accent); font-size: var(--wp--preset--font-size--small); display: inline-flex; align-items: center; min-height: var(--tsv-touch); }
.wp-block-post-date { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.wp-block-post-excerpt__more-link { font-weight: 700; display: inline-flex; align-items: center; min-height: var(--tsv-touch); }
.wp-block-query-pagination { gap: 8px; justify-content: center; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers {
  min-width: var(--tsv-touch); min-height: var(--tsv-touch); display: inline-flex; align-items: center; justify-content: center;
  padding: 0 14px; border-radius: 999px; border: 2px solid var(--wp--preset--color--line); background: var(--wp--preset--color--surface); text-decoration: none; font-weight: 700;
}
.wp-block-query-pagination .page-numbers.current { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--forest); }
.tsv-archive-card .wp-block-post-title { margin: 0; }
.tsv-single-body { max-width: 780px; }

/* Responsiv ohne Breakpoint-Aufwand: Flex-Wrap und auto-fit-Grid.
   Mobile Navigation: WordPress klappt das Menü ab ca. 600px zum Burger-Menü. */
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media (max-width: 781px) {
  .is-style-donate { padding: 28px; }
  .is-style-dark-section { padding-top: 48px; padding-bottom: 48px; }
}

.tsv-textpage { padding-top: 40px; }
.tsv-dtsb img { width: 64px; height: 64px; border-radius: 0; background: transparent; }
.tsv-dtsb-lg img { width: 86px; height: 86px; }

/* ---------- Kontrast-Korrekturen (Prüfung 2026-11) ---------- */
/* Karten in der Spendenbox: dunkler Text auf weißem Grund */
.is-style-donate .is-style-card :where(h2, h3, p, strong, li, a:not(.wp-block-button__link)) { color: var(--wp--preset--color--text); }
.is-style-donate .is-style-card .tsv-meta,
.is-style-donate .is-style-card .tsv-muted { color: var(--wp--preset--color--muted); }
/* Beitragsmeta auf dunklen Karten */
.is-style-card-dark .wp-block-post-terms a,
.is-style-dark-section .wp-block-post-terms a { color: var(--wp--preset--color--mint-text); }
.is-style-card-dark .wp-block-post-date,
.is-style-card-dark .wp-block-post-excerpt,
.is-style-card-dark .wp-block-post-excerpt__excerpt { color: var(--wp--preset--color--mint-text); }
.is-style-card-dark .wp-block-post-title a,
.is-style-card-dark .wp-block-post-title { color: var(--wp--preset--color--surface); }

/* Karten im Raster gleich hoch */
.wp-block-post-template.is-layout-grid > li { display: flex; }
.wp-block-post-template.is-layout-grid > li > .is-style-card,
.wp-block-post-template.is-layout-grid > li > .is-style-card-dark { width: 100%; }

/* ---------- Hero: Text breiter, Logo rechts bündig ---------- */
@media (min-width: 782px) {
  .tsv-hero > .wp-block-group.is-layout-grid {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--wp--preset--spacing--60);
  }
  .tsv-hero > .wp-block-group.is-layout-grid > .wp-block-image {
    justify-self: end;
    max-width: 380px;
    width: 100%;
    margin: 0;
  }
  .tsv-hero > .wp-block-group.is-layout-grid > .wp-block-image img { width: 100%; height: auto; }
  .tsv-hero h1 { max-width: 14ch; font-size: clamp(2.75rem, 1.6rem + 3vw, 4.25rem); }
}

/* ---------- Header: Logo und Titel links, Menü rechts in einer Zeile ---------- */
@media (min-width: 1200px) {
  .tsv-header > .wp-block-group { flex-wrap: nowrap; gap: 24px; }
  .tsv-header .wp-block-site-title { font-size: 1.25rem; white-space: nowrap; }
  .tsv-header .wp-block-navigation { margin-left: auto; flex-shrink: 0; }
}

/* ---------- Kacheln: gleichmäßig verteilen ---------- */
@media (min-width: 782px) {
  .wp-block-group.is-layout-grid:has(> :nth-child(2):last-child):not(.tsv-hero *) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-block-group.is-layout-grid:has(> :nth-child(3):last-child):not(.tsv-hero *),
  .wp-block-post-template.is-layout-grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wp-block-group.is-layout-grid:has(> :nth-child(4):last-child):not(.tsv-hero *),
  .wp-block-group.is-layout-grid:has(> :nth-child(8):last-child):not(.tsv-hero *),
  .wp-block-post-template.is-layout-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wp-block-group.is-layout-grid:has(> :nth-child(6):last-child):not(.tsv-hero *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.is-style-card, .is-style-card-dark { overflow-wrap: anywhere; }
.wp-block-group.is-layout-grid > .is-style-card,
.wp-block-group.is-layout-grid > .is-style-card-dark { overflow-wrap: break-word; hyphens: auto; }

/* ---------- Hover ---------- */
.is-style-card, .is-style-card-dark {
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.tsv-stretch:hover, .is-style-card.tsv-flush:hover, .is-style-card:has(a):hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px -12px rgba(34, 52, 29, .35);
}
.is-style-card-dark.tsv-stretch:hover, .is-style-card-dark:has(a):hover { background-color: var(--wp--preset--color--forest-soft); }
.tsv-stretch:hover :is(h2, h3, a), .tsv-stretch:focus-within :is(h2, h3, a) { text-decoration: underline; text-underline-offset: 4px; }
.tsv-stretch:focus-within { box-shadow: 0 0 0 3px var(--wp--preset--color--forest), 0 0 0 6px var(--wp--preset--color--surface); }
.is-style-card.tsv-flush .wp-block-post-featured-image { overflow: hidden; }
.is-style-card.tsv-flush .wp-block-post-featured-image img,
.is-style-card-dark.tsv-flush .wp-block-post-featured-image img { transition: transform .35s ease; }
.is-style-card.tsv-flush:hover .wp-block-post-featured-image img,
.is-style-card-dark.tsv-flush:hover .wp-block-post-featured-image img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) {
  .tsv-stretch:hover, .is-style-card:has(a):hover { transform: none; }
}

/* ---------- Seitenköpfe linksbündig mit dem Inhalt ---------- */
.tsv-page-hero > * { max-width: 820px; margin-left: 0 !important; margin-right: auto !important; }
.tsv-single-body { margin-left: 0 !important; margin-right: auto !important; }
.is-style-donate.is-layout-grid { align-items: start; gap: var(--wp--preset--spacing--60); }
@media (min-width: 782px) {
  .is-style-donate.is-layout-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

/* Standorte-Liste */
.tsv-location { border-top: 2px solid var(--wp--preset--color--line); padding-top: 12px; }
.tsv-location p { margin: 0; }

/* ---------- Seitenkopf und Hero sitzen in der Inhaltsbreite (auch in Vorlagen ohne Container) ---------- */
.tsv-page-hero, .tsv-hero { width: 100%; max-width: var(--wp--style--global--content-size, 1180px); margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }

/* ---------- Ausrichtung: gemeinsamer linker Rand ---------- */
.tsv-hero :where(h1, p, .wp-block-buttons, .wp-block-heading) { margin-left: 0 !important; margin-right: auto !important; }
main > .tsv-page-hero { max-width: calc(var(--wp--style--global--content-size, 1180px) + 48px); }
.tsv-section-tight > .is-style-donate, .tsv-section > .is-style-donate { margin-left: 0 !important; margin-right: 0 !important; max-width: none; }

/* ---------- Header: Untertitel direkt unter dem Titel ---------- */
.tsv-header .wp-block-group:has(> .wp-block-site-title) { gap: 0; }
.tsv-header .wp-block-site-title, .tsv-header .wp-block-site-tagline { margin: 0; line-height: 1.2; }
.tsv-header .wp-block-group { align-items: center; }

/* ---------- Hover für alle Kacheln ---------- */
.is-style-card:hover, .is-style-card-dark:hover, .tsv-location:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px -12px rgba(34, 52, 29, .35);
}
.is-style-card-dark:hover { background-color: var(--wp--preset--color--forest-soft); }
.is-style-donate > .is-style-card:hover, .is-style-donate .is-style-card:hover { transform: none; box-shadow: none; }
.tsv-stretch, .is-style-card:has(.tsv-stretch) { cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
  .is-style-card:hover, .is-style-card-dark:hover { transform: none; }
}

/* ---------- Hover ohne Verschiebung (verhindert Flackern am Kartenrand) ---------- */
.tsv-stretch:hover, .is-style-card:hover, .is-style-card-dark:hover, .tsv-location:hover,
.is-style-card.tsv-flush:hover, .is-style-card:has(a):hover { transform: none !important; }
.is-style-card:hover, .is-style-card-dark:hover, .is-style-card.tsv-flush:hover, .tsv-stretch:hover {
  box-shadow: 0 0 0 2px var(--wp--preset--color--accent), 0 16px 30px -14px rgba(34, 52, 29, .45);
}
.is-style-card-dark:hover { box-shadow: 0 0 0 2px var(--wp--preset--color--mint), 0 16px 30px -14px rgba(0, 0, 0, .5); }
.is-style-donate .is-style-card:hover { box-shadow: none; }
.tsv-location:hover { box-shadow: none; }

/* ---------- Facebook-Button ---------- */
.tsv-facebook .wp-block-button__link::before {
  content: ""; width: 1.25em; height: 1.25em; margin-right: .6em; flex: none; background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 22v-8.2h2.8l.5-3.3h-3.3V8.4c0-.9.4-1.7 1.8-1.7h1.6V3.8s-1.3-.2-2.5-.2c-2.6 0-4.2 1.5-4.2 4.3v2.6H7.4v3.3h2.8V22h3.3z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 22v-8.2h2.8l.5-3.3h-3.3V8.4c0-.9.4-1.7 1.8-1.7h1.6V3.8s-1.3-.2-2.5-.2c-2.6 0-4.2 1.5-4.2 4.3v2.6H7.4v3.3h2.8V22h3.3z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.tsv-footer .tsv-facebook .wp-block-button__link { min-height: var(--tsv-touch); }

/* ---------- Kein Rahmen um Kartenlinks; Fokus wird über die ganze Karte angezeigt ---------- */
.tsv-stretch a:focus, .tsv-stretch a:focus-visible, .tsv-stretch a:hover { outline: none; box-shadow: none; border-radius: 0; }
.tsv-stretch:focus-within { box-shadow: 0 0 0 3px var(--wp--preset--color--forest), 0 0 0 6px var(--wp--preset--color--surface); }

/* Facebook im Hauptmenü */
.wp-block-navigation .is-facebook .wp-block-navigation-item__content::before {
  content: ""; width: 1.2em; height: 1.2em; margin-right: .4em; background-color: var(--wp--preset--color--forest);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 22v-8.2h2.8l.5-3.3h-3.3V8.4c0-.9.4-1.7 1.8-1.7h1.6V3.8s-1.3-.2-2.5-.2c-2.6 0-4.2 1.5-4.2 4.3v2.6H7.4v3.3h2.8V22h3.3z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 22v-8.2h2.8l.5-3.3h-3.3V8.4c0-.9.4-1.7 1.8-1.7h1.6V3.8s-1.3-.2-2.5-.2c-2.6 0-4.2 1.5-4.2 4.3v2.6H7.4v3.3h2.8V22h3.3z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-navigation .is-facebook .wp-block-navigation-item__content:hover::before { background-color: var(--wp--preset--color--blue); }

/* ---------- Mobil: kleines Logo im Kopfbereich ausblenden ---------- */
@media (max-width: 781px) {
  .tsv-header .wp-block-site-logo { display: none; }
}
.tsv-header .wp-block-group:has(> .wp-block-site-title) { align-items: flex-start; }
.tsv-header .wp-block-site-tagline { text-align: left; }

/* ---------- Header Desktop: Logo links neben zweizeiligem Titel ---------- */
@media (min-width: 782px) {
  .tsv-header .wp-block-group { flex-wrap: nowrap; }
  .tsv-header .wp-block-site-logo { flex: none; }
  .tsv-header .wp-block-site-title { white-space: normal; max-width: 15.5em; line-height: 1.15; }
}
@media (min-width: 782px) and (max-width: 1199px) {
  .tsv-header > .wp-block-group { flex-wrap: wrap; row-gap: 8px; }
}

/* ---------- Mobiles Menü (Overlay) mittig ---------- */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  align-items: center !important; justify-content: center; text-align: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
  align-items: center !important; justify-content: center; width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  align-items: center !important; justify-content: center; width: 100%; text-align: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { justify-content: center; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:not(.wp-block-navigation-item.is-cta *) { font-size: 1.25rem; }

/* ---------- Kein Rahmen um Titel-Links: Hover und Fokus gelten für die ganze Karte ---------- */
.wp-block-heading.tsv-stretch, .wp-block-heading.tsv-stretch:hover, .wp-block-heading.tsv-stretch:focus-within {
  box-shadow: none !important; outline: none; transform: none !important; background: none;
}
.wp-block-heading.tsv-stretch a, .wp-block-heading.tsv-stretch a:focus, .wp-block-heading.tsv-stretch a:focus-visible, .wp-block-heading.tsv-stretch a:hover {
  outline: none !important; box-shadow: none !important; border-radius: 0;
}
.is-style-card:has(.tsv-stretch a:focus-visible), .is-style-card-dark:has(.tsv-stretch a:focus-visible) {
  box-shadow: 0 0 0 3px var(--wp--preset--color--forest), 0 0 0 6px var(--wp--preset--color--surface);
}

/* ---------- Abstand nach der dunklen Sektion ---------- */
.is-style-dark-section + *,
.wp-block-group:has(> .is-style-dark-section) + * { margin-top: 0; padding-top: var(--wp--preset--spacing--70); }
.is-style-dark-section.is-style-dark-section + .wp-block-group { padding-top: var(--wp--preset--spacing--70); }
.is-style-dark-section + .tsv-section { padding-top: clamp(4.5rem, 8vw, 8rem); }

/* QR-Codes Spende */
.tsv-qr img{background:#fff;padding:.5rem;border:1px solid var(--wp--preset--color--line,#d8d2c2);border-radius:.5rem;height:auto}
.tsv-qr figcaption{font-size:.875rem;margin-top:.4rem}

/* Textblöcke auf Seiten: gleiche Breite/Kante wie Kopf und Kacheln */
.entry-content > .tsv-single-body {
  max-width: var(--wp--style--global--content-size, 1180px);
  width: 100%; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box;
  padding-left: 0; padding-right: 0;
}
.entry-content > .tsv-single-body > * { max-width: 780px; margin-left: 0 !important; margin-right: auto !important; }
.entry-content > .tsv-single-body > .alignwide, .entry-content > .tsv-single-body > .wp-block-columns { max-width: none; }
.is-style-card .wp-block-columns:has(.tsv-qr) { flex-wrap: wrap !important; gap: var(--wp--preset--spacing--50); }
.is-style-card .wp-block-columns:has(.tsv-qr) > .wp-block-column { flex: 1 1 14rem !important; min-width: 0; }

/* ---------- Hover auch für Bänder und Hinweisboxen ---------- */
.wp-block-group.is-style-band, .wp-block-group.is-style-emergency { transition: box-shadow .2s ease, background-color .2s ease; }
.wp-block-group.is-style-band:hover, .wp-block-group.is-style-emergency:hover {
  box-shadow: 0 0 0 2px var(--wp--preset--color--accent), 0 16px 30px -14px rgba(34, 52, 29, .45);
}

/* QR-Codes: Bank untereinander, Text links, QR rechts */
.is-style-card .wp-block-columns:has(.tsv-qr) { flex-direction: column !important; flex-wrap: nowrap !important; gap: var(--wp--preset--spacing--40); }
.is-style-card .wp-block-columns:has(.tsv-qr) > .wp-block-column {
  flex: none !important; width: 100%;
  display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: var(--wp--preset--spacing--40); align-items: center;
  padding-bottom: var(--wp--preset--spacing--40); border-bottom: 1px solid var(--wp--preset--color--line, #d8d2c2);
}
.is-style-card .wp-block-columns:has(.tsv-qr) > .wp-block-column:last-child { border-bottom: 0; padding-bottom: 0; }
.is-style-card .wp-block-columns:has(.tsv-qr) .tsv-qr { margin: 0; text-align: center; }
.is-style-card .wp-block-columns:has(.tsv-qr) .tsv-qr img { width: 150px !important; }
@media (max-width: 420px) { .is-style-card .wp-block-columns:has(.tsv-qr) > .wp-block-column { grid-template-columns: 1fr; } }

/* ---------- Scroll-Hinweis Startseite ---------- */
.tsv-hero { position: relative; }
.tsv-scroll-cue {
  display: flex; flex-direction: column; align-items: center; gap: .15rem;
  margin: 1.5rem auto 0; min-height: 44px; min-width: 44px; padding: .5rem 1rem;
  background: none; border: 0; cursor: pointer; font: inherit; font-weight: 600;
  color: var(--wp--preset--color--forest, #2b4a26); transition: opacity .3s ease;
}
.tsv-scroll-cue svg { animation: tsv-bounce 1.8s ease-in-out infinite; }
.tsv-scroll-cue:hover span { text-decoration: underline; text-underline-offset: 4px; }
.tsv-scroll-cue.is-hidden { opacity: 0; pointer-events: none; }
@keyframes tsv-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) { .tsv-scroll-cue svg { animation: none; } }
/* Hinweis immer am unteren Rand des ersten Bildschirms sichtbar */
.tsv-scroll-cue {
  position: fixed; left: 50%; bottom: 1rem; margin: 0; transform: translateX(-50%); z-index: 20;
  background: rgba(255, 255, 255, .92); border-radius: 999px; box-shadow: 0 6px 18px -6px rgba(34, 52, 29, .45);
  padding: .5rem 1.25rem .35rem;
}

/* ---------- Einzelbeiträge: Textspalte bündig mit Kopf ---------- */
main > .tsv-section, main > .tsv-section-tight {
  width: 100%; max-width: calc(var(--wp--style--global--content-size, 1180px) + 48px);
  margin-left: auto !important; margin-right: auto !important; box-sizing: border-box;
}
main > .tsv-single-body { max-width: calc(var(--wp--style--global--content-size, 1180px) + 48px); }
main > .tsv-single-body > .wp-block-post-content { max-width: 780px; margin-left: 0 !important; margin-right: auto !important; padding-left: 0; padding-right: 0; }
main > .tsv-single-body > .wp-block-post-content > * { margin-left: 0 !important; margin-right: auto !important; }

/* ---------- Hover auch für farbige Bänder ---------- */
.wp-block-group.is-style-donate, .wp-block-group.is-style-dark, .wp-block-group.is-style-light { transition: box-shadow .2s ease; }
.wp-block-group.is-style-donate:hover, .wp-block-group.is-style-dark:hover, .wp-block-group.is-style-light:hover {
  box-shadow: 0 0 0 2px var(--wp--preset--color--accent), 0 16px 30px -14px rgba(34, 52, 29, .45);
}
.wp-block-group.is-style-donate:hover .is-style-card:hover { box-shadow: 0 0 0 2px var(--wp--preset--color--accent); }
.is-style-card .wp-block-columns:has(.tsv-qr) > .wp-block-column { align-items: start; }
