/* Ridgeline IT Academy — Custom Styles */

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* Scroll animation base states */
.animate-hidden {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.animate-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Header scroll shadow */
.header-scrolled {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  background-color: rgba(255, 255, 255, 0.97);
}

/* Button hover micro-interaction */
a[href="#contact"],
button[type="submit"],
.cta-btn {
  transition: all 0.2s ease;
}

a[href="#contact"]:hover,
button[type="submit"]:hover,
.cta-btn:hover {
  transform: scale(1.02);
}

/* Card hover lift */
.group:hover {
  transform: translateY(-2px);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Form input focus transition */
input:focus,
select:focus,
textarea:focus {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Details/summary FAQ animation */
details summary {
  list-style: none;
}

details summary::-webkit-details-marker {
  display: none;
}

details[open] > div {
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Link hover animation */
a {
  transition: color 0.15s ease;
}

/* Cookie banner entrance */
#cookie-banner {
  animation: slideUp 0.4s ease;
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

/* Mobile menu transition */
#mobile-menu {
  transition: max-height 0.3s ease, opacity 0.3s ease;
}

/* Prose styles for legal pages */
.prose h2 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}

.prose p {
  margin-bottom: 1rem;
}

.prose ul {
  margin-bottom: 1rem;
}

/* Focus-visible for keyboard accessibility */
*:focus-visible {
  outline: 2px solid #0369a1;
  outline-offset: 2px;
  border-radius: 4px;
}

/* Print styles */
@media print {
  header,
  #cookie-banner,
  .cta-btn {
    display: none;
  }

  main {
    padding-top: 0;
  }
}
