/* Scan2Help.me — Calm Trust Sub-Landings bridge (Phase 4)
   Remaps Events-/Tiere-/CPR-Shell tokens away from purple; styles shared calm header nav.
   Linked only from sub-landings — never emergency.php. */

body.s2h-ct-subpage {
  --card-primary: #1e3a5f;
  --card-primary-dark: #0c1f3c;
  --card-secondary: #0c1f3c;
  --card-light: #eef2f7;
  --card-success: #0f766e;
  --card-muted: #5a6570;
  --card-border: #d8dee6;
  --card-background: #f4f6f8;
  --card-accent: #c9a227;
  --bg: #f4f6f8;
  --surface: #fff;
  --text: #0c1f3c;
  --muted: #5a6570;
  --primary: #1e3a5f;
  --primary-deep: #0c1f3c;
  --accent: #b91c1c;
  --cta: #c9a227;
  --cta-text: #0c1f3c;
  --border: #d8dee6;
  --font: "Inter", sans-serif;
  --font-display: "Nunito", sans-serif;
  --font-primary: var(--font);
  --font-secondary: var(--font-display);
  font-family: var(--font);
  color: var(--text);
  background: var(--bg);
}

body.s2h-ct-subpage h1,
body.s2h-ct-subpage h2,
body.s2h-ct-subpage h3,
body.s2h-ct-subpage .section-title,
body.s2h-ct-subpage .display-5,
body.s2h-ct-subpage .display-6,
body.s2h-ct-subpage .hero-title,
body.s2h-ct-subpage .card-title,
body.s2h-ct-subpage .accordion-button {
  font-family: var(--font-display);
}

/* Desktop/Mobile: gleiche Calm-Nav wie Index (data-dd), kein Bootstrap-Dropdown */
body.s2h-ct-subpage .site-header .nav {
  flex-wrap: nowrap;
}
/* Legacy-Seiten (tiere Inline-.btn) dürfen Header-Buttons nicht aufblasen */
body.s2h-ct-subpage .site-header .btn {
  white-space: normal;
  padding: 0.42rem 0.85rem;
  font-size: 0.84rem;
  border-radius: var(--radius);
  font-weight: 600;
  line-height: 1.2;
}
body.s2h-ct-subpage .site-header .header-actions {
  flex-shrink: 1;
  min-width: 0;
  max-width: min(100%, 16rem);
}
body.s2h-ct-subpage .site-header .header-actions .btn-primary {
  max-width: 11.5rem;
}
body.s2h-ct-subpage {
  overflow-x: clip;
}
/* Header-CTA immer Amber wie Index — Subpage-Inline-Styles dürfen das nicht überschreiben */
body.s2h-ct-subpage .site-header .header-actions .btn-primary {
  background: var(--cta) !important;
  color: var(--cta-text) !important;
  box-shadow: 0 4px 14px rgba(201, 162, 39, 0.35) !important;
}
body.s2h-ct-subpage .site-header .header-actions .btn-primary:hover {
  background: #d4ad2f !important;
  color: var(--cta-text) !important;
}
body.s2h-ct-subpage .site-header .header-actions .btn-outline {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  color: var(--primary) !important;
}

/* Soften purple heroes / CTAs on events family */
body.s2h-ct-subpage .events-hero-banner,
body.s2h-ct-subpage .events-hero-banner.events-hero-banner--cpr {
  background: linear-gradient(105deg, rgba(12, 31, 60, 0.92) 0%, rgba(30, 58, 95, 0.72) 55%, rgba(12, 31, 60, 0.45) 100%) !important;
  overflow: hidden;
}

/* Template-Wellen (banner-bg-1.png / SVG) — Calm Trust: entfernen */
body.s2h-ct-subpage .events-hero-bg-bottom,
body.s2h-ct-subpage .banner-bg-grid-shape,
body.s2h-ct-subpage .s2h-events-wave,
body.s2h-ct-subpage .s2h-tiere-wave {
  display: none !important;
}
body.s2h-ct-subpage .hero-kicker,
body.s2h-ct-subpage .events-hero-copy .hero-kicker {
  color: #f5e6a8 !important;
  background: transparent !important;
}
body.s2h-ct-subpage .rts-btn.btn-primary,
body.s2h-ct-subpage .events-cta .rts-btn.btn-primary,
body.s2h-ct-subpage a.rts-btn.btn-primary {
  background: var(--cta) !important;
  color: var(--cta-text) !important;
  border-color: transparent !important;
  box-shadow: 0 4px 14px rgba(201, 162, 39, 0.35) !important;
}
body.s2h-ct-subpage .rts-btn.btn-primary:hover {
  background: #d4ad2f !important;
  color: var(--cta-text) !important;
}
body.s2h-ct-subpage .rts-btn.btn-border,
body.s2h-ct-subpage .rts-btn.btn-white {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
}

