/*
Theme Name: RHS-LH Original
Theme URI: https://rhs-lh.de/
Author: BRH-Rettungshundestaffel Lüneburger Heide e.V.
Description: Originalgetreue WordPress-Übernahme der bisherigen Webflow-Seite.
Version: 1.6.0
Text Domain: rhs-lh-original
*/

html { margin-top: 0 !important; }
body.admin-bar { padding-top: 32px; }
.rhs-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.rhs-form-visible { display: block !important; }
.rhs-slider-ready .w-slider-mask { position: relative; overflow: hidden; }
.rhs-slider-ready .w-slide { position: absolute; inset: 0; width: 100%; display: block; transition: transform 500ms ease; }
.rhs-slider-ready .w-slide:first-child { position: relative; }
.rhs-slider-ready .w-slider-dot { appearance: none; border: 0; padding: 0; cursor: pointer; }
.rhs-slider-ready .w-slider-dot:focus-visible,
.w-nav-button:focus-visible { outline: 3px solid #000; outline-offset: 3px; }

.rhs-news-nav {
  color: #e53935 !important;
  font-weight: 700;
  animation: rhs-news-blink 1.2s ease-in-out infinite;
}
@keyframes rhs-news-blink {
  0%, 100% { color: #e53935; opacity: 1; text-shadow: 0 0 0 rgba(229,57,53,0); }
  50% { color: #ff9800; opacity: .35; text-shadow: 0 0 10px rgba(255,152,0,.75); }
}
@media (prefers-reduced-motion: reduce) {
  .rhs-news-nav { animation: none; text-decoration: underline; }
}

.rhs-news-page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 72px 40px 96px;
}
.rhs-news-page > .xl-headline { margin: 0 0 40px; }
.rhs-news-feed { width: 100%; }

.rhs-supporter-page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 72px 40px 96px;
}
.rhs-supporter-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr);
  gap: 32px;
  align-items: stretch;
  margin-bottom: 34px;
}
.rhs-supporter-copy,
.rhs-supporter-actions {
  padding: 36px;
  border-radius: 18px;
}
.rhs-supporter-copy { background: #f4f4f2; }
.rhs-supporter-copy .xl-headline { margin: 0 0 18px; }
.rhs-supporter-copy p { margin: 0; font: 400 17px/1.65 Montserrat, Arial, sans-serif; color: #545454; }
.rhs-supporter-actions { display: flex; flex-direction: column; justify-content: center; gap: 14px; background: #ffbe22; }
.rhs-supporter-actions .primary-button { display: block; text-align: center; }
.rhs-supporter-secondary { background: #fff !important; color: #252525 !important; border: 1px solid #252525; }
.rhs-donation-group { width: min(100%, 460px); margin: 0 auto; }
.rhs-donation-group > .s-text { text-align: justify; text-justify: inter-word; hyphens: auto; }
.rhs-donation-box { box-sizing: border-box; width: 100%; margin: 22px auto 0; padding: 18px 20px; border: 2px solid #252525; border-radius: 12px; background: rgba(255,255,255,.28); text-align: center; }
.home-stats-wrapper { height: auto; align-items: stretch; }
.home-stats-wrapper > .card { height: auto; }
@media (min-width: 768px) {
  .card.yellow.flex-column { column-gap: clamp(32px, 4vw, 56px); }
  .card.yellow.flex-column > .l-headline { flex: 0 0 230px; font-size: clamp(2.35rem, 3.1vw, 3.2rem); font-weight: 750; line-height: 1.05; }
}
.rhs-donation-label { font: 700 15px/1.2 Montserrat, Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.rhs-donation-iban { margin: 8px 0 6px; font: 800 22px/1.2 Montserrat, Arial, sans-serif; letter-spacing: .04em; white-space: nowrap; }
.rhs-donation-name { font: 500 14px/1.4 Montserrat, Arial, sans-serif; }
.rhs-supporter-link { display: inline-block; margin-top: 14px; color: #252525; font: 700 16px/1.2 Montserrat, Arial, sans-serif; text-decoration: underline; }
@media (max-width: 640px) { .rhs-donation-iban { font-size: 17px; letter-spacing: 0; } }
.rhs-pdf-frame {
  width: 100%;
  height: 900px;
  border: 2px solid #ffbe22;
  border-radius: 18px;
  background: #f4f4f2;
}
.rhs-pdf-note { margin: 16px 4px 0; font: 400 14px/1.5 Montserrat, Arial, sans-serif; color: #545454; }
.rhs-mobile-pdf-note { display: none; margin: 0 0 18px; padding: 16px 18px; border: 2px solid #ffbe22; border-radius: 12px; background: #fff8df; font: 600 15px/1.5 Montserrat, Arial, sans-serif; color: #252525; }
@media (max-width: 700px) { .rhs-mobile-pdf-note { display: block; } .rhs-pdf-frame { height: 520px; } }

/* Einheitliche, gut lesbare Typografie für die Rechtstextseiten. */
.legal-wrapper {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: #545454;
}
.legal-wrapper .imprint-header {
  margin: 0 0 48px;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: #000;
}
.legal-wrapper .imprint-h3 {
  margin: 56px 0 20px;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: #000;
}
.legal-wrapper .s-text,
.legal-wrapper .imprint-contact,
.legal-wrapper .legal-paragraph {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
.legal-wrapper .imprint-contact { margin: 0 0 44px; }
.legal-wrapper .legal-paragraph { max-width: 900px; }
.legal-wrapper strong {
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: inherit;
  line-height: inherit;
  font-weight: 600;
  color: #000;
}
@media screen and (max-width: 600px) {
  .rhs-news-page { padding: 48px 20px 72px; }
  .rhs-news-page > .xl-headline { margin-bottom: 28px; }
  .rhs-supporter-page { padding: 48px 20px 72px; }
  .rhs-supporter-intro { grid-template-columns: 1fr; gap: 18px; }
  .rhs-supporter-copy, .rhs-supporter-actions { padding: 25px; border-radius: 14px; }
  .rhs-pdf-frame { height: 620px; border-radius: 14px; }
  .legal-wrapper { font-size: 16px; line-height: 1.65; }
  .legal-wrapper .imprint-header { margin-bottom: 32px; font-size: 34px; line-height: 1.15; }
  .legal-wrapper .imprint-h3 { margin-top: 42px; margin-bottom: 16px; font-size: 21px; line-height: 1.3; }
  .legal-wrapper .s-text,
  .legal-wrapper .imprint-contact,
  .legal-wrapper .legal-paragraph { font-size: 16px; line-height: 1.65; }
  .legal-wrapper .imprint-contact { margin-bottom: 34px; }
}
@media screen and (max-width: 782px) {
  body.admin-bar { padding-top: 46px; }
}
