
.sticki-carousel {
    --sticki-gap: clamp(16px, 1.55vw, 26px);
    --sticki-edge: 34px;
    --sticki-card-bg: rgba(255, 253, 249, .98);
    --sticki-text: #191512;
    --sticki-muted: #7c7269;
    --sticki-button-bg: #191512;
    --sticki-button-text: #fffdf9;
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    padding: 18px 0 28px;
    margin: 0;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-family: inherit;
}
.sticki-carousel--full-width {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.sticki-carousel * { box-sizing: border-box; }

.sticki-card-style-dark {
    --sticki-card-bg: #191512;
    --sticki-text: #fffaf4;
    --sticki-muted: #bcb0a5;
    --sticki-button-bg: #fffaf4;
    --sticki-button-text: #191512;
}
.sticki-card-style-transparent {
    --sticki-card-bg: transparent;
}

.sticki-carousel__viewport {
    width: 100%;
    overflow: hidden;
    padding-left: var(--sticki-edge);
    padding-right: var(--sticki-edge);
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
}
.sticki-carousel__viewport.is-dragging { cursor: grabbing; }

.sticki-carousel__track {
    display: flex;
    align-items: stretch;
    width: max-content;
    gap: var(--sticki-gap);
    padding: 5px 0 18px;
    will-change: transform;
}

.sticki-product-card {
    flex: 0 0 clamp(
        235px,
        calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-desktop) - 1))) / var(--sticki-desktop)),
        340px
    );
    width: clamp(
        235px,
        calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-desktop) - 1))) / var(--sticki-desktop)),
        340px
    );
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(24, 19, 15, .075);
    border-radius: 24px;
    background: var(--sticki-card-bg);
    color: var(--sticki-text);
    box-shadow:
        0 2px 3px rgba(35, 27, 19, .025),
        0 14px 38px rgba(35, 27, 19, .085);
    transform: translateZ(0);
    transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
}
.sticki-card-style-transparent .sticki-product-card {
    border-color: rgba(24,19,15,.05);
    box-shadow: 0 12px 32px rgba(35,27,19,.055);
}
.sticki-product-card:hover {
    transform: translateY(-6px);
    box-shadow:
        0 4px 8px rgba(35,27,19,.035),
        0 24px 54px rgba(35,27,19,.14);
}

.sticki-product-card__media {
    position: relative;
    display: block;
    aspect-ratio: var(--sticki-ratio);
    overflow: hidden;
    background: #ece6df;
}
.sticki-product-card__media::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 22%;
    background: linear-gradient(to top, rgba(12,9,7,.09), transparent);
    pointer-events: none;
}
.sticki-product-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    transition: transform .75s cubic-bezier(.2,.7,.2,1);
}
.sticki-product-card:hover .sticki-product-card__media img {
    transform: scale(1.04);
}

.sticki-product-card__shine {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(112deg, transparent 34%, rgba(255,255,255,.28) 49%, transparent 64%);
    transform: translateX(-140%);
    transition: transform 1s ease;
    pointer-events: none;
}
.sticki-product-card:hover .sticki-product-card__shine {
    transform: translateX(140%);
}

.sticki-product-card__badge {
    position: absolute;
    z-index: 3;
    top: 15px;
    left: 15px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(18, 15, 13, .88);
    color: #fff;
    box-shadow: 0 6px 18px rgba(0,0,0,.13);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    line-height: 1;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}

.sticki-product-card__content {
    display: flex;
    flex-direction: column;
    min-height: 155px;
    padding: 19px 19px 18px;
}
.sticki-product-card__name {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.42;
    font-weight: 600;
    letter-spacing: -.012em;
}
.sticki-product-card__name a {
    color: var(--sticki-text);
    text-decoration: none;
}

.sticki-product-card__rating { margin: -4px 0 10px; }
.sticki-product-card__rating .star-rating {
    float: none;
    margin: 0;
    font-size: 12px;
}

.sticki-product-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 13px;
    margin-top: auto;
}
.sticki-product-card__price {
    color: var(--sticki-text);
    font-size: 15px;
    font-weight: 650;
    white-space: nowrap;
}
.sticki-product-card__price del {
    opacity: .42;
    font-size: .82em;
}
.sticki-product-card__price ins { text-decoration: none; }