/* Hardcoded purple leftovers → navy / amber */
body.s2h-ct-subpage .header-social-icons a:hover { color: var(--primary) !important; }

/* Feature / pricing accents */
body.s2h-ct-subpage .feature-icon,
body.s2h-ct-subpage .step-number,
body.s2h-ct-subpage .events-stat-value {
  color: var(--primary) !important;
}

/* CTA bands that used purple gradients */
body.s2h-ct-subpage .events-final-cta,
body.s2h-ct-subpage .cta-band,
body.s2h-ct-subpage .events-pricing-cta {
  background: linear-gradient(135deg, var(--primary-deep) 0%, var(--primary) 100%) !important;
}

/* Hide obsolete RTS chrome if still in markup */
body.s2h-ct-subpage .header-one,
body.s2h-ct-subpage #side-bar,
body.s2h-ct-subpage #preloader {
  display: none !important;
}

/* Notfallkarte / tiere / events content containers */
body.s2h-ct-subpage .page-wrapper,
body.s2h-ct-subpage main {
  isolation: isolate;
}

/* Form buttons on contact sections */
body.s2h-ct-subpage #kontakt .rts-btn.btn-primary,
body.s2h-ct-subpage #contact .rts-btn.btn-primary {
  background: var(--cta) !important;
  color: var(--cta-text) !important;
}

/* Mobile drawer — flache Links wie Index */
body.s2h-ct-subpage .nav-drawer .nav-group {
  margin: 0.65rem 0 0.15rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
}
body.s2h-ct-subpage .nav-drawer .nav-sub {
  padding-left: 0.75rem;
}

/* ------------------------------------------------------------------
   Kontakt-Bereich (ersetzt fehlendes RTS style.css)
   ------------------------------------------------------------------ */
body.s2h-ct-subpage .rts-section-gap,
body.s2h-ct-subpage .section-spacing {
  padding-block: clamp(2.5rem, 5vw, 4rem);
}

body.s2h-ct-subpage .page-wrapper {
  width: min(100% - 2rem, 72rem);
  margin-inline: auto;
}

body.s2h-ct-subpage .page-wrapper > .container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body.s2h-ct-subpage #kontakt.rts-contact-area,
body.s2h-ct-subpage .events-contact-section {
  background: var(--surface);
  border-block: 1px solid var(--border);
}

body.s2h-ct-subpage #kontakt .section-inner,
body.s2h-ct-subpage .events-contact-section .section-inner {
  margin-top: 1.5rem;
}

body.s2h-ct-subpage #kontakt .row,
body.s2h-ct-subpage .events-contact-section .row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
  align-items: start;
}

/* Kontaktinfos links */
body.s2h-ct-subpage .get-in-touch .contact-wrapper-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}

body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li,
body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li.phone,
body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li.bg-one,
body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li.bg-two,
body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li.bg-four {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  list-style: none;
  margin: 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  background: #f8fafc !important;
  color: var(--text);
  box-shadow: none;
}

body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li .icon {
  flex: 0 0 2.5rem;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border-radius: 8px;
  /* SVGs sind weiss — dunkler Chip für Kontrast */
  background: var(--primary, #1e3a5f);
  overflow: hidden;
}

body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li .icon img {
  width: 1.2rem;
  height: 1.2rem;
  max-width: 1.2rem;
  max-height: 1.2rem;
  object-fit: contain;
  display: block;
  opacity: 1;
  /* Falls ein Icon doch dunkel ist: auf Hell erzwingen */
  filter: brightness(0) invert(1);
}

body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li .text {
  flex: 1;
  min-width: 0;
}

body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li .text h4 {
  margin: 0 0 0.25rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted) !important;
}

body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li .text .desc,
body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li .text .desc a {
  margin: 0;
  color: var(--primary-deep) !important;
  font-size: 0.98rem;
  font-weight: 600;
  text-decoration: none;
  word-break: break-word;
}

