/* Explain: Styles for carousel navigation, gift card product display, and autofill. */
/* Custom Swiper Buttons to match Blackhills reference */
.swiper-button-next,
.swiper-button-prev {
    background-color: transparent !important;
    color: #111111 !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top: -12px !important;
    transition: color 0.3s ease;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    color: var(--accent-color) !important;
}

@media (min-width: 768px) {
    .swiper-button-next,
    .swiper-button-prev {
        width: 30px !important;
        height: 30px !important;
        margin-top: -15px !important;
    }
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 26px !important;
    font-weight: 300 !important;
}

/* Carousel spacing so buttons sit outside the cards without covering text */
.swiper-carousel {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

@media (min-width: 768px) {
    .swiper-carousel {
        padding-left: 60px !important;
        padding-right: 60px !important;
    }
}

.swiper-carousel .swiper-button-prev {
    left: 0 !important;
}

.swiper-carousel .swiper-button-next {
    right: 0 !important;
}

/* Prevent Chrome browser autofill from turning footer input white */
footer input:-webkit-autofill,
footer input:-webkit-autofill:hover, 
footer input:-webkit-autofill:focus {
    -webkit-text-fill-color: #ffffff !important;
    -webkit-box-shadow: 0 0 0px 1000px #111111 inset !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* Branded gift card product artwork used in product grids instead of generic/AI images */
.gift-product-card-face {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 18% 18%, rgba(255,255,255,0.18), transparent 28%),
                radial-gradient(circle at 82% 78%, rgba(203,162,88,0.45), transparent 34%),
                linear-gradient(135deg, #000000, #0a0a0a 60%, #151109);
}

.gift-product-card-face::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 18%, rgba(255,255,255,0.24) 45%, transparent 72%);
    transform: translateX(-120%);
    transition: transform 0.7s ease;
}

.group:hover .gift-product-card-face::before,
.gift-product-card-face:hover::before {
    transform: translateX(120%);
}

/* Prevent huge products flash before Swiper initializes */
.swiper-carousel:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    gap: 16px;
    overflow: hidden;
}
.swiper-carousel:not(.swiper-initialized) .swiper-slide {
    width: calc(50% - 8px) !important;
    flex-shrink: 0;
}
@media (min-width: 640px) {
    .swiper-carousel:not(.swiper-initialized) .swiper-wrapper {
        gap: 20px;
    }
    .swiper-carousel:not(.swiper-initialized) .swiper-slide {
        width: calc(50% - 10px) !important;
    }
}
@media (min-width: 768px) {
    .swiper-carousel:not(.swiper-initialized) .swiper-wrapper {
        gap: 24px;
    }
    .swiper-carousel:not(.swiper-initialized) .swiper-slide {
        width: calc(33.333% - 16px) !important;
    }
}
@media (min-width: 1024px) {
    .swiper-carousel:not(.swiper-initialized) .swiper-slide {
        width: calc(25% - 18px) !important;
    }
}