/* StilleBewegung – Variante 1: warme Flyerfarben, dezente Karten.
   Nach main.css und navigation.css laden. Bildausschnitte bleiben erhalten. */
:root {
  --ruhe-papier: #F4F1E9;
  --ruhe-flaeche: #FFFDF8;
  --ruhe-gruen: #385B49;
  --ruhe-text: #353831;
  --ruhe-leise: #62665A;
  --ruhe-linie: #D8D9CD;
  --ruhe-salbei: #E8EBE1;
  --dl-color-theme-neutral-dark: #353831;
  --dl-color-theme-neutral-light: #F4F1E9;
  --dl-color-theme-primary1: #385B49;
  --dl-color-theme-primary2: #294536;
  --dl-color-theme-accent1: #E8EBE1;
  --dl-color-theme-accent2: #D8D9CD;
  --dl-color-theme-secondary1: #E8EBE1;
  --dl-color-theme-secondary2: #FAF8F3;
  --dl-color-stillebewegung-background: #385B49;
}
body { background: var(--ruhe-papier); color: var(--ruhe-text); }
body :is(.welcome-section, .home-container10, .home-thq-therapie-elm,
  .home-preise-section, .about-me-section, #contact, .booking-section) {
  background: var(--ruhe-papier) !important;
}
/* Dekorationen ohne Informationsgehalt. */
body :is(.welcome-blob-1, .welcome-blob-2, .welcome-divider,
  .about-me-bg-accent, .about-me-bg-gradient, .about-me-header-decoration,
  .about-me-header-line, .about-me-education-decoration,
  .preise-bg-decoration, .preise-title-line, .contact-bg-accent,
  .contact-bg-gradient, .contact-header-decoration, .contact-header-line,
  .booking-bg-accent, .booking-bg-gradient, .booking-header-decoration,
  .booking-header-line) { display: none !important; }
body :is(.therapie-card, .about-me-intro-card, .contact-info-card,
  .contact-location-card, .contact-form-card, .booking-benefit-card)::before,
body :is(.therapie-card-title, .therapie-main-title, .home-therapie-main-title,
  .about-me-header, .about-me-cv-header, .therapie-image-wrapper,
  .contact-form-submit, .st-footer-heading)::after {
  content: none !important;
}
/* Sanfte Aussenkarten, keine schwebenden oder farbigen Rahmen. */
body :is(.therapie-card, .about-me-intro-card, .about-me-cv-column,
  .home-preise-pricing-card, .home-preise-insurance-card,
  .contact-info-card, .contact-form-card, .contact-location-card,
  .booking-calendar-card) {
  background: #FAF8F3 !important;
  border: 1px solid var(--ruhe-linie) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}
body :is(.about-me-timeline-content, .about-me-education-card,
  .contact-location-item, .contact-location-item-wrapper,
  .contact-location-directions, .booking-benefit-card, .booking-info-card) {
  background: transparent !important;
  box-shadow: none !important;
  border-color: var(--ruhe-linie) !important;
  transform: none !important;
}
body :is(.contact-info-item, .booking-calendar-header,
  .booking-calendar-footer, .about-me-education-badge, .welcome-badge) {
  background: var(--ruhe-salbei) !important;
  color: var(--ruhe-gruen) !important;
  box-shadow: none !important;
  border-color: var(--ruhe-linie) !important;
  transform: none !important;
}
/* Typografie: Serifentitel wie auf dem Flyer, gut lesbarer Fliesstext. */
body :is(h1, h2, h3, h4, h5, h6) {
  color: var(--ruhe-gruen) !important;
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}
body :is(.welcome-title, .home-therapie-main-title, .therapie-card-title,
  .home-preise-title, .about-me-title, .contact-header-title,
  .booking-header-title) {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
}
body :is(.home-therapie-main-title, .home-preise-title, .about-me-title,
  .contact-header-title, .booking-header-title) {
  font-size: clamp(2rem, 3.4vw, 3rem) !important;
}
body .therapie-card-title { font-size: clamp(1.65rem, 2.6vw, 2.3rem) !important; }
body :is(.therapie-card-description, .home-therapie-translation,
  .home-preise-info-text, .about-me-text, .contact-form-subtitle,
  .booking-intro-text, .booking-benefit-text, .booking-info-description,
  .booking-footer-text, .contact-directions-text, .st-footer-tagline,
  .st-contact-text, .contact-location-note, .contact-info-value,
  .about-me-timeline-title, .about-me-education-degree, .welcome-subtitle) {
  color: var(--ruhe-text) !important;
  line-height: 1.75 !important;
}
body :is(.therapie-translation-label, .about-me-timeline-instructor,
  .about-me-education-field, .about-me-cv-subtitle, .contact-info-label,
  .st-contact-note, .st-copyright) { color: var(--ruhe-leise) !important; }
