/* ═══════════════════════════════════════════
   v3 card carousel — shared across listing/home pages
   Included from: index.php, aircraft.php, engine.php, parts.php,
                  vendors/index.php, vendors/manage_products.php
   Issue #371 — keep in one place so the next tweak is a single edit.
   ═══════════════════════════════════════════ */

.v3-carousel-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s var(--v3-ease-lux);
    pointer-events: none;
    overflow: hidden;
    background: #0e1530;
}
.v3-carousel-slide.active {
    opacity: 1;
    pointer-events: auto;
}
.v3-slide-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(24px) brightness(0.55);
    transform: scale(1.1);
    z-index: 0;
    pointer-events: none;
}
/* Suppress the blurred backdrop when the image is a transparent-PNG placeholder,
   otherwise the logo's halo blooms into a white glow on the dark slide bg.
   Matched on full path suffix so vendor uploads with the same filename do not
   accidentally lose their backdrop. */
.v3-slide-backdrop[src$="/assets/pages/img/products/default-part.png"],
.v3-slide-backdrop[src$="/assets/pages/img/products/default-engine.png"],
.v3-slide-backdrop[src$="/assets/pages/img/products/default-aircraft.png"],
.v3-slide-backdrop[src$="/assets/pages/img/products/default-transparent.png"],
.v3-slide-backdrop[src$="/assets/pages/img/products/default-transparent-2.png"] {
    display: none;
}
.v3-carousel-slide > img:not(.v3-slide-backdrop),
.v3-carousel-slide > video {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 1;
    transition: transform 0.5s var(--v3-ease-lux);
}
/* Hover zoom on the active main image — matches both the public listing
   card class (.v3-listing-card) and the vendor-side product card (.product-card). */
.v3-listing-card:hover .v3-carousel-slide.active > img:not(.v3-slide-backdrop),
.product-card:hover .v3-carousel-slide.active > img:not(.v3-slide-backdrop) {
    transform: scale(1.03);
}
