/* =========================================================================
 * Kompatibilität: Inhalte der Unterseiten aus dem bisherigen Theme.
 *
 * Die Seiteninhalte in WordPress verwenden Klassen des alten Themes
 * (.rz-card, .rz-notice, .rz-featurebox, .rz-btn-a, .rz-shots, …).
 * Diese Datei stellt sie 1:1 bereit und bildet die alten Farbvariablen
 * auf die Design-Token dieses Themes ab. Dadurch sehen alle bestehenden
 * Unterseiten sofort richtig aus, ohne dass Inhalte angefasst werden.
 * ========================================================================= */
:root{
  --rz-red: var(--lz-red);
  --rz-red-dark: #c40000;
  --rz-red-ink: var(--lz-red-ink);
  --rz-black: #000;
  --rz-grey: #c6c6c6;
  --rz-grey-light: var(--lz-paper-2);
  --rz-text: var(--lz-text);
  --rz-container: var(--lz-wide);
}

.rz-eyebrow {
  color: var(--rz-red);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0 0 .75rem;
}
.rz-eyebrow-light { color: var(--rz-red); }
.rz-btn-a,
.wp-block-button__link {
  display: inline-block;
  background: var(--rz-red);
  color: #fff !important;
  font-weight: 600;
  padding: .85rem 1.75rem;
  border-radius: 4px;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  transition: background .2s, transform .2s;
}
.rz-btn-a:hover, .wp-block-button__link:hover { background: var(--rz-red-dark); transform: translateY(-2px); }
.rz-btn-a-outline,
.rz-btn-outline .wp-block-button__link {
  background: transparent;
  border: 2px solid #fff;
}
.rz-btn-a-outline:hover { background: #fff; color: var(--rz-black) !important; }
.rz-cards { display: grid; gap: 1.5rem; margin: 2rem 0 3rem; }
@media (max-width: 600px) {
.rz-cards { grid-template-columns: 1fr !important; }
}
.rz-card {
  display: block;
  background: #fff;
  border: 1px solid var(--rz-grey);
  border-top: 4px solid var(--rz-red);
  border-radius: 6px;
  padding: 1.75rem 1.5rem;
  color: var(--rz-text);
  text-decoration: none !important;
  transition: box-shadow .2s, transform .2s;
}
.rz-card h3 { font-size: 1.15rem; margin: 0 0 .5rem; }
.rz-card p { font-size: .95rem; color: #444; margin: 0 0 .75rem; }
.rz-card-more { color: var(--rz-red); font-weight: 600; font-size: .9rem; }
.rz-stat-num { display: block; color: var(--rz-red); font-size: 2.8rem; font-weight: 700; line-height: 1; }
.rz-stat-label { display: block; margin-top: .5rem; font-size: .9rem; color: #555; }
.rz-notice {
  border-left: 5px solid var(--rz-red);
  background: var(--rz-grey-light);
  padding: 1rem 1.25rem;
  border-radius: 0 6px 6px 0;
  margin: 1.5rem 0;
}
.rz-editor-note {
  border: 2px dashed var(--rz-grey);
  background: #fffbe6;
  padding: 1rem 1.25rem;
  border-radius: 6px;
  margin: 1.5rem 0;
  font-size: .9rem;
  color: #665500;
}
.rz-emergency {
  background: var(--rz-red);
  color: #fff;
  text-align: center;
  padding: 3rem 1.5rem;
  border-radius: 10px;
  margin: 0 0 2.5rem;
}
.rz-emergency-num {
  display: inline-block;
  color: #fff !important;
  font-size: clamp(4rem, 12vw, 7rem);
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  letter-spacing: 4px;
}
.rz-emergency p { color: #ffdddd; margin: 1rem 0 0; font-size: 1.1rem; }
.rz-faq { border: 1px solid var(--rz-grey); border-radius: 6px; margin-bottom: .75rem; padding: 0; }
.rz-faq summary { cursor: pointer; font-weight: 600; padding: 1rem 1.25rem; list-style: none; }
.rz-faq summary::-webkit-details-marker { display: none; }
.rz-faq summary::before { content: "+ "; color: var(--rz-red); font-weight: 700; }
.rz-faq[open] summary::before { content: "– "; }
.rz-faq[open] summary { border-bottom: 1px solid var(--rz-grey); }
.rz-faq p { padding: .75rem 1.25rem 1rem; margin: 0; }
.rz-latest { padding-left: 0; }
.rz-latest li {
  border: 1px solid var(--rz-grey);
  border-left: 4px solid var(--rz-red);
  border-radius: 6px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
  list-style: none;
}
.rz-latest a { color: var(--rz-black); font-weight: 600; font-size: 1.1rem; }
.rz-latest a:hover { color: var(--rz-red); text-decoration: none; }
.rz-latest .wp-block-latest-posts__post-date { color: #777; font-size: .85rem; display: block; margin: .25rem 0 .5rem; }
.rz-card-bg {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 300px;
  padding: 1.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  overflow: hidden;
  background-size: cover;
  background-position: center left;
  color: #fff;
  text-decoration: none;
  transition: transform .25s, box-shadow .25s;
}
.rz-card-bg::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.72) 100%);
  transition: background .25s;
}
.rz-card-bg > * { position: relative; z-index: 1; }
.rz-card-bg h3 { color: #fff; font-size: 1.25rem; margin: 0 0 .4rem; }
.rz-card-bg p { color: rgba(255,255,255,.85); font-size: .95rem; margin: 0 0 .75rem; }
.rz-card-bg .rz-card-more { color: #fff; font-weight: 600; font-size: .9rem; }
.rz-card-bg .rz-card-more::after { content: ""; }
.rz-center { text-align: center; }
.rz-center .rz-eyebrow { margin-left: auto; margin-right: auto; }
.rz-center .wp-block-buttons,
.wp-block-buttons.is-content-justification-center { justify-content: center; }
.rz-center h2 { margin-left: auto; margin-right: auto; }
.rz-center p { margin-left: auto; margin-right: auto; max-width: 760px; }
.rz-card .rz-card-tag {
  display: inline-block;
  background: var(--rz-grey-light);
  border: 1px solid var(--rz-grey);
  border-radius: 999px;
  color: #555;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: .2rem .7rem;
  margin-bottom: .75rem;
}
.rz-card ul { margin: 0 0 .75rem; padding-left: 1.1rem; }
.rz-card ul li { font-size: .92rem; color: #444; margin-bottom: .25rem; }
.rz-cards-equal .rz-card { display: flex; flex-direction: column; }
.rz-cards-equal .rz-card .rz-card-more { margin-top: auto; }
.rz-card-bg {
  background-color: #0a0a0a;
  background-image: linear-gradient(135deg, #0a0a0a 0%, #6e0000 100%); /* Fallback */
}
.rz-bg-notfallrettung { background-image: url(assets/img/cards/motiv-notfallrettung.jpg); }
.rz-bg-leitstelle { background-image: url(assets/img/cards/motiv-leitstelle.jpg); }
.rz-bg-ersthelfer { background-image: url(assets/img/cards/motiv-ersthelfer.jpg); }
.rz-bg-hochwasser { background-image: url(assets/img/cards/motiv-hochwasser.jpg); }
.rz-bg-veranstaltungen { background-image: url(assets/img/cards/motiv-veranstaltungen.jpg); }
.rz-bg-brandmeldeanlagen { background-image: url(assets/img/cards/motiv-brandmeldeanlagen.jpg); }
.rz-card-bg::before {
  background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,.82) 100%);
}
.entry-content, .rz-card, .rz-hero-sub, .rz-ph-sub { overflow-wrap: break-word; word-break: break-word; }
.rz-stat-num { font-size: clamp(2rem, 6vw, 2.8rem); }
.rz-emergency-num { font-size: clamp(3.2rem, 16vw, 7rem); }
@media (max-width: 768px) {
.rz-cards, .rz-cols-2, .rz-cols-3, .rz-cols-4 { grid-template-columns: 1fr; }
.rz-card-bg { min-height: 260px; }
.rz-emergency { padding: 2.25rem 1.25rem; }
}
@media (max-width: 380px) {
.rz-emergency-num { letter-spacing: 2px; }
}
.rz-center-eyebrow { color: var(--rz-red); font-size: .85rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin: 0 0 .75rem; }
.rz-center-h2 { color: var(--rz-black); font-size: clamp(1.6rem, 3.5vw, 2.2rem); margin: 0 auto .75rem; }
.rz-center-lead, .rz-center-text { color: #555; max-width: 760px; margin: 0 auto 1rem; }
.rz-center-btn { margin: 1.5rem 0 0; }
.rz-center-btn { display: flex; justify-content: center; margin: 1.5rem 0 0; }
.rz-center-btn .rz-btn-a { display: inline-block; }
.rz-appsec { padding: 2.75rem 0; border-top: 1px solid var(--rz-grey); }
.rz-appsec:first-child { border-top: 0; padding-top: .5rem; }
.rz-appsec > h2 { margin: .15rem 0 1.1rem; }
.rz-app-intro { border-left: 5px solid var(--rz-red); background: var(--rz-grey-light); border-radius: 0 8px 8px 0; padding: 1.1rem 1.4rem; margin: 0 0 1.5rem; }
.rz-app-intro p { margin: 0; }
.rz-app-lead { font-size: 1.1rem; }
.rz-app-figure img { border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.rz-app-figure figcaption { font-size: .8rem; color: #777; word-break: break-word; }
.rz-shots.wp-block-gallery { display: flex !important; flex-wrap: nowrap !important; gap: 1rem; overflow-x: auto; padding-bottom: .75rem; }
.rz-shots .wp-block-image { width: auto !important; max-width: none !important; margin: 0 !important; flex: 0 0 auto; }
.rz-shots .wp-block-image img { height: 360px !important; width: auto !important; max-width: none !important; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.14); object-fit: contain; background: #fff; }
@media (max-width: 600px) {
.rz-shots .wp-block-image img { height: 300px !important; }
}
.rz-shots-note { font-size: .82rem; color: #777; margin: .15rem 0 1rem; }
.rz-reasons { list-style: none; counter-reset: rzr; padding: 0; margin: 1.5rem 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.rz-reasons li { counter-increment: rzr; background: var(--rz-grey-light); border-top: 3px solid var(--rz-red); border-radius: 8px; padding: 1.25rem; margin: 0; }
.rz-reasons li::before { content: counter(rzr); display: inline-flex; align-items: center; justify-content: center; width: 1.9rem; height: 1.9rem; background: var(--rz-red); color: #fff; border-radius: 50%; font-weight: 700; margin-bottom: .7rem; }
@media (max-width: 820px) {
.rz-reasons { grid-template-columns: 1fr; }
}
.rz-featurebox { background: var(--rz-grey-light); border-left: 5px solid var(--rz-red); border-radius: 0 8px 8px 0; padding: 1.25rem 1.5rem; margin: 1.4rem 0; }
.rz-featurebox > p:first-child { margin-top: 0; }
.wp-block-button.rz-badge-btn .wp-block-button__link { background: var(--rz-black); color: #fff !important; }
.wp-block-button.rz-badge-btn .wp-block-button__link:hover { background: #1c1c1c; }
.rz-app-grid { display: grid; grid-template-columns: minmax(0, 340px) 1fr; gap: 2rem; align-items: start; margin: 0 0 1rem; }
.rz-app-grid .rz-app-figure { margin: 0; }
.rz-app-grid .rz-app-figure img { display: block; width: 100%; height: auto; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); background: #fff; }
.rz-app-grid .rz-app-text { min-width: 0; }
@media (max-width: 820px) {
.rz-app-grid { grid-template-columns: 1fr; gap: 1.25rem; }
}
.rz-shots-plain { display: flex; flex-wrap: nowrap; gap: 1rem; overflow-x: auto; padding-bottom: .75rem; margin: 0 0 .25rem; -webkit-overflow-scrolling: touch; }
.rz-shots-plain img { flex: 0 0 auto; height: 360px; width: auto; max-width: none; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.14); object-fit: contain; background: #fff; }
@media (max-width: 600px) {
.rz-shots-plain img { height: 300px; }
}
.rz-app-badges { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.25rem 0 .25rem; }
.rz-app-btn, .rz-app-badge { display: inline-flex; align-items: center; justify-content: center; padding: .7rem 1.4rem; border-radius: 8px; font-weight: 600; text-decoration: none; line-height: 1.2; transition: background .15s ease; }
.rz-app-btn { background: var(--rz-red); color: #fff; }
.rz-app-btn:hover, .rz-app-btn:focus { background: var(--rz-red-dark); color: #fff; }
.rz-app-badge { background: var(--rz-black); color: #fff; }
.rz-app-badge:hover, .rz-app-badge:focus { background: #1c1c1c; color: #fff; }
.entry-content a:not(.rz-btn-a):not(.wp-block-button__link):not(.rz-card):not(.rz-card-bg),
.rz-content a:not(.rz-btn-a):not(.wp-block-button__link):not(.rz-card):not(.rz-card-bg),
.rz-notice a, .rz-featurebox a, .rz-app-intro a {
  color: var(--rz-red-ink);
  text-underline-offset: 2px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.rz-card:focus-visible,
.rz-card-bg:focus-visible,
.rz-motiv-card:focus-visible,
.wp-block-button__link:focus-visible {
  outline: 3px solid var(--rz-red);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px rgba(255,255,255,.85);
  border-radius: 4px;
}
.rz-faq summary:focus-visible { outline-offset: -3px; }
@media print {
.rz-topbar, .site-header, .site-footer, .rz-burger,
  .main-navigation, .rz-header-cta, .rz-banner, .rz-alertbar,
  .rz-contact-band, .skip-link, .rz-breadcrumbs, .boxzilla,
  .rz-shots, .rz-shots-plain { display: none !important; }
.rz-card, .rz-notice, .rz-featurebox, .rz-faq, blockquote,
  .rzdok-card, .rz-reasons li { border: 1px solid #bbb !important; box-shadow: none !important; break-inside: avoid; }
.rz-emergency { border: 2px solid #000; color: #000 !important; background: #fff !important; }
.rz-emergency-num { color: #000 !important; }
}


/* ===========================================================================
   Vollständige Übernahme der Seiten-Bausteine aus dem RettZV-Theme
   ---------------------------------------------------------------------------
   Die Inhaltsseiten wurden im alten Theme mit festen Klassen aufgebaut
   (.rz-cards mit .rz-cols-2/3/4, .rz-card, .rz-notice, .rz-featurebox, …).
   Bei der ersten Portierung fehlten unter anderem die Spaltenregeln – dadurch
   stand jedes Kartenraster einspaltig untereinander. Hier sind alle
   inhaltsbezogenen Regeln des alten Themes 1:1 übernommen; die Bereiche, die
   das Lagezentrum-Theme selbst stellt (Kopfzeile, Bühne, Kacheln, Ticker,
   Über uns, Meldungen, Fußzeile), sind bewusst ausgenommen.
   =========================================================================== */
/* ============================================================
   4. Eyebrow, Buttons, Sektionen (Ruhrmedic-Sektionslogik)
   ============================================================ */
.rz-eyebrow { color: var(--rz-red);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0 0 .75rem; }
.rz-eyebrow-light { color: var(--rz-red); }
.rz-btn-a,
.wp-block-button__link { display: inline-block;
  background: var(--rz-red);
  color: #fff !important;
  font-weight: 600;
  padding: .85rem 1.75rem;
  border-radius: 4px;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  transition: background .2s, transform .2s; }
.rz-btn-a:hover, .wp-block-button__link:hover { background: var(--rz-red-dark); transform: translateY(-2px); }
.rz-btn-a-outline,
.rz-btn-outline .wp-block-button__link { background: transparent;
  border: 2px solid #fff; }
.rz-btn-a-outline:hover { background: #fff; color: var(--rz-black) !important; }
/* ============================================================
   6. Karten, Statistiken, Kontakt-Band
   ============================================================ */
.rz-cards { display: grid; gap: 1.5rem; margin: 2rem 0 3rem; }
.rz-cols-2 { grid-template-columns: repeat(2, 1fr); }
.rz-cols-3 { grid-template-columns: repeat(3, 1fr); }
.rz-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px){
.rz-cols-3, .rz-cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px){
.rz-cards { grid-template-columns: 1fr !important; }
}
.rz-card { display: block;
  background: #fff;
  border: 1px solid var(--rz-grey);
  border-top: 4px solid var(--rz-red);
  border-radius: 6px;
  padding: 1.75rem 1.5rem;
  color: var(--rz-text);
  text-decoration: none !important;
  transition: box-shadow .2s, transform .2s; }
a.rz-card:hover { box-shadow: 0 12px 28px rgba(0,0,0,.12); transform: translateY(-4px); color: var(--rz-text); }
.rz-card h3 { font-size: 1.15rem; margin: 0 0 .5rem; }
.rz-card p { font-size: .95rem; color: #444; margin: 0 0 .75rem; }
.rz-card-more { color: var(--rz-red); font-weight: 600; font-size: .9rem; }
.rz-contact-band { background: var(--rz-black);
  color: #fff;
  margin-top: 3rem;
  padding: 4rem 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem; }
@media (max-width: 800px){
.rz-contact-band { grid-template-columns: 1fr; }
}
.rz-contact-band h2 { color: #fff; margin-top: 0; }
.rz-contact-band a { color: var(--rz-red); }
.rz-contact-band a.rz-btn-a { color: #fff; }
/* ============================================================
   7. Seitenkopf, Hinweise, Notfall, FAQ, Beitragslisten
   ============================================================ */
.rz-page-header { border-bottom: 4px solid var(--rz-red);
  padding: 2.5rem 0 1.75rem;
  margin-bottom: 2.5rem; }
.rz-page-header h1 { margin: 0 0 .75rem; }
.rz-ph-sub { font-size: 1.1rem; color: #555; max-width: 760px; margin: 0; }
.rz-notice { border-left: 5px solid var(--rz-red);
  background: var(--rz-grey-light);
  padding: 1rem 1.25rem;
  border-radius: 0 6px 6px 0;
  margin: 1.5rem 0; }
.rz-editor-note { border: 2px dashed var(--rz-grey);
  background: #fffbe6;
  padding: 1rem 1.25rem;
  border-radius: 6px;
  margin: 1.5rem 0;
  font-size: .9rem;
  color: #665500; }
.rz-emergency { background: var(--rz-red);
  color: #fff;
  text-align: center;
  padding: 3rem 1.5rem;
  border-radius: 10px;
  margin: 0 0 2.5rem; }
.rz-emergency-num { display: inline-block;
  color: #fff !important;
  font-size: clamp(4rem, 12vw, 7rem);
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  letter-spacing: 4px; }
.rz-emergency p { color: #ffdddd; margin: 1rem 0 0; font-size: 1.1rem; }
.rz-faq { border: 1px solid var(--rz-grey); border-radius: 6px; margin-bottom: .75rem; padding: 0; }
.rz-faq summary { cursor: pointer; font-weight: 600; padding: 1rem 1.25rem; list-style: none; }
.rz-faq summary::-webkit-details-marker { display: none; }
.rz-faq summary::before { content: "+ "; color: var(--rz-red); font-weight: 700; }
.rz-faq[open] summary::before { content: "– "; }
.rz-faq[open] summary { border-bottom: 1px solid var(--rz-grey); }
.rz-faq p { padding: .75rem 1.25rem 1rem; margin: 0; }
/* Aufgaben-Kacheln mit emotionalem Hintergrundbild */
.rz-card-bg { position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 300px;
  padding: 1.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  overflow: hidden;
  background-size: cover;
  background-position: center left;
  color: #fff;
  text-decoration: none;
  transition: transform .25s, box-shadow .25s; }
.rz-card-bg::before { content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.72) 100%);
  transition: background .25s; }
.rz-card-bg > * { position: relative; z-index: 1; }
.rz-card-bg h3 { color: #fff; font-size: 1.25rem; margin: 0 0 .4rem; }
.rz-card-bg p { color: rgba(255,255,255,.85); font-size: .95rem; margin: 0 0 .75rem; }
.rz-card-bg .rz-card-more { color: #fff; font-weight: 600; font-size: .9rem; }
.rz-card-bg .rz-card-more::after { content: ""; }
a.rz-card-bg:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(0,0,0,.35); color: #fff; }
a.rz-card-bg:hover::before { background: linear-gradient(180deg, rgba(254,0,0,.15) 0%, rgba(0,0,0,.8) 100%); }
a.rz-card-bg:hover .rz-card-more { color: var(--rz-red); }
/* Einheitliche Partner-Karten */
.rz-card .rz-card-tag { display: inline-block;
  background: var(--rz-grey-light);
  border: 1px solid var(--rz-grey);
  border-radius: 999px;
  color: #555;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: .2rem .7rem;
  margin-bottom: .75rem; }
.rz-card ul { margin: 0 0 .75rem; padding-left: 1.1rem; }
.rz-card ul li { font-size: .92rem; color: #444; margin-bottom: .25rem; }
.rz-cards-equal .rz-card { display: flex; flex-direction: column; }
.rz-cards-equal .rz-card .rz-card-more { margin-top: auto; }
/* ---------- Aufgaben-Kacheln: Hintergründe relativ zum Stylesheet ----------
   (funktioniert unabhängig vom Installationspfad – kein FTP, keine Uploads) */
.rz-card-bg { background-color: #0a0a0a;
  background-image: linear-gradient(135deg, #0a0a0a 0%, #6e0000 100%); /* Fallback */ }
.rz-bg-notfallrettung { background-image: url(assets/img/cards/motiv-notfallrettung.jpg); }
.rz-bg-leitstelle { background-image: url(assets/img/cards/motiv-leitstelle.jpg); }
.rz-bg-ersthelfer { background-image: url(assets/img/cards/motiv-ersthelfer.jpg); }
.rz-bg-hochwasser { background-image: url(assets/img/cards/motiv-hochwasser.jpg); }
.rz-bg-veranstaltungen { background-image: url(assets/img/cards/motiv-veranstaltungen.jpg); }
.rz-bg-brandmeldeanlagen { background-image: url(assets/img/cards/motiv-brandmeldeanlagen.jpg); }
/* Keine weiße Lücke mehr zwischen Kontakt-Band und Footer (Startseite) */
.home .rz-content, .page-id-101 .rz-content { padding-bottom: 0; }
.rz-contact-band { margin-bottom: 0; }
/* Foto-Kacheln: etwas kräftigeres Overlay für Textlesbarkeit auf Fotos */
.rz-card-bg::before { background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,.82) 100%); }
a.rz-card-bg:hover::before { background: linear-gradient(180deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.86) 100%); }
.rz-page-header h1 { font-size: clamp(1.7rem, 5.5vw, 3rem); }
.rz-emergency-num { font-size: clamp(3.2rem, 16vw, 7rem); }
@media (max-width: 1024px){
.rz-contact-band { padding: 3rem 1.25rem; }
}
@media (max-width: 768px){
/* Kachelraster einheitlich auf 1 Spalte (statt Mix aus 600/900) */
  .rz-cards, .rz-cols-2, .rz-cols-3, .rz-cols-4 { grid-template-columns: 1fr; }
/* Foto-Kacheln bekommen feste, angenehme Höhe */
  .rz-card-bg { min-height: 260px; }
/* Kontakt-Band & Footer einspaltig */
  .rz-contact-band { grid-template-columns: 1fr; text-align: left; }
/* Notruf-Kachel & Emergency-Block mobil */
  .rz-emergency { padding: 2.25rem 1.25rem; }
}
@media (max-width: 560px){
.rz-page-header { padding: 1.75rem 0 1.25rem; margin-bottom: 1.75rem; }
}
@media (max-width: 380px){
.rz-emergency-num { letter-spacing: 2px; }
}
/* Kontakt-Band: Inhalte vertikal zentrieren, unten etwas knapper */
.rz-contact-band { align-items: center; padding-top: 3.5rem; padding-bottom: 3.5rem; }
/* Obere Zeile: Adresse links, Kontakt/CTA rechts – an die Ränder gezogen */
.rz-contact-band { grid-template-columns: auto auto;
  justify-content: space-between;
  gap: 2rem 4rem; }
@media (max-width: 800px){
.rz-contact-band { grid-template-columns: 1fr; justify-content: stretch; }
}
/* ============================================================
   v2.7.0 – Breadcrumbs + Sitemap-Link im Footer
   ============================================================ */
.rz-breadcrumbs { font-size: .85rem; color: #666; margin: 1.25rem 0 .25rem; line-height: 1.5; }
.rz-breadcrumbs a { color: #666; }
.rz-breadcrumbs a:hover { color: var(--rz-red); text-decoration: underline; }
/* ============================================================
   v2.8.0 – App-Empfehlungen (NINA, Meine Pegel, rescuetrack …)
   Damit die Seiteninhalte OHNE <style>-Block auskommen (Server-
   Firewall blockt sonst das Speichern). Klassen an Standardblöcke.
   ============================================================ */
.rz-appsec { padding: 2.75rem 0; border-top: 1px solid var(--rz-grey); }
.rz-appsec:first-child { border-top: 0; padding-top: .5rem; }
.rz-appsec > h2 { margin: .15rem 0 1.1rem; }
.rz-app-intro { border-left: 5px solid var(--rz-red); background: var(--rz-grey-light); border-radius: 0 8px 8px 0; padding: 1.1rem 1.4rem; margin: 0 0 1.5rem; }
.rz-app-intro p { margin: 0; }
.rz-app-lead { font-size: 1.1rem; }
.rz-app-figure img { border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.rz-app-figure figcaption { font-size: .8rem; color: #777; word-break: break-word; }
/* Screenshot-Reihe (überschreibt das Galerie-Raster von Gutenberg) */
.rz-shots.wp-block-gallery { display: flex !important; flex-wrap: nowrap !important; gap: 1rem; overflow-x: auto; padding-bottom: .75rem; }
.rz-shots .wp-block-image { width: auto !important; max-width: none !important; margin: 0 !important; flex: 0 0 auto; }
.rz-shots .wp-block-image img { height: 360px !important; width: auto !important; max-width: none !important; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.14); object-fit: contain; background: #fff; }
@media (max-width: 600px){
.rz-shots .wp-block-image img { height: 300px !important; }
}
.rz-shots-note { font-size: .82rem; color: #777; margin: .15rem 0 1rem; }
/* „Drei Gründe" als nummerierte Karten */
.rz-reasons { list-style: none; counter-reset: rzr; padding: 0; margin: 1.5rem 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.rz-reasons li { counter-increment: rzr; background: var(--rz-grey-light); border-top: 3px solid var(--rz-red); border-radius: 8px; padding: 1.25rem; margin: 0; }
.rz-reasons li::before { content: counter(rzr); display: inline-flex; align-items: center; justify-content: center; width: 1.9rem; height: 1.9rem; background: var(--rz-red); color: #fff; border-radius: 50%; font-weight: 700; margin-bottom: .7rem; }
@media (max-width: 820px){
.rz-reasons { grid-template-columns: 1fr; }
}
/* Funktions-Box (grau mit rotem Rand) */
.rz-featurebox { background: var(--rz-grey-light); border-left: 5px solid var(--rz-red); border-radius: 0 8px 8px 0; padding: 1.25rem 1.5rem; margin: 1.4rem 0; }
.rz-featurebox > p:first-child { margin-top: 0; }
/* Schwarze Store-Buttons (per Button-Klasse „rz-badge-btn") */
.wp-block-button.rz-badge-btn .wp-block-button__link { background: var(--rz-black); color: #fff !important; }
.wp-block-button.rz-badge-btn .wp-block-button__link:hover { background: #1c1c1c; }
/* ============================================================
   Kurzbefehl [rz_warn_apps] – serverseitig gerenderter App-Block
   (kein Editor-Inhalt, umgeht damit die Server-Firewall).
   Eigene Klassen, unabhängig von Gutenberg-Blöcken.
   ============================================================ */
/* Einzelbild-Layout: Bild links, Text rechts */
.rz-app-grid { display: grid; grid-template-columns: minmax(0, 340px) 1fr; gap: 2rem; align-items: start; margin: 0 0 1rem; }
.rz-app-grid .rz-app-figure { margin: 0; }
.rz-app-grid .rz-app-figure img { display: block; width: 100%; height: auto; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); background: #fff; }
.rz-app-grid .rz-app-text { min-width: 0; }
@media (max-width: 820px){
.rz-app-grid { grid-template-columns: 1fr; gap: 1.25rem; }
}
/* Screenshot-Reihe (einfache <img>, ohne Gutenberg-Galerie) */
.rz-shots-plain { display: flex; flex-wrap: nowrap; gap: 1rem; overflow-x: auto; padding-bottom: .75rem; margin: 0 0 .25rem; -webkit-overflow-scrolling: touch; }
.rz-shots-plain img { flex: 0 0 auto; height: 360px; width: auto; max-width: none; border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.14); object-fit: contain; background: #fff; }
@media (max-width: 600px){
.rz-shots-plain img { height: 300px; }
}
/* Button-Reihe des Kurzbefehls */
.rz-app-badges { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.25rem 0 .25rem; }
.rz-app-btn, .rz-app-badge { display: inline-flex; align-items: center; justify-content: center; padding: .7rem 1.4rem; border-radius: 8px; font-weight: 600; text-decoration: none; line-height: 1.2; transition: background .15s ease; }
.rz-app-btn { background: var(--rz-red); color: #fff; }
.rz-app-btn:hover, .rz-app-btn:focus { background: var(--rz-red-dark); color: #fff; }
.rz-app-badge { background: var(--rz-black); color: #fff; }
.rz-app-badge:hover, .rz-app-badge:focus { background: #1c1c1c; color: #fff; }
/* Videos & Videoplayer – responsiv und mit CI-Rahmung */
.videoplayer, .wp-block-video, .rz-content video, .rz-content iframe { max-width: 100%;
  border-radius: 12px;
  overflow: hidden; }
.rz-content video, .videoplayer video { width: 100%; height: auto; display: block; box-shadow: 0 8px 24px rgba(0,0,0,.14); border-radius: 12px; }
/* generische responsive Einbettung (YouTube/Vimeo-iframes ohne festen Wrapper) */
.rz-content iframe[src*="youtube"], .rz-content iframe[src*="vimeo"] { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.entry-content a:not(.rz-btn-a):not(.wp-block-button__link):not(.rz-card):not(.rz-card-bg),
.rz-content a:not(.rz-btn-a):not(.wp-block-button__link):not(.rz-card):not(.rz-card-bg),
.rz-notice a, .rz-featurebox a, .rz-app-intro a { color: var(--rz-red-ink);
  text-underline-offset: 2px; }
.entry-content a:hover, .rz-content a:hover { color: var(--rz-red-dark); }
/* Details/Summary (FAQ) auch per Tastatur klar bedienbar */
.rz-faq summary:focus-visible { outline-offset: -3px; }
@media print{
/* URL von Inhalts-Links sichtbar machen */
  .entry-content a[href^="http"]::after,
  .rz-content a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .85em; color: #444; word-break: break-all; }
.rz-card, .rz-notice, .rz-featurebox, .rz-faq, blockquote,
  .rzdok-card, .rz-reasons li { border: 1px solid #bbb !important; box-shadow: none !important; break-inside: avoid; }
.rz-emergency { border: 2px solid #000; color: #000 !important; background: #fff !important; }
.rz-emergency-num { color: #000 !important; }
}

/* Farbvariablen des alten Themes, damit die übernommenen Regeln greifen. */
:root {
  --rz-red: var(--lz-red, #fe0000);
  --rz-red-dark: #c40000;
  --rz-red-ink: var(--lz-red-ink, #d10000);
  --rz-black: #000;
  --rz-grey: #c6c6c6;
  --rz-grey-light: var(--lz-paper-2, #f1f4f8);
  --rz-text: var(--lz-text, #10151c);
  --rz-container: var(--lz-wide, 1240px);
}

/* Feinschliff im neuen Umfeld: Karten bekommen die ruhigere Kante des
   Lagezentrum-Themes, behalten aber ihre rote Kopflinie. */
.lz-prose .rz-cards { margin: 1.8rem 0 2.4rem; }
.lz-prose .rz-card { border-color: var(--lz-hair); border-radius: var(--lz-radius); }
.lz-prose .rz-card:hover { border-color: rgba(254,0,0,.35); }
.lz-prose .rz-notice, .lz-prose .rz-featurebox { border-radius: var(--lz-radius); }
/* Raster dürfen die volle Spaltenbreite nutzen (die Lesebreite gilt nur für Text). */
.lz-prose > .rz-cards, .lz-prose > .rz-shots, .lz-prose > .rz-reasons,
.lz-prose > .rzdok, .lz-prose > .rzdok-grid, .lz-prose > .wp-block-columns { max-width: none; }
