/*
Theme Name: Regional News
Description: Gemeinsames Block-Theme für die Regionalmarken.
Version: 0.2.12
Requires at least: 7.1
Requires PHP: 8.3
Text Domain: regional-news
*/

:root {
  --rn-primary: #a6c8ff;
  --rn-soft: #202f43;
  --rn-accent: #a6c8ff;
  --rn-paper: #15202e;
  --rn-on-primary: #15202e;
  --rn-text: #eff4fa;
  --rn-muted: #acb9ca;
  --rn-line: #37475b;
  --rn-page-padding: 2rem;
  --rn-content: 42.5rem;
  --rn-wide: 75rem;
}

* { box-sizing: border-box; }
html { color-scheme: dark; background: var(--rn-paper); color: var(--rn-text); scroll-behavior: smooth; }
body, body.wp-theme-regional-news { margin: 0; color: var(--rn-text); font-family: Arial, Helvetica, sans-serif; background: var(--rn-paper); }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--rn-primary); text-underline-offset: .16em; }
a:hover,
a:focus-visible { text-decoration-thickness: .13em; }
button,
input,
summary { font: inherit; }
button,
input[type="submit"] { min-height: 2.75rem; }
/* CF7's size="40" fields have an intrinsic 448px width; keep them within
   the content column on narrow viewports without changing their desktop size. */
.wpcf7 input.wpcf7-form-control { max-width: 100%; }
:focus-visible { outline: .1875rem solid var(--rn-accent); outline-offset: .1875rem; }
h1,
h2,
h3 { color: var(--rn-text); font-family: Georgia, "Times New Roman", serif; line-height: 1.17; hyphens: auto; }

.rn-skip {
  position: fixed;
  top: .5rem;
  left: .5rem;
  z-index: 100;
  padding: .75rem 1rem;
  background: var(--rn-paper);
  transform: translateY(-200%);
}
.rn-skip:focus { transform: none; }

.rn-header { position: relative; border-top: .25rem solid var(--rn-primary); border-bottom: 1px solid var(--rn-line); background: var(--rn-paper); }
.rn-header__inner,
.rn-header__desktop-nav,
.rn-footer,
main {
  width: min(100%, var(--rn-wide));
  margin-inline: auto;
  padding-inline: var(--rn-page-padding);
}
.rn-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.25rem 1rem; }
.rn-brand-lockup { display: grid; gap: .3125rem; min-width: 0; }
.rn-brand-home { display: flex; align-items: center; gap: .75rem; text-decoration: none; min-width: 0; }
.rn-brand-home:hover { text-decoration: none; }
.rn-brand-logo { width: 2.6875rem; height: 3.625rem; object-fit: contain; flex: none; }
.rn-brand-lockup:has(.rn-brand-logo) .rn-tagline { padding-left: 3.4375rem; }
.rn-wordmark__suffix { font-weight: 400; }
.rn-wordmark { display: inline-flex; gap: .25em; color: var(--rn-primary); font: 700 2.1875rem/1.05 Georgia, "Times New Roman", serif; text-decoration: none; white-space: nowrap; }
.rn-tagline { min-width: 0; color: var(--rn-muted); font-size: .8125rem; overflow-wrap: anywhere; }
.rn-header__actions { display: none; }
.rn-header__desktop-nav { display: flex; flex-wrap: wrap; min-width: 0; align-items: center; gap: 1.5rem; min-height: 3.25rem; font-weight: 700; border-top: 1px solid var(--rn-line); }
.rn-header__desktop-nav > a,
.rn-header__desktop-nav > details > summary { display: inline-flex; align-items: center; min-height: 2.75rem; color: var(--rn-text); text-decoration: none; white-space: nowrap; cursor: pointer; }
.rn-topics { position: relative; }
.rn-topics > summary { list-style: none; }
.rn-topics > summary::-webkit-details-marker { display: none; }
.rn-topics > summary::after { content: "⌄"; margin-left: .35rem; color: var(--rn-primary); }
.rn-topics[open] > summary::after { content: "⌃"; }
.rn-topics > div { position: absolute; top: calc(100% - .1rem); left: -.75rem; z-index: 20; min-width: 12rem; padding: .5rem; border: 1px solid var(--rn-line); background: var(--rn-paper); }
.rn-topics:not([open]) > div { display: none; }
.rn-topics > div a { display: block; min-height: 2.75rem; padding: .75rem; color: var(--rn-text); text-decoration: none; }
.rn-topics > div a:hover,
.rn-topics > div a:focus-visible { background: var(--rn-soft); }

