/* Gesundhaus design standard — reference: https://www.i-tuepferl.de/
 * Governed by docs/GESUNDHAUS-DESIGN-STANDARD.md (Issue #20).
 */

body[data-theme="gesundhaus"] {
  color: var(--gesundhaus-charcoal);
  background: var(--gesundhaus-wool);
}

body[data-theme="gesundhaus"] a {
  text-decoration-thickness: .12em;
  text-underline-offset: .18em;
}

body[data-theme="gesundhaus"] :focus-visible {
  outline: 3px solid var(--gesundhaus-highlight);
  outline-offset: 3px;
}

.gesundhaus-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.gesundhaus-brand img {
  display: block;
  width: auto;
  max-width: min(100%, 360px);
  max-height: 76px;
  object-fit: contain;
}

.gesundhaus-brand--compact img {
  max-width: 230px;
  max-height: 58px;
}

body[data-theme="gesundhaus"] .top,
body[data-theme="gesundhaus"] .tenant-banner {
  background: #fff !important;
  color: #000000 !important;
  border-bottom-color: var(--gesundhaus-mustard) !important;
}

body[data-theme="gesundhaus"] .gesundhaus-legal-header {
  background: var(--gesundhaus-wool) !important;
  color: var(--gesundhaus-charcoal) !important;
  border-bottom: 5px solid var(--gesundhaus-magenta) !important;
}

body[data-theme="gesundhaus"] .gesundhaus-legal-header a,
body[data-theme="gesundhaus"] .gesundhaus-legal-header a:hover,
body[data-theme="gesundhaus"] .gesundhaus-legal-header a:focus-visible {
  color: var(--gesundhaus-charcoal) !important;
}

body[data-theme="gesundhaus"] .top .brand {
  color: var(--gesundhaus-wool);
  flex: 0 1 auto;
  min-width: 0;
}

body[data-theme="gesundhaus"] .top .brand img {
  display: block;
  width: clamp(220px, 22vw, 320px);
  max-width: 48vw;
  height: auto;
  max-height: 70px;
  border-radius: 0;
  object-fit: contain;
}

body[data-theme="gesundhaus"] .top .brand span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body[data-theme="gesundhaus"] .hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(193, 151, 75, .28), transparent 25rem),
    linear-gradient(145deg, #fff 0%, var(--gesundhaus-wool) 58%, var(--gesundhaus-grey-blue) 135%);
}

body[data-theme="gesundhaus"] .hero-card,
body[data-theme="gesundhaus"] .dark {
  background: #8d5d74;
}

body[data-theme="gesundhaus"] .hero-card,
body[data-theme="gesundhaus"] .hero-card .location,
body[data-theme="gesundhaus"] .dark,
body[data-theme="gesundhaus"] .dark .section-head p,
body[data-theme="gesundhaus"] .dark .flow p {
  color: var(--gesundhaus-wool);
}

body[data-theme="gesundhaus"] .card {
  border-top-color: var(--gesundhaus-mustard);
}

body[data-theme="gesundhaus"] .impact .regional {
  background: var(--gesundhaus-grey-blue);
}

body[data-theme="gesundhaus"] .tag {
  color: #fff;
  background: var(--gesundhaus-highlight);
}

body[data-theme="gesundhaus"] .cta-box {
  background: var(--gesundhaus-fir);
  color: #fff;
}

/* Tannengrüne Flächen tragen ausnahmslos weiße Schrift und Icons. */
body[data-theme="gesundhaus"] .top svg,
body[data-theme="gesundhaus"] .tenant-banner svg,
body[data-theme="gesundhaus"] .cta-box,
body[data-theme="gesundhaus"] .cta-box a,
body[data-theme="gesundhaus"] .cta-box button,
body[data-theme="gesundhaus"] .btn-primary,
body[data-theme="gesundhaus"] .btn-dark {
  color: #fff !important;
}

body[data-theme="gesundhaus"] .top svg,
body[data-theme="gesundhaus"] .tenant-banner svg,
body[data-theme="gesundhaus"] .cta-box svg,
body[data-theme="gesundhaus"] .btn-primary svg,
body[data-theme="gesundhaus"] .btn-dark svg {
  fill: currentColor !important;
}

