/* Custom styles that are cumbersome with pure Tailwind utilities */

/* Material Icon styling adjustments for better alignment */
.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 300,
  'GRAD' 0,
  'opsz' 24;
  vertical-align: middle;
}

/* Link underline hover effect used in navbar */
.nav-link {
    position: relative;
    color: #333;
    transition: color 0.3s;
}

.nav-link:hover {
    color: #717fe0;
}

/* Specific styling for the Active route */
.nav-link.active {
    color: #717fe0;
}

/* Product Card Image Hover - The "Quick View" Button slide up */
.product-card-img-container {
    overflow: hidden;
    position: relative;
}

.product-card-img {
    transition: transform 0.5s ease;
}

.product-card-img-container:hover .product-card-img {
    transform: scale(1.05); /* Slight zoom on image */
}

/* The button starts off slightly below and invisible */
.quick-view-btn {
    position: absolute;
    bottom: -50px; 
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: all 0.4s ease;
    white-space: nowrap;
}

/* On hover of container, button slides up and becomes visible */
.product-card-img-container:hover .quick-view-btn {
    bottom: 20px;
    opacity: 1;
}

/* ========== HERO SLIDER ANIMATIONS ========== */

/* Sliding animation from right (new slide comes from right) */
@keyframes slideInFromRight {
    from {
        opacity: 0;
        transform: translateX(100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Sliding animation from left (new slide comes from left) */
@keyframes slideInFromLeft {
    from {
        opacity: 0;
        transform: translateX(-100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Staggered content fade-in animation */
@keyframes contentFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.slide-enter-right {
    animation: slideInFromRight 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.slide-enter-left {
    animation: slideInFromLeft 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.slide-content-fade {
    animation: contentFadeIn 0.7s ease-out forwards;
    opacity: 0;
}

.hero-slide {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* ========== END HERO SLIDER ANIMATIONS ========== */

/* Button Hover State */
.btn-primary-hover {
    transition: all 0.3s background-color ease;
}
.btn-primary-hover:hover {
    background-color: #717fe0 !important;
    border-color: #717fe0 !important;
    color: white !important;
}
.btn-dark-hover {
    transition: all 0.3s background-color ease;
    background-color: #222;
    color: white;
}
.btn-dark-hover:hover {
    background-color: #717fe0 !important;
}

/* Badge for cart/wishlist */
 .icon-header-item[data-notify]::after {
    content: attr(data-notify);
    font-family: Poppins-Regular;
    font-size: 12px;
    color: #fff;
    line-height: 15px;
    text-align: center;
    display: block;
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    background-color: #717fe0;
    border-radius: 20px;
}