main { padding-block: 2.5rem 4rem; }
/* Cover both file templates and previously saved WordPress constrained templates.
   Never widen article content or globally change WordPress's reading width. */
main.is-layout-constrained > .rn-lead,
main.is-layout-constrained > .rn-news-events-grid,
main.rn-main--wide > *,
body.archive main.is-layout-constrained > .wp-block-query,
body.search main.is-layout-constrained > .wp-block-query {
  max-width: 100%;
  width: 100%;
}
.rn-lead,
.rn-news,
.rn-events,
.rn-related,
.rn-article-event { margin-block: 0 2.5rem; }
.rn-lead > h1,
.rn-news > h2,
.rn-events > h2 { margin: 0 0 1.25rem; padding-bottom: .625rem; border-bottom: 2px solid var(--rn-primary); font-family: Arial, Helvetica, sans-serif; font-size: 1.4375rem; }
.rn-lead__grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 1.75rem; }
.rn-lead__secondary { display: grid; align-content: start; gap: 1.25rem; padding-left: 1.75rem; border-left: 1px solid var(--rn-line); }

.rn-card { min-width: 0; padding-block: 1.25rem; border-bottom: 1px solid var(--rn-line); }
.rn-card:first-child { padding-top: 0; }
.rn-card h2 { margin: .4rem 0 .5rem; font-size: 1.4375rem; overflow-wrap: normal; word-break: normal; }
.rn-card h2 a { color: var(--rn-text); text-decoration: none; }
.rn-card h2 a:hover,
.rn-card h2 a:focus-visible { color: var(--rn-primary); text-decoration: underline; }
.rn-card p { margin: 0; color: var(--rn-muted); line-height: 1.55; overflow-wrap: anywhere; }
.rn-card time,
.rn-meta,
.rn-kicker,
.rn-breadcrumb,
.rn-featured-image figcaption { color: var(--rn-muted); font-size: .875rem; line-height: 1.5; }
.rn-card--lead { padding-top: 0; }
.rn-card--lead h2 { margin-top: .8rem; font-size: 2.1875rem; }
.rn-card--secondary h2 { font-size: 1.4375rem; }
.rn-featured-image { margin: 0; }
.rn-card--lead > .rn-featured-image { aspect-ratio: 1.72; overflow: hidden; }
.rn-card--secondary > .rn-featured-image { aspect-ratio: 2.05; overflow: hidden; }
.rn-card .rn-featured-image img { width: 100%; height: 100%; object-fit: cover; }
/* Archiv-/Themen-/Suchkarten (P0, 13.09.2026): reines Theme-Markup — der
   WordPress-Core-Block wp:post-featured-image liefert das Bild, keine
   rn-Custom-Blöcke mehr. Quadratische Medienfläche links; das Bild füllt
   sie mit object-fit:cover. Ohne Artikelbild bleibt ein neutraler,
   dekorativer Theme-Fallback in --rn-soft mit gleicher Geometrie
   (reines CSS über das bestehende :has-Muster). */
/* P0 Bildgröße: Medienkante responsive clamp(11rem, 52vw, 13rem) — Desktop
   maximal 13rem (vierfache Fläche gegenüber 6.5rem), kleine Viewports
   mindestens 11rem; 1:1, cover und Fallback bleiben unverändert. */
