.elementor-widget-vallaurie_card_stack {
    --vcs2-step: 280px;
    --vcs2-top: 80px;
    --vcs2-smoothing: 100;
    --vcs2-scale: .035;
    --vcs2-peek: 12px;
    --vcs2-behind: 3;
    --vcs2-min-height: 400px;
    --vcs2-intro-width: 42%;
    --vcs2-column-gap: 48px;
    --vcs2-shadow-alpha: .08;
    --vcs2-fade-span: 70;
    min-width: 0;
    width: 100%;
    overflow: visible !important;
}
.elementor-widget-vallaurie_card_stack > .elementor-widget-container { overflow: visible !important; }
.vcs2-scene { display: block; position: relative; width: 100%; min-width: 0; }
/* Un vrai bloc de contenu réserve la course : pas de grand padding sticky. */
.vcs2-scene::after { content: ''; display: block; height: calc(max(0, var(--vcs2-count, 4) - 1) * var(--vcs2-step)); }
.vcs2-pin {
    position: sticky;
    top: var(--vcs2-pin-top, var(--vcs2-top));
    overflow: clip;
    width: 100%;
    isolation: isolate;
}
.vcs2-deck {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    padding-top: calc(min(var(--vcs2-count, 4) - 1, var(--vcs2-behind)) * var(--vcs2-peek));
    position: relative;
}
.vcs2-deck > .e-con {
    grid-area: 1 / 1;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: var(--vcs2-min-height) !important;
    height: auto !important;
    margin: 0 !important;
    align-self: stretch !important;
    animation: none !important;
    transition: none !important;
    transform: translate3d(0, var(--vcs2-y, 0px), 0) scale(var(--vcs2-card-scale, 1)) !important;
    transform-origin: center top !important;
    z-index: var(--vcs2-z, 1) !important;
    visibility: var(--vcs2-visibility, visible) !important;
    opacity: var(--vcs2-opacity, 1) !important;
    pointer-events: var(--vcs2-pointer, auto);
    box-shadow: 0 -1px 0 rgb(0 0 0 / var(--vcs2-shadow-alpha)), 0 4px 16px rgb(0 0 0 / var(--vcs2-shadow-alpha));
}
/* Une ancienne carte collée entière dans un slot garde son contenu et remplit le slot. */
.vcs2-deck > .e-con > .e-con:only-child { width: 100% !important; max-width: none !important; margin: 0 !important; animation: none !important; transform: none !important; visibility: visible !important; }
.vcs2-deck:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
.vcs2-scene[data-vcs2-transition="fade"] .vcs2-deck { padding-top: 0; }
.vcs2-scene[data-vcs2-transition="fade"] .vcs2-deck > .e-con { box-shadow: none; }
.vcs2-scene[data-vcs2-transition="fade"] .vcs2-deck > .e-con:not(:first-child) { --vcs2-opacity: 0; --vcs2-visibility: hidden; }
.vcs2-layout {
    display: grid !important;
    grid-template-columns: minmax(0, var(--vcs2-layout-intro, 42%)) minmax(0, 1fr) !important;
    gap: var(--vcs2-layout-gap, 48px) !important;
    align-items: start !important;
    overflow: visible !important;
}
.vcs2-layout > .vcs2-intro { position: sticky !important; top: var(--vcs2-layout-top, 80px) !important; width: 100% !important; height: auto !important; animation: none !important; transform: none !important; visibility: visible !important; }
@media (min-width: 768px) {
    .vcs2-layout > .vcs2-intro {
        min-height: var(--vcs2-intro-height, 0px) !important;
        justify-content: center !important;
    }
}
.vcs2-layout > .vcs2-column { display: block !important; width: 100% !important; min-width: 0 !important; height: auto !important; overflow: visible !important; animation: none !important; transform: none !important; visibility: visible !important; }
.vcs2-scene[data-vcs2-static]::after { height: 0; }
.vcs2-scene[data-vcs2-static] .vcs2-pin { position: relative; top: auto; overflow: visible; }
.vcs2-scene[data-vcs2-static] .vcs2-deck { display: flex; flex-direction: column; gap: 24px; padding-top: 0; }
.vcs2-scene[data-vcs2-static] .vcs2-deck > .e-con { transform: none !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto; }
.vcs2-layout[data-vcs2-static] > .vcs2-intro { position: relative !important; top: auto !important; }
@media (max-width: 767px) {
    .elementor-widget-vallaurie_card_stack { --vcs2-step: 220px; --vcs2-top: 24px; --vcs2-peek: 8px; --vcs2-min-height: 0px; --vcs2-column-gap: 24px; }
    .vcs2-layout { grid-template-columns: minmax(0, 1fr) !important; }
}
/* L'éditeur montre tous les vrais conteneurs ; aucune interception ni réorganisation. */
.elementor-editor-active .vcs2-scene::after { display: none; }
.elementor-editor-active .vcs2-pin { position: relative; top: auto; overflow: visible; }
.elementor-editor-active .vcs2-deck { display: flex; flex-direction: column; gap: 24px; padding-top: 0; }
.elementor-editor-active .vcs2-deck > .e-con { transform: none !important; min-height: 120px !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) {
    .vcs2-scene::after { display: none; }
    .vcs2-pin { position: relative; top: auto; overflow: visible; }
    .vcs2-deck { display: flex; flex-direction: column; gap: 24px; padding-top: 0; }
    .vcs2-deck > .e-con { transform: none !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto; }
}
