/* Lieux : même page, plus de vie dans le fond et entre les cartes.
   Scopé à body.page-lieux-v2b. Aucun bloc HTML ajouté. */

body.page-lieux.page-lieux-v2b {
    background:
        radial-gradient(880px 380px at 8% -6%, rgba(255, 56, 92, 0.2), transparent 60%),
        radial-gradient(640px 320px at 100% 4%, rgba(124, 58, 237, 0.12), transparent 55%),
        #08080b;
}

body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid {
    gap: 22px;
    padding: 2px 0 8px;
    background-image: none;
}

body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid .lieux-place-card {
    overflow: visible;
    border-color: rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
}

body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid .lieux-place-card.lieu-partenaire,
body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid .lieux-place-card.lieu-partenaire:hover {
    background:
        linear-gradient(#101014, #101014) padding-box,
        linear-gradient(135deg, #ff385c, #7c3aed) border-box !important;
    border: 2px solid transparent !important;
    border-color: transparent !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.42);
}

body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid .lieux-place-card > a {
    overflow: hidden;
    border-radius: 18px;
}

body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid .lieux-place-card:nth-child(3n + 2),
body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid .lieux-place-card:nth-child(3n) {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
}

body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid .lieux-place-card:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 22%;
    right: 22%;
    bottom: -12px;
    z-index: 2;
    width: auto;
    height: 1px;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: none;
    transform: none;
    pointer-events: none;
}

body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid .lieux-place-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.36);
}

body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid .lieux-place-info-card {
    padding: 48px 14px 12px !important;
    background: linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.92) 0%,
        rgba(20, 8, 14, 0.55) 42%,
        rgba(0, 0, 0, 0) 100%
    );
}

body.page-lieux-v2b .lieux-filter-btn {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.04) !important;
}

body.page-lieux-v2b .lieux-filter-btn[data-filter="club-sauna"] { background: rgba(255, 56, 92, 0.1) !important; }
body.page-lieux-v2b .lieux-filter-btn[data-filter="sex-shop"] { background: rgba(124, 58, 237, 0.12) !important; }
body.page-lieux-v2b .lieux-filter-btn[data-filter="forest"] { background: rgba(16, 185, 129, 0.1) !important; }
body.page-lieux-v2b .lieux-filter-btn[data-filter="park"] { background: rgba(34, 197, 94, 0.1) !important; }
body.page-lieux-v2b .lieux-filter-btn[data-filter="beach"] { background: rgba(56, 189, 248, 0.1) !important; }
body.page-lieux-v2b .lieux-filter-btn[data-filter="parking"] { background: rgba(251, 191, 36, 0.1) !important; }
body.page-lieux-v2b .lieux-filter-btn[data-filter="rest-area"] { background: rgba(249, 115, 22, 0.1) !important; }
body.page-lieux-v2b .lieux-filter-btn[data-filter="toilet"] { background: rgba(148, 163, 184, 0.12) !important; }
body.page-lieux-v2b .lieux-filter-btn[data-filter="favorites"] { background: rgba(250, 204, 21, 0.1) !important; }

body.page-lieux-v2b .lieux-filter-btn.active {
    background: var(--brand, #ff385c) !important;
    border-color: transparent !important;
    color: #fff !important;
}

body.page-lieux-v2b .lieux-fab-mobile {
    background: linear-gradient(180deg, #ff4d70 0%, #e62e55 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.4) !important;
}

body.page-lieux-v2b .lieux-mode-fab {
    background: #16161c !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.4) !important;
}

@media (min-width: 769px) {
    body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid {
        gap: 28px;
    }

    body.page-lieux-v2b:not(.page-lieux--map-mode) .lieux-places-grid .lieux-place-card:not(:last-child)::after {
        display: none;
    }
}
