/* Aspect ratio for consistent proportions */
.categoryCard-height {
    aspect-ratio: 4/5;
    /* Width:height ratio = 4:5 */
}

@media (min-width: 640px) {
    .categoryCard-height {
        aspect-ratio: 3/4;
        /* Ratio for sm+ */
    }
}

/* Pattern background for D-SERIES card (blue theme) */
.pattern-bg-blue {
    background:
        repeating-linear-gradient(90deg,
            transparent,
            transparent 20px,
            rgba(255, 255, 255, 0.08) 20px,
            rgba(255, 255, 255, 0.08) 22px),
        repeating-linear-gradient(0deg,
            transparent,
            transparent 20px,
            rgba(255, 255, 255, 0.05) 20px,
            rgba(255, 255, 255, 0.05) 22px),
        linear-gradient(135deg, #dbeafe 0%, #bfdbfe 50%, #93c5fd 100%);
}

/* Pattern background for E-SERIES card (green theme) */
.pattern-bg-green {
    background:
        linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.05) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.05) 75%),
        linear-gradient(135deg, #d1fae5 0%, #a7f3d0 50%, #6ee7b7 100%);
    background-size: 30px 30px, 30px 30px, 30px 30px, 30px 30px, 100% 100%;
    background-position: 0 0, 0 15px, 15px -15px, -15px 0px, center;
}

/* Pattern background for F-SERIES card (orange theme) */
.pattern-bg-orange {
    background:
        radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.15) 2px, transparent 2px),
        radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.1) 1px, transparent 1px),
        radial-gradient(circle at 40% 60%, rgba(255, 255, 255, 0.08) 1.5px, transparent 1.5px),
        linear-gradient(135deg, #fed7aa 0%, #fdba74 50%, #fb923c 100%);
    background-size: 60px 60px, 40px 40px, 80px 80px, 100% 100%;
}

/* Product Categories Swiper Styles */
.swiper-button-next,
.swiper-button-prev {
    width: 48px;
    height: 48px;
    background: #ffffff;
    border: 2px solid #e5e7eb;
    color: #374151 !important;
    transition: all 0.3s ease;
    margin-top: 0;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    margin: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.swiper-button-prev {
    border-radius: 8px 0 0 8px;
    border-right: 1px solid #d1d5db;
}

.swiper-button-next {
    border-radius: 0 8px 8px 0;
    border-left: 1px solid #d1d5db;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    background: #3b82f6;
    color: white !important;
    border-color: #3b82f6;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
    z-index: 1;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 16px;
    font-weight: bold;
}

.swiper-navigation-container {
    display: flex;
    justify-content: center;
    margin-top: 32px;
    padding: 0 16px;
}

.swiper-button-next,
.swiper-button-prev {
    display: flex !important;
}

@media (min-width: 1280px) {

    .swiper-button-next,
    .swiper-button-prev {
        display: none !important;
    }

    .swiper-navigation-container {
        display: none;
    }
}

@media (max-width: 1023px) {

    .swiper-button-next,
    .swiper-button-prev {
        width: 40px;
        height: 40px;
    }
}