/*
Theme Name: Rhönkanal Newsstream – Test 3.2.0
Theme URI: https://rhoenkanal.de/
Author: Rhönkanal
Description: Separat installierbares Rhönkanal-Testtheme mit breiter Beitragsansicht, skalierbarem Fließtext, klarer Startseiten-Hierarchie und grundlegenden SEO- und Sicherheitsverbesserungen.
Version: 3.2.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: rhoenkanal-2026
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
  --rk-green: #3f7f2b;
  --rk-green-dark: #28591c;
  --rk-green-soft: #e9f3e5;
  --rk-ink: #182019;
  --rk-muted: #5d685f;
  --rk-surface: #ffffff;
  --rk-surface-soft: #f3f6f2;
  --rk-border: #d8dfd6;
  --rk-accent: #ffe36e;
  --rk-max: 1180px;
  --rk-radius: 18px;
  --rk-shadow: 0 12px 34px rgba(25, 43, 28, .10);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --rk-green: #83c96b;
  --rk-green-dark: #a5dc92;
  --rk-green-soft: #1e3820;
  --rk-ink: #f3f7f1;
  --rk-muted: #bdc8bc;
  --rk-surface: #111713;
  --rk-surface-soft: #1a211c;
  --rk-border: #39433b;
  --rk-accent: #f5d74e;
  --rk-shadow: 0 12px 34px rgba(0, 0, 0, .28);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--rk-ink);
  background: var(--rk-surface);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.125rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--rk-green-dark); text-decoration-thickness: .09em; text-underline-offset: .16em; }
a:hover { text-decoration-thickness: .15em; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 4px solid var(--rk-accent); outline-offset: 3px; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  position: fixed !important; z-index: 100000; top: 1rem; left: 1rem; width: auto; height: auto;
  padding: .8rem 1rem; margin: 0; clip: auto; color: #111; background: #fff; font-weight: 800;
}
.rk-wrap { width: min(calc(100% - 2rem), var(--rk-max)); margin-inline: auto; }

.site-header { border-bottom: 1px solid var(--rk-border); background: var(--rk-surface); }
.site-header__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 104px; }
.site-branding { display: flex; align-items: center; gap: .9rem; min-width: 0; }
.custom-logo { width: auto; max-height: 72px; }
.site-title { margin: 0; font-size: clamp(1.75rem, 4vw, 3rem); line-height: 1; font-weight: 900; letter-spacing: -.055em; }
.site-title a { color: var(--rk-ink); text-decoration: none; }
.site-title .rk-brand-green { color: var(--rk-green); }
.site-description { margin: .35rem 0 0; color: var(--rk-muted); font-size: .9rem; font-weight: 650; letter-spacing: .01em; }
.site-tools { display: flex; gap: .55rem; }
.rk-icon-button {
  min-width: 46px; min-height: 46px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--rk-border); border-radius: 999px; color: var(--rk-ink); background: var(--rk-surface-soft);
}
.rk-icon-button:hover { border-color: var(--rk-green); background: var(--rk-green-soft); }
.rk-icon-button svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 2; }

.primary-nav { background: var(--rk-ink); color: var(--rk-surface); }
.primary-nav__inner { display: flex; align-items: center; justify-content: space-between; min-height: 52px; }
.primary-nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0; padding: 0; margin: 0; }
.primary-nav a { display: block; padding: .8rem 1rem; color: var(--rk-surface); font-size: .86rem; font-weight: 800; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.primary-nav a:hover, .primary-nav .current-menu-item > a { color: var(--rk-accent); }
.menu-toggle { display: none; padding: .7rem 0; border: 0; color: var(--rk-surface); background: transparent; font-weight: 800; }

.site-main { padding-block: clamp(1.6rem, 4vw, 3.5rem); }
.section-kicker, .entry-meta { color: var(--rk-muted); font-size: .78rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.section-title { margin: 0 0 1.25rem; font-size: clamp(1.6rem, 3.5vw, 2.4rem); line-height: 1.12; letter-spacing: -.035em; }
.section-title::after { content: ""; display: block; width: 60px; height: 5px; margin-top: .55rem; border-radius: 5px; background: var(--rk-green); }

.rk-feature-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 1.2rem; margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.rk-feature { position: relative; min-height: 520px; overflow: hidden; border-radius: var(--rk-radius); background: var(--rk-surface-soft); box-shadow: var(--rk-shadow); }
.rk-feature--small { min-height: 250px; }
.rk-feature-stack { display: grid; gap: 1.2rem; }
.rk-feature__media, .rk-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.rk-feature__media { position: absolute; inset: 0; }
.rk-feature__media::after { content: ""; position: absolute; inset: 25% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.88)); }
.rk-feature__body { position: absolute; z-index: 1; inset: auto 0 0; padding: clamp(1.1rem, 4vw, 2.2rem); color: #fff; }
.rk-feature__body a { color: inherit; text-decoration: none; }
.rk-feature__body h2, .rk-feature__body h3 { margin: .3rem 0 0; line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.rk-feature__body h2 { font-size: clamp(1.65rem, 4vw, 3rem); }
.rk-feature__body h3 { font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
.rk-feature__placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, var(--rk-green-dark), #152f1a); }

.rk-content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.news-list { display: grid; gap: 1.75rem; }
.news-card { display: grid; grid-template-columns: minmax(220px, 38%) 1fr; gap: 1.35rem; padding-bottom: 1.75rem; border-bottom: 1px solid var(--rk-border); }
.news-card__image { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 12px; background: var(--rk-surface-soft); }
.news-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.news-card:hover .news-card__image img { transform: scale(1.025); }
.news-card h2 { margin: .35rem 0 .55rem; font-size: clamp(1.35rem, 2.8vw, 2rem); line-height: 1.17; letter-spacing: -.028em; }
.news-card h2 a { color: var(--rk-ink); text-decoration: none; }
.news-card h2 a:hover { color: var(--rk-green-dark); text-decoration: underline; }
.news-card p { margin: 0; color: var(--rk-muted); }
.category-link { color: var(--rk-green-dark); text-decoration: none; }
.category-link[data-category="polizei"] { color: #a0362d; }

.rk-sidebar { position: sticky; top: 1rem; display: grid; gap: 1.3rem; }
.rk-panel { padding: 1.35rem; border: 1px solid var(--rk-border); border-radius: var(--rk-radius); background: var(--rk-surface-soft); }
.rk-panel h2 { margin-top: 0; font-size: 1.25rem; line-height: 1.2; }
.rk-panel ul { padding-left: 1.1rem; margin-bottom: 0; }
.rk-event-list { list-style: none; padding: 0 !important; }
.rk-event-list li + li { padding-top: .85rem; margin-top: .85rem; border-top: 1px solid var(--rk-border); }
.rk-event-list a { color: var(--rk-ink); font-weight: 750; text-decoration: none; }
.rk-event-list a:hover { text-decoration: underline; }

.pagination { margin-top: 2.5rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .45rem; }
.page-numbers { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: .4rem .7rem; border: 1px solid var(--rk-border); border-radius: 9px; text-decoration: none; }
.page-numbers.current { color: var(--rk-surface); background: var(--rk-ink); }

.single-article { max-width: 820px; margin-inline: auto; }
.entry-header { margin-bottom: 1.8rem; }
.entry-title { margin: .45rem 0 .7rem; font-size: clamp(2rem, 6vw, 4.4rem); line-height: 1.02; letter-spacing: -.055em; text-wrap: balance; }
.entry-summary { color: var(--rk-muted); font-size: 1.18rem; }
.entry-hero { margin: 1.5rem 0 2rem; }
.entry-hero img { width: 100%; border-radius: var(--rk-radius); }
.entry-content > * { max-width: 760px; margin-inline: auto; }
.entry-content > .alignwide { max-width: 1040px; margin-left: 50%; transform: translateX(-50%); width: min(1040px, calc(100vw - 2rem)); }
.entry-content > .alignfull { max-width: none; margin-left: 50%; transform: translateX(-50%); width: 100vw; }
.entry-content h2, .entry-content h3 { line-height: 1.2; letter-spacing: -.025em; }
.entry-content blockquote { padding-left: 1.2rem; border-left: 5px solid var(--rk-green); color: var(--rk-muted); }
.entry-content a { overflow-wrap: anywhere; }
.wp-caption-text, figcaption { color: var(--rk-muted); font-size: .85rem; }

.search-form { display: flex; gap: .5rem; }
.search-field { width: 100%; min-height: 48px; padding: .65rem .8rem; border: 1px solid var(--rk-border); border-radius: 9px; color: var(--rk-ink); background: var(--rk-surface); }
.search-submit, .rk-button { min-height: 48px; padding: .65rem 1rem; border: 0; border-radius: 9px; color: #fff; background: var(--rk-green-dark); font-weight: 800; }

.site-footer { margin-top: 4rem; padding-block: 2.5rem; border-top: 1px solid var(--rk-border); background: var(--rk-surface-soft); }
.site-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 2rem; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer a { color: var(--rk-ink); }
.site-footer__legal { margin-top: 2rem; color: var(--rk-muted); font-size: .82rem; }

@media (max-width: 860px) {
  .rk-feature-grid, .rk-content-grid { grid-template-columns: 1fr; }
  .rk-feature { min-height: 420px; }
  .rk-feature-stack { grid-template-columns: 1fr 1fr; }
  .rk-feature--small { min-height: 230px; }
  .rk-sidebar { position: static; }
}

@media (max-width: 650px) {
  body { font-size: 1.0625rem; }
  .site-header__top { min-height: 86px; }
  .site-description { display: none; }
  .menu-toggle { display: block; }
  .primary-nav__inner { display: block; }
  .primary-nav ul { display: none; padding-bottom: .5rem; }
  .primary-nav ul.is-open { display: block; }
  .primary-nav a { padding-inline: 0; }
  .rk-feature-stack { grid-template-columns: 1fr; }
  .news-card { grid-template-columns: 1fr; }
  .news-card__image { aspect-ratio: 16 / 9; }
  .site-footer__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (forced-colors: active) {
  .rk-feature__media::after { background: CanvasText; opacity: .75; }
  .rk-icon-button, .rk-panel, .news-card { border: 2px solid CanvasText; }
}

@media print {
  .site-tools, .primary-nav, .rk-sidebar, .site-footer, .pagination { display: none !important; }
  body { color: #000; background: #fff; font-size: 12pt; }
  a { color: #000; text-decoration: underline; }
  .entry-title { font-size: 28pt; }
}

/* Version 2: approved Rhönkanal design direction. */
:root { --rk-max: 1280px; }

