/* Smooth transitions for all pages */
* {
    transition: background-color 0.3s ease, 
                transform 0.3s ease, 
                opacity 0.3s ease,
                box-shadow 0.3s ease;
}

/* Smooth page transitions */
.page-transition {
    opacity: 0;
    visibility: hidden;
}

.page-transition.visible {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Smooth hover effects */
.nav-link,
.btn,
.card,
.social-links a,
.dropdown-item {
    transition: all 0.3s ease !important;
}

/* Smooth image scaling */
img {
    transition: transform 0.5s ease !important;
}

/* Smooth background transitions */
.hero-section,
.section-bg,
.card,
.modal-content {
    transition: background-color 0.3s ease,
                background-image 0.3s ease,
                transform 0.3s ease !important;
}

/* Smooth dropdown animations */
.dropdown-menu {
    transition: opacity 0.2s ease,
                transform 0.2s ease,
                visibility 0.2s ease !important;
    transform-origin: top;
}

.dropdown-menu.show {
    animation: dropdownFade 0.2s ease forwards;
}

@keyframes dropdownFade {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Smooth modal transitions */
.modal {
    transition: opacity 0.3s ease !important;
}

.modal-dialog {
    transition: transform 0.3s ease !important;
}

/* Smooth form interactions */
.form-control {
    transition: border-color 0.3s ease,
                box-shadow 0.3s ease !important;
}

/* Smooth button interactions */
.btn {
    transition: background-color 0.3s ease,
                color 0.3s ease,
                border-color 0.3s ease,
                transform 0.3s ease !important;
}

.btn:hover {
    transform: translateY(-2px);
}

/* Smooth card interactions */
.card {
    transition: transform 0.3s ease,
                box-shadow 0.3s ease !important;
}

.card:hover {
    transform: translateY(-5px);
}

/* Smooth icon transitions */
.icon,
.fa,
.fas,
.fab {
    transition: transform 0.3s ease,
                color 0.3s ease !important;
}

/* Smooth link underline effect */
.nav-link::after {
    transition: width 0.3s ease !important;
}

/* Smooth loading transitions */
[data-loading] {
    transition: opacity 0.3s ease !important;
}

/* Smooth accordion transitions */
.accordion-button,
.accordion-collapse {
    transition: all 0.3s ease !important;
}

/* Smooth tab transitions */
.tab-content > .tab-pane {
    transition: opacity 0.3s ease !important;
}

/* Smooth list item transitions */
.list-group-item {
    transition: background-color 0.3s ease,
                color 0.3s ease !important;
}

/* Smooth badge transitions */
.badge {
    transition: background-color 0.3s ease,
                color 0.3s ease !important;
} 