/*
 * Renov' Parcours : habillage « Showroom » du carrousel promotionnel
 * (widget renov_el_promo_slider de Renov Elementor Widgets).
 * ---------------------------------------------------------------------------
 * Pur CSS, sans toucher au widget : il ne s'applique qu'aux carrousels qui
 * portent la classe « rn-promo-waouh » (Elementor > Avancé > Classes CSS).
 * Retirer la classe rend au carrousel son apparence d'origine.
 * Contenus (badge, titre, texte, boutons, mention, visuel) inchanges.
 * Le visuel est affiche en entier : ce sont des affiches 4/3 avec du texte.
 * Pleine largeur : le carrousel sort du conteneur et touche les bords de la
 * fenetre ; son texte reste aligne sur la grille du site (--rn-w-boite).
 */

/* ---------- Pleine largeur ---------- */

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] {
    margin-left: calc(50% - 50vw);
    margin-right: 0;
    max-width: 100vw;
    position: relative;
    width: 100vw;
    /* Au-dessus du voile ::before du conteneur Elementor : sans cela, la
       scene isolee passe dessous et boutons, fleches et pastilles ne
       recoivent plus les clics. */
    z-index: 1;
}

/* Variante encadree (classe supplementaire « rn-promo-waouh--boite ») :
   carte arrondie dans la grille du site, pour un carrousel en milieu de page. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type].rn-promo-waouh--boite {
    margin-left: 0;
    max-width: 100%;
    width: 100%;
}

/* Conteneur Elementor qui porte le carrousel pleine largeur : plus de marge
   sous le menu. */
