/* ═══════════════════════════════════════════ */
/* CUSTOM STYLES                              */
/* ═══════════════════════════════════════════ */

/* Accordion icon rotation */
.accordion-button[aria-expanded="true"] .accordion-icon {
    transform: rotate(180deg);
}

/* Horizontal gallery scrollbar styling */
.gallery-scroll {
    scrollbar-width: thin;
    scrollbar-color: #c6a15b transparent;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
}

.gallery-scroll > * {
    scroll-snap-align: start;
}

.gallery-scroll::-webkit-scrollbar {
    height: 6px;
}

.gallery-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.gallery-scroll::-webkit-scrollbar-thumb {
    background-color: #c6a15b;
    border-radius: 20px;
}

/* Smooth section entrance animations */
.section-animate {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.section-animate.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Team card subtle animation */
.team-card {
    transition: transform 0.3s ease;
}

.team-card:hover {
    transform: translateY(-5px);
}

/* Blob shape floating animation for program head photo */
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-12px); }
}

@keyframes blob-morph {
    0%, 100% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
    25% { border-radius: 58% 42% 58% 42% / 42% 58% 42% 58%; }
    50% { border-radius: 50% 50% 35% 65% / 60% 40% 60% 40%; }
    75% { border-radius: 42% 58% 42% 58% / 58% 42% 58% 42%; }
}

/* Masonry gallery item hover glow */
.grid > .group:hover {
    z-index: 2;
}

/* Hero scroll indicator pulse */
@keyframes pulse-soft {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

/* Responsive adjustments for gallery */
@media (max-width: 640px) {
    .gallery-scroll > div {
        width: 85vw !important;
    }
}