/* ==========================================================================
   Socrates Software - Custom Styles
   ========================================================================== */

/* Custom animations and effects that extend beyond Tailwind */

/* Enhanced scroll indicator animation */
@keyframes gentle-bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

.scroll-indicator {
  animation: gentle-bounce 2s infinite;
}

/* Smooth scroll behavior for the entire page */
html {
  scroll-behavior: smooth;
}

/* Custom gradient overlays */
.gradient-overlay-brand {
  background: linear-gradient(
    135deg,
    rgba(116, 92, 249, 0.1) 0%,
    rgba(116, 92, 249, 0.05) 100%
  );
}

.gradient-overlay-dark {
  background: linear-gradient(
    135deg,
    rgba(0, 0, 0, 0.4) 0%,
    rgba(0, 0, 0, 0.2) 100%
  );
}

/* Enhanced focus states for accessibility */
.focus-enhanced:focus {
  outline: 2px solid #745cf9;
  outline-offset: 2px;
}

/* Custom shadows for depth */
.shadow-brand {
  box-shadow: 0 4px 14px 0 rgba(116, 92, 249, 0.15);
}

.shadow-brand-lg {
  box-shadow: 0 10px 25px 0 rgba(116, 92, 249, 0.15);
}

/* Video iframe responsive wrapper enhancements */
.video-container {
  position: relative;
  overflow: hidden;
  border-radius: 0.75rem;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, 0.1);
}

/* Print styles */
@media print {
  .no-print {
    display: none !important;
  }

  .print-only {
    display: block !important;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .btn-primary {
    border: 2px solid currentColor;
  }

  .btn-outline {
    border-width: 2px;
  }
}

/* Reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html {
    scroll-behavior: auto;
  }
}

/* Custom hover effects for cards */
.card-hover-lift:hover {
  transform: translateY(-4px);
  transition: transform 0.2s ease-in-out;
}

/* Utility classes for content spacing */
.content-spacing > * + * {
  margin-top: 1.5rem;
}

.content-spacing-sm > * + * {
  margin-top: 1rem;
}

.content-spacing-lg > * + * {
  margin-top: 2rem;
}

/* Custom text selection colors */
::selection {
  background: rgba(116, 92, 249, 0.2);
  color: inherit;
}

::-moz-selection {
  background: rgba(116, 92, 249, 0.2);
  color: inherit;
}

/* Loading states */
.loading {
  opacity: 0.6;
  pointer-events: none;
}

/* Custom scrollbar (webkit browsers) */
::-webkit-scrollbar {
  width: 8px;
}

.scroll-indicator {
  left: 47% !important;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #a1a1a1;
}

.dark ::-webkit-scrollbar-track {
  background: #2d2d2d;
}

.dark ::-webkit-scrollbar-thumb {
  background: #555;
}

.dark ::-webkit-scrollbar-thumb:hover {
  background: #777;
}