body[data-theme="gesundhaus"] #qmp-back-to-top,
body[data-theme="gesundhaus"] #backToTop,
body[data-theme="gesundhaus"] #backToTopBtn,
body[data-theme="gesundhaus"] .back-to-top,
body[data-theme="gesundhaus"] .floating-top {
  width: 52px !important;
  height: 52px !important;
  padding: 0 !important;
  display: none;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--gesundhaus-fir) !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: var(--gesundhaus-fir) !important;
  font-size: 25px;
  line-height: 1;
}

body[data-theme="gesundhaus"] #qmp-back-to-top.visible,
body[data-theme="gesundhaus"] #backToTop.visible,
body[data-theme="gesundhaus"] #backToTopBtn.visible,
body[data-theme="gesundhaus"] .back-to-top.visible,
body[data-theme="gesundhaus"] .floating-top.visible {
  display: flex;
}

body[data-theme="gesundhaus"] #qmp-back-to-top i,
body[data-theme="gesundhaus"] #backToTop i,
body[data-theme="gesundhaus"] #backToTopBtn i,
body[data-theme="gesundhaus"] .back-to-top i,
body[data-theme="gesundhaus"] .floating-top i,
body[data-theme="gesundhaus"] #qmp-back-to-top svg,
body[data-theme="gesundhaus"] #backToTop svg,
body[data-theme="gesundhaus"] #backToTopBtn svg,
body[data-theme="gesundhaus"] .back-to-top svg,
body[data-theme="gesundhaus"] .floating-top svg {
  color: #fff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

body[data-theme="gesundhaus"] .btn-primary,
body[data-theme="gesundhaus"] .btn-dark {
  color: #fff !important;
  background: var(--gesundhaus-fir) !important;
  border-color: var(--gesundhaus-fir) !important;
}

body[data-theme="gesundhaus"] .btn-primary:hover,
body[data-theme="gesundhaus"] .btn-primary:focus-visible,
body[data-theme="gesundhaus"] .btn-dark:hover,
body[data-theme="gesundhaus"] .btn-dark:focus-visible {
  color: #fff !important;
  background: #8d5d74 !important;
  border-color: #8d5d74 !important;
}

body[data-theme="gesundhaus"] .btn-secondary,
body[data-theme="gesundhaus"] .btn-light {
  color: #000000;
  background: var(--gesundhaus-wool);
  border-color: var(--gesundhaus-charcoal);
}

body[data-theme="gesundhaus"] .btn-secondary:hover,
body[data-theme="gesundhaus"] .btn-light:hover {
  color: #fff;
  background: var(--gesundhaus-highlight);
}

body[data-theme="gesundhaus"] .gesundhaus-login-card,
body[data-theme="gesundhaus"] .gesundhaus-work-card {
  border: 0;
  border-top: 6px solid var(--gesundhaus-mustard);
  border-radius: 1rem;
  background: #fff;
}

body[data-theme="gesundhaus"] .gesundhaus-kicker {
  color: var(--gesundhaus-fir) !important;
}

body[data-theme="gesundhaus"] .form-control:focus {
  border-color: var(--gesundhaus-fir);
  box-shadow: 0 0 0 .25rem rgb(188 65 144 / 20%);
}

body[data-theme="gesundhaus"] footer {
  background: var(--gesundhaus-grey-blue);
}

.gesundhaus-login-card {
  max-width: 560px;
  margin: clamp(2rem, 8vh, 6rem) auto;
}

body[data-theme="gesundhaus"] .gesundhaus-login-card h1 {
  max-width: 18ch;
  font-size: clamp(2rem, 6.4vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -.035em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

.gesundhaus-task-list {
  display: grid;
  gap: .85rem;
}

.gesundhaus-task {
  padding: 1rem;
  border-left: 5px solid var(--gesundhaus-mustard);
  border-radius: .6rem;
  background: var(--gesundhaus-wool);
}

.gesundhaus-task h3 {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
}

.gesundhaus-task p {
  margin: 0 0 .35rem;
}

@media (max-width: 580px) {
  body[data-theme="gesundhaus"] .gesundhaus-login-card .card-body {
    padding: 1.25rem !important;
  }

  body[data-theme="gesundhaus"] .gesundhaus-login-card h1 {
    max-width: none;
    font-size: clamp(1.85rem, 8vw, 2.5rem);
    line-height: 1.1;
  }

  body[data-theme="gesundhaus"] .top .bar {
    gap: .5rem;
  }

  body[data-theme="gesundhaus"] .top .brand img {
    width: min(42vw, 210px);
    max-width: none;
    height: auto;
    max-height: 54px;
  }

  .gesundhaus-brand img {
    max-width: 260px;
  }
}

/* Preserve the supplied PNG transparency without a logo tile. */
body[data-theme="gesundhaus"] img[src*="gesundhaus-ituepferl-logo.png"] {
  background: transparent;
  padding: 0;
  border-radius: 0;
  box-sizing: border-box;
}

/* Authoritative visual roles from the i-Tuepferl global theme, 2026-09-15.
   Keep this section after structural rules; page-specific brand overrides
   belong here rather than in HTML or JavaScript. */
@font-face {font-family:BrandonGrotesque;src:url('./fonts/BrandonGrotesque-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face {font-family:BrandonGrotesque;src:url('./fonts/BrandonGrotesque-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face {font-family:SourceSerif;src:url('./fonts/SourceSerifPro-Regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}

:root[data-theme="gesundhaus"],
body[data-theme="gesundhaus"] {
  --gesundhaus-font: BrandonGrotesque, Arial, sans-serif;
  --gesundhaus-serif: SourceSerif, Georgia, serif;
  --gesundhaus-white: #ffffff;
  --gesundhaus-ink: #000000;
  --gesundhaus-border: #e3e7f0;
  --gesundhaus-mustard: #c1974b;
  --gesundhaus-wool: #f6f3e9;
  --gesundhaus-magenta: #bc4190;
  --gesundhaus-berry: #8d5d74;
  --gesundhaus-grey-blue: #c2d2d1;
  --gesundhaus-rose: #e9c9c0;
  --gesundhaus-fir: #627866;
  --gesundhaus-charcoal: var(--gesundhaus-ink);
  --gesundhaus-highlight: var(--gesundhaus-magenta);
  --green: var(--gesundhaus-fir);
  --green-dark: var(--gesundhaus-berry);
  --cream: var(--gesundhaus-wool);
  --gold: var(--gesundhaus-mustard);
  --ink: var(--gesundhaus-ink);
  --ci: var(--gesundhaus-mustard);
  --soft: var(--gesundhaus-wool);
  --yellow: var(--gesundhaus-mustard);
  --gh-green: var(--gesundhaus-fir);
  --gh-gold: var(--gesundhaus-mustard);
  --gh-mustard: var(--gesundhaus-mustard);
  --gh-cream: var(--gesundhaus-wool);
  --gh-magenta: var(--gesundhaus-magenta);
  --gh-rose: var(--gesundhaus-rose);
  --portal-yellow: var(--gesundhaus-mustard);
  --portal-ink: var(--gesundhaus-ink);
  --portal-muted: var(--gesundhaus-ink);
  --portal-line: var(--gesundhaus-border);
  --portal-surface: var(--gesundhaus-white);
  --portal-soft: var(--gesundhaus-wool);
  --bs-body-font-family: var(--gesundhaus-font);
  --bs-body-color: var(--gesundhaus-ink);
  --bs-body-bg: var(--gesundhaus-white);
  --bs-primary: var(--gesundhaus-magenta);
  --bs-primary-rgb: 188, 65, 144;
  --bs-warning: var(--gesundhaus-mustard);
  --bs-warning-rgb: 193, 151, 75;
  --bs-link-color: var(--gesundhaus-magenta);
  --bs-link-hover-color: var(--gesundhaus-berry);
  color-scheme: light;
}

body[data-theme="gesundhaus"] {
  font-family: var(--gesundhaus-font) !important;
  font-weight: 400;
  color: var(--gesundhaus-ink) !important;
  background: var(--gesundhaus-white) !important;
}
body[data-theme="gesundhaus"] :is(h1,h2,h3,h5,h6,p,li,a,label,input,select,textarea,button,summary,table,.btn) {
  font-family: var(--gesundhaus-font) !important;
}
body[data-theme="gesundhaus"] :is(h1,h2,h3,h6,strong,b,.fw-bold,.fw-semibold,summary,.brand-title) {font-weight:700 !important}
body[data-theme="gesundhaus"] :is(h1,h2,h3,h4,h5,h6) {letter-spacing:0 !important}
body[data-theme="gesundhaus"] :is(h4,blockquote,.quote blockquote) {font-family:var(--gesundhaus-serif) !important;font-weight:400 !important;letter-spacing:0 !important}
body[data-theme="gesundhaus"] :is(h1,h2,h3,h4,h6,.lead,.section-head p,.card p,.faq-answer,.quote p,.location,.text-muted,.form-text) {color:var(--gesundhaus-ink) !important}
body[data-theme="gesundhaus"] :is(h5,.eyebrow,.number,.check,.gesundhaus-kicker) {color:var(--gesundhaus-mustard) !important}
body[data-theme="gesundhaus"] a:not(.btn):not(.gh-link) {color:var(--gesundhaus-magenta);text-decoration-color:currentColor}
body[data-theme="gesundhaus"] a:not(.btn):not(.gh-link):hover {color:var(--gesundhaus-berry)}

/* White main navigation, black type; exact global header roles of the source. */
body[data-theme="gesundhaus"] :is(header,.top,.topbar,.tenant-banner,.gesundhaus-pro-header,.gesundhaus-legal-header) {
  background:var(--gesundhaus-white) !important;
  color:var(--gesundhaus-ink) !important;
  border-bottom:4px solid var(--gesundhaus-mustard) !important;
}
body[data-theme="gesundhaus"] :is(header,.top,.topbar,.tenant-banner) :is(a:not(.btn),strong,h1,h2,h3,.brand,.brand-title,.brand-meta,.topbar-user),
body[data-theme="gesundhaus"] :is(.top .brand,.gesundhaus-pro-title,.gesundhaus-legal-header a) {color:var(--gesundhaus-ink) !important}
body[data-theme="gesundhaus"] :is(header,.top,.topbar,.tenant-banner) a:not(.btn):hover {color:var(--gesundhaus-magenta) !important}
body[data-theme="gesundhaus"] :is(.top,.topbar,.tenant-banner) svg {color:var(--gesundhaus-ink) !important;fill:currentColor !important}
body[data-theme="gesundhaus"] .brand-logo {display:block !important;width:min(280px,42vw) !important;height:auto !important;max-height:74px !important;object-fit:contain !important;flex:0 0 auto !important}
body[data-theme="gesundhaus"] img[src*="gesundhaus-ituepferl-logo.png"] {background:transparent;padding:0;border-radius:0}
body[data-theme="gesundhaus"] .topbar .container {max-width:none;padding-left:24px;padding-right:24px}
body[data-theme="gesundhaus"].gesundhaus-workspace .hero-logo-row {display:none}
body[data-theme="gesundhaus"].gesundhaus-clone-module > .topbar,
body[data-theme="gesundhaus"].gesundhaus-clone-module > .hero .hero-logo-row {display:none !important}

/* Surface roles: white content, wool alternate section, blue/rose accents. */
body[data-theme="gesundhaus"] .hero {background:var(--gesundhaus-wool) !important}
body[data-theme="gesundhaus"] :is(.hero-card,.dark,.impact .regional) {background:var(--gesundhaus-grey-blue) !important;color:var(--gesundhaus-ink) !important}
body[data-theme="gesundhaus"] :is(.hero-card,.dark) :is(p,li,h2,h3,.location,.flow p,.section-head p) {color:var(--gesundhaus-ink) !important}
body[data-theme="gesundhaus"] :is(.cta-box,.master-nav) {background:var(--gesundhaus-wool) !important;color:var(--gesundhaus-ink) !important}
body[data-theme="gesundhaus"] .cta-box :is(h2,p) {color:var(--gesundhaus-ink) !important}
body[data-theme="gesundhaus"] :is(.card,.quote,.faq-item,.impact .local) {background:var(--gesundhaus-white);border-color:var(--gesundhaus-border)}
body[data-theme="gesundhaus"] .card {border-top-color:var(--gesundhaus-mustard) !important}
body[data-theme="gesundhaus"] .faq-item:nth-child(3n+2) {--faq-color:var(--gesundhaus-grey-blue)}
body[data-theme="gesundhaus"] .faq-item:nth-child(3n) {--faq-color:var(--gesundhaus-rose)}
body[data-theme="gesundhaus"] .tag {background:var(--gesundhaus-magenta);color:var(--gesundhaus-white)}
body[data-theme="gesundhaus"] .master-metric strong {color:var(--gesundhaus-magenta)}
body[data-theme="gesundhaus"] .headline-slide .accent {color:var(--gesundhaus-magenta) !important}
body[data-theme="gesundhaus"] .headline-control::after {background:var(--gesundhaus-magenta)}

/* Source primary action: magenta/white; hover: berry/white. */
body[data-theme="gesundhaus"] :is(.btn,.btn-primary,.btn-secondary,.btn-light,.btn-dark,.btn-ci,.btn-outline-dark,.btn-outline-light,.btn-warning,.gesundhaus-dashboard-btn,.topbar-logout,.gh-assistant-panel button,.gh-link) {
  font-family:var(--gesundhaus-font) !important;
  font-weight:400 !important;
  background:var(--gesundhaus-magenta) !important;
  color:var(--gesundhaus-white) !important;
  border-color:var(--gesundhaus-magenta) !important;
  text-decoration:none;
}
body[data-theme="gesundhaus"] :is(.btn,.gesundhaus-dashboard-btn,.topbar-logout,.gh-assistant-panel button,.gh-link):is(:hover,:focus-visible) {
  background:var(--gesundhaus-berry) !important;color:var(--gesundhaus-white) !important;border-color:var(--gesundhaus-berry) !important;
}
body[data-theme="gesundhaus"] .gesundhaus-dashboard-btn {display:inline-flex;align-items:center;gap:.35rem;padding:.48rem .8rem;border:1px solid;border-radius:.65rem}
body[data-theme="gesundhaus"] :is(.progress-bar,.nav-pills .nav-link.active) {background:var(--gesundhaus-magenta) !important;color:var(--gesundhaus-white) !important}
body[data-theme="gesundhaus"] :is(.btn,.gh-link,.gh-assistant-panel button) :is(svg,i) {color:var(--gesundhaus-white) !important;fill:currentColor !important;stroke:currentColor !important}
body[data-theme="gesundhaus"] :is(#qmp-back-to-top,#backToTop,#backToTopBtn,.back-to-top,.floating-top) {width:52px !important;height:52px !important;padding:0 !important;border:2px solid var(--gesundhaus-magenta) !important;border-radius:12px !important;background:var(--gesundhaus-magenta) !important;color:var(--gesundhaus-white) !important;align-items:center !important;justify-content:center !important}
body[data-theme="gesundhaus"] :focus-visible {outline:3px solid var(--gesundhaus-magenta);outline-offset:3px}
html[data-theme="gesundhaus"] body[data-theme="gesundhaus"] :is(input,select,textarea,.form-control,.form-select) {color:var(--gesundhaus-ink) !important;background-color:var(--gesundhaus-white) !important;border-color:var(--gesundhaus-border) !important}
body[data-theme="gesundhaus"] :is(.form-control,.form-select):focus {border-color:var(--gesundhaus-magenta);box-shadow:0 0 0 .2rem rgb(188 65 144 / 20%)}

body[data-theme="gesundhaus"] footer {background:var(--gesundhaus-grey-blue) !important;color:var(--gesundhaus-ink) !important}
body[data-theme="gesundhaus"] footer :is(p,a,.foot a,.foot p) {color:var(--gesundhaus-ink) !important}
body[data-theme="gesundhaus"] footer a:hover {color:var(--gesundhaus-magenta) !important}

/* The shared footer may be injected after this stylesheet. */
body[data-theme="gesundhaus"] footer.portal-canonical-footer {font-family:var(--gesundhaus-font) !important;background:var(--gesundhaus-grey-blue) !important;color:var(--gesundhaus-ink) !important;border-top-color:var(--gesundhaus-mustard) !important}
body[data-theme="gesundhaus"] .portal-canonical-footer .portal-footer-note,
body[data-theme="gesundhaus"] .portal-canonical-footer a,
body[data-theme="gesundhaus"] .portal-footer-separator {color:var(--gesundhaus-ink) !important;text-decoration-color:currentColor !important}
body[data-theme="gesundhaus"] .portal-canonical-footer a:hover {color:var(--gesundhaus-magenta) !important}
body[data-theme="gesundhaus"] .portal-canonical-footer a:focus-visible {outline-color:var(--gesundhaus-magenta) !important}

@media(max-width:580px) {
  body[data-theme="gesundhaus"] .topbar .container {padding-left:12px;padding-right:12px}
  body[data-theme="gesundhaus"] .brand-logo {width:min(210px,42vw) !important;max-height:54px !important}
}