.sticki-product-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 41px;
    padding: 10px 15px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: var(--sticki-button-bg);
    color: var(--sticki-button-text) !important;
    box-shadow: 0 8px 18px rgba(20,16,13,.10);
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .01em;
    white-space: nowrap;
    transition: transform .25s ease, opacity .25s ease, box-shadow .25s ease;
}
.sticki-product-card__button:hover {
    transform: translateY(-2px);
    opacity: .92;
    box-shadow: 0 11px 23px rgba(20,16,13,.16);
}

.sticki-carousel-empty {
    padding: 14px;
    border: 1px dashed #bbb;
    border-radius: 10px;
}

@media (max-width: 900px) {
    .sticki-carousel { --sticki-edge: max(22px, env(safe-area-inset-left)); }
    .sticki-product-card {
        flex-basis: clamp(
            245px,
            calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-tablet) - 1))) / var(--sticki-tablet)),
            355px
        );
        width: clamp(
            245px,
            calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-tablet) - 1))) / var(--sticki-tablet)),
            355px
        );
    }
}

@media (max-width: 600px) {
    .sticki-carousel {
        --sticki-gap: 14px;
        --sticki-edge: 16px;
        padding: 10px 0 20px;
    }
    .sticki-carousel__viewport {
        padding-left: var(--sticki-edge);
        padding-right: var(--sticki-edge);
    }
    .sticki-product-card {
        flex-basis: calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-mobile) - 1))) / var(--sticki-mobile));
        width: calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-mobile) - 1))) / var(--sticki-mobile));
        min-width: 255px;
        max-width: 330px;
        border-radius: 20px;
    }
    .sticki-product-card__content {
        min-height: 145px;
        padding: 16px;
    }
    .sticki-product-card__name { font-size: 15px; }
    .sticki-product-card__button {
        min-height: 39px;
        padding: 9px 12px;
        font-size: 10.5px;
    }
}


/* Forme des cartes */
.sticki-corners-rounded .sticki-product-card {
    border-radius: 24px;
}
.sticki-corners-rounded .sticki-product-card__media {
    border-radius: 24px 24px 0 0;
}
.sticki-corners-square .sticki-product-card,
.sticki-corners-square .sticki-product-card__media {
    border-radius: 0 !important;
}

/* Voile noir premium au survol */
.sticki-product-card__overlay {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(8, 7, 6, .52);
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
}
.sticki-product-card__overlay span {
    padding: 11px 18px;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 999px;
    background: rgba(0,0,0,.28);
    color: #fff;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .06em;
    transform: translateY(8px);
    transition: transform .35s ease;
    backdrop-filter: blur(6px);
}
.sticki-hover-black_overlay .sticki-product-card:hover .sticki-product-card__overlay {
    opacity: 1;
}
.sticki-hover-black_overlay .sticki-product-card:hover .sticki-product-card__overlay span {
    transform: translateY(0);
}
.sticki-hover-black_overlay .sticki-product-card:hover .sticki-product-card__media img {
    transform: scale(1.025);
}
.sticki-hover-none .sticki-product-card:hover {
    transform: none;
}
.sticki-hover-none .sticki-product-card:hover .sticki-product-card__media img,
.sticki-hover-none .sticki-product-card:hover .sticki-product-card__shine {
    transform: none;
}
.sticki-hover-none .sticki-product-card__overlay,
.sticki-hover-zoom .sticki-product-card__overlay {
    display: none;
}

/* Mode carte par carte : largeur exacte et cartes entières */
.sticki-carousel[data-scroll-mode="step"] .sticki-carousel__viewport {
    overflow: hidden;
}
.sticki-carousel[data-scroll-mode="step"] .sticki-carousel__track {
    align-items: stretch;
}
.sticki-carousel[data-scroll-mode="step"] .sticki-product-card {
    flex-basis: calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-desktop) - 1))) / var(--sticki-desktop));
    width: calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-desktop) - 1))) / var(--sticki-desktop));
    max-width: none;
    min-width: 0;
}

