/* Custom styles beyond Tailwind */

/* Base styles */
body {
    font-family: "Inter", sans-serif;
    color: #1e293b;
  }
  .loader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    z-index: 9999;
  }
  .loader {
    font-weight: bold;
    font-family: monospace;
    font-size: 30px;
    display: inline-flex;
  }
  .loader::before {
    content:"Loadi";
    animation: l27 2s infinite;
  }
  .loader::after {
    content:"ng...";
    animation: l27 2s infinite 1s;
  }
  
@keyframes l27{
  50%,100%{transform:rotate(1turn)}
}

  /* Smooth scrolling */
  html {
    scroll-behavior: smooth;
  }
  
  @import url("https://fonts.googleapis.com/css2?family=Inter&display=swap");

  :root {
    --primary: #5627e6;
    --primary-hover: #4318d1;
    --text-primary: #1a1a1a;
    --text-secondary: #666;
    --border-color: #0000001a;
    --bg-hover: #f5f5f5;
  }
  
  body {
    font-family: "Inter", sans-serif;
    margin: 0;
    min-height: 100vh;
    background: white;
  }
  
  .nav-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: white;
    border-bottom: 1px solid var(--border-color);
    z-index: 50;
  }
  
  .nav-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 1.5rem;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
  }
  
  .nav-left {
    display: flex;
    align-items: center;
    gap: 3rem;
  }
  
  .logo-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 140px;
    text-decoration: none;
  }
  
  .logo-image {
    width: 38px;
    height: 30px;
    object-fit: contain;
  }
  
  .logo-text {
    font-size: 24px;
    font-weight: 600;
    color: var(--text-primary);
    letter-spacing: -0.5px;
  }
  
  .desktop-menu {
    display: flex;
    align-items: center;
    gap: 2rem;
  }
  
  @media (max-width: 1024px) {
    .desktop-menu {
      display: none;
    }
  }
  
  .nav-link {
    font-size: 15px;
    font-weight: 500;
    color: var(--text-primary);
    text-decoration: none;
    transition: color 0.2s;
  }
  
  .nav-link:hover {
    color: var(--primary);
  }
  
  .dropdown-container {
    position: relative;
  }
  
  .dropdown-button {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 15px;
    font-weight: 500;
    color: var(--text-primary);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
  }
  
  .dropdown-button:hover {
    color: var(--primary);
  }
  
  .dropdown-icon {
    width: 16px;
    height: 16px;
    transition: transform 0.2s;
  }
  
  .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0.5rem;
    width: 240px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    padding: 0.5rem;
  }
  
  .destination-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
  }
  
  .destination-link:hover {
    background: var(--bg-hover);
  }
  
  .flag {
    font-size: 18px;
  }
  
  .destination-info {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
  }
  
  .destination-name {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
  }
  
  .university-count {
    font-size: 13px;
    color: var(--text-secondary);
  }
  
  .nav-right {
    display: flex;
    align-items: center;
    gap: 1.5rem;
  }
  
  .apply-button {
    padding: 0.625rem 1.5rem;
    border-radius: 9999px;
    background: var(--primary);
    color: white;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s;
    box-shadow: 0 2px 6px rgba(86, 39, 230, 0.1);
  }
  
  @media (max-width: 1024px) {
    .apply-button {
      display: none;
    }
  }
  
  .apply-button:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(86, 39, 230, 0.2);
  }
  
  .mobile-menu-button {
    display: none;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }
  
  @media (max-width: 1024px) {
    .mobile-menu-button {
      display: block;
    }
  }
  
  .menu-icon {
    width: 24px;
    height: 24px;
    color: var(--text-primary);
  }
  
  .mobile-menu {
    display: none;
    position: absolute;
    top: 76px;
    left: 0;
    right: 0;
    background: white;
    border-bottom: 1px solid var(--border-color);
    padding: 1.25rem;
  }
  
  @media (max-width: 1024px) {
    .mobile-menu {
      display: block;
    }
  }
  
  .mobile-menu-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  .mobile-link {
    font-size: 15px;
    color: var(--text-primary);
    font-weight: 500;
    text-decoration: none;
    padding: 0.625rem;
    border-radius: 8px;
    transition: background 0.2s;
  }
  
  .mobile-link:hover {
    background: var(--bg-hover);
  }
  
  .mobile-dropdown-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 15px;
    color: var(--text-primary);
    font-weight: 500;
    background: none;
    border: none;
    padding: 0.625rem;
    border-radius: 8px;
    cursor: pointer;
    width: 100%;
    transition: background 0.2s;
  }
  
  .mobile-dropdown-button:hover {
    background: var(--bg-hover);
  }
  
  .mobile-dropdown-icon {
    width: 16px;
    height: 16px;
    transition: transform 0.2s;
  }
  
  .mobile-dropdown-content {
    margin-left: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .mobile-destination-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s;
  }
  
  .mobile-destination-link:hover {
    background: var(--bg-hover);
  }
  
  .mobile-apply-button {
    background: var(--primary);
    color: white;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    padding: 0.75rem;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(86, 39, 230, 0.1);
  }
  
  
  /* Hover effects */
  .logo-link:hover,
  .button:hover {
    cursor: pointer;
  }

  /* FAQ accordion animation */
  .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
  }
  
  .faq-answer.block {
    max-height: 500px;
  }
  
  /* Button hover effects */
  .apply-button:hover {
    background-color: var(--primary-hover); /* Uses the purple hover color defined in your root variables */
    transform: translateY(-2px); /* Slightly more pronounced lift effect */
    box-shadow: 0 6px 14px rgba(86, 39, 230, 0.25); /* Enhanced shadow */
    transition: all 0.2s ease-out; /* Smooth transition */
  }
  
  .consult-button:hover {
    background-color: rgba(255, 255, 255, 0.1);
  }
  
  /* Process steps connection line (optional) */
  @media (min-width: 1024px) {
    .process-step:not(:last-child)::after {
      content: "";
      position: absolute;
      top: 2rem;
      right: -4rem;
      width: 4rem;
      height: 2px;
      background-color: #e2e8f0;
    }
  }
  
  /* Destination tabs hover effect */
  .destination-tab:hover {
    background-color: #2d3748;
  }
  
  /* Base feature card styles */
  .feature-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    transform-style: preserve-3d;
    overflow: hidden;
    will-change: transform;
    box-shadow: 
    0 4px 10px -3px rgba(0, 0, 0, 0.1), 
    0 2px 6px -2px rgba(0, 0, 0, 0.05);
  }
  
  /* Hover state - enhanced shadow but no Y-translation to avoid conflicting with tilt */
  .feature-card:hover {
    box-shadow:
      0 15px 30px -5px rgba(0, 0, 0, 0.15),
      0 10px 15px -5px rgba(0, 0, 0, 0.1);
  }
  
  /* Active tilt state - deeper shadow effect while mouse is moving on card */
  .feature-card.tilt-active {
    box-shadow:
      0 20px 40px -10px rgba(0, 0, 0, 0.2),
      0 15px 20px -10px rgba(0, 0, 0, 0.15);
  }
  
  /* Add subtle depth effect to card contents */
  .feature-card img {
    transform: translateZ(30px);
    transition: transform 0.3s ease;
  }
  
  .feature-card h3 {
    transform: translateZ(20px);
    transition: transform 0.3s ease;
  }
  
  .feature-card p {
    transform: translateZ(15px);
    transition: transform 0.3s ease;
  }
  
  /* Responsive adjustments */
  @media (max-width: 640px) {
    .step-number {
      width: 3rem;
      height: 3rem;
      font-size: 1.25rem;
    }
  }
  
  @keyframes attention {
     0% {
    transform: scale(1);
    box-shadow: 0 0 0 rgba(91, 33, 255, 0);
  }
  15% {
    transform: scale(1.08);
    box-shadow: 0 0 25px rgba(91, 33, 255, 0.5);
  }
  30% {
    transform: scale(1);
    box-shadow: 0 0 5px rgba(91, 33, 255, 0.2);
  }
  45% {
    transform: scale(1.05);
    box-shadow: 0 0 20px rgba(91, 33, 255, 0.4);
  }
  60% {
    transform: scale(1);
    box-shadow: 0 0 5px rgba(91, 33, 255, 0.2);
  }
  75% {
    transform: scale(1.03);
    box-shadow: 0 0 15px rgba(91, 33, 255, 0.3);
  }
  90% {
    transform: scale(1.01);
    box-shadow: 0 0 10px rgba(91, 33, 255, 0.2);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 rgba(91, 33, 255, 0);
  }
  }
  
  .animate-attention {
    animation: attention 3s ease-in-out;
    position: relative;
    z-index: 5;
  }
  
  @keyframes glow {
    0%, 100% {
      filter: brightness(1);
    }
    50% {
      filter: brightness(1.2);
    }
  }
  
  /* Additional animation for more dramatic effect */
  .apply-button.animate-attention {
    animation: attention 3s ease-in-out, glow 3s ease-in-out;
  }
  
  .consult-button.animate-attention {
    animation: attention 3s ease-in-out;
  }

  img {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
  }



