/* Custom Styling */

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

a {
  transition: color 0.3s ease;
}

.video-row {
      display: flex;
      gap: 16px;
      align-items: flex-start;
      justify-content: center;
      flex-wrap: wrap;           /* allows stacking on small screens */
      padding: 16px;
    }
    .video-wrap {
      flex: 1 1 420px;           /* grows, shrinks, and prefers ~420px */
      max-width: 700px;          /* prevents getting too wide on large screens */
    }

/* Profile Image Animation */
.profile-image {
    transition: transform 0.3s ease;
}

.profile-image:hover {
    transform: scale(1.10);
    animation: none;
}

/* Button Styles */
.btn-primary {
    display: inline-block;
    text-decoration: none;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    border: none;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.btn-primary:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

.btn-secondary {
    display: inline-block;
    text-decoration: none;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    border: 2px solid;
    background-color: transparent;
}

.btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

#theme-toggle {
  transition: transform 0.3s ease;
}

#theme-toggle:hover {
  transform: scale(1.05);
}

.nav-link {
    position: relative;
    text-decoration: none;
    font-weight: 500;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
}

.nav-link:hover {
    background-color: rgba(59, 130, 246, 0.1);
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -2px;
    left: 50%;
    background-color: black;
    transition: all 0.3s ease;
}

.nav-link:hover::after {
    width: 100%;
    left: 0;
}

/* Smooth transitions for dark mode */
* {
  transition-property: background-color, border-color, color, fill, stroke;
  transition-duration: 0.4s;
  transition-timing-function: ease-in-out;
}

/* Page transition */
.fade-out {
  animation: fadeOut 0.5s ease forwards;
}

@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}