body :is(.home-therapie-quote, .therapie-quote) {
  background: var(--ruhe-salbei) !important;
  color: var(--ruhe-gruen) !important;
  border-color: #91A18C !important;
  box-shadow: none !important;
}
body :is(.contact-icon-wrapper, .booking-benefit-icon,
  .booking-calendar-icon-wrapper, .about-me-cv-icon,
  .home-preise-icon-wrapper, .home-preise-bullet, .preise-badge) {
  background: var(--ruhe-salbei) !important;
  color: var(--ruhe-gruen) !important;
  box-shadow: none !important;
  transform: none !important;
}
body :is(.contact-location-placeholder, .home-text20, .home-text32,
  .st-footer-accent, .home-text11, .contact-icon, .home-preise-icon,
  .home-preise-bullet-icon, .contact-directions-label, .st-contact-link) {
  color: var(--ruhe-gruen) !important;
}
/* Einstieg: ruhiges Foto, keine Rotation oder Einblendung beim Scrollen. */
body .welcome-content-card {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
body .welcome-title { font-size: clamp(2.2rem, 3.7vw, 3.7rem) !important; }
body :is(.welcome-hero-image, .bern-bg-image) {
  transform: none !important;
  transition: none !important;
  animation: none !important;
}
body .welcome-image-overlay { background: transparent !important; }
body :is(.therapie-image-wrapper, .welcome-image-wrapper,
  .about-me-intro-image) {
  box-shadow: none !important;
  border-radius: 12px !important;
  transform: none !important;
}
/* Die bewusst eingestellten Zooms der Therapiefotos nicht ueberschreiben. */
body :is(.about-me-intro-image img, .about-me-timeline-item,
  .about-me-cv-icon, .booking-benefit-icon svg) {
  transform: none !important;
  animation: none !important;
}
body .about-me-timeline-dot { background: var(--ruhe-gruen) !important; box-shadow: none !important; }
body .about-me-timeline::before { background: var(--ruhe-linie) !important; }
/* Helle Navigation, unveraendertes Verhalten des Handymenues. */
#site-navigation, #mobile-navigation {
  background: #F4F1E9 !important;
  color: var(--ruhe-gruen) !important;
  box-shadow: 0 1px 0 var(--ruhe-linie) !important;
  backdrop-filter: none !important;
}
#site-navigation :is(a, button, .home-icon100) { color: var(--ruhe-gruen) !important; }
#site-navigation :is(a, button) span { color: inherit !important; }
#site-navigation a[href="#termin-buchen"] {
  background: var(--ruhe-salbei) !important;
  box-shadow: none !important;
  transform: none !important;
}
#site-navigation a:hover { text-decoration: underline; text-underline-offset: 5px; }
body #contact .st-booking-link, body .st-scroll-top {
  background: var(--ruhe-gruen) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--ruhe-gruen) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transform: none !important;
}
body #contact .st-booking-link:hover, body .st-scroll-top:hover {
  background: #294536 !important;
}
body :is(a, button):focus-visible {
  outline: 3px solid var(--ruhe-gruen) !important;
  outline-offset: 4px;
}
body .st-footer {
  background: #E8EBE1 !important;
  color: var(--ruhe-text) !important;
  margin-top: 0;
  border-color: var(--ruhe-linie) !important;
}
body .st-footer a { color: var(--ruhe-gruen) !important; }
body :is(.st-footer-bottom, .booking-calendar-header, .booking-calendar-footer) {
  border-color: var(--ruhe-linie) !important;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}


/* BEGIN Einheitliche Schriften */
body {
  font-family: "Inter", Arial, sans-serif;
}

/* Fliesstext vereinheitlichen; Zitat und Übersetzung ausnehmen. */
body :is(p, li, a, span, div, section, button, label, input, textarea):not(:where(
  blockquote, blockquote *,
  .home-therapie-quote, .home-therapie-quote *,
  .therapie-quote, .therapie-quote *,
  .home-therapie-translation, .home-therapie-translation *,
  .therapie-translation, .therapie-translation *
)) {
  font-family: "Inter", Arial, sans-serif !important;
}

