/* ============================================================================
   Axiostek - custom stylesheet
   Loaded after Tailwind CDN, so we only add what Tailwind cannot express.
   ========================================================================== */

/* Alpine.js: hide [x-cloak] elements until Alpine initialises. */
[x-cloak] { display: none !important; }

/* Smooth scroll behavior for in-page anchor links. */
html { scroll-behavior: smooth; }

/* Make sure long Wagtail rich-text content is readable. */
.prose img { border-radius: 1rem; }

/* Custom scrollbar for admin-like areas */
.nice-padding { padding: 1.5rem; }

/* Tailwind CDN doesn't ship the `navy` palette — define as utility fallback. */
.bg-navy-900 { background-color: #0f1e3a; }
.bg-navy-800 { background-color: #1c2f4d; }
.bg-navy-700 { background-color: #2a4066; }
.text-navy-900 { color: #0f1e3a; }
.text-navy-800 { color: #1c2f4d; }
.border-navy-700 { border-color: #2a4066; }
.hover\:bg-navy-700:hover { background-color: #2a4066; }
.hover\:bg-navy-800:hover { background-color: #1c2f4d; }
.hover\:text-white:hover { color: #fff; }

/* Cyan fallback utilities (Tailwind CDN does ship cyan but to be safe) */
.bg-cyan-50 { background-color: #ecfeff; }
.bg-cyan-100 { background-color: #cffafe; }
.bg-cyan-500 { background-color: #06b6d4; }
.bg-cyan-600 { background-color: #0891b2; }
.text-cyan-400 { color: #22d3ee; }
.text-cyan-500 { color: #06b6d4; }
.text-cyan-600 { color: #0891b2; }
.text-cyan-700 { color: #0e7490; }
.hover\:bg-cyan-500:hover { background-color: #06b6d4; }
.hover\:bg-cyan-600:hover { background-color: #0891b2; }
.hover\:text-cyan-600:hover { color: #0891b2; }
.hover\:text-cyan-700:hover { color: #0e7490; }

/* Focus ring for accessibility */
:focus-visible {
  outline: 2px solid #06b6d4;
  outline-offset: 2px;
}

/* Owl Carousel overrides for the partner logos / STEM gallery */
.owl-theme .owl-nav [class*="owl-"] {
  background-color: #06b6d4 !important;
  color: #fff !important;
  border-radius: 9999px !important;
  padding: 4px 12px !important;
}
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background-color: #06b6d4 !important;
}

/* Print friendliness */
@media print {
  header, footer, .no-print { display: none; }
  body { color: #000; background: #fff; }
}

/* Anchor offset so sticky-header doesn't cover targets */
:target { scroll-margin-top: 80px; }