html[data-font-size="large"] { font-size: 112.5%; }
html[data-font-size="xlarge"] { font-size: 125%; }

.site-header__landscape {
  background-color: #eef3ec;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.76) 29%, rgba(255,255,255,.10) 62%, rgba(255,255,255,.34) 100%),
    url("assets/images/rhoen-panorama.jpg");
  background-position: center;
  background-size: cover;
}
.site-header__top { min-height: 132px; }
.rk-text-logo { padding: .6rem .85rem .65rem 0; }
.site-title { font-size: clamp(2.1rem, 5vw, 3.7rem); }
.site-description { color: #263228; font-size: .76rem; letter-spacing: .22em; text-transform: uppercase; }
.site-tools { align-items: center; }
.rk-search-control { position: relative; }
.rk-search-control > summary { list-style: none; }
.rk-search-control > summary::-webkit-details-marker { display: none; }
.rk-search-control[open] > summary { outline: 4px solid var(--rk-accent); outline-offset: 3px; }
.rk-search-popover {
  position: absolute; z-index: 20; top: calc(100% + .7rem); right: 0; width: min(430px, calc(100vw - 2rem));
  padding: .8rem; border: 1px solid var(--rk-border); border-radius: 11px; background: var(--rk-surface); box-shadow: var(--rk-shadow);
}
.rk-display-button {
  min-height: 46px; display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .85rem;
  border: 1px solid #263029; border-radius: 9px; color: #fff; background: #182019; font-size: .86rem; font-weight: 800;
}
.rk-display-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.rk-display-button:hover { background: #2f3c31; }

.display-panel { border-bottom: 1px solid var(--rk-border); background: var(--rk-surface-soft); }
.display-panel[hidden] { display: none; }
.display-panel__inner { display: flex; align-items: center; gap: 1.25rem; padding-block: 1rem; }
.display-panel h2 { margin: 0; font-size: 1.15rem; }
.display-panel p { margin: .15rem 0 0; color: var(--rk-muted); font-size: .75rem; }
.display-control { min-width: 0; padding: 0; margin: 0; border: 0; }
.display-control legend { margin-bottom: .25rem; font-size: .72rem; font-weight: 800; }
.display-control button, .display-close {
  min-height: 42px; padding: .45rem .7rem; border: 1px solid var(--rk-border); border-radius: 7px;
  color: var(--rk-ink); background: var(--rk-surface); font-size: .78rem; font-weight: 750;
}
.display-control button[aria-pressed="true"] { color: #fff; background: var(--rk-green-dark); border-color: var(--rk-green-dark); }
.display-control--font { white-space: nowrap; }
.display-control--toggles { display: flex; flex-wrap: wrap; gap: .4rem; }
.display-close { margin-left: auto; }
.primary-nav__claim { margin: 0; color: var(--rk-surface); font-size: .72rem; font-weight: 650; }
.primary-nav { color: #fff; background: #182019; }
.primary-nav a, .primary-nav__claim { color: #fff; }
.rk-primary-menu { align-items: stretch; }
.rk-more-menu { position: relative; }
.rk-more-menu details > summary {
  padding: .8rem 1rem; color: #fff; font-size: .86rem; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase; list-style: none; cursor: pointer;
}
.rk-more-menu details > summary::-webkit-details-marker { display: none; }
.rk-more-menu details > summary::after { content: " +"; }
.rk-more-menu details[open] > summary::after { content: " −"; }
.rk-more-menu .sub-menu {
  position: absolute; z-index: 15; top: 100%; left: 0; display: block; min-width: 220px;
  padding: .35rem 0; border: 1px solid #455047; background: #182019; box-shadow: var(--rk-shadow);
}
.rk-more-menu .sub-menu a { padding: .7rem 1rem; white-space: nowrap; }

.rk-latest { padding-top: clamp(1.4rem, 3vw, 2.4rem); }
.rk-latest .section-title { margin-bottom: 1rem; }
.rk-feature-grid { grid-template-columns: minmax(0, 1.85fr) minmax(330px, .95fr); gap: 1rem; margin-bottom: 1.25rem; }
.rk-feature { min-height: 490px; box-shadow: none; }
.rk-feature-stack { grid-template-columns: 1fr; grid-template-rows: repeat(3, 1fr); gap: 1rem; }
.rk-feature--small { min-height: 0; }
.rk-feature--small { display: grid; grid-template-columns: 48% 1fr; border: 1px solid var(--rk-border); background: var(--rk-surface); }
.rk-feature--small .rk-feature__media { position: relative; inset: auto; min-height: 0; }
.rk-feature--small .rk-feature__media::after { display: none; }
.rk-feature--small .rk-feature__body { position: relative; inset: auto; align-self: center; padding: .85rem; color: var(--rk-ink); }
.rk-feature--small .rk-feature__body a { color: var(--rk-ink); }
.rk-feature--small .rk-feature__body .category-link { color: var(--rk-green-dark); }
.rk-feature--small .rk-feature__body h3 { font-size: clamp(1.05rem, 1.8vw, 1.35rem); }
.rk-feature__excerpt { margin: .55rem 0 0; font-size: .9rem; line-height: 1.4; }
.rk-feature--small .rk-feature__excerpt { color: var(--rk-muted); font-size: .76rem; }
.rk-feature__body .category-link { color: #fff; }
.rk-feature--small .rk-feature__body .category-link { color: var(--rk-green-dark); }

.rk-news-band { margin-top: 1rem; padding-block: clamp(1.5rem, 3.5vw, 2.8rem); background: var(--rk-green-soft); }
.rk-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.rk-news-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: .9rem; align-items: stretch; }
.rk-grid-card, .rk-ad-card { min-width: 0; overflow: hidden; border: 1px solid var(--rk-border); border-radius: 12px; background: var(--rk-surface); }
.rk-grid-card--lead { grid-column: span 6; grid-row: span 2; }
.rk-grid-card--compact { grid-column: span 3; }
.rk-grid-card--standard { grid-column: span 4; }
.rk-ad-card { grid-column: 1 / -1; }
.rk-grid-card__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #dfe6dc; }
.rk-grid-card--lead .rk-grid-card__image { aspect-ratio: 16 / 10; }
.rk-grid-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.rk-grid-card:hover .rk-grid-card__image img { transform: scale(1.025); }
.rk-grid-card__body { padding: .8rem; }
.rk-grid-card h2, .rk-grid-card h3 { margin: .25rem 0 .5rem; font-size: clamp(.95rem, 1.25vw, 1.18rem); line-height: 1.18; }
.rk-grid-card h2 a, .rk-grid-card h3 a { color: var(--rk-ink); text-decoration: none; }
.rk-grid-card h2 a:hover, .rk-grid-card h3 a:hover { color: var(--rk-green-dark); text-decoration: underline; }
.rk-grid-card--lead h3 { font-size: clamp(1.45rem, 2.4vw, 2.2rem); }
.rk-grid-card--lead .rk-grid-card__body { padding: 1.15rem; }
.rk-grid-card--lead .rk-grid-card__body > p { font-size: .92rem; }
.rk-grid-card p { margin: 0 0 .7rem; color: var(--rk-muted); font-size: .76rem; line-height: 1.42; }
.rk-card-time { color: var(--rk-muted); font-size: .74rem; }

.rk-ad-card { position: relative; display: flex; flex-direction: column; min-height: 160px; padding: .75rem; border-style: dashed; }
.rk-ad-label { align-self: flex-start; margin: 0 0 .5rem; padding: .15rem .45rem; border: 1px solid currentColor; color: var(--rk-muted); font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.rk-ad-placeholder { flex: 1; display: grid; align-content: center; justify-items: center; gap: .4rem; padding: 1rem; text-align: center; background: linear-gradient(145deg, var(--rk-surface-soft), var(--rk-green-soft)); }
.rk-ad-placeholder strong { font-size: 1.35rem; }
.rk-ad-placeholder span { color: var(--rk-muted); font-size: .78rem; }
.rk-load-more-wrap { display: grid; justify-items: center; gap: .5rem; margin-top: 1.4rem; text-align: center; }
.rk-load-more { min-width: min(100%, 260px); border: 0; cursor: pointer; text-align: center; text-decoration: none; }
.rk-load-more[aria-disabled="true"] { cursor: wait; opacity: .68; }
.rk-load-more-status { min-height: 1.4em; margin: 0; color: var(--rk-muted); font-size: .85rem; }

.rk-lower-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(310px, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); padding-block: clamp(2rem, 5vw, 4rem); }
.rk-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.rk-video-card { display: grid; grid-template-columns: minmax(150px, 42%) 1fr; gap: 1rem; align-items: start; }
.rk-video-card__image { position: relative; display: block; min-height: 120px; overflow: hidden; border-radius: 10px; background: var(--rk-surface-soft); }
.rk-video-card__image img { width: 100%; height: 100%; min-height: 120px; object-fit: cover; }
.rk-play { position: absolute; inset: 0; display: grid; place-items: center; }
.rk-play svg { width: 54px; height: 54px; fill: rgba(0,0,0,.72); stroke: #fff; stroke-width: 2; }
.rk-play path { fill: #fff; stroke: none; }
.rk-video-card h3 { margin: 0 0 .35rem; font-size: 1.05rem; line-height: 1.25; }
.rk-video-card h3 a { color: var(--rk-ink); text-decoration: none; }
.rk-video-card p { margin: 0; color: var(--rk-muted); font-size: .82rem; line-height: 1.45; }

.rk-events { padding-left: 1.5rem; border-left: 1px solid var(--rk-border); }
.rk-events-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.rk-events-heading > a { flex: 0 0 auto; margin-bottom: .9rem; font-size: .82rem; font-weight: 850; }
.rk-event-list { margin: 0; }
.rk-event-list li { display: grid; grid-template-columns: 64px 1fr; gap: .8rem; align-items: center; }
.rk-event-list time { padding: .35rem; border-radius: 7px; background: var(--rk-green-soft); font-size: .75rem; font-weight: 900; text-align: center; }
.rk-event-list a { line-height: 1.3; }

html[data-theme="dark"] .site-header__landscape {
  background-color: #111713;
  background-image:
    linear-gradient(90deg, rgba(17,23,19,.98) 0%, rgba(17,23,19,.84) 31%, rgba(17,23,19,.35) 66%, rgba(17,23,19,.72) 100%),
    url("assets/images/rhoen-panorama.jpg");
}
html[data-theme="dark"] .site-description { color: #e3ebe0; }
html[data-theme="dark"] .rk-display-button { border-color: #dce6da; color: #111; background: #f4f7f3; }

html[data-contrast="high"] {
  --rk-green: #00a83b;
  --rk-green-dark: #006b25;
  --rk-green-soft: #fff;
  --rk-ink: #000;
  --rk-muted: #222;
  --rk-surface: #fff;
  --rk-surface-soft: #fff;
  --rk-border: #000;
}
html[data-theme="dark"][data-contrast="high"] {
  --rk-green: #8cff9e;
  --rk-green-dark: #8cff9e;
  --rk-green-soft: #000;
  --rk-ink: #fff;
  --rk-muted: #fff;
  --rk-surface: #000;
  --rk-surface-soft: #000;
  --rk-border: #fff;
}
html[data-contrast="high"] a { text-decoration: underline; text-decoration-thickness: .13em; }
html[data-contrast="high"] .rk-grid-card,
html[data-contrast="high"] .rk-ad-card,
html[data-contrast="high"] .rk-panel { border-width: 2px; }

html[data-images="hidden"] .site-header__landscape { background-image: none; }
html[data-images="hidden"] .rk-feature__media,
html[data-images="hidden"] .rk-grid-card__image,
html[data-images="hidden"] .rk-video-card__image,
html[data-images="hidden"] .news-card__image,
html[data-images="hidden"] .entry-hero { display: none; }
html[data-images="hidden"] .rk-recommendation__image,
html[data-images="hidden"] .rk-category-lead__image,
html[data-images="hidden"] .entry-content img,
html[data-images="hidden"] .entry-content .wp-block-image,
html[data-images="hidden"] .entry-content .wp-block-gallery,
html[data-images="hidden"] .entry-content .gallery,
html[data-images="hidden"] .entry-content .wp-caption { display: none !important; }
html[data-images="hidden"] .rk-feature { min-height: 240px; background: linear-gradient(135deg, var(--rk-green-dark), #152f1a); }
html[data-images="hidden"] .rk-feature--small { min-height: 145px; }

html[data-motion="reduced"] *,
html[data-motion="reduced"] *::before,
html[data-motion="reduced"] *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }

/* Article ending and recommendations. */
.rk-read-next {
  width: min(100%, 820px); margin: clamp(2.5rem, 5vw, 3.5rem) auto 0; padding: 1.25rem 0 0;
  border-top: 1px solid var(--rk-border); background: transparent;
}

.rk-read-next .section-title { margin-bottom: 1rem; font-size: clamp(1.2rem, 2vw, 1.45rem); letter-spacing: -.02em; }
.rk-read-next .section-title::after { width: 36px; height: 3px; margin-top: .4rem; }
.rk-recommendation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.rk-recommendation {
  min-width: 0; overflow: hidden; border: 1px solid var(--rk-border); border-radius: 10px; background: var(--rk-surface);
}
.rk-recommendation__image { display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: var(--rk-surface-soft); }
.rk-recommendation__image img, .rk-image-placeholder { width: 100%; height: 100%; display: block; object-fit: cover; }
.rk-image-placeholder { background: linear-gradient(135deg, var(--rk-green-dark), #182019); }
.rk-recommendation__body { padding: .7rem .75rem .8rem; }
.rk-recommendation .entry-meta { font-size: .68rem; letter-spacing: .025em; }
.rk-recommendation h3 { margin: .3rem 0 0; font-size: .95rem; line-height: 1.28; letter-spacing: 0; }
.rk-recommendation h3 a { color: var(--rk-ink); text-decoration: none; }
.rk-recommendation h3 a:hover { color: var(--rk-green-dark); text-decoration: underline; }
.rk-read-next__home { margin: .9rem 0 0; font-size: .82rem; font-weight: 750; text-align: right; }
.rk-read-next__home a { color: var(--rk-green-dark); }

/* Category archives aligned with the home page. */
.rk-category-page { padding-top: 0; }
.rk-archive-header { padding-block: clamp(1.5rem, 4vw, 3rem); background: var(--rk-green-soft); }
.rk-archive-header__inner { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.rk-archive-header .section-title { margin-bottom: .6rem; }
.rk-archive-description { max-width: 720px; color: var(--rk-muted); }
.rk-archive-description p { margin-bottom: 0; }
.rk-archive-search { width: min(390px, 38%); }
.rk-archive-content { padding-block: clamp(1.5rem, 4vw, 3.5rem); }
.rk-category-lead {
  display: grid; grid-template-columns: minmax(300px, 1.15fr) 1fr; overflow: hidden;
  border: 1px solid var(--rk-border); border-radius: var(--rk-radius); background: var(--rk-surface); box-shadow: var(--rk-shadow);
}
.rk-category-lead__image { min-height: 360px; background: var(--rk-surface-soft); }
.rk-category-lead__image img { width: 100%; height: 100%; object-fit: cover; }
.rk-category-lead__body { align-self: center; padding: clamp(1.25rem, 4vw, 3rem); }
.rk-category-lead h2 { margin: .4rem 0 .8rem; font-size: clamp(1.65rem, 4vw, 3rem); line-height: 1.08; letter-spacing: -.035em; }
.rk-category-lead h2 a { color: var(--rk-ink); text-decoration: none; }
.rk-category-lead p { color: var(--rk-muted); }
.rk-text-link { font-weight: 850; }
.rk-category-more { margin-top: clamp(2.5rem, 6vw, 5rem); }
.rk-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.rk-category-grid .rk-grid-card--standard { grid-column: auto; }

/* Automatically generated event calendar. */
.rk-calendar-page { padding-top: 0; }
.rk-calendar-header { padding-block: clamp(2rem, 5vw, 4rem); color: #fff; background: linear-gradient(120deg, #102d20, #1e5f3a 72%, #2e7c4c); }
.rk-calendar-header__inner { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.rk-calendar-header .section-kicker,
.rk-calendar-header .section-title { color: #fff; }
.rk-calendar-header .section-title::after { background: #9cdb82; }
.rk-calendar-header p:last-child { max-width: 760px; margin-bottom: 0; color: #e4f0e7; }
.rk-calendar-count { display: grid; flex: 0 0 180px; padding: 1rem; border: 1px solid rgba(255,255,255,.28); border-radius: 14px; background: rgba(255,255,255,.1); text-align: center; }
.rk-calendar-count strong { color: #fff; font-size: 2.2rem; line-height: 1; }
.rk-calendar-count span { margin-top: .35rem; color: #eef7f0; font-size: .78rem; }
.rk-calendar-content { padding-block: clamp(1.5rem, 4vw, 3.5rem); }
.rk-calendar-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.rk-calendar-nav h2 { margin: 0; font-size: clamp(1.4rem, 3vw, 2rem); text-align: center; }
.rk-calendar-nav a { font-weight: 850; }
.rk-calendar-nav a:last-child { text-align: right; }
.rk-calendar-scroll { overflow-x: auto; border: 1px solid var(--rk-border); border-radius: 14px; background: var(--rk-surface); box-shadow: var(--rk-shadow); }
.rk-calendar-scroll:focus { outline: 4px solid var(--rk-focus); outline-offset: 3px; }
.rk-calendar-table { width: 100%; min-width: 850px; border-collapse: collapse; table-layout: fixed; }
.rk-calendar-table th { padding: .75rem .45rem; color: #fff; background: var(--rk-green-dark); font-size: .78rem; text-align: left; }
.rk-calendar-table td { height: 145px; padding: .55rem; border: 1px solid var(--rk-border); vertical-align: top; }
.rk-calendar-table td > time { display: inline-grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; font-weight: 900; }
.rk-calendar-table td.is-today > time { color: #fff; background: var(--rk-green-dark); }
.rk-calendar-table ul { display: grid; gap: .35rem; margin: .45rem 0 0; padding: 0; list-style: none; }
.rk-calendar-table li a { display: block; padding: .4rem; border-left: 4px solid var(--rk-green); border-radius: 5px; color: var(--rk-ink); background: var(--rk-green-soft); font-size: .75rem; font-weight: 800; line-height: 1.25; text-decoration: none; }
.rk-calendar-table li a:hover { text-decoration: underline; }
.rk-calendar-empty { background: var(--rk-surface-soft); }
.rk-calendar-note { color: var(--rk-muted); font-size: .82rem; }

@media (max-width: 1180px) {
  .rk-news-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .rk-grid-card--lead { grid-column: span 6; grid-row: auto; }
  .rk-grid-card--compact, .rk-grid-card--standard { grid-column: span 3; }
  .rk-ad-card { grid-column: 1 / -1; }
}

@media (max-width: 1000px) {
  .rk-lower-grid { grid-template-columns: 1fr; }
  .rk-events { padding-left: 0; border-left: 0; }
  .display-panel__inner { flex-wrap: wrap; }
  .display-close { margin-left: 0; }
  .rk-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .site-header__landscape { background-position: 60% center; }
  .rk-feature-grid { grid-template-columns: 1fr; }
  .rk-feature-stack { grid-template-columns: repeat(3, 1fr); grid-template-rows: none; }
  .rk-feature--small { display: block; }
  .rk-feature--small .rk-feature__media { position: absolute; inset: 0; }
  .rk-feature--small .rk-feature__media::after { display: block; }
  .rk-feature--small .rk-feature__body { position: absolute; inset: auto 0 0; color: #fff; }
  .rk-feature--small .rk-feature__body a,
  .rk-feature--small .rk-feature__body .category-link,
  .rk-feature--small .rk-feature__excerpt { color: #fff; }
  .rk-feature--small { min-height: 210px; }
  .primary-nav__claim { display: none; }
  .rk-video-grid { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .site-header__top { min-height: 104px; }
  .site-header__landscape { background-image: linear-gradient(90deg, rgba(255,255,255,.97), rgba(255,255,255,.65)), url("assets/images/rhoen-panorama.jpg"); }
  html[data-theme="dark"] .site-header__landscape { background-image: linear-gradient(90deg, rgba(17,23,19,.98), rgba(17,23,19,.7)), url("assets/images/rhoen-panorama.jpg"); }
  .site-title { font-size: clamp(1.8rem, 10vw, 2.65rem); }
  .site-tools { gap: .35rem; }
  .rk-display-button { width: 46px; padding: 0; justify-content: center; }
  .rk-display-button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .display-panel__inner { display: grid; grid-template-columns: 1fr; }
  .display-control--toggles { display: grid; grid-template-columns: 1fr; }
  .rk-feature { min-height: 390px; }
  .rk-feature-stack { grid-template-columns: 1fr; }
  .rk-feature--small { min-height: 210px; }
  .rk-more-menu { position: static; }
  .rk-more-menu details > summary { padding-inline: 0; }
  .rk-more-menu .sub-menu { position: static; min-width: 0; padding-left: 1rem; border: 0; box-shadow: none; }
  .rk-news-grid { grid-template-columns: 1fr; }
  .rk-grid-card--lead, .rk-grid-card--compact, .rk-grid-card--standard { grid-column: auto; }
  .rk-ad-card { grid-column: 1 / -1; min-height: 140px; }
  .rk-grid-card { display: grid; grid-template-columns: 38% 1fr; }
  .rk-grid-card__image { height: 100%; aspect-ratio: auto; }
  .rk-grid-card__body { padding: .85rem; }
  .rk-grid-card p { display: none; }
  .rk-video-card { grid-template-columns: 1fr; }
  .rk-recommendation-grid { grid-template-columns: 1fr; }
  .rk-recommendation { display: grid; grid-template-columns: 110px minmax(0, 1fr); }
  .rk-recommendation__image { height: 100%; aspect-ratio: 1 / 1; }
  .rk-archive-header__inner { display: block; }
  .rk-archive-search { width: 100%; margin-top: 1.2rem; }
  .rk-category-lead { grid-template-columns: 1fr; }
  .rk-category-lead__image { min-height: 240px; }
  .rk-category-grid { grid-template-columns: 1fr; }
  .rk-calendar-header__inner { display: block; }
  .rk-calendar-count { width: 100%; margin-top: 1.2rem; }
  .rk-calendar-nav { grid-template-columns: 1fr 1fr; }
  .rk-calendar-nav h2 { grid-column: 1 / -1; grid-row: 1; }
}

@media (max-width: 430px) {
  .rk-grid-card { grid-template-columns: 1fr; }
  .rk-grid-card__image { aspect-ratio: 16 / 9; }
}

/* Version 2.2: fresher header with the visual family traits of Rhönplaner. */
.site-header { position: relative; border-bottom: 0; box-shadow: 0 8px 24px rgba(18, 51, 32, .09); }
.site-header::before { content: ""; display: block; height: 6px; background: linear-gradient(90deg, #164b2e, #2d8450 58%, #8bcf79); }
.site-header__landscape {
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.82) 31%, rgba(255,255,255,.12) 66%, rgba(255,255,255,.28) 100%),
    url("assets/images/rhoen-panorama.jpg");
  background-position: center 48%;
}
.site-header__top { min-height: 118px; }
.custom-logo { max-height: 82px; }
.site-tools { padding: .4rem; border: 1px solid rgba(22,75,46,.14); border-radius: 14px; background: rgba(255,255,255,.82); box-shadow: 0 8px 22px rgba(18,51,32,.10); backdrop-filter: blur(7px); }
.rk-icon-button { border: 0; color: #173b27; background: #fff; box-shadow: 0 2px 8px rgba(18,51,32,.10); }
.rk-icon-button:hover { color: #fff; background: #236b42; }
.rk-display-button { border: 0; background: #1d5b38; box-shadow: 0 2px 8px rgba(18,51,32,.13); }
.rk-display-button:hover { background: #287849; }
.primary-nav { background: linear-gradient(90deg, #174c2f, #205f3a 58%, #174c2f); }
.primary-nav__inner { min-height: 60px; }
.primary-nav a { margin: .35rem .15rem; padding: .65rem .95rem; border-radius: 8px; }
.primary-nav a:hover,
.primary-nav .current-menu-item > a { color: #fff; background: rgba(255,255,255,.15); text-decoration: none; }
.rk-more-menu details > summary { margin: .35rem .15rem; padding: .65rem .95rem; border-radius: 8px; }
.rk-more-menu details > summary:hover,
.rk-more-menu details[open] > summary { background: rgba(255,255,255,.15); }
.primary-nav__claim { letter-spacing: .04em; opacity: .9; }

html[data-theme="dark"] .site-header__landscape {
  background-image:
    linear-gradient(90deg, rgba(13,22,16,.98) 0%, rgba(13,22,16,.86) 31%, rgba(13,22,16,.35) 68%, rgba(13,22,16,.55) 100%),
    url("assets/images/rhoen-panorama.jpg");
}
html[data-theme="dark"] .site-tools { border-color: rgba(255,255,255,.15); background: rgba(12,25,17,.82); }
html[data-theme="dark"] .rk-icon-button { color: #fff; background: #183624; }
html[data-theme="dark"] .rk-display-button { color: #fff; background: #2b7548; }

/* Automatically detected video archive. */
.rk-video-archive { padding-top: 0; }
.rk-video-archive__header { padding-block: clamp(2rem, 5vw, 4rem); color: #fff; background: linear-gradient(120deg, #102d20, #1e5f3a 72%, #2e7c4c); }
.rk-video-archive__header .section-kicker,
.rk-video-archive__header .section-title { color: #fff; }
.rk-video-archive__header .section-title::after { background: #9cdb82; }
.rk-video-archive__header p:last-child { max-width: 720px; margin-bottom: 0; color: #e4f0e7; }
.rk-video-archive__content { padding-block: clamp(1.5rem, 4vw, 3.5rem); }
.rk-video-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.rk-video-archive-grid .rk-video-card { display: block; overflow: hidden; border: 1px solid var(--rk-border); border-radius: 13px; background: var(--rk-surface); }
.rk-video-archive-grid .rk-video-card__image { min-height: 0; aspect-ratio: 16 / 9; border-radius: 0; }
.rk-video-archive-grid .rk-video-card__image img { min-height: 0; aspect-ratio: 16 / 9; }
.rk-video-archive-grid .rk-video-card > div { padding: 1rem; }
.rk-video-archive-grid .rk-video-card h3 { font-size: 1.2rem; }

@media (max-width: 900px) {
  .rk-video-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .primary-nav__claim { display: none; }
}

@media (max-width: 650px) {
  .site-header::before { height: 4px; }
  .site-header__top { min-height: 98px; }
  .site-tools { padding: .25rem; border-radius: 12px; }
  .primary-nav__inner { min-height: 52px; }
  .primary-nav a,
  .rk-more-menu details > summary { margin-inline: 0; }
  .rk-video-archive-grid { grid-template-columns: 1fr; }
}

/* Version 2.4: refined brand logo, reliable preview loading and richer footer. */
.site-branding { display: grid; gap: .25rem; }
.rk-brand-logo {
  display: block; width: fit-content; padding: .35rem .65rem; overflow: hidden;
  border: 1px solid rgba(22,75,46,.12); border-radius: 14px; background: rgba(255,255,255,.9);
  box-shadow: 0 8px 22px rgba(18,51,32,.10); backdrop-filter: blur(7px);
}
.rk-brand-logo img { width: auto; max-width: min(340px, 50vw); max-height: 76px; }
.rk-brand-logo + .site-description { margin: 0 0 0 .65rem; color: #284432; font-size: .78rem; letter-spacing: .045em; text-transform: uppercase; }
html[data-theme="dark"] .rk-brand-logo + .site-description { color: #e6eee8; }

.site-footer {
  position: relative; margin-top: clamp(3rem, 7vw, 6rem); padding-block: 0;
  border-top: 0; color: #edf5ef; background: linear-gradient(135deg, #102c1e, #174b2f 58%, #0d2519);
}
.site-footer::before { content: ""; display: block; height: 7px; background: linear-gradient(90deg, #81c86b, #3c975b 55%, #d9ec7a); }
.site-footer__inner { padding-block: clamp(2rem, 5vw, 4rem) 1.4rem; }
.site-footer__lead {
  display: grid; grid-template-columns: minmax(210px, 290px) 1fr auto; gap: clamp(1.2rem, 3vw, 2.5rem);
  align-items: center; padding-bottom: clamp(1.5rem, 4vw, 2.5rem); border-bottom: 1px solid rgba(255,255,255,.18);
}
.rk-footer-logo { display: block; padding: .55rem .75rem; border-radius: 12px; background: #fff; }
.rk-footer-logo img { width: 100%; height: auto; }
.site-footer__claim { margin: 0 0 .2rem; color: #fff; font-size: clamp(1.35rem, 3vw, 2rem); font-weight: 900; line-height: 1.1; letter-spacing: -.025em; }
.site-footer__lead div > p:last-child { max-width: 660px; margin: 0; color: #ccddd1; font-size: .9rem; }
.rk-footer-top {
  display: inline-flex; gap: .45rem; align-items: center; min-height: 46px; padding: .55rem .85rem;
  border: 1px solid rgba(255,255,255,.32); border-radius: 999px; color: #fff !important; font-size: .82rem; font-weight: 850; text-decoration: none;
}
.rk-footer-top:hover { border-color: #fff; background: rgba(255,255,255,.1); }
.site-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 5vw, 4rem); padding-block: clamp(1.8rem, 4vw, 3rem); }
.site-footer h2 { margin: 0 0 1rem; color: #fff; font-size: 1rem; letter-spacing: .025em; }
.site-footer h2::after { content: ""; display: block; width: 36px; height: 3px; margin-top: .45rem; border-radius: 3px; background: #89cf70; }
.site-footer ul { display: grid; gap: .55rem; }
.site-footer a { color: #e8f2eb; text-decoration-color: rgba(232,242,235,.45); }
.site-footer a:hover { color: #fff; text-decoration-color: #fff; }
.site-footer__grid p { max-width: 380px; margin: 0; color: #c8d9cd; font-size: .88rem; }
.site-footer__legal {
  display: flex; justify-content: space-between; gap: 1rem; margin-top: 0; padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.18); color: #b9cbbf; font-size: .76rem;
}
.site-footer__legal p { margin: 0; }
html[data-contrast="high"] .site-footer { color: #fff; background: #000; }
html[data-contrast="high"] .site-footer a { color: #fff; }

@media (max-width: 800px) {
  .site-footer__lead { grid-template-columns: 1fr auto; }
  .rk-footer-logo { width: min(290px, 100%); }
  .site-footer__lead > div { grid-column: 1 / -1; grid-row: 2; }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__grid section { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .rk-brand-logo img { max-width: min(230px, 62vw); max-height: 66px; }
  .rk-brand-logo + .site-description { display: none; }
  .site-footer__lead { grid-template-columns: 1fr; }
  .rk-footer-top { grid-row: auto; justify-self: start; }
  .site-footer__lead > div { grid-column: auto; grid-row: auto; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__grid section { grid-column: auto; }
  .site-footer__legal { display: grid; }
}

/* Version 2.4.1: original sheep artwork with a new type treatment. */
.rk-brand-lockup {
  display: inline-flex; align-items: center; gap: .55rem; width: fit-content; padding: .3rem .65rem .3rem .4rem;
  overflow: hidden; border: 1px solid rgba(22,75,46,.12); border-radius: 14px; background: rgba(255,255,255,.92);
  box-shadow: 0 8px 22px rgba(18,51,32,.10); text-decoration: none; backdrop-filter: blur(7px);
}
.rk-original-sheep { position: relative; display: block; flex: 0 0 62px; width: 62px; height: 72px; overflow: hidden; }
.rk-original-sheep img { position: absolute; inset: 0 auto auto 0; width: 256px; max-width: none; height: 72px; }
.rk-wordmark {
  color: #101311; font-family: "Arial Narrow", "Roboto Condensed", "Segoe UI", sans-serif;
  font-size: clamp(2rem, 4.4vw, 3.45rem); font-weight: 900; line-height: 1; letter-spacing: -.065em; white-space: nowrap;
}
.rk-wordmark > span { color: #168d32; }
.rk-brand-lockup + .site-description { margin: 0 0 0 .65rem; color: #284432; font-size: .78rem; letter-spacing: .045em; text-transform: uppercase; }
html[data-theme="dark"] .rk-brand-lockup + .site-description { color: #e6eee8; }
.rk-brand-lockup--footer { padding: .45rem .75rem .45rem .55rem; background: #fff; box-shadow: none; }
.rk-brand-lockup--footer .rk-wordmark { font-size: clamp(1.8rem, 3.6vw, 2.65rem); }
.rk-footer-social { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.1rem; }
.rk-social-link {
  display: inline-flex; align-items: center; gap: .45rem; min-height: 42px; padding: .45rem .7rem;
  border: 1px solid rgba(255,255,255,.25); border-radius: 9px; color: #fff !important; font-size: .8rem; font-weight: 850; text-decoration: none;
}
.rk-social-link:hover { border-color: #fff; background: rgba(255,255,255,.1); }
.rk-social-link svg { width: 20px; height: 20px; flex: 0 0 20px; fill: currentColor; stroke: currentColor; stroke-width: 1.8; }
.rk-social-link:first-child svg { stroke: none; }

@media (max-width: 560px) {
  .rk-brand-lockup { gap: .35rem; padding: .25rem .45rem .25rem .3rem; }
  .rk-original-sheep { flex-basis: 52px; width: 52px; height: 60px; }
  .rk-original-sheep img { width: 213px; height: 60px; }
  .rk-wordmark { font-size: clamp(1.7rem, 9vw, 2.35rem); }
}

@media (max-width: 430px) {
  .rk-original-sheep { flex-basis: 43px; width: 43px; height: 50px; }
  .rk-original-sheep img { width: 178px; height: 50px; }
  .rk-wordmark { font-size: 1.55rem; }
}

/* Version 2.4.2: approved transparent logo and preview-safe controls. */
.rk-brand-image { display: block; width: 330px; max-width: 48vw; text-decoration: none; }
.rk-brand-image img { width: 100%; height: auto; }
.rk-brand-image + .site-description { margin: -.8rem 0 0 .55rem; color: #284432; font-size: .78rem; letter-spacing: .045em; text-transform: uppercase; }
html[data-theme="dark"] .rk-brand-image + .site-description { color: #e6eee8; }
.rk-brand-image--footer { width: 285px; max-width: 100%; }
.rk-brand-image--footer img { filter: brightness(0) invert(1); opacity: .96; }
html[data-theme="dark"] .site-header__landscape {
  background-image:
    linear-gradient(90deg, rgba(247,249,247,.95) 0%, rgba(247,249,247,.76) 32%, rgba(13,22,16,.28) 68%, rgba(13,22,16,.58) 100%),
    url("assets/images/rhoen-panorama.jpg");
}
html[data-theme="dark"] .rk-brand-image + .site-description { color: #284432; }
.rk-footer-social form { margin: 0; }
.rk-social-link { background: transparent; }
.rk-social-link--youtube svg { color: #ff294d; fill: currentColor; stroke: none; }
.rk-social-link--instagram svg { color: #ff5b9a; fill: none; stroke: currentColor; }
.rk-social-link--instagram .rk-instagram-dot { fill: currentColor; stroke: none; }

@media (max-width: 560px) {
  .rk-brand-image { width: 250px; max-width: 48vw; }
  .rk-brand-image + .site-description { display: none; }
  .rk-brand-image--footer { width: 255px; max-width: 100%; }
}

/* Version 2.4.3: simplified light footer and unmistakable social icons. */
.site-footer { color: #183b28; background: #edf4eb; }
.site-footer::before { background: linear-gradient(90deg, #1b5b37, #3f9c59 55%, #8acb70); }
.site-footer__lead { border-color: #c6d7c6; }
.rk-brand-image--footer img { filter: none; opacity: 1; }
.site-footer__claim { color: #173d28; }
.rk-footer-top { border-color: #78957f; color: #173d28 !important; }
.rk-footer-top:hover { border-color: #173d28; background: #dfeadd; }
.site-footer h2 { color: #173d28; }
.site-footer h2::after { background: #3f8f4b; }
.site-footer a { color: #174b2f; text-decoration-color: rgba(23,75,47,.45); }
.site-footer a:hover { color: #0c2d1b; text-decoration-color: currentColor; }
.site-footer__grid p { color: #486352; }
.site-footer__legal { border-color: #c6d7c6; color: #587060; }
.rk-social-link {
  border-color: #b8cbb9; color: #173d28 !important; background: #fff;
  box-shadow: 0 3px 10px rgba(20,55,35,.06);
}
.rk-social-link:hover { border-color: #668c70; background: #f8fbf7; }
.rk-social-link svg { width: 22px; height: 22px; fill: none; stroke: none; }
.rk-social-link--youtube .rk-youtube-bg { fill: #f00028; }
.rk-social-link--youtube .rk-youtube-play { fill: #fff; }
.rk-social-link--instagram .rk-instagram-bg { fill: #d62976; stroke: none; }
.rk-social-link--instagram .rk-instagram-frame,
.rk-social-link--instagram .rk-instagram-lens { fill: none; stroke: #fff; stroke-width: 1.7; }
.rk-social-link--instagram .rk-instagram-dot { fill: #fff; stroke: none; }
html[data-contrast="high"] .site-footer { color: #000; background: #fff; }
html[data-contrast="high"] .site-footer h2,
html[data-contrast="high"] .site-footer a,
html[data-contrast="high"] .site-footer__claim,
html[data-contrast="high"] .rk-footer-top,
html[data-contrast="high"] .rk-social-link { color: #000 !important; }

@media (max-width: 800px) {
  .site-footer__lead { grid-template-columns: minmax(200px, 285px) 1fr auto; }
  .site-footer__claim { grid-column: auto; grid-row: auto; }
}

@media (max-width: 650px) {
  .site-footer__lead { grid-template-columns: 1fr auto; }
  .site-footer__claim { grid-column: 1 / -1; grid-row: 2; }
}

/* Version 2.4.4: compact mobile event list. */
.rk-calendar-mobile { display: none; }

@media (max-width: 700px) {
  .rk-calendar-count,
  .rk-calendar-nav,
  .rk-calendar-scroll { display: none; }
  .rk-calendar-mobile { display: block; }
  .rk-calendar-mobile h2 { margin: 0 0 1rem; font-size: 1.45rem; line-height: 1.15; }
  .rk-calendar-mobile ul { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
  .rk-calendar-mobile li {
    display: grid; grid-template-columns: 105px 1fr; gap: .8rem; align-items: center;
    padding: .9rem; border: 1px solid var(--rk-border); border-radius: 12px; background: var(--rk-surface); box-shadow: 0 5px 16px rgba(25,43,28,.06);
  }
  .rk-calendar-mobile time {
    padding: .45rem; border-radius: 8px; color: var(--rk-green-dark); background: var(--rk-green-soft);
    font-size: .75rem; font-weight: 900; line-height: 1.25; text-align: center;
  }
  .rk-calendar-mobile a { color: var(--rk-ink); font-weight: 850; line-height: 1.25; text-decoration: none; }
  .rk-calendar-mobile a:hover { color: var(--rk-green-dark); text-decoration: underline; }
  .rk-calendar-note { margin-top: 1rem; }
}

@media (max-width: 390px) {
  .rk-calendar-mobile li { grid-template-columns: 1fr; }
  .rk-calendar-mobile time { justify-self: start; }
}

/* Version 3.0: editable navigation, breaking-news ticker and mobile news stream. */
.rk-breaking-news {
  position: relative; z-index: 30; color: #fff; background: #b20d22;
  border-bottom: 1px solid rgba(255,255,255,.3);
}
.rk-breaking-news__inner {
  display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center;
  min-height: 46px; padding-block: .35rem;
}
.rk-breaking-news__label {
  position: relative; z-index: 2; align-self: stretch; display: inline-flex; align-items: center;
  padding: .45rem 1rem; color: #fff; background: #790514; font-size: .82rem; font-weight: 950;
  letter-spacing: .07em; text-transform: uppercase;
}
.rk-breaking-news__track { min-width: 0; overflow: hidden; }
.rk-breaking-news__track a {
  display: block; width: max-content; max-width: none; padding-inline: 1rem;
  color: #fff; font-size: .92rem; font-weight: 900; line-height: 1.25; white-space: nowrap;
  text-decoration: none; animation: rk-breaking-ticker 9s linear infinite; animation-delay: -1.5s;
}
.rk-breaking-news__track a:hover,
.rk-breaking-news__track a:focus { text-decoration: underline; animation-play-state: paused; }
@keyframes rk-breaking-ticker {
  from { transform: translateX(45vw); }
  to { transform: translateX(-100%); }
}

/* WordPress controls all first- and second-level items in this menu. */
.rk-primary-menu > .menu-item { position: relative; }
.rk-primary-menu .sub-menu {
  position: absolute; z-index: 25; top: calc(100% - .35rem); left: .15rem;
  display: none; min-width: 235px; padding: .35rem; border: 1px solid #587060;
  border-radius: 9px; background: #174c2f; box-shadow: var(--rk-shadow);
}
.rk-primary-menu .sub-menu li { width: 100%; }
.rk-primary-menu .sub-menu a { display: block; margin: 0; white-space: nowrap; }
.rk-primary-menu > .menu-item:hover > .sub-menu,
.rk-primary-menu > .menu-item:focus-within > .sub-menu { display: block; }

@media (prefers-reduced-motion: reduce) {
  .rk-breaking-news__track a { width: auto; padding-block: .35rem; white-space: normal; animation: none; }
}
html[data-motion="reduced"] .rk-breaking-news__track a {
  width: auto; padding-block: .35rem; white-space: normal; animation: none;
}

@media (max-width: 700px) {
  .rk-breaking-news__inner { grid-template-columns: auto minmax(0, 1fr); padding-inline: 0; }
  .rk-breaking-news__label { padding-inline: .7rem; font-size: .68rem; }
  .rk-breaking-news__track a { font-size: .82rem; animation-duration: 7s; }

  .rk-primary-menu .sub-menu,
  .rk-primary-menu > .menu-item:hover > .sub-menu,
  .rk-primary-menu > .menu-item:focus-within > .sub-menu {
    position: static; display: block; min-width: 0; margin-left: .8rem; padding: 0 0 .25rem .65rem;
    border: 0; border-left: 2px solid rgba(255,255,255,.28); border-radius: 0; background: transparent; box-shadow: none;
  }
  .rk-primary-menu .sub-menu a { white-space: normal; }

  .rk-latest { padding-top: 1.1rem; }
  .rk-latest .section-title,
  .rk-section-heading .section-title { font-size: clamp(1.65rem, 8vw, 2.25rem); }
  .rk-feature-grid,
  .rk-feature-stack { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
  .rk-feature,
  .rk-feature--small {
    display: block; min-height: 0; overflow: hidden; border: 1px solid var(--rk-border);
    border-radius: 14px; color: var(--rk-ink); background: var(--rk-surface); box-shadow: 0 7px 22px rgba(25,43,28,.08);
  }
  .rk-feature .rk-feature__media,
  .rk-feature--small .rk-feature__media {
    position: relative; inset: auto; display: block; width: 100%; min-height: 0; aspect-ratio: 16 / 9;
  }
  .rk-feature .rk-feature__media::after,
  .rk-feature--small .rk-feature__media::after { display: none; }
  .rk-feature .rk-feature__body,
  .rk-feature--small .rk-feature__body {
    position: relative; inset: auto; display: block; padding: 1rem; color: var(--rk-ink);
  }
  .rk-feature .rk-feature__body a,
  .rk-feature--small .rk-feature__body a { color: var(--rk-ink); }
  .rk-feature .rk-feature__body .category-link,
  .rk-feature--small .rk-feature__body .category-link { color: var(--rk-green-dark); }
  .rk-feature .rk-feature__body h2,
  .rk-feature .rk-feature__body h3,
  .rk-feature--small .rk-feature__body h3 {
    margin-top: .35rem; font-size: clamp(1.45rem, 7vw, 2.05rem); line-height: 1.08; letter-spacing: -.025em;
  }
  .rk-feature__excerpt,
  .rk-feature--small .rk-feature__excerpt { color: var(--rk-muted); font-size: .9rem; }

  .rk-news-band { margin-top: .25rem; padding-block: 1.6rem 2.2rem; }
  .rk-news-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
  .rk-grid-card,
  .rk-grid-card--lead,
  .rk-grid-card--compact,
  .rk-grid-card--standard { display: block; grid-column: auto; border-radius: 14px; box-shadow: 0 7px 22px rgba(25,43,28,.07); }
  .rk-grid-card__image,
  .rk-grid-card--lead .rk-grid-card__image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }
  .rk-grid-card__body,
  .rk-grid-card--lead .rk-grid-card__body { padding: 1rem; }
  .rk-grid-card h2,
  .rk-grid-card h3,
  .rk-grid-card--lead h3 { margin: .35rem 0 .65rem; font-size: clamp(1.35rem, 6.6vw, 1.9rem); line-height: 1.1; letter-spacing: -.02em; }
  .rk-grid-card p,
  .rk-grid-card--lead .rk-grid-card__body > p {
    display: -webkit-box; margin-bottom: .65rem; overflow: hidden; color: var(--rk-muted);
    font-size: .88rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
  }
  .rk-ad-card { min-height: 150px; }
}

/* Version 3.0.1: contact, article sharing and empty-ad cleanup. */
.rk-contact-control { position: relative; }
.rk-contact-control > summary { list-style: none; }
.rk-contact-control > summary::-webkit-details-marker { display: none; }
.rk-contact-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 46px;
  padding: .55rem .8rem; border: 0; border-radius: 9px; color: #fff; background: #b20d22;
  box-shadow: 0 2px 8px rgba(18,51,32,.13); font-size: .8rem; font-weight: 900; cursor: pointer;
}
.rk-contact-button:hover { background: #8d091a; }
.rk-contact-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.rk-contact-control[open] > summary { outline: 4px solid var(--rk-accent); outline-offset: 3px; }
.rk-contact-popover {
  position: absolute; z-index: 45; top: calc(100% + .7rem); right: 0; width: min(390px, calc(100vw - 2rem));
  padding: 1.1rem; border: 1px solid var(--rk-border); border-top: 5px solid #b20d22; border-radius: 12px;
  color: var(--rk-ink); background: var(--rk-surface); box-shadow: 0 16px 42px rgba(14,38,23,.22);
}
.rk-contact-popover h2 { margin: 0 0 .55rem; font-size: 1.25rem; line-height: 1.15; }
.rk-contact-popover p { margin: .45rem 0; font-size: .86rem; line-height: 1.45; }
.rk-contact-links { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-block: .9rem; }
.rk-contact-links a {
  display: flex; align-items: center; justify-content: center; min-height: 44px; padding: .5rem;
  border-radius: 8px; color: #fff; background: #176c3a; font-weight: 850; text-decoration: none;
}
.rk-contact-links a:last-child { background: #2475a8; }
.rk-contact-details { margin-top: .8rem; font-style: normal; text-align: center; }
.rk-contact-details p { margin: .4rem 0; overflow-wrap: anywhere; }
.rk-contact-details a { color: var(--rk-green-dark); font-weight: 900; }

.rk-share-tools {
  display: flex; flex-wrap: wrap; align-items: center; gap: .65rem 1rem; margin: 0 0 1.5rem;
  padding: .8rem 1rem; border: 1px solid var(--rk-border); border-radius: 12px; background: var(--rk-surface-soft);
}
.rk-share-tools > strong { font-size: .8rem; text-transform: uppercase; letter-spacing: .045em; }
.rk-share-links { display: flex; flex-wrap: wrap; gap: .45rem; }
.rk-share-link {
  display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: .4rem .7rem;
  border: 1px solid var(--rk-border); border-radius: 999px; color: var(--rk-ink); background: var(--rk-surface);
  font-size: .75rem; font-weight: 850; line-height: 1; text-decoration: none; cursor: pointer;
}
.rk-share-link:hover { border-color: var(--rk-green-dark); color: var(--rk-green-dark); text-decoration: none; }
.rk-share-link--whatsapp { color: #116b38; }
.rk-share-link--facebook { color: #1757a6; }
.rk-share-link--telegram { color: #1979a8; }
.rk-share-status { flex-basis: 100%; min-height: 1.2em; color: var(--rk-muted); font-size: .75rem; }

ins.adsbygoogle[data-ad-status="unfilled"],
.google-auto-placed:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none !important; }

@media (max-width: 760px) {
  .rk-contact-button { width: 46px; padding: 0; border-radius: 999px; }
  .rk-contact-button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .rk-share-tools { align-items: flex-start; }
  .rk-share-links { width: 100%; }
  .rk-share-link { flex: 1 1 calc(50% - .45rem); }
}

/* Version 3.1: one dominant lead story, three relaxed follow-ups and a wider article page. */
.rk-feature-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}
.rk-feature:not(.rk-feature--small) { min-height: clamp(520px, 54vw, 690px); }
.rk-feature-stack {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: none;
  gap: 1rem;
}
.rk-feature--small {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.rk-feature--small .rk-feature__media {
  position: relative;
  inset: auto;
  flex: 0 0 auto;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
}
.rk-feature--small .rk-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.rk-feature--small .rk-feature__body {
  position: relative;
  inset: auto;
  flex: 1 1 auto;
  align-self: stretch;
  padding: 1rem;
}
.rk-feature--small .rk-feature__body h3 { font-size: clamp(1.1rem, 1.8vw, 1.45rem); }
.rk-feature--small .rk-feature__excerpt { font-size: .86rem; }

.single-article { max-width: var(--rk-max); }
.single-article .entry-header,
.single-article .rk-share-tools { width: min(100%, 1080px); margin-inline: auto; }
.single-article .entry-hero { width: 100%; }
.single-article .entry-content { font-size: 1.05rem; }
.single-article .entry-content > * { max-width: 920px; }
.single-article .entry-content > :where(figure, .wp-block-image, .wp-block-gallery, .wp-block-video, .wp-block-embed) { max-width: 1120px; }
.single-article .entry-content :where(p, li, td, th, blockquote) {
  font-size: 1em !important;
  line-height: 1.72;
}

@media (max-width: 1000px) and (min-width: 761px) {
  .rk-feature-stack { grid-template-columns: minmax(0, 1fr); }
  .rk-feature--small { display: grid; grid-template-columns: minmax(250px, 38%) 1fr; }
  .rk-feature--small .rk-feature__media { height: 100%; aspect-ratio: 16 / 10; }
}

@media (max-width: 760px) {
  .rk-feature:not(.rk-feature--small) { min-height: 0; }
  .single-article .entry-content { font-size: 1rem; }
  .single-article .entry-content > * { max-width: 100%; }
}

@media print {
  .rk-contact-control, .rk-share-tools, .rk-breaking-news { display: none !important; }
}

/* Version 3.0.2: guaranteed mobile text below all four featured images. */
@media (max-width: 760px) {
  .rk-feature-grid,
  .rk-feature-stack { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: none !important; }
  .rk-feature,
  .rk-feature--small {
    display: flex !important; flex-direction: column !important; min-height: 0 !important; height: auto !important;
    color: var(--rk-ink) !important; background: var(--rk-surface) !important;
  }
  .rk-feature .rk-feature__media,
  .rk-feature--small .rk-feature__media {
    position: relative !important; inset: auto !important; z-index: 0 !important; flex: 0 0 auto !important;
    display: block !important; width: 100% !important; height: auto !important; min-height: 0 !important;
    aspect-ratio: 16 / 9 !important; overflow: hidden !important;
  }
  .rk-feature .rk-feature__media img,
  .rk-feature--small .rk-feature__media img {
    position: relative !important; display: block !important; width: 100% !important; height: 100% !important;
    aspect-ratio: 16 / 9 !important; object-fit: cover !important;
  }
  .rk-feature .rk-feature__media::after,
  .rk-feature--small .rk-feature__media::after { display: none !important; content: none !important; }
  .rk-feature .rk-feature__placeholder,
  .rk-feature--small .rk-feature__placeholder {
    position: relative !important; inset: auto !important; display: block !important; width: 100% !important;
    height: auto !important; aspect-ratio: 16 / 9 !important;
  }
  .rk-feature .rk-feature__body,
  .rk-feature--small .rk-feature__body {
    position: relative !important; inset: auto !important; z-index: 2 !important; flex: 0 0 auto !important;
    display: block !important; visibility: visible !important; opacity: 1 !important; width: 100% !important;
    padding: 1rem !important; color: var(--rk-ink) !important; background: var(--rk-surface) !important;
  }
  .rk-feature .rk-feature__body a,
  .rk-feature--small .rk-feature__body a { color: var(--rk-ink) !important; }
  .rk-feature .rk-feature__body .category-link,
  .rk-feature--small .rk-feature__body .category-link { color: var(--rk-green-dark) !important; }
  .rk-feature .rk-feature__excerpt,
  .rk-feature--small .rk-feature__excerpt {
    display: block !important; visibility: visible !important; margin: .55rem 0 0 !important;
    color: var(--rk-muted) !important; font-size: .9rem !important;
  }
}

/* Version 3.1.1: calmer proportions, text-width article images and reliable teaser copy. */
:root { --rk-max: 1180px; }

.rk-feature:not(.rk-feature--small) { min-height: clamp(440px, 43vw, 560px); }
.rk-feature:not(.rk-feature--small) .rk-feature__body h2 { font-size: clamp(1.8rem, 3.3vw, 2.65rem); }
.rk-feature--small .rk-feature__media {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
}
.rk-feature--small .rk-feature__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}
.rk-feature--small .rk-feature__body {
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  color: var(--rk-ink) !important;
  background: var(--rk-surface) !important;
}
.rk-feature--small .rk-feature__body a { color: var(--rk-ink) !important; }
.rk-feature--small .rk-feature__body .category-link { color: var(--rk-green-dark) !important; }
.rk-feature--small .rk-feature__excerpt { display: block !important; color: var(--rk-muted) !important; }

html[data-images="hidden"] .rk-feature__media,
html[data-images="hidden"] .rk-grid-card__image,
html[data-images="hidden"] .rk-video-card__image,
html[data-images="hidden"] .news-card__image,
html[data-images="hidden"] .entry-hero,
html[data-images="hidden"] .rk-recommendation__image,
html[data-images="hidden"] .rk-category-lead__image,
html[data-images="hidden"] .entry-content img,
html[data-images="hidden"] .entry-content .wp-block-image,
html[data-images="hidden"] .entry-content .wp-block-gallery,
html[data-images="hidden"] .entry-content .gallery,
html[data-images="hidden"] .entry-content .wp-caption { display: none !important; }

.single-article { max-width: 980px; }
.single-article .entry-header,
.single-article .rk-share-tools,
.single-article .entry-hero,
.single-article .entry-content > * {
  width: min(100%, 860px);
  max-width: 860px;
  margin-inline: auto;
}
.single-article .entry-content > :where(figure, .wp-block-image, .wp-block-gallery, .wp-block-video, .wp-block-embed),
.single-article .entry-content > .alignwide,
.single-article .entry-content > .alignfull {
  width: min(100%, 860px);
  max-width: 860px;
}

html[data-images="hidden"] .rk-feature { min-height: 0; color: var(--rk-ink); background: var(--rk-surface); }
html[data-images="hidden"] .rk-feature .rk-feature__body {
  position: relative; inset: auto; color: var(--rk-ink); background: var(--rk-surface);
}
html[data-images="hidden"] .rk-feature .rk-feature__body a { color: var(--rk-ink); }
html[data-images="hidden"] .rk-feature .rk-feature__body .category-link { color: var(--rk-green-dark); }

@media (max-width: 760px) {
  .rk-feature:not(.rk-feature--small) { min-height: 0; }
  .single-article { max-width: 100%; }
  .single-article .entry-header,
  .single-article .rk-share-tools,
  .single-article .entry-hero,
  .single-article .entry-content > * { width: 100%; max-width: 100%; }
}

/* Version 3.1.2: more compact rhythm, portrait video cards and polished sharing. */
:root { --rk-max: 1120px; }
body { font-size: 1.0625rem; }
.site-main { padding-block: clamp(1.35rem, 3.2vw, 2.8rem); }
.section-title { font-size: clamp(1.5rem, 3vw, 2.1rem); }
.entry-title { font-size: clamp(1.9rem, 5vw, 3.45rem); }
.entry-summary { font-size: 1.08rem; }
.rk-feature:not(.rk-feature--small) { min-height: clamp(410px, 40vw, 520px); }
.rk-feature:not(.rk-feature--small) .rk-feature__body h2 { font-size: clamp(1.7rem, 3vw, 2.45rem); }
.rk-lower-grid { gap: clamp(1.5rem, 3vw, 2.6rem); padding-block: clamp(1.8rem, 4vw, 3.2rem); }

.single-article { max-width: 900px; }
.single-article .entry-header,
.single-article .rk-share-tools,
.single-article .entry-hero,
.single-article .entry-content > *,
.single-article .entry-content > :where(figure, .wp-block-image, .wp-block-gallery, .wp-block-video, .wp-block-embed),
.single-article .entry-content > .alignwide,
.single-article .entry-content > .alignfull {
  width: min(100%, 820px);
  max-width: 820px;
}
.single-article .entry-content { font-size: 1rem; }

/* Optional browser-based reading aid; hidden until speech support is detected. */
.rk-reader {
  width: min(100%, 820px);
  margin: 1.2rem auto;
  padding: .85rem 1rem;
  border: 1px solid var(--rk-border);
  border-radius: 10px;
  background: var(--rk-surface);
}
.rk-reader[hidden] { display: none !important; }
.rk-reader__title { display: block; margin-bottom: .5rem; font-size: .9rem; font-weight: 800; }
.rk-reader__controls { display: flex; flex-wrap: wrap; gap: .5rem; }
.rk-reader button {
  padding: .45rem .8rem;
  border: 1px solid var(--rk-border);
  border-radius: 7px;
  background: var(--rk-surface-soft);
  color: var(--rk-ink);
  font: inherit;
  font-size: .86rem;
  font-weight: 750;
  cursor: pointer;
}
.rk-reader button:hover { border-color: var(--rk-green); }
.rk-reader button:disabled { cursor: not-allowed; opacity: .55; }
.rk-reader__status { min-height: 1.2em; margin: .45rem 0 0; color: var(--rk-muted); font-size: .8rem; }

/* Version 3.1.7: accessible display dashboard and integrated article reader. */
.display-panel {
  border-top: 4px solid var(--rk-green);
  border-bottom: 1px solid var(--rk-border);
  background: var(--rk-surface-soft);
}
.display-panel__inner {
  display: block;
  padding-block: 1.25rem 1.4rem;
}
.display-panel__heading,
.display-panel__heading-copy {
  display: flex;
  align-items: center;
  gap: .9rem;
}
.display-panel__heading { justify-content: space-between; margin-bottom: 1rem; }
.display-panel__heading-icon {
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  color: #fff;
  background: #1d5b38;
}
.display-panel svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.display-panel h2 { margin: 0; font-size: 1.25rem; line-height: 1.2; }
.display-panel__heading p { margin: .2rem 0 0; font-size: .82rem; }
.display-panel__grid {
  display: grid;
  grid-template-columns: minmax(230px, .8fr) minmax(320px, 1.4fr);
  gap: .8rem;
  align-items: stretch;
}
.display-card,
.display-control.display-card,
.display-panel .rk-reader {
  min-width: 0;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--rk-border);
  border-radius: 12px;
  background: var(--rk-surface);
}
.display-card legend {
  padding: 0 .2rem;
  color: var(--rk-ink);
  font-size: .9rem;
  font-weight: 850;
}
.display-card h3,
.display-panel .rk-reader h3 {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 .7rem;
  font-size: .9rem;
  line-height: 1.25;
}
.display-control__font-buttons { display: flex; gap: .45rem; }
.display-control--font button { flex: 1; min-width: 0; font-size: 1rem; }
.display-control--font button:nth-child(2) { font-size: 1.1rem; }
.display-control--font button:nth-child(3) { font-size: 1.2rem; }
.display-control--toggles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
}
.display-control--toggles h3 { grid-column: 1 / -1; }
.display-panel .display-control button,
.display-panel .rk-reader button,
.display-panel .display-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 46px;
  padding: .5rem .65rem;
  border: 1px solid var(--rk-border);
  border-radius: 9px;
  color: var(--rk-ink);
  background: var(--rk-surface-soft);
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
}
.display-panel .display-control button:hover,
.display-panel .rk-reader button:hover:not(:disabled),
.display-panel .display-close:hover { border-color: var(--rk-green); }
.display-panel .display-control button[aria-pressed="true"] {
  border-color: #1d5b38;
  color: #fff;
  background: #1d5b38;
}
.display-panel .rk-reader {
  grid-column: 1 / -1;
  width: 100%;
}
.display-panel .rk-reader[hidden] { display: none !important; }
.display-panel .rk-reader__controls { display: flex; flex-wrap: wrap; gap: .5rem; }
.display-panel .rk-reader button.rk-reader__play { border-color: #1d5b38; color: #fff; background: #1d5b38; }
.display-panel .rk-reader button.rk-reader__play:hover:not(:disabled) { background: #287849; }
.display-panel .rk-reader button:disabled { cursor: not-allowed; opacity: .55; }
.rk-reader__resume-icon { display: none; }
.rk-reader__pause[data-mode="resume"] .rk-reader__pause-icon { display: none; }
.rk-reader__pause[data-mode="resume"] .rk-reader__resume-icon { display: block; }
.display-panel .rk-reader__status { margin: .55rem 0 0; font-size: .82rem; }
.display-panel .rk-reader__status:empty { display: none; }
.display-panel .display-close { flex: 0 0 auto; margin: 0; background: var(--rk-surface); }
.display-panel__note { margin: .85rem 0 0 !important; font-size: .75rem !important; }
html[data-contrast="high"] .display-panel .display-control button[aria-pressed="true"],
html[data-contrast="high"] .display-panel .rk-reader button.rk-reader__play { border-color: #000; color: #fff; background: #000; }

@media (max-width: 860px) {
  .display-panel__grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .display-panel__heading-icon { display: none; }
  .display-panel__heading { align-items: flex-start; }
  .display-panel .display-close { padding-inline: .6rem; }
  .display-panel .display-close span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .display-control--toggles { grid-template-columns: 1fr; }
  .display-control--toggles button { justify-content: flex-start !important; text-align: left !important; }
  .display-panel .rk-reader__controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .display-panel .rk-reader button { min-width: 0; padding-inline: .3rem; }
}
@media (max-width: 390px) {
  .display-panel .rk-reader__controls { grid-template-columns: 1fr; }
}

.rk-videos-heading,
.rk-events-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.rk-videos-heading > a,
.rk-events-heading > a {
  flex: 0 0 auto; margin-bottom: .9rem; font-size: .8rem; font-weight: 850; white-space: nowrap;
}
.rk-video-card { grid-template-columns: minmax(125px, 40%) 1fr; align-items: stretch; }
.rk-video-card__image {
  width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 5; align-self: stretch;
}
.rk-video-card__image img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.rk-video-card h3 { font-size: 1rem; }
.rk-video-card p { font-size: .78rem; line-height: 1.42; }
.rk-video-archive-grid .rk-video-card__image,
.rk-video-archive-grid .rk-video-card__image img { aspect-ratio: 16 / 9; }

.rk-share-tools {
  display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .75rem 1rem;
  margin-bottom: 1.4rem; padding: .9rem; border: 1px solid var(--rk-border); border-radius: 14px;
  background: var(--rk-surface-soft); box-shadow: 0 6px 18px rgba(25,43,28,.06);
}
.rk-share-tools > strong {
  display: inline-flex; align-items: center; gap: .45rem; color: var(--rk-ink);
  font-size: .75rem; letter-spacing: .055em; text-transform: uppercase;
}
.rk-share-tools > strong::before {
  content: "↗"; display: inline-grid; width: 30px; height: 30px; place-items: center;
  border-radius: 50%; color: #fff; background: var(--rk-green-dark); font-size: 1rem;
}
.rk-share-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.rk-share-link {
  display: inline-flex; align-items: center; justify-content: flex-start; gap: .45rem; min-height: 44px;
  padding: .3rem .75rem .3rem .35rem; border: 1px solid var(--rk-border); border-radius: 10px;
  color: var(--rk-ink); background: var(--rk-surface); box-shadow: 0 2px 7px rgba(25,43,28,.05);
  font-size: .75rem; font-weight: 800; line-height: 1; text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.rk-share-link svg {
  width: 30px; height: 30px; padding: 6px; border-radius: 8px; fill: none; stroke: currentColor;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; background: #edf1ee;
}
.rk-share-link svg .rk-share-fill { fill: currentColor; stroke: none; }
.rk-share-link:hover,
.rk-share-link:focus-visible {
  border-color: currentColor; color: var(--rk-green-dark); box-shadow: 0 5px 13px rgba(25,43,28,.11); transform: translateY(-1px); text-decoration: none;
}
.rk-share-link--whatsapp { color: #14733d; }
.rk-share-link--whatsapp svg { background: #e5f5eb; }
.rk-share-link--facebook { color: #2059a5; }
.rk-share-link--facebook svg { background: #e8eff9; }
.rk-share-link--telegram { color: #1677a5; }
.rk-share-link--telegram svg { background: #e5f3f8; }
.rk-share-link--copy svg { background: #f1eee7; }
.rk-share-status { grid-column: 2; min-height: 0; }

@media (max-width: 760px) {
  .rk-videos-heading,
  .rk-events-heading { align-items: center; }
  .rk-videos-heading .section-title,
  .rk-events-heading .section-title { margin-bottom: 1rem; }
  .rk-share-tools { grid-template-columns: 1fr; }
  .rk-share-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .rk-share-link { width: 100%; }
  .rk-share-status { grid-column: 1; }
  .rk-video-card { grid-template-columns: 120px minmax(0, 1fr); }
}

@media (max-width: 430px) {
  .rk-videos-heading,
  .rk-events-heading { display: block; }
  .rk-videos-heading > a,
  .rk-events-heading > a { display: inline-block; margin: -.35rem 0 1rem; }
  .rk-video-card { grid-template-columns: 105px minmax(0, 1fr); gap: .8rem; }
  .rk-video-card p { display: none; }
  .rk-share-links { grid-template-columns: 1fr; }
}

/* Version 3.1.3: external-link behavior and accessible article lightbox. */
.rk-lightbox-source { cursor: zoom-in; }
.rk-lightbox {
  position: fixed; z-index: 100000; inset: 0; display: flex; align-items: center; justify-content: center;
  width: 100%; width: 100vw; height: 100%; height: 100vh; height: 100dvh;
  max-width: 100vw; overflow: hidden; padding: 3.5rem .75rem 2.5rem;
  color: #fff; background: rgba(5, 10, 7, .94); backdrop-filter: blur(5px);
}
.rk-lightbox[hidden] { display: none !important; }
.rk-lightbox__figure {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  flex: 0 1 auto; min-width: 0; min-height: 0;
  width: 100%; max-width: calc(100vw - 1.5rem); max-height: 100%; margin: 0;
}
.rk-lightbox__figure img {
  display: block; flex: 0 1 auto; width: auto; height: auto; min-width: 0;
  max-width: 100%; max-height: calc(100vh - 8rem); max-height: calc(100dvh - 8rem);
  object-fit: contain; border-radius: 8px; box-shadow: 0 18px 55px rgba(0,0,0,.42);
}
.rk-lightbox__figure figcaption {
  flex: 0 0 auto; width: 100%; max-width: 75ch; max-height: 3.2rem; margin-top: .7rem; overflow: auto;
  color: #fff; font-size: .85rem; line-height: 1.4; text-align: center;
}
.rk-lightbox button {
  display: grid; width: 48px; height: 48px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.42);
  border-radius: 50%; color: #fff; background: rgba(18,32,22,.82); font-size: 2rem; line-height: 1;
}
.rk-lightbox button:hover { border-color: #fff; background: #28591c; }
.rk-lightbox__close { position: absolute; z-index: 2; top: 1rem; right: 1rem; font-size: 1.7rem !important; }
.rk-lightbox__prev,
.rk-lightbox__next { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); }
.rk-lightbox__prev { left: 1rem; }
.rk-lightbox__next { right: 1rem; }
.rk-lightbox__counter {
  position: absolute; left: 1rem; bottom: 1rem; margin: 0; padding: .3rem .6rem;
  border-radius: 999px; color: #fff; background: rgba(0,0,0,.55); font-size: .78rem; font-weight: 800;
}

@media (max-width: 700px) {
  .rk-lightbox { padding: 3.25rem .5rem 2.5rem; }
  .rk-lightbox__figure { max-width: calc(100vw - 1rem); }
  .rk-lightbox__figure img { max-height: calc(100vh - 8rem); max-height: calc(100dvh - 8rem); }
  .rk-lightbox button { width: 42px; height: 42px; }
  .rk-lightbox__close { top: .65rem; right: .65rem; }
  .rk-lightbox__prev { left: .5rem; }
  .rk-lightbox__next { right: .5rem; }
}