.rn-card--archive { display: grid; grid-template-columns: clamp(11rem, 52vw, 13rem) minmax(0, 1fr); gap: 1rem; align-items: start; }
.rn-card--archive > :not(.wp-block-post-featured-image) { grid-column: 2; }
.rn-card--archive > .wp-block-post-featured-image { margin: 0; grid-column: 1; grid-row: 1; width: 100%; aspect-ratio: 1; overflow: hidden; background: var(--rn-soft); }
.rn-card--archive .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.rn-card--archive:not(:has(.wp-block-post-featured-image img))::before { content: ""; display: block; grid-column: 1; grid-row: 1; width: 100%; aspect-ratio: 1; background: var(--rn-soft); }
/* P0 Microfix (0.2.10): die schmale Textspalte (390px: ~100px) kann lange
   Komposita nicht mehr brechen — der alte `overflow-wrap: normal` am
   `.rn-card h2` erzeugte 111–153px Horizontaloverflow. Das Grid-Item erhält
   min-width:0 (min-content darf die Spalte nicht mehr sprengen) und der
   Titel bricht standardkonform notfalls in sich hinein. Excerpt (p) bricht
   bereits überall; Datum (time) bleibt kurz und unberührt. Desktop-Geometrie
   bleibt unverändert — 1280px-Spalte ist breit genug, keine Regel ändert
   dort Kanten oder Abstände. */
.rn-card--archive > :not(.wp-block-post-featured-image) { min-width: 0; }
.rn-card--archive h2 { overflow-wrap: anywhere; word-break: normal; hyphens: auto; }

.rn-news-events-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); align-items: start; gap: 1.75rem; margin-top: 2.5rem; }
.rn-news-events-grid > * { min-width: 0; }
.rn-news__list { border-top: 1px solid var(--rn-line); }
.rn-card--list { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; }
/* The third image track only exists when a thumbnail is rendered — without
   one the text keeps the full two-track date/text width. */
.rn-card--list:has(> .rn-featured-image) { grid-template-columns: 6.5rem minmax(0, 1fr) minmax(8rem, 10rem); }
.rn-card--list:has(> .rn-featured-image) > .rn-featured-image { grid-column: 3; grid-row: 1; }
.rn-card--list .rn-card__body { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; grid-row: 1; }
.rn-card--list .rn-card__body h2,
.rn-card--list .rn-card__body p { grid-column: 2; }
.rn-card--list time { position: relative; grid-column: 1; }
.rn-card--list h2 { font-size: 1.3125rem; }
.rn-section-link { margin-top: 1rem; font-weight: 700; }
.rn-sort { display: flex; gap: .5rem; margin: -0.5rem 0 1rem; }
.rn-sort a { padding: .4rem .7rem; border: 1px solid var(--rn-line); border-radius: .25rem; text-decoration: none; }
.rn-sort a[aria-current="page"] { color: var(--rn-on-primary); border-color: var(--rn-primary); background: var(--rn-primary); }