@media (max-width: 900px) {
    .sticki-carousel[data-scroll-mode="step"] .sticki-product-card {
        flex-basis: calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-tablet) - 1))) / var(--sticki-tablet));
        width: calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-tablet) - 1))) / var(--sticki-tablet));
    }
}
@media (max-width: 600px) {
    .sticki-carousel[data-scroll-mode="step"] .sticki-product-card {
        flex-basis: calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-mobile) - 1))) / var(--sticki-mobile));
        width: calc((100vw - (var(--sticki-edge) * 2) - (var(--sticki-gap) * (var(--sticki-mobile) - 1))) / var(--sticki-mobile));
        min-width: 0;
        max-width: none;
    }
}


/* Mode minimal : image + bouton uniquement */
.sticki-content-minimal_button .sticki-product-card__content {
    min-height: auto;
    padding: 14px 16px 16px;
}
.sticki-content-minimal_button .sticki-product-card__footer {
    justify-content: center;
}
.sticki-content-minimal_button .sticki-product-card__button {
    min-width: 130px;
    justify-content: center;
    background: #111;
    color: #fff !important;
    border-radius: 999px;
}
.sticki-content-minimal_button .sticki-product-card {
    background: transparent;
    border-color: rgba(20,16,13,.06);
}
.sticki-content-minimal_button .sticki-product-card__content {
    background: transparent;
}

/* Mode image uniquement */
.sticki-content-image_only .sticki-product-card {
    background: transparent;
}
.sticki-content-image_only .sticki-product-card__media {
    border-radius: inherit;
}
.sticki-content-image_only .sticki-product-card__media::after {
    display: none;
}

/* Harmonisation premium */
.sticki-content-minimal_button .sticki-product-card__media {
    border-bottom: 1px solid rgba(20,16,13,.06);
}
.sticki-content-minimal_button.sticki-corners-rounded .sticki-product-card__media {
    border-radius: 24px 24px 0 0;
}
.sticki-content-minimal_button.sticki-corners-square .sticki-product-card__media {
    border-radius: 0;
}


/* Titre personnalisable */
.sticki-carousel__heading {
    width: 100%;
    padding-top: var(--sticki-title-top);
    padding-bottom: var(--sticki-title-bottom);
    color: var(--sticki-title-color);
}
.sticki-title-align-left { text-align: left; }
.sticki-title-align-center { text-align: center; }
.sticki-title-align-right { text-align: right; }

.sticki-carousel__subtitle {
    margin-bottom: 8px;
    color: var(--sticki-title-color);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    opacity: .68;
}

.sticki-carousel__title {
    margin: 0;
    color: var(--sticki-title-color);
    font-family: var(--sticki-title-font, inherit);
    font-size: var(--sticki-title-size-desktop);
    line-height: 1.05;
    font-weight: 400;
}

.sticki-carousel__title-decoration {
    display: none;
    margin-top: 14px;
}

.sticki-title-decoration-line .sticki-carousel__title-decoration {
    display: inline-block;
    width: 62px;
    height: 1px;
    background: currentColor;
    opacity: .45;
}
.sticki-title-decoration-diamond .sticki-carousel__title-decoration {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: currentColor;
    transform: rotate(45deg);
    opacity: .7;
}
.sticki-title-decoration-luxury .sticki-carousel__title {
    letter-spacing: .16em;
    text-transform: uppercase;
}
.sticki-title-decoration-luxury .sticki-carousel__subtitle {
    letter-spacing: .24em;
}

@media (max-width: 900px) {
    .sticki-carousel__title {
        font-size: var(--sticki-title-size-tablet);
    }
}
@media (max-width: 600px) {
    .sticki-carousel__title {
        font-size: var(--sticki-title-size-mobile);
    }
    .sticki-carousel__heading {
        padding-left: 16px;
        padding-right: 16px;
    }
}


/* Correctif 2.5.1 : affichage forcé du titre */
.sticki-carousel > .sticki-carousel__heading {
    position: relative !important;
    z-index: 20 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    overflow: visible !important;
    padding-left: max(var(--sticki-edge), 16px);
    padding-right: max(var(--sticki-edge), 16px);
}
.sticki-carousel > .sticki-carousel__heading .sticki-carousel__title,
.sticki-carousel > .sticki-carousel__heading .sticki-carousel__subtitle {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
