/* ============================================
   Component-Specific Styles
   ============================================ */

/* Mobile Menu */
#mobile-menu {
    transition: transform 0.3s ease-in-out;
}

#mobile-menu.translate-x-full {
    transform: translateX(100%);
}

/* Navigation */
nav a {
    transition: color 0.2s ease;
}

/* Card Hover Effects */
.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-8px);
}

/* Book Card Styles */
.book-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.book-card:hover {
    transform: translateY(-8px) scale(1.02);
}

/* Credential Card Styles */
.credential-card {
    transition: all 0.5s ease;
}

.credential-card:hover {
    background: rgba(50, 17, 212, 0.1);
    border-color: rgba(50, 17, 212, 0.3);
}

/* Modal Styles */
.modal-backdrop {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Button Transitions */
button,
a.button {
    transition: all 0.3s ease;
}

/* Form Input Focus */
input:focus,
textarea:focus {
    outline: none;
    border-color: #3211d4;
    box-shadow: 0 0 0 3px rgba(50, 17, 212, 0.1);
}

/* Gallery Tile Effects */
.gallery-tile {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.gallery-tile:hover {
    transform: scale(1.05);
    box-shadow: 0 20px 40px rgba(50, 17, 212, 0.2);
}

/* Image Transitions */
img {
    transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Gradient Overlays */
.gradient-overlay {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
}

/* Hover Scale Effect */
.hover-scale:hover {
    transform: scale(1.05);
}

/* Rotate Effect */
.hover-rotate:hover {
    transform: rotate(0deg);
}