/* Restore legacy public appearance when TanStack admin styles leak into the bundle. */
body:has(.app) {
  margin: 0;
  color: #000;
  font-family: var(--font-normal, "Teko Regular", sans-serif);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: normal;
  background: #fff !important;
  background-color: #fff !important;
  overflow-x: hidden;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

body:has(.app)::before,
body:has(.app)::after {
  content: none !important;
  display: none !important;
}

body:has(.app) .app a:not(.btn) {
  color: inherit;
  text-decoration: none;
  text-decoration-color: initial;
  text-decoration-thickness: initial;
  text-underline-offset: initial;
}

body:has(.app) .app a.btn {
  text-decoration: none;
}

body:has(.app) .app a.btn-primary {
  color: #fff;
  background-color: var(--logo-color);
  border-color: var(--logo-color);
}

body:has(.app) .app a.btn-primary:hover,
body:has(.app) .app a.btn-primary:focus,
body:has(.app) .app a.btn-primary:focus-visible,
body:has(.app) .app a.btn-primary:active {
  color: #fff;
  background-color: color-mix(in srgb, var(--logo-color) 82%, #000);
  border-color: color-mix(in srgb, var(--logo-color) 82%, #000);
  box-shadow: none;
  outline: none;
}

.bg-stats,
.bg-lifegoal {
  position: relative;
  isolation: isolate;
}

.bg-stats > .overlay,
.bg-lifegoal > .overlay {
  z-index: -1;
  pointer-events: none;
}

.bg-stats > .row,
.bg-lifegoal > .row {
  position: relative;
  z-index: 1;
}

.bg-stats .icon-box,
.bg-lifegoal .icon-box {
  position: relative;
  z-index: 2;
}

.bg-stats .icon-box .counter {
  position: relative;
  z-index: 3;
  display: block !important;
  min-height: 1.1em;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Legacy Safari workaround breaks layout when applied to the whole section. */
body[data-browser="Safari"] .bg-stats,
body[data-browser="Safari"] .bg-lifegoal {
  position: relative;
  width: auto;
  height: auto;
  background-attachment: scroll;
}

body:has(.app) header .nav-link {
  color: #000;
}

body:has(.app) header .nav-link:hover,
body:has(.app) header .nav-link.active {
  color: var(--logo-color);
}

#btnSidebar {
  cursor: pointer;
  border: 0;
  background: transparent;
  padding: 0.25rem 0.75rem;
}

.sidebar.left:not(.show) {
  pointer-events: none;
}

.sidebar.show {
  z-index: 1040;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.18);
}

.nav-backdrop {
  position: fixed;
  top: var(--header-height);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1035;
  border: 0;
  margin: 0;
  padding: 0;
  background: rgba(0, 0, 0, 0.35);
  cursor: pointer;
}

header.fixed-top {
  z-index: 1045;
}

body:has(.app) code {
  font-size: inherit;
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 0;
}

/* Show content if AOS has not initialized yet (SSR / before hydration). */
body:not(.aos-enabled) .app [data-aos] {
  opacity: 1 !important;
  transform: none !important;
}

.bg-hero > .row {
  position: relative;
  z-index: 1;
}

.bg-hero.text-white,
.bg-hero.text-white h1,
.bg-hero.text-white h2,
.bg-hero.text-white span,
.bg-hero.text-white a {
  color: #fff;
}
