/*
 * Vinties Core 1.2.8
 */

/* ===== Cartes ===== */
.vinties-carte {
    position: relative;
    overflow: hidden;
    transform: translateY(0);
    transition: transform .35s ease, box-shadow .35s ease, opacity .6s ease;
    will-change: transform, opacity;
}

.vinties-carte:hover {
    transform: translateY(-8px);
    box-shadow:
        0 18px 35px rgba(0, 0, 0, .20),
        0 0 16px rgba(177, 0, 22, .18);
    z-index: 5;
}

.vinties-carte img {
    transition: transform .35s ease;
}

.vinties-carte:hover img {
    transform: scale(1.05);
}

/* ===== Apparition ===== */
.vinties-reveal {
    opacity: 0;
    transform: translateY(24px);
}

.vinties-reveal.vinties-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ===== Boutons universels ===== */
.vinties-cta-force {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    text-decoration: none !important;
    transition:
        transform .24s ease,
        box-shadow .24s ease,
        filter .24s ease !important;
    will-change: transform;
}

.vinties-cta-force,
.vinties-cta-force *,
.vinties-cta-force:link,
.vinties-cta-force:visited,
.vinties-cta-force:hover,
.vinties-cta-force:focus,
.vinties-cta-force:active {
    text-decoration: none !important;
}

.vinties-cta-force .vinties-shine-universel {
    position: absolute !important;
    z-index: 2 !important;
    top: -70% !important;
    left: 0 !important;
    width: 42% !important;
    height: 240% !important;
    display: block !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.20) 26%,
        rgba(255,255,255,.98) 50%,
        rgba(255,255,255,.20) 74%,
        rgba(255,255,255,0) 100%
    ) !important;
    transform: translateX(-300%) rotate(23deg) !important;
}

.vinties-cta-force > *:not(.vinties-shine-universel),
.vinties-cta-force .elementor-button-content-wrapper,
.vinties-cta-force .elementor-button-text {
    position: relative !important;
    z-index: 4 !important;
}

/* État de secours CSS en plus du JavaScript */
.vinties-cta-force:hover,
.vinties-cta-force.vinties-cta-actif {
    transform: translateY(-5px) scale(1.045) !important;
    filter: brightness(1.12) !important;
    box-shadow:
        0 13px 28px rgba(0, 0, 0, .30),
        0 0 25px rgba(210, 0, 32, .58),
        inset 0 1px 0 rgba(255, 255, 255, .28) !important;
}

.vinties-cta-force:active {
    transform: translateY(1px) scale(.98) !important;
}


/* ===== 3 photos de Galerie Vintage — version sûre =====
   On ne modifie jamais la largeur ni la mise en page des widgets. */

.vinties-galerie-wrap {
    overflow: hidden !important;
    border-radius: 6px;
    line-height: 0;
}

img.vinties-galerie-thumb {
    display: inline-block !important;
    max-width: 100% !important;
    height: auto !important;
    transform: scale(1);
    transform-origin: center center;
    transition:
        transform .42s ease,
        filter .35s ease,
        box-shadow .35s ease !important;
    will-change: transform;
}

.vinties-galerie-wrap:hover img.vinties-galerie-thumb {
    transform: scale(1.10) !important;
    filter: brightness(.88) contrast(1.04) !important;
}

.vinties-galerie-wrap:hover {
    box-shadow:
        0 10px 22px rgba(0,0,0,.26),
        0 0 12px rgba(185,0,25,.20);
}

@media (hover: none), (max-width: 767px) {
    .vinties-carte:hover,
    .vinties-galerie-wrap:hover,
    .vinties-cta-force:hover,
    .vinties-cta-force.vinties-cta-actif {
        transform: none !important;
        filter: none !important;
        box-shadow: none !important;
    }

    .vinties-carte:hover img,
    .vinties-galerie-wrap:hover img.vinties-galerie-thumb {
        transform: none !important;
        filter: none !important;
    }

    .vinties-shine-universel {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vinties-carte,
    .vinties-carte img,
    .vinties-reveal,
    .vinties-cta-force,
    .vinties-apercu-galerie,
    .vinties-apercu-galerie img {
        transition: none !important;
    }

    .vinties-reveal {
        opacity: 1;
        transform: none;
    }
}
