    @import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800;900&display=swap');
    
    .espaces-vo-app {
        all: initial;
        display: block !important;
        font-family: 'Cairo', sans-serif !important;
        background: var(--paper) !important;
        color: var(--ink) !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        position: relative !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow-x: hidden !important;
        isolation: isolate !important;
        min-height: auto !important;
        --ink: #0B0D10;
        --paper: #FAF8F3;
        --card: #FFFFFF;
        --gold: #C9971E;
        --gold-light: #F0C866;
        --gold-soft: rgba(201,151,30,.10);
        --slate: #5B6470;
        --line: #E6E2D6;
    }

    .espaces-vo-app.ep-scope-bg {
        min-height: 100vh !important;
    }
    
    .espaces-vo-app,
    .espaces-vo-app *,
    .espaces-vo-app *::before,
    .espaces-vo-app *::after {
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
        font-family: 'Cairo', sans-serif !important;
        text-decoration: none !important;
        list-style: none !important;
        border: none !important;
    }
    
    .espaces-vo-app .ep-wrap {
        max-width: 1300px !important;
        margin: 0 auto !important;
        padding: 0 24px !important;
        position: relative !important;
        z-index: 10 !important;
    }
    
    .espaces-vo-app svg { display: block !important; }
    .espaces-vo-app button { background: none !important; font: inherit !important; color: inherit !important; }
    
    /* BACKGROUND */
    .espaces-vo-app .ep-bg-layer {
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 0 !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }
    .espaces-vo-app .ep-wave {
        position: absolute !important;
        bottom: -10% !important;
        left: -10% !important;
        width: 120% !important;
        height: 120% !important;
        border-radius: 50% !important;
        animation: epWaveMove 22s ease-in-out infinite !important;
    }
    .espaces-vo-app .ep-wave:nth-child(1) {
        background: radial-gradient(ellipse at 30% 50%, rgba(201,151,30,0.05) 0%, transparent 70%) !important;
    }
    .espaces-vo-app .ep-wave:nth-child(2) {
        bottom: -20% !important; left: -5% !important; width: 130% !important; height: 130% !important;
        background: radial-gradient(ellipse at 72% 62%, rgba(201,151,30,0.035) 0%, transparent 70%) !important;
        animation-duration: 27s !important; animation-delay: -6s !important;
    }
    .espaces-vo-app .ep-wave:nth-child(3) {
        bottom: -15% !important; left: -15% !important; width: 150% !important; height: 150% !important;
        background: radial-gradient(ellipse at 50% 38%, rgba(201,151,30,0.025) 0%, transparent 70%) !important;
        animation-duration: 32s !important; animation-delay: -12s !important;
    }
    @keyframes epWaveMove {
        0%, 100% { transform: translate(0,0) scale(1) rotate(0deg); }
        25% { transform: translate(1.5%, -2%) scale(1.015) rotate(1deg); }
        50% { transform: translate(-1%, 3%) scale(0.99) rotate(-1.5deg); }
        75% { transform: translate(2%, -1.5%) scale(1.02) rotate(.5deg); }
    }
    .espaces-vo-app .ep-constellation {
        position: absolute !important;
        top: 0 !important; left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        opacity: .55 !important;
    }
    .espaces-vo-app .ep-star {
        position: absolute !important;
        border-radius: 50% !important;
        background: var(--gold) !important;
        opacity: 0 !important;
        animation: epTwinkle ease-in-out infinite !important;
        will-change: opacity, transform !important;
    }
    @keyframes epTwinkle {
        0%, 100% { opacity: .06; transform: scale(.75); }
        50% { opacity: .4; transform: scale(1.35); }
    }
    .espaces-vo-app .ep-shoot {
        position: absolute !important;
        width: 2px !important;
        height: 2px !important;
        border-radius: 50% !important;
        background: #fff !important;
        box-shadow: 0 0 6px 2px rgba(240,200,102,.55), 0 0 16px 5px rgba(201,151,30,.22) !important;
        opacity: 0 !important;
    }
    .espaces-vo-app .ep-shoot::after {
        content: "" !important;
        position: absolute !important;
        top: 50% !important; right: 0 !important;
        width: 130px !important;
        height: 1px !important;
        background: linear-gradient(to left, rgba(255,255,255,.9), rgba(201,151,30,.25), transparent) !important;
        transform: translateY(-50%) !important;
    }
    .espaces-vo-app .ep-vignette {
        position: absolute !important;
        inset: 0 !important;
        background: radial-gradient(ellipse at 50% 0%, transparent 55%, rgba(250,248,243,.5) 100%) !important;
    }
    @media (prefers-reduced-motion: reduce) {
        .espaces-vo-app .ep-wave { animation: none !important; }
        .espaces-vo-app .ep-star { animation: none !important; opacity: .12 !important; }
        .espaces-vo-app .ep-shoot { display: none !important; }
        .espaces-vo-app .ep-constellation { display: none !important; }
    }
    
    /* REVEAL */
    .espaces-vo-app .ep-reveal { opacity: 1 !important; transform: none !important; }
    .espaces-vo-app.ep-anim-ready .ep-reveal:not(.ep-visible) {
        opacity: 0 !important;
        transform: translateY(28px) !important;
        transition: opacity .8s cubic-bezier(.22,.9,.3,1), transform .8s cubic-bezier(.22,.9,.3,1) !important;
    }
    .espaces-vo-app.ep-anim-ready .ep-reveal.ep-visible {
        opacity: 1 !important;
        transform: translateY(0) !important;
        transition: opacity .8s cubic-bezier(.22,.9,.3,1), transform .8s cubic-bezier(.22,.9,.3,1) !important;
    }
    @media (prefers-reduced-motion: reduce) {
        .espaces-vo-app.ep-anim-ready .ep-reveal:not(.ep-visible) { opacity: 1 !important; transform: none !important; }
    }
    
    /* IMAGE FRAME */
    .espaces-vo-app .ep-img-frame {
        position: relative !important;
        width: 100% !important;
        height: 100% !important;
        overflow: hidden !important;
        background: linear-gradient(120deg, #EFEAD9 0%, #F6F2E6 40%, #EFEAD9 80%) !important;
        background-size: 200% 100% !important;
    }
    .espaces-vo-app .ep-img-frame.ep-loading {
        animation: epShimmer 1.6s ease-in-out infinite !important;
    }
    @keyframes epShimmer {
        0% { background-position: 200% 0; }
        100% { background-position: -200% 0; }
    }
    .espaces-vo-app .ep-img-frame img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
        opacity: 0 !important;
        transition: opacity .5s ease, transform 1.2s cubic-bezier(.22,.9,.3,1) !important;
    }
    .espaces-vo-app .ep-img-frame img.ep-loaded { opacity: 1 !important; }
    .espaces-vo-app .ep-img-frame:hover img.ep-loaded { transform: scale(1.06) !important; }
    .espaces-vo-app .ep-img-frame.ep-fallback {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: linear-gradient(150deg, #14171B 0%, #23272D 55%, #171A1E 100%) !important;
    }
    .espaces-vo-app .ep-img-frame.ep-fallback img { display: none !important; }
    .espaces-vo-app .ep-img-fallback-content {
        display: none !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
        color: rgba(240,200,102,.85) !important;
        text-align: center !important;
        padding: 16px !important;
    }
    .espaces-vo-app .ep-img-frame.ep-fallback .ep-img-fallback-content { display: flex !important; }
    .espaces-vo-app .ep-img-fallback-content svg { width: 30px !important; height: 30px !important; stroke: var(--gold-light) !important; opacity: .9 !important; }
    .espaces-vo-app .ep-img-fallback-content span {
        font-size: 11.5px !important;
        font-weight: 700 !important;
        letter-spacing: .4px !important;
        color: #D9DCE1 !important;
    }
    
    /* HERO */
    .espaces-vo-app .ep-hero {
        padding: 72px 0 40px !important;
        position: relative !important;
        overflow: hidden !important;
        z-index: 5 !important;
    }
    .espaces-vo-app .ep-hero-grid {
        display: grid !important;
        grid-template-columns: 1.05fr 0.95fr !important;
        gap: 56px !important;
        align-items: center !important;
    }
    .espaces-vo-app .ep-eyebrow {
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        letter-spacing: 2.5px !important;
        text-transform: uppercase !important;
        color: var(--gold) !important;
        margin-bottom: 20px !important;
    }
    .espaces-vo-app .ep-eyebrow::before {
        content: "" !important;
        display: block !important;
        width: 26px !important;
        height: 2px !important;
        background: var(--gold) !important;
    }
    .espaces-vo-app .ep-h1 {
        font-family: 'Cairo', sans-serif !important;
        font-weight: 600 !important;
        font-size: 32px !important;
        line-height: 1.15 !important;
        letter-spacing: -0.5px !important;
        color: var(--ink) !important;
        margin-bottom: 22px !important;
    }
    .espaces-vo-app .ep-h1 em { font-style: italic !important; color: var(--gold) !important; }
    .espaces-vo-app .ep-sub {
        font-size: 19px !important;
        font-weight: 600 !important;
        color: var(--ink) !important;
        margin-bottom: 14px !important;
        display: block !important;
    }
    .espaces-vo-app .ep-desc {
        font-size: 16px !important;
        line-height: 1.85 !important;
        color: var(--slate) !important;
        max-width: 520px !important;
        margin-bottom: 32px !important;
        display: block !important;
    }
    .espaces-vo-app .ep-cta-row { display: flex !important; flex-wrap: wrap !important; gap: 14px !important; }
    .espaces-vo-app .ep-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 15px 30px !important;
        border-radius: 8px !important;
        font-weight: 700 !important;
        font-size: 15px !important;
        cursor: pointer !important;
        transition: transform .3s cubic-bezier(.2,.8,.3,1), box-shadow .3s ease, background .3s ease !important;
        white-space: nowrap !important;
        position: relative !important;
        overflow: hidden !important;
    }
    .espaces-vo-app .ep-btn svg { width: 17px !important; height: 17px !important; }
    .espaces-vo-app .ep-btn-gold {
        background: var(--gold) !important;
        color: var(--ink) !important;
        box-shadow: 0 10px 30px rgba(201,151,30,.35) !important;
    }
    .espaces-vo-app .ep-btn-gold::before {
        content: "" !important;
        position: absolute !important;
        top: -50% !important;
        left: -50% !important;
        width: 200% !important;
        height: 200% !important;
        background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 60%) !important;
        opacity: 0 !important;
        transition: opacity .5s ease !important;
        transform: rotate(25deg) !important;
    }
    .espaces-vo-app .ep-btn-gold:hover::before { opacity: 1 !important; }
    .espaces-vo-app .ep-btn-gold:hover {
        background: var(--gold-light) !important;
        transform: translateY(-4px) scale(1.02) !important;
        box-shadow: 0 16px 40px rgba(201,151,30,.45) !important;
    }
    .espaces-vo-app .ep-btn-outline {
        background: transparent !important;
        color: var(--ink) !important;
        border: 1.5px solid var(--ink) !important;
    }
    .espaces-vo-app .ep-btn-outline:hover {
        background: var(--ink) !important;
        color: #fff !important;
        transform: translateY(-4px) scale(1.02) !important;
    }
    
    /* --- Hero form (replaces the old hero image) --- */
    .espaces-vo-app .ep-hero-form { position: relative !important; }
    .espaces-vo-app .ep-hero-form-card {
        margin: 0 !important;
        padding: 34px 32px !important;
        border-radius: 20px !important;
        background: var(--card) !important;
        border: 1px solid var(--line) !important;
        box-shadow: 0 30px 60px rgba(11,13,16,0.12) !important;
    }
    .espaces-vo-app .ep-hero-form-card .ep-form-card-head b { font-size: 20px !important; }
    .espaces-vo-app .ep-hero-form-card .ep-form-card-head span { font-size: 16px !important; }
    
    /* STATS */
    .espaces-vo-app .ep-stats-section {
        position: relative !important;
        background: var(--ink) !important;
        padding: 64px 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        z-index: 5 !important;
    }
    .espaces-vo-app .ep-stats-section::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        background:
            radial-gradient(circle at 12% 20%, rgba(201,151,30,.22), transparent 45%),
            radial-gradient(circle at 88% 80%, rgba(201,151,30,.16), transparent 50%) !important;
        z-index: 0 !important;
        animation: epGlowShift 14s ease-in-out infinite !important;
    }
    @keyframes epGlowShift { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
    .espaces-vo-app .ep-stats-head {
        position: relative !important;
        z-index: 2 !important;
        text-align: center !important;
        max-width: 560px !important;
        margin: 0 auto 44px !important;
    }
    .espaces-vo-app .ep-stats-head .ep-section-eyebrow { color: var(--gold-light) !important; }
    .espaces-vo-app .ep-stats-head .ep-section-title { color: #fff !important; }
    .espaces-vo-app .ep-stats-grid {
        position: relative !important;
        z-index: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 0 !important;
    }
    .espaces-vo-app .ep-stat-card { text-align: center !important; padding: 8px 20px !important; position: relative !important; }
    .espaces-vo-app .ep-stat-card + .ep-stat-card::before {
        content: "" !important;
        position: absolute !important;
        left: 0 !important; top: 10% !important;
        height: 80% !important; width: 1px !important;
        background: rgba(255,255,255,.14) !important;
    }
    .espaces-vo-app .ep-stat-icon {
        width: 50px !important; height: 50px !important;
        border-radius: 50% !important;
        background: rgba(201,151,30,.14) !important;
        border: 1px solid rgba(201,151,30,.4) !important;
        display: flex !important; align-items: center !important; justify-content: center !important;
        margin: 0 auto 18px !important;
        transition: background .3s ease, transform .3s ease !important;
    }
    .espaces-vo-app .ep-stat-card:hover .ep-stat-icon { background: var(--gold) !important; transform: translateY(-4px) scale(1.06) !important; }
    .espaces-vo-app .ep-stat-icon svg { width: 22px !important; height: 22px !important; stroke: var(--gold-light) !important; transition: stroke .3s ease !important; }
    .espaces-vo-app .ep-stat-card:hover .ep-stat-icon svg { stroke: var(--ink) !important; }
    .espaces-vo-app .ep-stat-card b {
        font-family: 'Cairo', sans-serif !important;
        font-size: 38px !important; font-weight: 700 !important;
        color: #fff !important; display: block !important; line-height: 1 !important; margin-bottom: 8px !important;
    }
    .espaces-vo-app .ep-stat-card span { font-size: 13px !important; color: #B9BEC4 !important; font-weight: 600 !important; letter-spacing: .3px !important; }
    
    /* GALLERY */
    .espaces-vo-app .ep-gallery { padding: 20px 0 64px !important; position: relative !important; z-index: 5 !important; }
    .espaces-vo-app .ep-gallery-track {
        display: flex !important;
        gap: 16px !important;
        overflow-x: auto !important;
        padding: 8px 24px 16px !important;
        scroll-snap-type: x mandatory !important;
        max-width: 1300px !important;
        margin: 0 auto !important;
        position: relative !important;
    }
    .espaces-vo-app .ep-gallery-track::-webkit-scrollbar { height: 6px !important; }
    .espaces-vo-app .ep-gallery-track::-webkit-scrollbar-thumb { background: var(--line) !important; border-radius: 10px !important; }
    .espaces-vo-app .ep-gallery-item {
        flex: 0 0 auto !important;
        width: 360px !important;
        height: 280px !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        scroll-snap-align: start !important;
        position: relative !important;
        cursor: zoom-in !important;
    }
    .espaces-vo-app .ep-gallery-item::after {
        content: "" !important;
        position: absolute !important; inset: 0 !important;
        background: linear-gradient(180deg, transparent 55%, rgba(11,13,16,.55) 100%) !important;
        opacity: 0 !important;
        transition: opacity .3s ease !important;
        pointer-events: none !important;
    }
    .espaces-vo-app .ep-gallery-item:hover::after { opacity: 1 !important; }
    .espaces-vo-app .ep-gallery-zoom {
        position: absolute !important;
        right: 10px !important; bottom: 10px !important;
        width: 30px !important; height: 30px !important;
        border-radius: 50% !important;
        background: rgba(255,255,255,.92) !important;
        display: flex !important; align-items: center !important; justify-content: center !important;
        opacity: 0 !important;
        transform: translateY(6px) !important;
        transition: opacity .3s ease, transform .3s ease !important;
        z-index: 2 !important;
    }
    .espaces-vo-app .ep-gallery-item:hover .ep-gallery-zoom { opacity: 1 !important; transform: translateY(0) !important; }
    .espaces-vo-app .ep-gallery-zoom svg { width: 14px !important; height: 14px !important; stroke: var(--ink) !important; }
    
    /* LIGHTBOX */
    .espaces-vo-app .ep-lightbox {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(11,13,16,.92) !important;
        z-index: 999 !important;
        display: none !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 40px !important;
        opacity: 0 !important;
        transition: opacity .3s ease !important;
    }
    .espaces-vo-app .ep-lightbox.ep-open { display: flex !important; opacity: 1 !important; }
    .espaces-vo-app .ep-lightbox-img-wrap {
        max-width: 900px !important;
        width: 100% !important;
        aspect-ratio: 16/10 !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        position: relative !important;
        box-shadow: 0 30px 80px rgba(0,0,0,.5) !important;
    }
    .espaces-vo-app .ep-lightbox-img-wrap img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
    .espaces-vo-app .ep-lightbox-close, .espaces-vo-app .ep-lightbox-nav {
        position: absolute !important;
        background: rgba(255,255,255,.92) !important;
        border-radius: 50% !important;
        width: 42px !important; height: 42px !important;
        display: flex !important; align-items: center !important; justify-content: center !important;
        cursor: pointer !important;
        transition: transform .25s ease, background .25s ease !important;
    }
    .espaces-vo-app .ep-lightbox-close:hover, .espaces-vo-app .ep-lightbox-nav:hover { background: var(--gold) !important; transform: scale(1.08) !important; }
    .espaces-vo-app .ep-lightbox-close { top: -54px !important; right: 0 !important; }
    .espaces-vo-app .ep-lightbox-nav svg, .espaces-vo-app .ep-lightbox-close svg { width: 18px !important; height: 18px !important; stroke: var(--ink) !important; }
    .espaces-vo-app .ep-lightbox-prev { left: -60px !important; top: 50% !important; transform: translateY(-50%) !important; }
    .espaces-vo-app .ep-lightbox-next { right: -60px !important; top: 50% !important; transform: translateY(-50%) !important; }
    .espaces-vo-app .ep-lightbox-prev:hover, .espaces-vo-app .ep-lightbox-next:hover { transform: translateY(-50%) scale(1.08) !important; }
    @media (max-width: 900px) {
        .espaces-vo-app .ep-lightbox-prev { left: 6px !important; }
        .espaces-vo-app .ep-lightbox-next { right: 6px !important; }
        .espaces-vo-app .ep-lightbox-close { top: 6px !important; right: 6px !important; }
    }
    
    /* SECTION HEADS */
    .espaces-vo-app .ep-section { padding: 60px 0 !important; position: relative !important; z-index: 5 !important; }
    .espaces-vo-app .ep-section-head { text-align: center !important; max-width: 620px !important; margin: 0 auto 44px !important; }
    .espaces-vo-app .ep-section-eyebrow {
        font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: 2.5px !important;
        text-transform: uppercase !important; color: var(--gold) !important; margin-bottom: 12px !important; display: block !important;
    }
    .espaces-vo-app .ep-section-title {
        font-family: 'Cairo', sans-serif !important;
        font-size: 32px !important; font-weight: 600 !important; color: var(--ink) !important;
    }
    .espaces-vo-app .ep-section-desc { font-size: 16px !important; color: var(--slate) !important; line-height: 1.7 !important; margin-top: 12px !important; display: block !important; }
    
    /* WHO USES THIS */
    .espaces-vo-app .ep-audience-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 18px !important; }
    .espaces-vo-app .ep-audience-card {
        background: var(--card) !important; border: 1px solid var(--line) !important; border-radius: 16px !important;
        padding: 28px 22px !important; transition: transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s ease, border-color .35s ease !important;
        position: relative !important; overflow: hidden !important;
    }
    .espaces-vo-app .ep-audience-card::after {
        content: "" !important; position: absolute !important; right: -30px !important; bottom: -30px !important;
        width: 90px !important; height: 90px !important; border-radius: 50% !important; background: var(--gold-soft) !important;
        transition: transform .4s ease !important;
    }
    .espaces-vo-app .ep-audience-card:hover::after { transform: scale(1.7) !important; }
    .espaces-vo-app .ep-audience-card:hover { transform: translateY(-6px) !important; box-shadow: 0 22px 40px rgba(11,13,16,0.10) !important; border-color: var(--gold) !important; }
    .espaces-vo-app .ep-audience-icon {
        width: 48px !important; height: 48px !important; border-radius: 12px !important; background: var(--gold-soft) !important;
        display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 18px !important;
        position: relative !important; z-index: 1 !important; transition: background .3s ease, transform .3s ease !important;
    }
    .espaces-vo-app .ep-audience-card:hover .ep-audience-icon { background: var(--gold) !important; transform: rotate(-6deg) !important; }
    .espaces-vo-app .ep-audience-icon svg { width: 22px !important; height: 22px !important; stroke: var(--gold) !important; transition: stroke .3s ease !important; }
    .espaces-vo-app .ep-audience-card:hover .ep-audience-icon svg { stroke: var(--ink) !important; }
    .espaces-vo-app .ep-audience-card h4 { font-size: 15.5px !important; font-weight: 700 !important; color: var(--ink) !important; margin-bottom: 8px !important; position: relative !important; z-index: 1 !important; }
    .espaces-vo-app .ep-audience-card p { font-size: 16px !important; color: var(--slate) !important; line-height: 1.65 !important; position: relative !important; z-index: 1 !important; }
    
    /* AMENITIES */
    .espaces-vo-app .ep-amenities { display: grid !important; grid-template-columns: repeat(5, 1fr) !important; gap: 18px !important; }
    .espaces-vo-app .ep-amenity {
        background: var(--card) !important; border: 1px solid var(--line) !important; border-radius: 14px !important;
        padding: 26px 18px !important; text-align: center !important;
        transition: transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s ease, border-color .35s ease !important;
        perspective: 600px !important;
    }
    .espaces-vo-app .ep-amenity:hover { transform: translateY(-6px) rotateX(4deg) !important; box-shadow: 0 22px 40px rgba(11,13,16,0.10) !important; border-color: var(--gold) !important; }
    .espaces-vo-app .ep-amenity-icon {
        width: 54px !important; height: 54px !important; border-radius: 50% !important; background: #FBF1DA !important;
        display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 14px !important;
        transition: background .3s ease, transform .3s ease !important;
    }
    .espaces-vo-app .ep-amenity:hover .ep-amenity-icon { background: var(--gold) !important; transform: scale(1.1) rotate(-6deg) !important; }
    .espaces-vo-app .ep-amenity-icon svg { width: 24px !important; height: 24px !important; stroke: var(--gold) !important; transition: stroke .3s ease !important; }
    .espaces-vo-app .ep-amenity:hover .ep-amenity-icon svg { stroke: var(--ink) !important; }
    .espaces-vo-app .ep-amenity p { font-size: 13.5px !important; font-weight: 700 !important; color: var(--ink) !important; line-height: 1.4 !important; }
    .espaces-vo-app .ep-amenity span { font-size: 16px !important; color: var(--slate) !important; display: block !important; margin-top: 5px !important; line-height: 1.5 !important; }
    
    /* TABS */
    .espaces-vo-app .ep-tabs-head { display: flex !important; justify-content: center !important; gap: 10px !important; margin-bottom: 34px !important; flex-wrap: wrap !important; }
    .espaces-vo-app .ep-tab-btn {
        padding: 12px 26px !important; border-radius: 30px !important; font-weight: 700 !important; font-size: 14px !important;
        cursor: pointer !important; background: transparent !important; color: var(--slate) !important; border: 1.5px solid var(--line) !important;
        transition: all .3s ease !important;
    }
    .espaces-vo-app .ep-tab-btn.active { background: var(--ink) !important; color: #fff !important; border-color: var(--ink) !important; }
    .espaces-vo-app .ep-tab-panel { display: none !important; grid-template-columns: 1fr 1fr !important; gap: 16px 40px !important; max-width: 900px !important; margin: 0 auto !important; }
    .espaces-vo-app .ep-tab-panel.active { display: grid !important; }
    .espaces-vo-app .ep-tab-item { display: flex !important; gap: 14px !important; align-items: flex-start !important; padding: 14px 0 !important; border-bottom: 1px solid var(--line) !important; }
    .espaces-vo-app .ep-tab-check {
        width: 26px !important; height: 26px !important; border-radius: 50% !important; background: var(--gold) !important;
        color: var(--ink) !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
    }
    .espaces-vo-app .ep-tab-check svg { width: 13px !important; height: 13px !important; stroke: var(--ink) !important; stroke-width: 3 !important; }
    .espaces-vo-app .ep-tab-item b { display: block !important; font-size: 15px !important; color: var(--ink) !important; margin-bottom: 3px !important; }
    .espaces-vo-app .ep-tab-item p { font-size: 16px !important; color: var(--slate) !important; line-height: 1.6 !important; }
    
    /* HOW IT WORKS */
    .espaces-vo-app .ep-steps { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 26px !important; max-width: 980px !important; margin: 0 auto !important; position: relative !important; }
    .espaces-vo-app .ep-steps::before {
        content: "" !important; position: absolute !important; top: 44px !important; left: 12% !important; right: 12% !important; height: 2px !important;
        background: repeating-linear-gradient(90deg, var(--gold) 0 10px, transparent 10px 18px) !important; z-index: 0 !important;
    }
    .espaces-vo-app .ep-step { text-align: center !important; position: relative !important; z-index: 1 !important; }
    .espaces-vo-app .ep-step-num {
        width: 88px !important; height: 88px !important; border-radius: 50% !important; background: var(--card) !important;
        border: 2px solid var(--gold) !important; display: flex !important; align-items: center !important; justify-content: center !important;
        margin: 0 auto 20px !important; font-family: 'Cairo', sans-serif !important; font-size: 30px !important; font-weight: 700 !important;
        color: var(--gold) !important; transition: transform .35s ease, background .35s ease, color .35s ease !important;
    }
    .espaces-vo-app .ep-step:hover .ep-step-num { background: var(--gold) !important; color: var(--ink) !important; transform: scale(1.08) rotate(-4deg) !important; }
    .espaces-vo-app .ep-step h4 { font-size: 16px !important; font-weight: 700 !important; color: var(--ink) !important; margin-bottom: 8px !important; }
    .espaces-vo-app .ep-step p { font-size: 16px !important; color: var(--slate) !important; line-height: 1.65 !important; max-width: 260px !important; margin: 0 auto !important; }
    
    /* FORM */
    .espaces-vo-app .ep-form-section { padding: 20px 0 70px !important; position: relative !important; z-index: 5 !important; }
    .espaces-vo-app .ep-form-shell {
        background: var(--ink) !important; border-radius: 28px !important; overflow: hidden !important;
        position: relative !important; display: grid !important; grid-template-columns: 0.95fr 1.05fr !important;
        box-shadow: 0 40px 80px rgba(11,13,16,0.22) !important;
    }
    .espaces-vo-app .ep-form-shell::before {
        content: "" !important; position: absolute !important; width: 380px !important; height: 380px !important; border-radius: 50% !important;
        background: radial-gradient(circle, rgba(201,151,30,.30), transparent 70%) !important; top: -160px !important; left: -120px !important;
        animation: epDrift1 18s ease-in-out infinite !important; pointer-events: none !important;
    }
    .espaces-vo-app .ep-form-info {
        padding: 52px 46px !important; direction: ltr !important; text-align: left !important; position: relative !important; z-index: 2 !important;
        display: flex !important; flex-direction: column !important; justify-content: center !important;
    }
    .espaces-vo-app .ep-form-info .ep-section-eyebrow { color: var(--gold-light) !important; margin-bottom: 14px !important; }
    .espaces-vo-app .ep-form-info h2 {
        font-family: 'Cairo', sans-serif !important; font-weight: 800 !important; color: #fff !important;
        font-size: clamp(1.6rem, 2.8vw, 2.1rem) !important; line-height: 1.35 !important; margin-bottom: 16px !important;
    }
    .espaces-vo-app .ep-form-info h2 span { color: var(--gold-light) !important; }
    .espaces-vo-app .ep-form-info p.ep-form-lead {
        font-size: 15.5px !important; line-height: 1.95 !important; color: #C7CBD1 !important; margin-bottom: 28px !important; max-width: 420px !important;
    }
    .espaces-vo-app .ep-form-points { display: flex !important; flex-direction: column !important; gap: 14px !important; }
    .espaces-vo-app .ep-form-point { display: flex !important; align-items: center !important; gap: 12px !important; font-size: 14px !important; color: #E4E6E9 !important; font-weight: 600 !important; }
    .espaces-vo-app .ep-form-point-icon {
        width: 30px !important; height: 30px !important; border-radius: 50% !important; background: rgba(201,151,30,.16) !important;
        border: 1px solid rgba(201,151,30,.4) !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
    }
    .espaces-vo-app .ep-form-point-icon svg { width: 14px !important; height: 14px !important; stroke: var(--gold-light) !important; stroke-width: 3 !important; }
    .espaces-vo-app .ep-form-card {
        background: var(--paper) !important; margin: 18px !important; border-radius: 22px !important;
        padding: 40px 38px !important; position: relative !important; z-index: 2 !important; direction: ltr !important;
        box-shadow: 0 20px 45px rgba(0,0,0,.18) !important;
    }
    .espaces-vo-app .ep-form-card-head { margin-bottom: 26px !important; text-align: left !important; }
    .espaces-vo-app .ep-form-card-head b {
        display: block !important; font-family: 'Cairo', sans-serif !important; font-weight: 800 !important; font-size: 20px !important; color: var(--ink) !important; margin-bottom: 6px !important;
    }
    .espaces-vo-app .ep-form-card-head span { font-size: 13px !important; color: var(--slate) !important; }
    .espaces-vo-app .ep-form-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; margin-bottom: 16px !important; }
    .espaces-vo-app .ep-field { display: flex !important; flex-direction: column !important; gap: 8px !important; text-align: left !important; margin-bottom: 16px !important; }
    .espaces-vo-app .ep-form-grid .ep-field { margin-bottom: 0 !important; }
    .espaces-vo-app .ep-field label { font-size: 13px !important; font-weight: 700 !important; color: var(--ink) !important; }
    .espaces-vo-app .ep-field-input { position: relative !important; display: flex !important; align-items: center !important; }
    .espaces-vo-app .ep-field-input svg {
        position: absolute !important; left: 15px !important; width: 17px !important; height: 17px !important; stroke: var(--gold) !important; pointer-events: none !important;
    }
    .espaces-vo-app .ep-field input, .espaces-vo-app .ep-field select {
        width: 100% !important; background: #fff !important; border: 1.5px solid var(--line) !important; border-radius: 12px !important;
        padding: 13px 16px 13px 44px !important; font-size: 14px !important; font-weight: 600 !important; color: var(--ink) !important;
        font-family: 'Cairo', sans-serif !important; transition: border-color .25s ease, box-shadow .25s ease !important; appearance: none !important;
        -webkit-appearance: none !important; text-align: left !important; direction: ltr !important;
    }
    .espaces-vo-app .ep-field select {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9971E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 15px !important; cursor: pointer !important;
        padding-right: 38px !important;
    }
    .espaces-vo-app .ep-field input:focus, .espaces-vo-app .ep-field select:focus {
        outline: none !important; border-color: var(--gold) !important; box-shadow: 0 0 0 4px var(--gold-soft) !important;
    }
    .espaces-vo-app .ep-form-honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }
    .espaces-vo-app .ep-form-submit {
        width: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
        background: var(--gold) !important; color: var(--ink) !important; border-radius: 12px !important; padding: 15px !important;
        font-family: 'Cairo', sans-serif !important; font-weight: 800 !important; font-size: 15.5px !important; cursor: pointer !important;
        transition: background .3s ease, transform .3s ease, box-shadow .3s ease !important; box-shadow: 0 12px 28px rgba(201,151,30,.32) !important;
        margin-top: 6px !important;
    }
    .espaces-vo-app .ep-form-submit:hover { background: var(--gold-light) !important; transform: translateY(-3px) !important; box-shadow: 0 16px 34px rgba(201,151,30,.4) !important; }
    .espaces-vo-app .ep-form-submit:disabled { opacity: .65 !important; cursor: not-allowed !important; transform: none !important; }
    .espaces-vo-app .ep-form-submit svg { width: 17px !important; height: 17px !important; transition: transform .3s ease !important; }
    .espaces-vo-app .ep-form-submit:hover svg { transform: translateX(4px) !important; }
    .espaces-vo-app .ep-form-note { text-align: center !important; font-size: 11.5px !important; color: var(--slate) !important; margin-top: 14px !important; }
    .espaces-vo-app .ep-form-spinner {
        width: 17px !important; height: 17px !important; border-radius: 50% !important; border: 2.5px solid rgba(11,13,16,.25) !important;
        border-top-color: var(--ink) !important; display: none !important; animation: epSpin .7s linear infinite !important;
    }
    @keyframes epSpin { to { transform: rotate(360deg); } }
    .espaces-vo-app .ep-form-submit.ep-loading .ep-form-spinner { display: inline-block !important; }
    .espaces-vo-app .ep-form-submit.ep-loading .ep-form-submit-text { display: none !important; }
    .espaces-vo-app .ep-form-status {
        display: none !important; align-items: center !important; gap: 10px !important; font-size: 13.5px !important; font-weight: 700 !important;
        border-radius: 10px !important; padding: 12px 14px !important; margin-top: 14px !important; text-align: left !important;
    }
    .espaces-vo-app .ep-form-status.ep-show { display: flex !important; }
    .espaces-vo-app .ep-form-status.ep-ok { background: rgba(34,160,90,.10) !important; color: #1E8449 !important; border: 1px solid rgba(34,160,90,.3) !important; }
    .espaces-vo-app .ep-form-status.ep-err { background: rgba(200,50,50,.08) !important; color: #B23A3A !important; border: 1px solid rgba(200,50,50,.25) !important; }
    
    /* LOCATIONS */
    .espaces-vo-app .ep-locations { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 22px !important; }
    .espaces-vo-app .ep-location-card {
        background: var(--card) !important; border: 1px solid var(--line) !important; border-radius: 20px !important;
        overflow: hidden !important; position: relative !important;
        transition: transform .4s cubic-bezier(.2,.8,.3,1), box-shadow .4s ease, border-color .4s ease !important;
        box-shadow: 0 4px 18px rgba(11,13,16,0.05) !important;
    }
    .espaces-vo-app .ep-location-card::before {
        content: "" !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 4px !important;
        background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 50%, var(--gold) 100%) !important;
        transform: scaleX(0) !important; transform-origin: right !important; transition: transform .5s cubic-bezier(.2,.8,.3,1) !important;
    }
    .espaces-vo-app .ep-location-card:hover::before { transform: scaleX(1) !important; }
    .espaces-vo-app .ep-location-card:hover { transform: translateY(-8px) !important; box-shadow: 0 28px 50px rgba(11,13,16,0.12) !important; border-color: var(--gold) !important; }
    .espaces-vo-app .ep-location-media {
        display: flex !important; align-items: center !important; justify-content: space-between !important;
        padding: 26px 24px 20px !important; position: relative !important;
    }
    .espaces-vo-app .ep-location-icon {
        width: 56px !important; height: 56px !important; border-radius: 16px !important;
        background: linear-gradient(145deg, var(--ink) 0%, #23272D 100%) !important;
        display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
        box-shadow: 0 10px 24px rgba(11,13,16,0.20) !important;
        transition: transform .4s cubic-bezier(.2,.8,.3,1) !important;
    }
    .espaces-vo-app .ep-location-card:hover .ep-location-icon { transform: rotate(-8deg) scale(1.06) !important; }
    .espaces-vo-app .ep-location-icon svg { width: 24px !important; height: 24px !important; stroke: var(--gold-light) !important; }
    .espaces-vo-app .ep-location-count {
        font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .3px !important;
        color: var(--gold) !important; background: var(--gold-soft) !important; border: 1px solid rgba(201,151,30,.3) !important;
        padding: 6px 13px !important; border-radius: 30px !important; white-space: nowrap !important;
    }
    .espaces-vo-app .ep-location-body { padding: 0 24px 28px !important; }
    .espaces-vo-app .ep-location-card h4 { font-family: 'Cairo', sans-serif !important; font-size: 20px !important; font-weight: 800 !important; color: var(--ink) !important; margin-bottom: 6px !important; }
    .espaces-vo-app .ep-location-desc { font-size: 16px !important; color: var(--slate) !important; line-height: 1.6 !important; margin-bottom: 18px !important; display: block !important; }
    .espaces-vo-app .ep-location-tags { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
    .espaces-vo-app .ep-location-tag {
        font-size: 12px !important; font-weight: 600 !important; color: var(--ink) !important;
        background: #F6F3EA !important; border: 1px solid var(--line) !important; border-radius: 8px !important;
        padding: 7px 12px !important; display: inline-flex !important; align-items: center !important; gap: 6px !important;
        transition: background .3s ease, border-color .3s ease, transform .3s ease !important;
    }
    .espaces-vo-app .ep-location-tag::before { content: "" !important; width: 5px !important; height: 5px !important; border-radius: 50% !important; background: var(--gold) !important; flex-shrink: 0 !important; }
    .espaces-vo-app .ep-location-card:hover .ep-location-tag { border-color: rgba(201,151,30,.35) !important; }
    .espaces-vo-app .ep-location-tag:hover { background: var(--gold) !important; transform: translateY(-2px) !important; }
    
    /* FAQ */
    .espaces-vo-app .ep-faq-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px !important; max-width: 980px !important; margin: 0 auto !important; }
    .espaces-vo-app .ep-faq-card {
        background: var(--card) !important; border: 1px solid var(--line) !important; border-radius: 16px !important; overflow: hidden !important;
        transition: transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s ease, border-color .35s ease !important;
        box-shadow: 0 4px 20px rgba(11,13,16,0.04) !important;
    }
    .espaces-vo-app .ep-faq-card:hover { transform: translateY(-4px) !important; box-shadow: 0 16px 48px rgba(11,13,16,0.08) !important; border-color: var(--gold) !important; }
    .espaces-vo-app .ep-faq-header { display: flex !important; align-items: center !important; gap: 14px !important; padding: 22px 24px !important; border-bottom: 1px solid var(--line) !important; background: rgba(201,151,30,.03) !important; }
    .espaces-vo-app .ep-faq-number {
        display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 32px !important; height: 32px !important;
        border-radius: 50% !important; background: var(--gold) !important; color: var(--ink) !important; font-family: 'Cairo', sans-serif !important;
        font-size: 13px !important; font-weight: 700 !important; flex-shrink: 0 !important;
    }
    .espaces-vo-app .ep-faq-header h4 { font-size: 15px !important; font-weight: 700 !important; color: var(--ink) !important; line-height: 1.4 !important; }
    .espaces-vo-app .ep-faq-body { padding: 20px 24px 24px !important; }
    .espaces-vo-app .ep-faq-body p { font-size: 16px !important; color: var(--slate) !important; line-height: 1.8 !important; margin: 0 !important; }
    
    /* FINAL CTA */
    .espaces-vo-app .ep-cta-banner {
        background: var(--ink) !important; border-radius: 22px !important; padding: 48px 40px !important; margin: 20px 24px 60px !important;
        max-width: 1252px !important; margin-left: auto !important; margin-right: auto !important;
        display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; flex-wrap: wrap !important;
        position: relative !important; overflow: hidden !important; z-index: 5 !important;
    }
    .espaces-vo-app .ep-cta-banner::before {
        content: "" !important; position: absolute !important; width: 320px !important; height: 320px !important;
        background: radial-gradient(circle, rgba(201,151,30,.35), transparent 70%) !important; top: -140px !important; right: -80px !important;
        animation: epDrift1 16s ease-in-out infinite !important;
    }
    @keyframes epDrift1 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-30px, 25px); } }
    .espaces-vo-app .ep-cta-banner h3 {
        font-family: 'Cairo', sans-serif !important; color: #fff !important; font-size: clamp(1.4rem, 2.6vw, 2rem) !important; font-weight: 600 !important;
        max-width: 420px !important; position: relative !important; z-index: 2 !important;
    }
    .espaces-vo-app .ep-cta-banner .ep-cta-hours { color: #B9BEC4 !important; font-size: 13.5px !important; margin-top: 8px !important; display: block !important; position: relative !important; z-index: 2 !important; }
    .espaces-vo-app .ep-cta-actions { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; position: relative !important; z-index: 2 !important; }
    
    /* RESPONSIVE */
    @media (max-width: 900px) {
        .espaces-vo-app .ep-hero { padding: 40px 0 24px !important; }
        .espaces-vo-app .ep-hero-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
        .espaces-vo-app .ep-hero-form-card { padding: 24px 20px !important; border-radius: 16px !important; }
        .espaces-vo-app .ep-hero-form-card .ep-form-card-head { margin-bottom: 18px !important; }
        .espaces-vo-app .ep-hero-form-card .ep-form-grid { gap: 12px !important; margin-bottom: 12px !important; }
        .espaces-vo-app .ep-hero-form-card .ep-field { margin-bottom: 12px !important; }
        .espaces-vo-app .ep-hero-form-card .ep-field input, .espaces-vo-app .ep-hero-form-card .ep-field select { padding: 11px 14px 11px 40px !important; }
        .espaces-vo-app .ep-hero-form-card .ep-form-note { display: none !important; }
        .espaces-vo-app .ep-h1 { font-size: 26px !important; margin-bottom: 14px !important; }
        .espaces-vo-app .ep-sub { font-size: 15.5px !important; margin-bottom: 10px !important; }
        .espaces-vo-app .ep-desc { font-size: 14px !important; line-height: 1.7 !important; margin-bottom: 22px !important; }
        .espaces-vo-app .ep-eyebrow { font-size: 11px !important; margin-bottom: 14px !important; }
        .espaces-vo-app .ep-btn { padding: 12px 22px !important; font-size: 13.5px !important; }
        .espaces-vo-app .ep-section { padding: 38px 0 !important; }
        .espaces-vo-app .ep-section-head { margin-bottom: 28px !important; }
        .espaces-vo-app .ep-section-title { font-size: 24px !important; }
        .espaces-vo-app .ep-section-desc { font-size: 16px !important; }
        .espaces-vo-app .ep-stats-section { padding: 40px 0 !important; margin: 0 !important; }
        .espaces-vo-app .ep-stat-card b { font-size: 28px !important; }
        .espaces-vo-app .ep-gallery-item { width: 300px !important; height: 230px !important; }
        .espaces-vo-app .ep-amenities { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
        .espaces-vo-app .ep-amenity { padding: 18px 12px !important; }
        .espaces-vo-app .ep-audience-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
        .espaces-vo-app .ep-audience-card { padding: 20px 16px !important; }
        .espaces-vo-app .ep-stats-grid { grid-template-columns: repeat(2, 1fr) !important; row-gap: 26px !important; }
        .espaces-vo-app .ep-stat-card:nth-child(3)::before { display: none !important; }
        .espaces-vo-app .ep-tab-panel.active { grid-template-columns: 1fr !important; }
        .espaces-vo-app .ep-steps { grid-template-columns: 1fr !important; gap: 26px !important; }
        .espaces-vo-app .ep-steps::before { display: none !important; }
        .espaces-vo-app .ep-step-num { width: 66px !important; height: 66px !important; font-size: 22px !important; }
        .espaces-vo-app .ep-locations { grid-template-columns: 1fr !important; gap: 14px !important; }
        .espaces-vo-app .ep-location-media { padding: 20px 18px 14px !important; } .espaces-vo-app .ep-location-body { padding: 0 18px 22px !important; }
        .espaces-vo-app .ep-form-shell { grid-template-columns: 1fr !important; border-radius: 22px !important; }
        .espaces-vo-app .ep-form-info { padding: 34px 26px 12px !important; }
        .espaces-vo-app .ep-form-info h2 { font-size: 1.4rem !important; }
        .espaces-vo-app .ep-form-card { margin: 14px !important; padding: 28px 22px !important; border-radius: 18px !important; }
        .espaces-vo-app .ep-form-grid { grid-template-columns: 1fr 1fr !important; }
        .espaces-vo-app .ep-faq-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
        .espaces-vo-app .ep-cta-banner { padding: 32px 24px !important; margin: 16px 16px 40px !important; }
        .espaces-vo-app .ep-cta-banner h3 { font-size: 1.3rem !important; }
    }
    @media (max-width: 560px) {
        .espaces-vo-app .ep-wrap { padding: 0 16px !important; }
        .espaces-vo-app .ep-hero { padding: 28px 0 18px !important; }
        .espaces-vo-app .ep-hero-form-card { padding: 20px 16px !important; }
        .espaces-vo-app .ep-hero-form-card .ep-form-card-head b { font-size: 17px !important; }
        .espaces-vo-app .ep-hero-form-card .ep-form-grid { grid-template-columns: 1fr !important; }
        .espaces-vo-app .ep-h1 { font-size: 1.5rem !important; }
        .espaces-vo-app .ep-sub { font-size: 14px !important; }
        .espaces-vo-app .ep-desc { font-size: 13px !important; }
        .espaces-vo-app .ep-cta-row { flex-direction: column !important; }
        .espaces-vo-app .ep-btn { width: 100% !important; padding: 12px 18px !important; font-size: 13px !important; }
        .espaces-vo-app .ep-gallery-item { width: 260px !important; height: 200px !important; }
        .espaces-vo-app .ep-amenities { grid-template-columns: repeat(2, 1fr) !important; }
        .espaces-vo-app .ep-audience-grid { grid-template-columns: 1fr !important; }
        .espaces-vo-app .ep-stats-grid { grid-template-columns: 1fr 1fr !important; }
        .espaces-vo-app .ep-stat-card b { font-size: 24px !important; }
        .espaces-vo-app .ep-stat-icon { width: 40px !important; height: 40px !important; margin-bottom: 10px !important; }
        .espaces-vo-app .ep-stat-icon svg { width: 18px !important; height: 18px !important; }
        .espaces-vo-app .ep-cta-banner { flex-direction: column !important; text-align: center !important; }
        .espaces-vo-app .ep-cta-actions { justify-content: center !important; width: 100% !important; }
        .espaces-vo-app .ep-cta-actions .ep-btn { width: 100% !important; }
        .espaces-vo-app .ep-faq-header { flex-wrap: wrap !important; padding: 16px 18px !important; }
        .espaces-vo-app .ep-faq-body { padding: 14px 18px 18px !important; }
        .espaces-vo-app .ep-location-media { padding: 18px 16px 12px !important; } .espaces-vo-app .ep-location-body { padding: 0 16px 20px !important; }
        .espaces-vo-app .ep-form-info { padding: 28px 20px 8px !important; }
        .espaces-vo-app .ep-form-info h2 { font-size: 1.25rem !important; }
        .espaces-vo-app .ep-form-lead { font-size: 14px !important; }
        .espaces-vo-app .ep-form-card { margin: 10px !important; padding: 22px 18px !important; }
        .espaces-vo-app .ep-form-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
        .espaces-vo-app .ep-form-card-head b { font-size: 17px !important; }
    }
    @media (max-width: 380px) {
        .espaces-vo-app .ep-hero-form-card { padding: 16px 14px !important; }
        .espaces-vo-app .ep-h1 { font-size: 1.3rem !important; }
        .espaces-vo-app .ep-gallery-item { width: 220px !important; height: 170px !important; }
        .espaces-vo-app .ep-amenities { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
        .espaces-vo-app .ep-amenity-icon { width: 42px !important; height: 42px !important; }
        .espaces-vo-app .ep-amenity-icon svg { width: 18px !important; height: 18px !important; }
    }


/* Plugin extras */
.espaces-vo-app .ep-star-field,
.espaces-vo-app .ep-shoot-field {
    position: absolute !important;
    inset: 0 !important;
}
.espaces-vo-app .ep-btn-outline-light {
    border-color: #fff !important;
    color: #fff !important;
}
.espaces-vo-app .ep-btn-outline-light:hover {
    background: #fff !important;
    color: var(--ink) !important;
}

.espaces-vo-app .ep-custom-icon {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
    display: block !important;
}
.espaces-vo-app .ep-stat-icon .ep-custom-icon,
.espaces-vo-app .ep-audience-icon .ep-custom-icon,
.espaces-vo-app .ep-amenity-icon .ep-custom-icon {
    width: 22px !important;
    height: 22px !important;
}