.rn-events { padding: 1.25rem; border-top: 3px solid var(--rn-primary); background: var(--rn-soft); }
.rn-event-window fieldset { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: 0 0 1rem; padding: 0; border: 0; }
.rn-event-window legend { margin-bottom: .5rem; font-weight: 700; }
.rn-event-window label { display: inline-flex; align-items: center; min-height: 2.75rem; }
.rn-event-window input { width: 1.125rem; height: 1.125rem; margin-right: .35rem; }
.rn-event-window button,
.rn-search-form button { padding: .55rem 1rem; border: 1px solid var(--rn-primary); border-radius: .1875rem; color: var(--rn-on-primary); font-weight: 700; background: var(--rn-primary); }
.rn-event-card { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .75rem; padding-block: 1rem; border-top: 1px solid var(--rn-line); }
.rn-event-card__label { grid-column: 1 / -1; margin: 0; color: var(--rn-primary); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.rn-event-card time { display: flex; flex-direction: column; color: var(--rn-primary); text-align: center; }
.rn-event-card time strong { font: 700 1rem/1.2 Georgia, "Times New Roman", serif; }
.rn-event-card time span { margin-top: .2rem; font-size: .75rem; }
.rn-event-card h3 { margin: 0 0 .35rem; font-size: 1.125rem; }
.rn-event-card h3 a { color: var(--rn-text); text-decoration: none; }
.rn-event-card p { margin: 0 0 .5rem; color: var(--rn-muted); font-size: .875rem; }
.rn-event-card__link { font-size: .875rem; font-weight: 700; }
.rn-event-card__status { display: inline-block; margin-bottom: .4rem; color: #ffb4ab; font-size: .8125rem; text-transform: uppercase; }
.rn-event-detail__description { margin-block: 1.5rem; }
.rn-feed-event { padding: 1rem; background: var(--rn-soft); }

.rn-article-head,
.rn-article-content,
.rn-related,
.rn-article-event,
.rn-event-detail { max-width: var(--rn-content); margin-inline: auto; }
.rn-breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 2rem; }
.rn-article-header h1 { margin: .5rem 0 1rem; font-size: 2.75rem; line-height: 1.12; }
.rn-kicker { margin: 0; color: var(--rn-primary); font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.rn-standfirst { margin: 0 0 1rem; font: 1.25rem/1.5 Georgia, "Times New Roman", serif; }
.rn-meta { margin-bottom: 1.5rem; }
.rn-article-head > .rn-featured-image { margin-top: 1.5rem; }
.rn-featured-image figcaption { margin-top: .5rem; }
.rn-featured-image figcaption p { margin: 0; }
.rn-article-content { font-size: 1.125rem; line-height: 1.7; }
.rn-article-content p,
.rn-article-content ul,
.rn-article-content ol { margin-block: 0 1.5rem; }
.rn-article-content h2 { margin: 2rem 0 1rem; font-size: 1.6875rem; }
.rn-article-content h3 { margin: 1.75rem 0 .75rem; }
.rn-article-content a { overflow-wrap: anywhere; }
.rn-article-content .wp-block-table,
.rn-table-scroll { max-width: 100%; overflow-x: auto; }
.rn-article-content table { min-width: 34rem; border-collapse: collapse; }
.rn-article-content th,
.rn-article-content td { padding: .65rem; border: 1px solid var(--rn-line); text-align: left; }
.rn-article-content details { margin-block: 2rem; padding: 1rem; border: 1px solid var(--rn-line); }
.rn-article-content summary { min-height: 2.75rem; font-weight: 700; cursor: pointer; }
.rn-related,
.rn-article-event { padding-top: 2rem; border-top: 1px solid var(--rn-line); }
.rn-related > h2,
.rn-article-event > h2 { font-size: 1.4375rem; }
.rn-related__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.rn-related__context { margin: 0; color: var(--rn-primary); font-size: .8125rem; font-weight: 700; }
.rn-service-box { margin-block: 2rem; padding: 1rem 1.25rem; border-left: .25rem solid var(--rn-primary); background: var(--rn-soft); }
.rn-service-box > :first-child { margin-top: 0; }

.rn-search-form label { display: block; margin-bottom: .5rem; font-weight: 700; }
.rn-search-form > div { display: flex; gap: .5rem; }
.rn-search-form input { min-width: 0; min-height: 2.75rem; padding: .6rem .75rem; border: 1px solid var(--rn-muted); border-radius: .25rem; font-size: 1rem; }
.rn-footer { padding: 2rem var(--rn-page-padding); border-top: 1px solid var(--rn-line); background: var(--rn-soft); }
.rn-footer > strong { color: var(--rn-primary); font: 700 1.5rem/1.2 Georgia, "Times New Roman", serif; }
.rn-footer nav { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin-block: 1rem; }
.rn-footer nav a { min-height: 2.75rem; display: inline-flex; align-items: center; }
.rn-footer small { color: var(--rn-muted); line-height: 1.5; }

@media (max-width: 1023px) {
  :root { --rn-page-padding: 1.625rem; }
  .rn-wordmark { font-size: 1.9375rem; }
  .rn-lead__grid,
  .rn-news-events-grid { grid-template-columns: minmax(0, 1.4fr) minmax(min(15rem, 40%), 1fr); gap: 1.375rem; }
  .rn-lead__secondary { gap: 1rem; padding-left: 1.375rem; }
  .rn-card--lead h2 { font-size: 1.875rem; }
  .rn-card--secondary h2 { font-size: 1.3125rem; }
  .rn-card--secondary p { display: none; }
  .rn-card--list { grid-template-columns: minmax(0, min(6.5rem, 30%)) minmax(0, 1fr); }
  .rn-card--list:has(> .rn-featured-image) { grid-template-columns: minmax(0, min(6.5rem, 30%)) minmax(0, 1fr) 6rem; }
  .rn-card--list:has(> .rn-featured-image) > .rn-featured-image { grid-column: 3; }
  .rn-header__desktop-nav { gap: 1rem; overflow-x: auto; }
  .rn-article-header h1 { font-size: 2.4375rem; }
}

/* Keep compact navigation and single-column cards viable with 200% text at 640px. */
@media (max-width: 599px) {
  :root { --rn-page-padding: 1.1875rem; }
  .rn-header__inner { min-height: 4.5rem; padding-block: .75rem; flex-wrap: wrap; }
  .rn-brand-lockup { display: block; flex: none; }
  .rn-brand-home { gap: .5rem; }
  .rn-brand-logo { width: 1.75rem; height: 2.4375rem; }
  .rn-wordmark { display: flex; flex-direction: column; gap: 0; font-size: 1.4375rem; line-height: 1; white-space: normal; }
  .rn-wordmark__suffix { font-size: 1rem; line-height: 1.1; }
  .rn-tagline,
  .rn-header__desktop-nav { display: none; }
  .rn-header__actions { display: flex; align-items: center; gap: .25rem; flex: none; margin-left: auto; }
  .rn-header__actions > details > summary { min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; padding: .4rem .55rem; list-style: none; color: var(--rn-text); font-weight: 700; cursor: pointer; }
  .rn-header__actions > details > summary::-webkit-details-marker { display: none; }
  .rn-header__menu > nav,
  .rn-header__panel { position: absolute; top: 100%; right: 0; left: 0; z-index: 30; padding: .75rem var(--rn-page-padding) 1rem; border-top: 1px solid var(--rn-line); border-bottom: 1px solid var(--rn-line); background: var(--rn-paper); }
  .rn-header__menu > nav { display: grid; }
  .rn-header__menu > nav > a,
  .rn-header__menu > nav > details > summary,
  .rn-topics > div a { min-height: 2.75rem; display: flex; align-items: center; color: var(--rn-text); text-decoration: none; }
  .rn-topics > div { position: static; padding: 0 0 .5rem 1rem; border: 0; }
  .rn-header__search summary::before { content: "⌕"; margin-right: .25rem; font-size: 1.25rem; }
  .rn-search-form > div { width: 100%; }
  .rn-search-form input { flex: 1; }
  main { padding-block: 2rem 3rem; }
  .rn-lead > h1,
  .rn-news > h2,
  .rn-events > h2 { font-size: 1.25rem; }
  .rn-lead__grid,
  .rn-news-events-grid { display: block; }
  .rn-lead__secondary { display: grid; gap: 0; padding: 0; border-left: 0; }
  .rn-card--lead > .rn-featured-image { aspect-ratio: 1.5; margin-inline: calc(-1 * var(--rn-page-padding)); }
  .rn-card--lead h2 { font-size: 1.875rem; }
  .rn-card--secondary { display: grid; grid-template-columns: minmax(0, 1fr) 6rem; gap: .75rem; }
  .rn-card--secondary > .rn-featured-image { grid-column: 2; grid-row: 1; width: 6rem; height: 6rem; aspect-ratio: 1; }
  .rn-card--secondary .rn-card__body { grid-column: 1; grid-row: 1; }
  .rn-card--secondary h2 { font-size: 1.3125rem; }
  .rn-card--secondary p { display: none; }
  .rn-news-events-grid > .rn-events { margin-top: 2.5rem; }
  /* Compact date column: list cards show DD.MM. only; the year stays in the
     DOM but visually hidden, so no fixed column can clip it (subgrid keeps
     title and excerpt aligned with the date row; older browsers fall back to
     full-width stacking, which stays readable). */
  .rn-card--list { grid-template-columns: max-content minmax(0, 1fr); gap: .75rem; }
  /* The :has() image track from the desktop rules must not survive on mobile:
     the compact DD.MM. column keeps its two-track layout, the image stays hidden. */
  .rn-card--list:has(> .rn-featured-image) { grid-template-columns: max-content minmax(0, 1fr); }
  .rn-card--list time { grid-column: 1; grid-row: 1; white-space: nowrap; }
  .rn-card--list .rn-card__year { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; }
  .rn-card--list .rn-card__body { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; }
  .rn-card--list .rn-card__body h2,
  .rn-card--list .rn-card__body p { grid-column: 2; }
  .rn-card--list .rn-card__body h2 { margin-top: 0; }
  .rn-card--list > .rn-featured-image { display: none; }
  /* Archivmedien bleiben auf Mobil sichtbar: Quadrat links, Text rechts; die
     Clamp-Kante gilt unverändert, nur der Abstand fällt kompakter. */
  .rn-card--archive { grid-template-columns: clamp(11rem, 52vw, 13rem) minmax(0, 1fr); gap: .75rem; }
  .rn-article-header h1 { font-size: 2.125rem; }
  .rn-standfirst { font-size: 1.125rem; }
  .rn-article-content h2 { font-size: 1.5625rem; }
  .rn-related__grid { grid-template-columns: 1fr; gap: .75rem; }
  .rn-events { margin-inline: calc(-1 * var(--rn-page-padding)); padding-inline: var(--rn-page-padding); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* The home feed follows the reference's date/text rows, leaving the article
   title enough space beside the events column. Archive imagery is unaffected. */
.rn-news .rn-card--list,
.rn-news .rn-card--list:has(> .rn-featured-image) {
  grid-template-columns: 4.25rem minmax(0, 1fr);
  gap: .875rem;
}
.rn-news .rn-card--list > .rn-featured-image { display: none; }
.rn-news .rn-card--list h2 { margin-top: 0; }
.rn-news .rn-card--list .rn-card__year { display: none; }
@media (max-width: 599px) {
  .rn-news .rn-card--list,
  .rn-news .rn-card--list:has(> .rn-featured-image) {
    grid-template-columns: 3.375rem minmax(0, 1fr);
    gap: .625rem;
  }
}

/* Fixed dark appearance requested by the owner, independent of OS theme. */
.rn-search-form input { color: var(--rn-text); background: var(--rn-soft); }


/* The Events Calendar: Einzelveranstaltung (/event/...) hell und lesbar.
   Der TEC-Single-Bereich erbt die dunkle Theme-Palette und renderte
   Inhalts- und Meta-Flächen (.tribe-events-single, .tribe-events-single-section,
   .tribe-events-event-meta) auf dunklem Grund mit dunkler Schrift. Bindender
   Vertrag: ausschließlich Theme-CSS, keine Templates, kein Plugin/PHP. Der
   Monatskalender bleibt unverändert hell. Kontraste gegen Weiss rechnerisch
   verifiziert (WCAG 2.x): Text #15202e 16.4:1, Links/Fokus #1553b0 7.3:1,
   Rahmen #37475b 9.5:1 — Texte/Links >=4.5:1, grosse/steuernde Elemente >=3:1.
   Die Theme-Variablen bleiben die Bindungsebene; sie werden nur innerhalb
   des TEC-Single-Kontexts auf die helle Palette umgebogen, damit jede
   geerbte var()-Verwendung automatisch hell wird. */
.tribe-events-single {
  --rn-primary: #1553b0;
  --rn-accent: #1553b0;
  --rn-soft: #eef3f9;
  --rn-paper: #ffffff;
  --rn-on-primary: #ffffff;
  --rn-text: #15202e;
  --rn-muted: #37475b;
  --rn-line: #37475b;
  color: var(--rn-text);
  background: var(--rn-paper);
  color-scheme: light;
}
.tribe-events-single-section {
  color: var(--rn-text);
  background: var(--rn-paper);
}
.tribe-events-event-meta {
  color: var(--rn-text);
  background: var(--rn-soft);
  border: 1px solid var(--rn-line);
}
.tribe-events-single a { color: var(--rn-primary); }
.tribe-events-single a:focus-visible {
  color: var(--rn-primary);
  outline: 2px solid var(--rn-primary);
  outline-offset: 2px;
}
.tribe-events-single .tribe-events-cal-links a,
.tribe-events-single .tribe-events-button {
  color: var(--rn-on-primary);
  background: var(--rn-primary);
}

/* === Terminbox Reflow 640 (4e62) START === */
/* Lange Kartenlinks/Titel in aside.rn-events wrappen statt bei 640px
   (echte 200%-Layoutbreite) 22px Dokumentoverflow zu erzeugen. Muster
   wie .rn-card p (overflow-wrap: anywhere). Wirkt nur, wenn noetig. */
.rn-event-card > div { min-width: 0; }
.rn-event-card h3 a,
.rn-event-card__link { overflow-wrap: anywhere; word-break: break-word; }
/* === Terminbox Reflow 640 (4e62) END === */