body .elementor .e-con:has(> .rn-promo-waouh:not(.rn-promo-waouh--boite)),
body .elementor .e-con:has(> .e-con-inner > .rn-promo-waouh:not(.rn-promo-waouh--boite)),
body .elementor .e-con:has(> .e-con-inner > .e-con > .rn-promo-waouh:not(.rn-promo-waouh--boite)),
body .elementor .e-con:has(> .e-con > .rn-promo-waouh:not(.rn-promo-waouh--boite)) {
    --padding-block-start: 0px;
    --padding-top: 0px;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider {
    /* Largeur de la grille du site (menu, entete) : le texte s'y aligne. */
    --rn-w-boite: 1604px;
    --rn-w-gouttiere: max(24px, calc((100vw - var(--rn-w-boite)) / 2));
    --rn-w-speed: 7000ms;
    --rn-w-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --rn-w-tilt: perspective(1600px) rotateY(-8deg) rotateX(3deg);
    --rn-w-rayon: 0px;
    /* Couleurs du site : creme #fff4f2, orange Renov' #D74512, encre #10132d,
       filets #ece2d8 (memes valeurs que Renov Elementor Widgets). */
    --rn-w-orange: #D74512;
    --rn-w-bg:
        radial-gradient(50% 85% at 82% 45%, rgba(215, 69, 18, 0.16), transparent 65%),
        linear-gradient(180deg, #fff4f2 0%, #fdf5ef 55%, #ffffff 100%);
    --rn-w-bg-shadow: none;
    --rn-w-fondu: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
    --rn-w-points: rgba(215, 69, 18, 0.22);
    --rn-w-halo-1: rgba(242, 107, 63, 0.26);
    --rn-w-halo-2: rgba(255, 186, 120, 0.3);
    --rn-w-title: #10132d;
    --rn-w-accent: #D74512;
    --rn-w-text: #4a4c5e;
    --rn-w-soft: #727486;
    --rn-w-badge-tx: #D74512;
    --rn-w-pri-bg: #D74512;
    --rn-w-pri-bg-hover: #b9380b;
    --rn-w-pri-tx: #ffffff;
    --rn-w-pri-shine: rgba(255, 255, 255, 0.35);
    --rn-w-pri-shadow: 0 12px 24px -12px rgba(215, 69, 18, 0.55);
    --rn-w-pri-shadow-hover: 0 18px 32px -14px rgba(215, 69, 18, 0.7);
    --rn-w-sec-bg: #ffffff;
    --rn-w-sec-bd: #D74512;
    --rn-w-sec-tx: #D74512;
    --rn-w-sec-hover-bg: #D74512;
    --rn-w-sec-hover-tx: #ffffff;
    --rn-w-focus: #10132d;
    --rn-w-note-bd: #D74512;
    --rn-w-frame-bg: #ffffff;
    --rn-w-frame-bd: #ece2d8;
    --rn-w-frame-shadow: 0 30px 60px -28px rgba(16, 19, 45, 0.35), 0 18px 40px -24px rgba(215, 69, 18, 0.35);
    --rn-w-floor: rgba(215, 69, 18, 0.22);
    --rn-w-count: #10132d;
    --rn-w-track: #ece2d8;
    --rn-w-track-hover: #d9c9ba;
    --rn-w-fill: #D74512;
    --rn-w-fill-glow: none;
    --rn-w-arrow-bg: #ffffff;
    --rn-w-arrow-bd: #ece2d8;
    --rn-w-arrow-shadow: 0 8px 20px -12px rgba(16, 19, 45, 0.35);
    --rn-w-arrow-hover: #D74512;
    padding: 0;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type].rn-promo-waouh--boite .renov-el-promo-slider {
    --rn-w-gouttiere: clamp(24px, 4.5vw, 64px);
    --rn-w-rayon: 22px;
    --rn-w-fondu: linear-gradient(transparent, transparent);
}

/* Carte encadree : meme filet que les cartes produits du site. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type].rn-promo-waouh--boite .renov-el-promo-slider .renov-el-promo-slider__viewport {
    border: 1px solid #ece2d8;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type].rn-promo-waouh--boite .renov-el-promo-slider .renov-el-promo-slider__slide {
    min-height: 0;
}

/* ---------- Scene ---------- */

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__viewport {
    background: var(--rn-w-bg);
    border: 0;
    border-radius: var(--rn-w-rayon);
    box-shadow: var(--rn-w-bg-shadow);
    isolation: isolate;
    overflow: hidden;
}

/* Trame de points aux coins, comme le bandeau sombre « Renov 2cv le
   specialiste » plus bas sur la page. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__viewport::before {
    background-image: radial-gradient(circle, var(--rn-w-points) 1.3px, transparent 1.8px);
    background-size: 22px 22px;
    content: "";
    inset: 0;
    -webkit-mask-image:
        radial-gradient(38% 55% at 100% 0%, #000 0%, transparent 100%),
        radial-gradient(30% 45% at 0% 100%, #000 0%, transparent 100%);
    mask-image:
        radial-gradient(38% 55% at 100% 0%, #000 0%, transparent 100%),
        radial-gradient(30% 45% at 0% 100%, #000 0%, transparent 100%);
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

/* Halo lumineux qui derive lentement derriere le visuel. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__viewport::after {
    animation: rnWAurora 16s ease-in-out infinite alternate;
    background:
        radial-gradient(closest-side, var(--rn-w-halo-1), transparent),
        radial-gradient(closest-side, var(--rn-w-halo-2), transparent);
    background-position: 0 0, 60% 70%;
    background-repeat: no-repeat;
    background-size: 70% 70%, 55% 55%;
    content: "";
    filter: blur(30px);
    height: 120%;
    pointer-events: none;
    position: absolute;
    right: -10%;
    top: -10%;
    width: 70%;
    z-index: 0;
}

/* Fondu vers le blanc de la page en bas du bandeau. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__track::after {
    background: var(--rn-w-fondu);
    bottom: 0;
    content: "";
    height: 160px;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    z-index: -1;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__track {
    position: relative;
    z-index: 1;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide {
    min-height: 560px;
    transform: none;
    transition: opacity 600ms var(--rn-w-ease), visibility 0s linear 600ms;
    visibility: hidden;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active {
    transition: opacity 600ms var(--rn-w-ease), visibility 0s;
    visibility: visible;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide-inner {
    align-items: center;
    column-gap: clamp(32px, 5vw, 96px);
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    height: 100%;
    padding: 52px var(--rn-w-gouttiere) 104px;
}

/* ---------- Texte ---------- */

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__content {
    max-width: 600px;
    padding-right: 0;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__content > * {
    animation: rnWRise 900ms var(--rn-w-ease) backwards;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__content > :nth-child(1) { animation-delay: 120ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__content > :nth-child(2) { animation-delay: 220ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__content > :nth-child(3) { animation-delay: 340ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__content > :nth-child(4) { animation-delay: 460ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__content > :nth-child(5) { animation-delay: 580ms; }

/* Surtitre au format des sections du site (« Vos privileges fidelite ---- ») :
   texte orange en capitales, filet orange qui se trace a l'arrivee. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__badge {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: none;
    border: 0;
    border-radius: 0;
    color: var(--rn-w-badge-tx);
    font-size: 0.8125rem;
    font-weight: 800;
    gap: 14px;
    letter-spacing: 0.12em;
    margin-bottom: 18px;
    padding: 0;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__badge::after {
    background: currentColor;
    border-radius: 999px;
    content: "";
    flex: 0 0 38px;
    height: 2px;
    transform-origin: left center;
    width: 38px;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__badge::after {
    animation: rnWTrait 900ms var(--rn-w-ease) 450ms backwards;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__title {
    color: var(--rn-w-title);
    font-size: clamp(2.5rem, 3.7vw, 3.6rem);
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.05;
    margin-bottom: 20px;
    text-wrap: balance;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__accent {
    color: var(--rn-w-accent);
    white-space: normal;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__description {
    color: var(--rn-w-text);
    font-size: clamp(1rem, 1.15vw, 1.125rem);
    line-height: 1.65;
    margin-bottom: 30px;
    max-width: 540px;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__actions {
    gap: 12px 14px;
    margin-bottom: 26px;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button {
    border-radius: 7px;
    font-size: 0.95rem;
    font-weight: 700;
    isolation: isolate;
    min-height: 52px;
    min-width: 0;
    overflow: hidden;
    padding: 0 30px;
    position: relative;
    transition: transform 260ms var(--rn-w-ease), box-shadow 260ms var(--rn-w-ease), background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button--primary {
    background: var(--rn-w-pri-bg);
    border: 0;
    box-shadow: var(--rn-w-pri-shadow);
    color: var(--rn-w-pri-tx);
}

/* Reflet qui balaie le bouton principal. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button--primary::before {
    background: linear-gradient(110deg, transparent 30%, var(--rn-w-pri-shine) 50%, transparent 70%);
    content: "";
    inset: 0;
    position: absolute;
    transform: translateX(-120%);
    z-index: -1;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__button--primary::before {
    animation: rnWSweep 3.6s ease-in-out 1.4s infinite;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button--primary::after {
    transition: transform 260ms var(--rn-w-ease);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button--primary:hover,
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button--primary:focus-visible {
    background: var(--rn-w-pri-bg-hover);
    box-shadow: var(--rn-w-pri-shadow-hover);
    color: var(--rn-w-pri-tx);
    transform: translateY(-2px);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button--primary:hover::after,
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button--primary:focus-visible::after {
    transform: translateX(4px) rotate(45deg);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button--secondary {
    background: var(--rn-w-sec-bg);
    border: 1px solid var(--rn-w-sec-bd);
    color: var(--rn-w-sec-tx);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button--secondary:hover,
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button--secondary:focus-visible {
    background: var(--rn-w-sec-hover-bg);
    border-color: var(--rn-w-sec-hover-bg);
    color: var(--rn-w-sec-hover-tx);
    transform: translateY(-2px);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button:focus-visible {
    outline: 2px solid var(--rn-w-focus);
    outline-offset: 3px;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__note {
    border-left: 2px solid var(--rn-w-note-bd);
    color: var(--rn-w-soft);
    font-size: 0.85rem;
    line-height: 1.55;
    max-width: 490px;
    padding-left: 14px;
    white-space: pre-line;
}

/* ---------- Visuel : affiche flottante en 3D ---------- */

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__media {
    align-self: center;
    /* Proportions reelles du visuel : il n'est jamais rogne. */
    aspect-ratio: auto;
    background: var(--rn-w-frame-bg);
    border: 1px solid var(--rn-w-frame-bd);
    border-radius: 22px;
    bottom: auto;
    box-shadow: var(--rn-w-frame-shadow);
    clip-path: none;
    height: auto;
    justify-self: end;
    max-width: 780px;
    opacity: 1;
    overflow: visible;
    padding: 10px;
    position: relative;
    right: auto;
    top: auto;
    transform: var(--rn-w-tilt);
    transform-origin: 60% 50%;
    transition: scale 500ms var(--rn-w-ease), transform 700ms var(--rn-w-ease);
    width: 100%;
    z-index: 2;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__media {
    animation:
        rnWEnter 1200ms var(--rn-w-ease) backwards,
        rnWFloat 7s ease-in-out 1200ms infinite;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__media:hover {
    scale: 1.015;
    transform: perspective(1600px) rotateY(-4deg) rotateX(2deg);
}

/* Ancien voile du widget remplace par un reflet de vitrine. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__media::after {
    background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, 0.38) 48%, rgba(255, 255, 255, 0.06) 54%, transparent 60%) no-repeat;
    background-position: 130% 0;
    background-size: 300% 100%;
    border-radius: 14px;
    content: "";
    inset: 10px;
    mix-blend-mode: soft-light;
    pointer-events: none;
    position: absolute;
    z-index: 3;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__media::after {
    animation: rnWGlass 1600ms var(--rn-w-ease) 700ms both;
}

/* Reflet au sol sous l'affiche. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__media::before {
    background: radial-gradient(closest-side, var(--rn-w-floor), transparent);
    bottom: -46px;
    content: "";
    filter: blur(14px);
    height: 60px;
    left: 8%;
    pointer-events: none;
    position: absolute;
    right: 8%;
    z-index: -1;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__image {
    border-radius: 14px;
    height: auto;
    object-fit: contain;
    position: relative;
    transform: none;
    transition: none;
    width: 100%;
    z-index: 1;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__image {
    transform: none;
}

/* ---------- Navigation : compteur + barres de progression ---------- */

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dots {
    align-items: center;
    bottom: 42px;
    gap: 6px;
    left: var(--rn-w-gouttiere);
    transform: none;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dots::before,
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dots::after {
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dots::before {
    color: var(--rn-w-count);
    content: "01";
    font-size: 1.375rem;
    font-weight: 600;
    order: -2;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dots::after {
    color: var(--rn-w-soft);
    content: "/ 01";
    font-size: 0.85rem;
    margin-right: 14px;
    order: -1;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot {
    background: none;
    border: 0;
    border-radius: 0;
    height: 18px;
    position: relative;
    transform: none;
    transition: width 500ms var(--rn-w-ease);
    width: 30px;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot::before,
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot::after {
    border-radius: 4px;
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot::before {
    background: var(--rn-w-track);
    transition: background-color 200ms ease;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot:hover::before {
    background: var(--rn-w-track-hover);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot::after {
    background: var(--rn-w-fill);
    box-shadow: var(--rn-w-fill-glow);
    transform: translateY(-50%) scaleX(0);
    transform-origin: left center;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot.is-active {
    background: none;
    border: 0;
    transform: none;
    width: 64px;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot.is-active::after {
    animation: rnWProgress var(--rn-w-speed) linear both;
}

/* Survol ou focus : le widget met le defilement en pause et le relance a zero. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:hover .renov-el-promo-slider__dot.is-active::after,
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:focus-within .renov-el-promo-slider__dot.is-active::after {
    animation: none;
    transform: translateY(-50%) scaleX(1);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot:focus-visible {
    outline: 2px solid var(--rn-w-focus);
    outline-offset: 2px;
}

/* Fleches precedent / suivant (reglage « Navigation » du widget) :
   en bas a droite, alignees sur le bord droit de l'affiche. */
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: var(--rn-w-arrow-bg);
    border: 1px solid var(--rn-w-arrow-bd);
    aspect-ratio: 1 / 1;
    bottom: 25px;
    box-shadow: var(--rn-w-arrow-shadow);
    flex-shrink: 0;
    height: 52px;
    left: auto;
    /* Le theme impose min-height: 50px aux boutons : sans cela la fleche
       mobile (40 px) devient ovale. */
    max-height: none;
    max-width: none;
    min-height: 0;
    min-width: 0;
    padding: 0;
    top: auto;
    transform: none;
    transition: background-color 200ms ease, border-color 200ms ease, box-shadow 260ms var(--rn-w-ease), transform 260ms var(--rn-w-ease);
    width: 52px;
    /* Au-dessus de la rangee des pastilles (z-index 8, pleine largeur en mobile). */
    z-index: 10;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow--next {
    right: var(--rn-w-gouttiere);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow--prev {
    right: calc(var(--rn-w-gouttiere) + 64px);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow::before {
    border-color: var(--rn-w-title);
    border-right-width: 2.5px;
    border-top-width: 2.5px;
    height: 11px;
    transition: border-color 200ms ease, translate 260ms var(--rn-w-ease);
    width: 11px;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow:hover,
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow:focus-visible {
    background: var(--rn-w-arrow-hover);
    border-color: var(--rn-w-arrow-hover);
    box-shadow: 0 14px 28px -12px var(--rn-w-arrow-hover);
    transform: translateY(-2px);
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow:hover::before,
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow:focus-visible::before {
    border-color: #ffffff;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow--next:hover::before { translate: 2px 0; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow--prev:hover::before { translate: -2px 0; }

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow:focus-visible {
    outline: 2px solid var(--rn-w-focus);
    outline-offset: 3px;
}

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow:active {
    transform: translateY(0) scale(0.94);
}

/* ---------- Compteur et vitesse (generes) ---------- */

body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="0"].is-active) .renov-el-promo-slider__dots::before { content: "01"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="1"].is-active) .renov-el-promo-slider__dots::before { content: "02"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="2"].is-active) .renov-el-promo-slider__dots::before { content: "03"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="3"].is-active) .renov-el-promo-slider__dots::before { content: "04"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="4"].is-active) .renov-el-promo-slider__dots::before { content: "05"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="5"].is-active) .renov-el-promo-slider__dots::before { content: "06"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="6"].is-active) .renov-el-promo-slider__dots::before { content: "07"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="7"].is-active) .renov-el-promo-slider__dots::before { content: "08"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="8"].is-active) .renov-el-promo-slider__dots::before { content: "09"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="9"].is-active) .renov-el-promo-slider__dots::before { content: "10"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="1"]) .renov-el-promo-slider__dots::after { content: "/ 02"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="2"]) .renov-el-promo-slider__dots::after { content: "/ 03"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="3"]) .renov-el-promo-slider__dots::after { content: "/ 04"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="4"]) .renov-el-promo-slider__dots::after { content: "/ 05"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="5"]) .renov-el-promo-slider__dots::after { content: "/ 06"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="6"]) .renov-el-promo-slider__dots::after { content: "/ 07"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="7"]) .renov-el-promo-slider__dots::after { content: "/ 08"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="8"]) .renov-el-promo-slider__dots::after { content: "/ 09"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider:has([data-renov-promo-slide="9"]) .renov-el-promo-slider__dots::after { content: "/ 10"; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="3000"] { --rn-w-speed: 3000ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="3500"] { --rn-w-speed: 3500ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="4000"] { --rn-w-speed: 4000ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="4500"] { --rn-w-speed: 4500ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="5000"] { --rn-w-speed: 5000ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="5500"] { --rn-w-speed: 5500ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="6000"] { --rn-w-speed: 6000ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="6500"] { --rn-w-speed: 6500ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="7000"] { --rn-w-speed: 7000ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="7500"] { --rn-w-speed: 7500ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="8000"] { --rn-w-speed: 8000ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="8500"] { --rn-w-speed: 8500ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="9000"] { --rn-w-speed: 9000ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="9500"] { --rn-w-speed: 9500ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="10000"] { --rn-w-speed: 10000ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="10500"] { --rn-w-speed: 10500ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="11000"] { --rn-w-speed: 11000ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="11500"] { --rn-w-speed: 11500ms; }
body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider[data-speed="12000"] { --rn-w-speed: 12000ms; }

/* ---------- Tablette ---------- */

@media (max-width: 1024px) {
    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider {
        --rn-w-gouttiere: 40px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide {
        min-height: 0;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide-inner {
        grid-template-columns: 1fr;
        padding: 48px var(--rn-w-gouttiere) 100px;
        row-gap: 40px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__content {
        max-width: 640px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__media {
        bottom: auto;
        clip-path: none;
        height: auto;
        justify-self: center;
        left: auto;
        max-width: 660px;
        top: auto;
        transform: perspective(1600px) rotateX(6deg);
        width: 100%;
    }
}

/* ---------- Mobile ---------- */

@media (max-width: 767px) {
    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider {
        --rn-w-gouttiere: 16px;
        padding: 0;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__viewport {
        border-radius: 0;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide-inner {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 16px var(--rn-w-gouttiere) 0;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__media {
        aspect-ratio: auto;
        border-radius: 18px;
        max-width: none;
        order: -1;
        padding: 6px;
        position: relative;
        transform: none;
        width: 100%;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__slide.is-active .renov-el-promo-slider__media {
        animation: rnWEnterMobile 900ms var(--rn-w-ease) backwards;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__media:hover {
        scale: 1;
        transform: none;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__media::before {
        display: none;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__media::after {
        border-radius: 13px;
        inset: 6px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__image {
        border-radius: 13px;
        height: auto;
        inset: auto;
        position: relative;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__content {
        padding: 18px 6px 4px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__badge {
        font-size: 0.75rem;
        gap: 10px;
        margin-bottom: 10px;
        padding: 0;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__badge::after {
        flex-basis: 28px;
        width: 28px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__title {
        font-size: clamp(1.5rem, 6.6vw, 1.875rem);
        line-height: 1.1;
        margin-bottom: 10px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__description {
        font-size: 0.875rem;
        line-height: 1.5;
        margin-bottom: 16px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__actions {
        align-items: stretch;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 14px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__button {
        flex: 1 1 auto;
        font-size: 0.84rem;
        line-height: 1.3;
        min-height: 46px;
        padding: 10px 16px;
        text-align: center;
        width: auto;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__note {
        font-size: 0.75rem;
        line-height: 1.45;
        padding-left: 10px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dots {
        bottom: auto;
        gap: 4px;
        justify-content: flex-start;
        left: auto;
        padding: 12px calc(var(--rn-w-gouttiere) + 6px) 16px;
        position: relative;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot {
        box-sizing: border-box;
        height: 18px;
        padding: 0;
        width: 22px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot::after {
        background: var(--rn-w-fill);
        height: 4px;
        left: 0;
        top: 50%;
        width: auto;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot.is-active {
        width: 44px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot.is-active::after {
        background: var(--rn-w-fill);
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dots::before {
        font-size: 1.125rem;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow {
        bottom: 5px;
        height: 40px;
        min-height: 0;
        width: 40px;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow--next {
        right: calc(var(--rn-w-gouttiere) + 4px);
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow--prev {
        right: calc(var(--rn-w-gouttiere) + 52px);
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__arrow::before {
        height: 9px;
        width: 9px;
    }
}

/* ---------- Animations ---------- */

@keyframes rnWRise {
    from { filter: blur(6px); opacity: 0; transform: translateY(26px); }
    to   { filter: blur(0); opacity: 1; transform: none; }
}

@keyframes rnWEnter {
    from { opacity: 0; transform: perspective(1600px) rotateY(-28deg) rotateX(6deg) translateX(80px) scale(0.88); }
    to   { opacity: 1; transform: var(--rn-w-tilt); }
}

@keyframes rnWEnterMobile {
    from { opacity: 0; transform: translateY(18px) scale(0.96); }
    to   { opacity: 1; transform: none; }
}

@keyframes rnWFloat {
    0%, 100% { translate: 0 0; }
    50%      { translate: 0 -10px; }
}

@keyframes rnWGlass {
    from { background-position: 130% 0; }
    to   { background-position: -30% 0; }
}

@keyframes rnWSweep {
    0%   { transform: translateX(-120%); }
    35%  { transform: translateX(120%); }
    100% { transform: translateX(120%); }
}

@keyframes rnWTrait {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

@keyframes rnWProgress {
    from { transform: translateY(-50%) scaleX(0); }
    to   { transform: translateY(-50%) scaleX(1); }
}

@keyframes rnWAurora {
    0%   { transform: translate3d(0, 0, 0) scale(1); }
    50%  { transform: translate3d(-6%, 8%, 0) scale(1.08); }
    100% { transform: translate3d(4%, -6%, 0) scale(0.96); }
}

/* ---------- Mouvement reduit : tout est visible, rien ne bouge ---------- */

@media (prefers-reduced-motion: reduce) {
    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider *,
    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider *::before,
    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider *::after,
    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__viewport::after {
        animation: none !important;
    }

    body .elementor .elementor-element.elementor-widget.rn-promo-waouh[data-widget_type] .renov-el-promo-slider .renov-el-promo-slider__dot.is-active::after {
        transform: translateY(-50%) scaleX(1);
    }
}