/* Alle Überschriften einschliesslich ihrer enthaltenen Textteile. */
body :is(h1, h2, h3, h4, h5, h6),
body :is(h1, h2, h3, h4, h5, h6) * {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

/* Hauptüberschriften mit gleicher Grösse. */
body :is(
  .home-therapie-main-title,
  .home-preise-title,
  .home-about-me-title,
  .contact-header-title,
  .booking-header-title
) {
  font-size: clamp(2rem, 3.4vw, 3rem) !important;
  letter-spacing: -0.015em !important;
}
/* END Einheitliche Schriften */


/* BEGIN Einheitliche Titelabstaende */
:root {
  --ruhe-abschnitt-abstand: 80px;
  --ruhe-titel-abstand: 40px;
  --ruhe-kartentitel-abstand: 20px;
}

body :is(
  #TherapieSection,
  #preiseKrankenkasseSection,
  #aboutMeSection,
  #contact,
  #termin-buchen
) {
  padding-top: var(--ruhe-abschnitt-abstand) !important;
  padding-bottom: var(--ruhe-abschnitt-abstand) !important;
}

body :is(
  .home-therapie-header,
  .preise-header,
  .about-me-header,
  .booking-header
) {
  margin-top: 0 !important;
  margin-bottom: var(--ruhe-titel-abstand) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  gap: 0 !important;
}

body :is(
  .home-therapie-main-title,
  .home-preise-title,
  .home-about-me-title,
  .booking-header-title
) {
  margin: 0 !important;
  padding: 0 !important;
}

/* Kontakt: Der Header enthält auch die Inhaltskarten. */
body #contact .contact-header {
  margin: 0 !important;
  padding: 0 !important;
}
body #contact .contact-header-title {
  margin: 0 0 var(--ruhe-titel-abstand) !important;
  padding: 0 !important;
}
body #contact .home-thq-contact-content-wrapper-elm {
  margin-top: 0 !important;
}

body :is(
  .therapie-card-title,
  .contact-info-title,
  .contact-form-title,
  .booking-benefit-title,
  .booking-info-title,
  .contact-directions-title
) {
  margin-top: 0 !important;
  margin-bottom: var(--ruhe-kartentitel-abstand) !important;
  padding-top: 0 !important;
}

/* Bei Preisen steht das Symbol zusammen mit dem Titel. */
body .preise-card-header {
  margin: 0 0 var(--ruhe-kartentitel-abstand) !important;
  padding-bottom: 0 !important;
}
body .home-preise-card-title {
  margin: 0 !important;
}

body .about-me-cv-header {
  margin-bottom: var(--ruhe-titel-abstand) !important;
}
body .home-about-me-cv-title {
  margin: 0 0 var(--ruhe-kartentitel-abstand) !important;
}

@media (max-width: 767px) {
  :root {
    --ruhe-abschnitt-abstand: 48px;
    --ruhe-titel-abstand: 28px;
  }
}
/* END Einheitliche Titelabstaende */


/* BEGIN Einheitliche Kartenbreiten */
:root {
  --ruhe-inhaltsbreite: 1200px;
  --ruhe-seitenrand: 20px;
  --ruhe-kartenfarbe: #FAF8F3;
}

/* Gleiche Seitenränder für die Inhaltsbereiche. */
body :is(
  #TherapieSection,
  #aboutMeSection,
  #contact,
  #termin-buchen
) {
  width: 100%;
  padding-left: var(--ruhe-seitenrand) !important;
  padding-right: var(--ruhe-seitenrand) !important;
}

/* Preise liegen bereits innerhalb des Therapiebereichs. */
body #preiseKrankenkasseSection {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Gemeinsame Aussenkanten aller Inhaltscontainer. */
body :is(
  .home-therapie-header,
  .home-therapie-content-wrapper,
  .home-preise-container,
  .about-me-container,
  #contact .contact-container,
  #termin-buchen .booking-container
) {
  width: 100% !important;
  max-width: var(--ruhe-inhaltsbreite) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  min-width: 0;
  box-sizing: border-box;
}

body .home-therapie-card {
  width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
}

/* Kontaktspalten behalten ihre bisherige responsive Aufteilung. */
body #contact .home-contact-content-wrapper4 {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body #contact :is(.contact-left-column, .contact-right-column) {
  min-width: 0;
}

/* Einheitliche Hintergrundfarbe der grossen Karten. */
body :is(
  .therapie-card,
  .about-me-intro-card,
  .about-me-cv-column,
  .home-preise-pricing-card,
  .home-preise-insurance-card,
  .contact-info-card,
  .contact-form-card,
  .contact-location-card,
  .booking-calendar-card,
  .booking-calendar-header,
  .booking-calendar-footer
) {
  background: var(--ruhe-kartenfarbe) !important;
}

@media (max-width: 767px) {
  :root {
    --ruhe-seitenrand: 16px;
  }
}
/* END Einheitliche Kartenbreiten */


