/* This compatibility layer owns colours across legacy page templates and Bootstrap.
   Component geometry, typography and image assets remain in app.css. */
:root {
  --bs-body-bg:var(--reiki-page);--bs-body-color:var(--reiki-text);
  --bs-emphasis-color:var(--reiki-text);--bs-secondary-color:var(--reiki-muted);
  --bs-tertiary-color:var(--reiki-muted);--bs-secondary-bg:var(--reiki-surface-muted);
  --bs-tertiary-bg:var(--reiki-surface-muted);--bs-border-color:var(--reiki-border);
  --bs-link-color:var(--reiki-link);--bs-link-hover-color:var(--reiki-link-hover);
  --bs-primary-text-emphasis:var(--reiki-primary);--bs-success-text-emphasis:var(--reiki-success);
  --bs-danger-text-emphasis:var(--reiki-danger);--bs-info-text-emphasis:var(--reiki-info);
  --bs-warning-text-emphasis:var(--reiki-gold);
  --progress-gold:var(--reiki-gold);--progress-gold-bright:var(--reiki-gold-hover);--progress-gold-dark:var(--reiki-gold);
}
:root body {background:var(--reiki-page);color:var(--reiki-text)}
:root a {color:var(--reiki-link)}
:root a:hover {color:var(--reiki-link-hover)}
:root :is(.bg-white,.bg-light,.bg-softgray,.bg-soft-gray,.bg-haze,.section-vorteile) {background:var(--reiki-surface) !important;color:var(--reiki-text)}
:root :is(.bg-creme,.bg-cream,.bg-soft-gold,.bg-lightgold,.bg-usp,.section-quote,.cta-reiki) {background:var(--reiki-surface-warm) !important;color:var(--reiki-text)}
:root :is(.bg-lavender,.bg-light-violet,.bg-reiki-blush,.bg-blush) {background:var(--reiki-surface-violet) !important;color:var(--reiki-text)}
:root :is(.bg-reiki-highlight,.bg-reiki-mint,.bg-mint,.bg-soft-blue) {background:var(--reiki-surface-mint) !important;color:var(--reiki-text)}
:root :is(.bg-energy,.bg-gradient) {background:var(--reiki-primary) !important;color:var(--reiki-on-primary)}
:root :is(.text-dark,.text-body,.text-black) {color:var(--reiki-text) !important}
:root :is(.text-muted,.text-secondary,.blockquote-footer,.text-body-secondary) {color:var(--reiki-muted) !important}
:root :is(.text-gold,.text-warning) {color:var(--reiki-gold) !important}
:root :is(.text-violet,.text-indigo,.text-primary,.text-primary-emphasis) {color:var(--reiki-primary) !important}
:root .text-success {color:var(--reiki-success) !important}
:root .text-danger {color:var(--reiki-danger) !important}
:root .text-info {color:var(--reiki-info) !important}
:root :is(.card,.reiki-card,.retreat-card,.modal-content,.dropdown-menu,.list-group-item,.toast,.consent-panel) {background:var(--reiki-surface) !important;color:var(--reiki-text);border-color:var(--reiki-border);--bs-card-color:var(--reiki-text);--bs-card-bg:var(--reiki-surface);--bs-modal-bg:var(--reiki-surface);--bs-dropdown-color:var(--reiki-text);--bs-dropdown-link-color:var(--reiki-text);--bs-dropdown-link-hover-bg:var(--reiki-surface-muted);--bs-dropdown-link-hover-color:var(--reiki-text)}
:root :is(.card-header,.card-footer,.modal-header,.modal-footer,.toast-header) {background:var(--reiki-surface-muted);color:var(--reiki-text);border-color:var(--reiki-border)}
:root :is(.table,.table-striped) {--bs-table-bg:var(--reiki-surface);--bs-table-color:var(--reiki-text);--bs-table-striped-bg:var(--reiki-surface-muted);--bs-table-striped-color:var(--reiki-text);--bs-table-border-color:var(--reiki-border)}
:root :is(.form-control,.form-select,.form-check-input) {background-color:var(--reiki-surface) !important;color:var(--reiki-text) !important;border-color:var(--reiki-border)}
:root :is(.form-control,.form-select):focus {border-color:var(--reiki-focus);box-shadow:none;outline:2px solid var(--reiki-focus);outline-offset:2px}
:root .form-control::placeholder {color:var(--reiki-muted);opacity:1}
:root .form-check-input:checked {background-color:var(--reiki-primary) !important;border-color:var(--reiki-primary)}
:root :is(.form-text,.invalid-feedback) {color:var(--reiki-muted)}
:root .invalid-feedback {color:var(--reiki-danger)}
:root :is(.navbar,.navbar.bg-light) {background:var(--reiki-surface) !important;color:var(--reiki-text);--bs-navbar-color:var(--reiki-text);--bs-navbar-active-color:var(--reiki-text);--bs-navbar-hover-color:var(--reiki-link)}
:root .navbar :is(.nav-link,.navbar-brand,.dropdown-toggle) {color:var(--reiki-text) !important}
:root .navbar-toggler {color:var(--reiki-text);border-color:var(--reiki-border);filter:none}
:root .navbar-toggler-icon {background-image:none;position:relative;border-block:2px solid currentColor;height:1rem;width:1.25rem}
:root .navbar-toggler-icon::after {content:'';position:absolute;inset:calc(50% - 1px) 0 auto;border-top:2px solid currentColor}
:root .btn {text-shadow:none;transition-property:transform,box-shadow !important}
:root :is(.btn-gold,.btn-gradient-gold,.btn-warning) {background:var(--reiki-gold) !important;color:var(--reiki-on-gold) !important;border-color:var(--reiki-gold) !important}
:root :is(.btn-gold,.btn-gradient-gold,.btn-warning):is(:hover,:focus-visible) {background:var(--reiki-gold-hover) !important}
:root :is(.btn-primary,.btn-reiki,.btn-reiki-energy) {background:var(--reiki-primary) !important;color:var(--reiki-on-primary) !important;border-color:var(--reiki-primary) !important}
:root :is(.btn-primary,.btn-reiki,.btn-reiki-energy):is(:hover,:focus-visible) {background:var(--reiki-primary-hover) !important}
:root .btn-success {background:var(--reiki-success) !important;color:var(--reiki-on-success) !important;border-color:var(--reiki-success)}
:root :is(.btn-outline-secondary,.btn-outline-warning,.btn-outline-reiki) {background:var(--reiki-surface) !important;color:var(--reiki-gold) !important;border-color:var(--reiki-gold) !important}
:root :is(.btn-outline-primary,.btn-outline-dark,.btn-outline-light) {background:var(--reiki-surface) !important;color:var(--reiki-primary) !important;border-color:var(--reiki-primary)}
:root .btn-outline-success {background:var(--reiki-surface);color:var(--reiki-success) !important;border-color:var(--reiki-success)}
:root .btn-outline-danger {background:var(--reiki-surface);color:var(--reiki-danger);border-color:var(--reiki-danger)}
:root .btn-outline-info {background:var(--reiki-surface);color:var(--reiki-info);border-color:var(--reiki-info)}
:root :is(.accordion-item,.accordion-button,.accordion-body) {background:var(--reiki-surface) !important;color:var(--reiki-text) !important;border-color:var(--reiki-border)}
:root .accordion-button:not(.collapsed) {background:var(--reiki-surface-warm) !important;color:var(--reiki-gold) !important}
:root .reiki-link-box {background:var(--reiki-surface-warm) !important;color:var(--reiki-text) !important}
:root .reiki-link-box:is(:hover,:focus-visible,.active) {background:var(--reiki-gold) !important;color:var(--reiki-on-gold) !important}
:root .alert {background:var(--reiki-surface-muted);color:var(--reiki-text);border-color:var(--reiki-border)}
:root .alert-danger {border-color:var(--reiki-danger)}
:root .alert-success {border-color:var(--reiki-success)}
:root .progress {background:var(--reiki-surface-muted)}
:root .progress-bar {background:var(--reiki-primary);color:var(--reiki-on-primary)}
:root :focus-visible {outline:3px solid var(--reiki-focus);outline-offset:3px}
:root .skip-link {background:var(--reiki-surface);color:var(--reiki-text);border-color:var(--reiki-focus)}
/* One reliable scrim over every image, in either mode. */
:root .hero-section {isolation:isolate;color:var(--reiki-hero-text) !important;text-shadow:none}
:root .hero-section::before {content:'';position:absolute;inset:0;background:var(--reiki-hero-scrim);z-index:0;pointer-events:none}
:root .hero-section::after,:root .hero-section > .overlay {display:none}
:root .hero-section > :not(.overlay) {position:relative;z-index:1}
:root .hero-section :is(h1,h2,.lead,.profile-introduction p) {color:var(--reiki-hero-text) !important;text-shadow:none}
:root .hero-section .profile-gallery {color:var(--reiki-hero-text)}
:root .profile-gallery__track {background:var(--reiki-surface);border-color:var(--reiki-border)}
:root .profile-gallery .profile-gallery__controls button {background:var(--reiki-surface);color:var(--reiki-gold);border-color:var(--reiki-gold)}
:root body > footer > section {background:var(--reiki-footer) !important;color:var(--reiki-on-footer)}
:root body > footer :is(a,h2,p,.text-light) {color:var(--reiki-on-footer) !important}
@media (prefers-color-scheme:dark) {
  :root .btn-close {filter:invert(1) grayscale(1) brightness(2)}
  :root .form-select {background-image:none;appearance:auto}
  :root .accordion-button::after {filter:brightness(0) invert(1)}
}
@media (forced-colors:active) {
  :root .hero-section {background-image:none !important}
  :root .hero-section::before {display:none}
  :root .hero-section :is(h1,h2,.lead,.profile-introduction p) {color:CanvasText !important}
}

:root .bg-reiki-soft {background:var(--reiki-surface-warm) !important;color:var(--reiki-text)}
:root .reiki-card .card-title {color:var(--reiki-primary)}
:root :is(.reiki-card .card-text,blockquote,.blockquote,.cta-reiki h2) {color:var(--reiki-text)}
:root .badge.bg-warning {background:var(--reiki-gold) !important;color:var(--reiki-on-gold) !important}
:root .contact-section {background:var(--reiki-surface);color:var(--reiki-text)}
:root .contact-title {color:var(--reiki-primary)}
@media(prefers-color-scheme:dark) {:root .navbar-brand img {filter:brightness(0) invert(1)}}

:root .modal-content {color:var(--reiki-text) !important}
:root .modal-content .modal-header {background:var(--reiki-surface-muted) !important;color:var(--reiki-text) !important}
:root .modal-content .btn-close {filter:none;opacity:.85}
@media(prefers-color-scheme:dark) {:root .modal-content .btn-close {filter:invert(1) grayscale(1) brightness(2)}}
