/* Copyright (c) 2025 Global Minds. All Rights Reserved. */

body {
    font-family: 'Quicksand', sans-serif;
}
html {
    scroll-behavior: smooth;
    /* This adds padding to the top when scrolling to an anchor link,
         preventing the sticky header from hiding the section title. */
    scroll-padding-top: 5rem;
}
/* Define custom brand colors */
:root {
    --brand-purple: #131142;
    --brand-yellow: #ffff00;
    --brand-cyan: #29ABE2;
    --brand-pink: #FF00FF;
    --brand-orange: #F15A24;
    --brand-green: #22B573;
    --brand-red: #c1272d;
}
/* Custom styling for the language dropdown */
.lang-dropdown {
    appearance: none; /* Remove default browser styling */
    background-color: transparent; /* Make background transparent */
    border: none; /* Remove border */
    border-radius: 0.375rem; /* rounded-md */
    padding: 0.5rem 1rem;
    padding-right: 2.5rem; /* Space for custom arrow */
    color: #6b7280; /* Slightly darker grey for text */
    cursor: pointer;
font-size: 0.875rem; /* text-sm */
line-height: 1.25rem; /* leading-5 */
transition: all 0.2s;
/* Updated SVG for subtler arrow color */
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%239ca3af'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'%3E%3C/path%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 0.75rem center;
background-size: 1.25rem;
font-weight: normal; /* Ensure non-bold */
}

.lang-dropdown:focus {
outline: none; /* Remove outline */
border: none; /* Ensure no border on focus */
box-shadow: none; /* Remove box-shadow on focus */
}


/* Mobile menu animation */
#mobile-menu {
transition: transform 0.3s ease-out, opacity 0.3s ease-out;
transform: translateY(-10px);
opacity: 0;
pointer-events: none;
}
#mobile-menu.is-open {
transform: translateY(0);
opacity: 1;
pointer-events: auto;
}

#program-modal {
transition: opacity 0.2s ease-out;
}
#program-modal .modal-content-container {
transition: transform 0.2s ease-out;
}

/* Program slide pulse animation */
@keyframes pulse {
50% {
transform: scale(1.05);
}
}
.program-slide {
animation: pulse 2.5s infinite cubic-bezier(0.4, 0, 0.6, 1);
}

.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease-in-out;
}
.accordion-button.active svg {
transform: rotate(180deg);
}
/* Styling for the contact link in the modal */
.program-contact-link {
display: inline-flex;
align-items: center;
gap: 0.5rem;
/* margin-top: 1rem; /* Removed, footer handles spacing */ */
padding: 0.5rem 1rem; /* Reduced padding */
background-color: #e5e7eb; /* gray-200 */
color: #4b5563; /* gray-700 */
font-weight: 600; /* Slightly less bold */
border-radius: 0.5rem;
transition: background-color 0.3s ease;
text-decoration: none; /* Remove underline for anchor tag */
cursor: pointer;
font-size: 0.875rem; /* text-sm */
}
.program-contact-link:hover {
background-color: #d1d5db; /* gray-300 on hover */
}
.program-contact-link svg {
width: 1.25rem; /* Smaller icon size */
height: 1.25rem; /* Smaller icon size */
fill: currentColor;
}
/* Added styles for lists inside modal content for better readability */
#modal-content ul {
list-style: disc;
padding-left: 1.5rem;
margin-top: 0.75rem;
margin-bottom: 0.75rem;
}
#modal-content li {
margin-bottom: 0.5rem;
}
#modal-content p {
margin-bottom: 0.75rem;
}
#modal-content p:last-child {
margin-bottom: 0;
}

.university-card {
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

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

/* --- Infinite Scroller --- */
.scroller {
  max-width: 900px;
  margin: auto;
}

.scroller__inner {
  padding-block: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}

.scroller[data-animated="true"] {
  overflow: hidden;
  -webkit-mask: linear-gradient(
    90deg,
    transparent,
    white 20%,
    white 80%,
    transparent
  );
  mask: linear-gradient(90deg, transparent, white 20%, white 80%, transparent);
}

.scroller[data-animated="true"] .scroller__inner {
  width: max-content;
  flex-wrap: nowrap;
  animation: scroll var(--_animation-duration, 40s)
    var(--_animation-direction, forwards) linear infinite;
}

.scroller[data-speed="fast"] {
  --_animation-duration: 20s;
}

.scroller[data-speed="slow"] {
  --_animation-duration: 60s;
}

@keyframes scroll {
  to {
    transform: translate(calc(-50% - 2rem));
  }
}

.tag-list a {
  display: inline-block;
  height: 50px; /* Adjust height as needed */
  transition: transform 0.3s ease;
}

.tag-list a:hover {
    transform: scale(1.1);
}

.tag-list img {
    height: 100%;
    width: auto;
    opacity: 0.8;
    transition: filter 0.3s ease, opacity 0.3s ease;
}

.tag-list a:hover img {
    opacity: 1;
}

.scroller__inner:hover {
    animation-play-state: paused;
}