/* BEGIN Kompakte Buchung */
body #termin-buchen .st-buchung-karte {
  width: 100%;
  min-width: 0;
  padding: 32px;
  background: var(--ruhe-kartenfarbe, #FAF8F3);
  border: 1px solid var(--ruhe-linie, #D8D9CD);
  border-radius: 16px;
  box-shadow: none;
}
body #termin-buchen .st-buchung-dauer {
  margin: 0 0 24px;
  text-align: center;
  color: var(--ruhe-text, #353831);
  font-size: 1rem;
  line-height: 1.7;
}
body #termin-buchen .st-buchung-kalender {
  width: 100%;
  min-width: 0;
}
body #termin-buchen #tidycal-iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
}
body #termin-buchen .st-buchung-hinweis {
  margin: 24px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--ruhe-linie, #D8D9CD);
  color: var(--ruhe-leise, #62665A);
  font-size: 0.95rem;
  line-height: 1.7;
  text-align: center;
}
@media (max-width: 767px) {
  body #termin-buchen .st-buchung-karte {
    padding: 20px 12px;
  }
  body #termin-buchen .st-buchung-dauer span {
    display: block;
  }
  body #termin-buchen .st-buchung-dauer .st-buchung-trenner {
    display: none;
  }
}
/* END Kompakte Buchung */


/* BEGIN StilleBewegung: Google-Rezensionen */
body .st-reviews-section {
  padding: 76px 24px;
  background: var(--ruhe-papier, #F4F1E9);
  color: var(--ruhe-text, #353831);
}

.st-reviews-container {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}

.st-reviews-header {
  text-align: center;
  margin-bottom: 30px;
}

.st-reviews-eyebrow {
  margin: 0 0 10px;
  color: var(--ruhe-gruen, #385B49);
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.st-reviews-header h2 {
  margin: 0;
  color: var(--ruhe-text, #353831);
  font: inherit;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 600;
}

.st-reviews-intro {
  margin: 14px 0 0;
  color: var(--ruhe-leise, #62665A);
  line-height: 1.7;
}

.st-reviews-controls {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 14px;
}

.st-reviews-arrow {
  width: 42px;
  height: 42px;
  border: 1px solid var(--ruhe-linie, #D8D9CD);
  border-radius: 50%;
  background: var(--ruhe-kartenfarbe, #FAF8F3);
  color: var(--ruhe-gruen, #385B49);
  font-size: 1.25rem;
  cursor: pointer;
}

.st-reviews-arrow:hover {
  background: var(--ruhe-salbei, #E8EBE1);
}

.st-reviews-track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  padding: 2px 2px 12px;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: var(--ruhe-linie, #D8D9CD) transparent;
}

.st-review-card {
  box-sizing: border-box;
  flex: 0 0 calc((100% - 36px) / 3);
  min-width: 0;
  padding: 28px 26px;
  border: 1px solid var(--ruhe-linie, #D8D9CD);
  border-radius: 14px;
  background: var(--ruhe-kartenfarbe, #FAF8F3);
  scroll-snap-align: start;
}

.st-review-stars {
  margin-bottom: 18px;
  color: var(--ruhe-gruen, #385B49);
  font-size: 1.05rem;
  letter-spacing: 0.12em;
}

.st-review-text {
  color: var(--ruhe-text, #353831);
  font-size: 0.96rem;
  line-height: 1.75;
}

.st-review-no-text {
  color: var(--ruhe-leise, #62665A);
  font-style: italic;
}

.st-review-author {
  margin: 22px 0 3px;
  color: var(--ruhe-text, #353831);
  font-weight: 600;
}

.st-review-source {
  color: var(--ruhe-leise, #62665A);
  font-size: 0.82rem;
}

.st-reviews-footer {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px 28px;
  margin-top: 26px;
}

.st-reviews-footer a {
  color: var(--ruhe-gruen, #385B49);
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 0.94rem;
}

@media (max-width: 900px) {
  .st-review-card {
    flex-basis: calc((100% - 18px) / 2);
  }
}

@media (max-width: 600px) {
  body .st-reviews-section {
    padding: 54px 16px;
  }

  .st-review-card {
    flex-basis: 88%;
    padding: 24px 21px;
  }

  .st-reviews-footer {
    flex-direction: column;
    align-items: center;
  }
}
/* END StilleBewegung: Google-Rezensionen */

/* Termin-Button auf Datenschutz und Impressum */
#site-navigation a[href="index.html#termin-buchen"] {
  background: var(--ruhe-salbei) !important;
  color: var(--ruhe-gruen) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Hamburger-Linien auf allen Seiten dunkelgrün */
#menu-toggle > svg > path {
  fill: var(--ruhe-gruen) !important;
}