body.s2h-ct-subpage .get-in-touch .contact-wrapper-list li .text .desc a:hover {
  color: var(--primary) !important;
  text-decoration: underline;
}

/* Formular rechts */
body.s2h-ct-subpage #kontakt .contact-form,
body.s2h-ct-subpage .events-contact-section .contact-form {
  margin: 0 !important;
  padding: 1.35rem 1.4rem !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg, 12px);
  background: var(--surface);
  box-shadow: 0 12px 40px rgba(12, 31, 60, 0.06);
}

body.s2h-ct-subpage #kontakt .contact-form .heading-title,
body.s2h-ct-subpage .events-contact-section .contact-form .heading-title {
  margin: 0 0 1rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--primary-deep);
  text-align: left;
}

body.s2h-ct-subpage #kontakt .contact-form .form-inner,
body.s2h-ct-subpage .events-contact-section .contact-form .form-inner {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0.75rem !important;
  align-items: stretch !important;
}

body.s2h-ct-subpage #kontakt .contact-form .form-inner .single-input,
body.s2h-ct-subpage .events-contact-section .contact-form .form-inner .single-input {
  width: 100% !important;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent;
}

body.s2h-ct-subpage #kontakt .contact-form .form-inner .single-input input,
body.s2h-ct-subpage #kontakt .contact-form .form-inner .single-input textarea,
body.s2h-ct-subpage .events-contact-section .contact-form .form-inner .single-input input,
body.s2h-ct-subpage .events-contact-section .contact-form .form-inner .single-input textarea {
  width: 100%;
  display: block;
  padding: 0.7rem 0.85rem !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px;
  font: inherit;
  color: var(--primary-deep) !important;
  background: #fff;
}

body.s2h-ct-subpage #kontakt .contact-form .form-inner .single-input input::placeholder,
body.s2h-ct-subpage #kontakt .contact-form .form-inner .single-input textarea::placeholder,
body.s2h-ct-subpage .events-contact-section .contact-form .form-inner .single-input input::placeholder,
body.s2h-ct-subpage .events-contact-section .contact-form .form-inner .single-input textarea::placeholder {
  color: var(--muted) !important;
  font-size: 0.92rem;
}

body.s2h-ct-subpage #kontakt .contact-form .form-inner .single-input.message textarea,
body.s2h-ct-subpage .events-contact-section .contact-form .form-inner .single-input.message textarea {
  min-height: 8rem;
  resize: vertical;
}

body.s2h-ct-subpage #kontakt .contact-form .form-btn,
body.s2h-ct-subpage .events-contact-section .contact-form .form-btn {
  margin-top: 0.35rem;
}

body.s2h-ct-subpage #kontakt .contact-form .rts-btn.btn-primary,
body.s2h-ct-subpage .events-contact-section .contact-form .rts-btn.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.25rem;
  border-radius: 8px;
  border: 0 !important;
  background: var(--cta) !important;
  color: var(--cta-text) !important;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(201, 162, 39, 0.35);
}

/* Section titles without RTS pre-title icons looking broken */
body.s2h-ct-subpage .section-title-area .pre-title img {
  display: none;
}

body.s2h-ct-subpage .section-title-area .pre-title {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent, #b91c1c);
  margin-bottom: 0.45rem;
}

body.s2h-ct-subpage .section-title-area .section-title {
  font-family: var(--font-display);
  color: var(--primary-deep);
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.22;
}

/* Bootstrap accordion (FAQ) ohne RTS */
body.s2h-ct-subpage .accordion-item {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px !important;
  margin-bottom: 0.55rem;
  overflow: hidden;
}

body.s2h-ct-subpage .accordion-button {
  font-weight: 600;
  color: var(--primary-deep);
  background: var(--surface);
  box-shadow: none !important;
}

body.s2h-ct-subpage .accordion-button:not(.collapsed) {
  background: #eef2f7;
  color: var(--primary-deep);
}

body.s2h-ct-subpage .accordion-body {
  color: var(--muted);
  font-size: 0.95rem;
}

@media (max-width: 991.98px) {
  body.s2h-ct-subpage #kontakt .contact-form,
  body.s2h-ct-subpage .events-contact-section .contact-form {
    margin-top: 0.5rem !important;
  }
}
