/* Ozone Therapy & Wellness Centre — custom styles */

/* Scroll-reveal (JS toggles .is-visible) */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Navbar states */
#site-nav.nav-scrolled {
  background: rgba(241, 247, 249, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 8px 30px rgba(7, 41, 58, 0.08);
}
#site-nav.nav-on-dark:not(.nav-scrolled) .nav-link { color: rgba(255, 255, 255, 0.85); }
#site-nav.nav-on-dark:not(.nav-scrolled) .nav-link:hover { color: #6FD3EE; }
#site-nav.nav-on-dark:not(.nav-scrolled) a[aria-label*="home"] span span:first-child { color: #ffffff; }
#site-nav.nav-on-dark:not(.nav-scrolled) #menu-toggle { color: #ffffff; }

/* Ambient rising ozone bubbles in the hero */
.bubble {
  position: absolute;
  bottom: -30px;
  border-radius: 9999px;
  background: radial-gradient(circle at 35% 35%, rgba(111, 211, 238, 0.9), rgba(14, 144, 180, 0.35));
  animation: rise 18s linear infinite;
}

/* Toast dismiss animation */
.toast { animation: toast-in 0.4s ease both; }
.toast.toast-out { transition: opacity 0.3s ease, transform 0.3s ease; opacity: 0; transform: translateX(12px); }
@keyframes toast-in {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Visible keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 3px solid #0E90B4;
  outline-offset: 2px;
  border-radius: 6px;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .bubble, .animate-breathe, .animate-floaty { animation: none !important; }
  html { scroll-behavior: auto; }
}
