/*
Theme Name: Barbara Hilft
Theme URI: https://barbara-schuetz-hilft.de
Author: Praxis Barbara Schütz
Author URI: https://barbara-schuetz.de
Description: Pixel-naher WP-Klon der bsh-Funnel-Site, Flieder-Design. Funnel-Hub für Erschöpfung, Gelenkschmerzen und Arthrose mit WCAG-AA-Kontrasten, lokal gehosteten Inter/DM-Serif-Display-Fonts und respect für prefers-reduced-motion.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: barbara-hilft
Tags: block-theme, healthcare, full-site-editing
*/


.brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.brand-logo { height:34px; width:auto; flex-shrink:0; display:block; }
.brand-text { font-size:1.05rem; letter-spacing:.02em; }
@media (max-width:480px) {
  .brand-logo { height:30px; }
  .brand-text { font-size:.95rem; }
}


.ff-honeypot-hidden {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.ff-honeypot-hidden input { display: none !important; }



/* (1) historische .has-text-color als reiner Marker behandeln */
.has-text-color:not(.has-link-color){
  /* Erbe von Eltern oder spezifischere Farb-Klasse */
  color: inherit;
}

/* (2) wenn explizite Palette-Klasse + Marker zusammen, gewinnt Palette */
.has-white-color.has-text-color,
.has-white-color{ color:#ffffff !important; }
.has-cream-color.has-text-color,
.has-cream-color{ color:#FAF8FE !important; }
.has-warm-color.has-text-color,
.has-warm-color{ color:#FBF7F2 !important; }
.has-purple-pale-color.has-text-color,
.has-purple-pale-color{ color:#F0ECF7 !important; }

/* (3) .lead auf hellem cyan-Hintergrund: 4.18:1 -> 5.20:1 */
.has-pale-cyan-blue-background-color .lead,
.has-cyan-bluish-gray-background-color .lead,
.has-light-green-cyan-background-color .lead,
.has-vivid-green-cyan-background-color .lead,
.has-pale-pink-background-color .lead,
.has-luminous-vivid-amber-background-color .lead{
  color:#4f4862;
}

/* (4) Focus-Indikator (WCAG 2.4.7) */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible{
  outline: 2px solid var(--c-sage, #2C5F2D);
  outline-offset: 3px;
  border-radius: 4px;
}

/* (5) Skip-Link: sichtbar bei Fokus */
.skip-link:focus,
.skip-link:focus-visible{
  position: static !important;
  width: auto !important; height: auto !important;
  clip: auto !important; clip-path: none !important;
  padding: 12px 18px !important;
  background:#ffffff; color:#1f1b29;
  outline:3px solid var(--c-sage, #2C5F2D);
  text-decoration: underline;
  z-index: 100000;
}

/* (6) wp-block-cover: Text vom Inhalt liest semantisch white -
   axe scannt die absolute span-Overlay; wir machen die Cover-Box
   selbst farbig (hinter dem dim-span identisch), damit a11y-Sniffer
   den Kontrast sieht. */
.wp-block-cover.lp-hero,
.wp-block-cover:has(>.wp-block-cover__background[style*="background-color"]){
  background-color:#3f5a39;
}



/* Scroll-Fade-in baseline (JS-Trigger setzt .is-visible) */
[data-fade-in] {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity   var(--t-slow, 480ms) var(--ease, cubic-bezier(.16,1,.3,1)),
              transform var(--t-slow, 480ms) var(--ease, cubic-bezier(.16,1,.3,1));
  will-change: opacity, transform;
}
[data-fade-in].is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  [data-fade-in] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Card-Hover (additiv, opt-in via .card-hover) */
.card-hover {
  transition: transform   var(--t-mid, 280ms) var(--ease, cubic-bezier(.16,1,.3,1)),
              box-shadow  var(--t-mid, 280ms) var(--ease, cubic-bezier(.16,1,.3,1));
}
@media (hover: hover) and (pointer: fine) {
  .card-hover:hover {
    transform: translateY(-3px);
    box-shadow: var(--sh-2, 0 4px 8px rgba(31,27,41,.08), 0 2px 4px rgba(31,27,41,.06));
  }
}

/* Sticky-CTA-Mobile-Klasse (S12 aus MASTER-PLAN, BSH-Flieder) */
.sticky-cta-mobile {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 90;
  display: none;
  gap: var(--s-2, 6px);
  padding: var(--s-3, 10px) var(--s-4, 16px);
  background: var(--paper-50, #fdfcfa);
  border-top: 1px solid var(--line-300, rgba(31,27,41,.18));
  box-shadow: 0 -4px 12px rgba(31, 27, 41, .08);
}
.sticky-cta-mobile .sticky-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: var(--s-3, 10px) var(--s-4, 16px);
  border-radius: var(--radius-1, 6px);
  font-family: var(--sans, 'Inter', system-ui, sans-serif);
  font-size:   var(--text-base, 1rem);
  font-weight: 600;
  text-decoration: none;
  color: var(--ink-900, #1f1b29);
  background: var(--paper-100, #f5f2eb);
  border: 1px solid var(--line-300, rgba(31,27,41,.18));
}
.sticky-cta-mobile .sticky-btn.primary {
  background: var(--accent, #A594C8);
  color: var(--accent-ink, #fff);
  border-color: var(--accent, #A594C8);
}
@media (max-width: 767px) {
  .sticky-cta-mobile { display: flex; }
}

