/* ----------------------------------------------------
   ANIMATIONS - TRAVEL DEAN
   Keyframe definitions and interactive movement styles
   ---------------------------------------------------- */

/* --- Hero Background Zoom In/Out --- */
@keyframes zoomOutHero {
    0% {
        transform: scale(1.08);
    }
    100% {
        transform: scale(1);
    }
}

/* --- Floating Glass Cards Keyframes --- */
@keyframes floatVertical {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-12px);
    }
    100% {
        transform: translateY(0);
    }
}

@keyframes floatVerticalReverse {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(12px);
    }
    100% {
        transform: translateY(0);
    }
}

/* --- Apply Floating Animations to Hero Cards --- */
.card-one {
    animation: floatVertical 6s ease-in-out infinite;
}

.card-two {
    animation: floatVerticalReverse 8s ease-in-out infinite;
}

/* --- Micro-Interactions & Hover Triggers --- */

/* Image Zoom on Grid Items */
.grid-item .grid-img {
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.grid-item:hover .grid-img {
    transform: scale(1.05);
}

/* Fade-In and Up Overlay for Text Readability */
.grid-item-overlay {
    transition: opacity 0.4s ease;
}

.grid-item:hover .grid-item-overlay {
    opacity: 0.9;
}

/* Vehicle card styling triggers */
.vehicle-card {
    transition: border-color 0.4s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}

.vehicle-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 87, 216, 0.08);
}

/* Process step cards shadow slide */
.step-card {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease;
}

.step-card:hover {
    transform: translateY(-5px);
}

/* Services card hover shift */
.service-card {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease, box-shadow 0.4s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 87, 216, 0.06);
}

.service-icon-box {
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.service-card:hover .service-icon-box {
    transform: scale(1.08) rotate(5deg);
    background-color: var(--secondary-blue) !important;
}

/* Testimonial slide hover */
.testimonial-card {
    transition: border-color 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.04);
}

/* Brand logo hover nudge */
.navbar-brand:hover .brand-accent {
    text-shadow: 0 0 10px rgba(0, 87, 216, 0.3);
}

/* Simple fade-in animation for tab transitions */
.tab-content > .tab-pane {
    display: none;
}
.tab-content > .active {
    display: block;
    animation: fadeInTab 0.5s ease-out forwards;
}

@keyframes fadeInTab {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
