    /* ══════════════════════════════════════════
       SECTION WRAPPER
    ══════════════════════════════════════════ */
    .wm-section {
        margin-top: -30px;
        padding: 40px 0 80px;
        position: relative;
        overflow: hidden;
    }

    .wm-inner {
        position: relative;
        z-index: 1;
        margin: 0 auto;
        padding: 0 80px;
    }

    /* ══════════════════════════════════════════
       CARTE
    ══════════════════════════════════════════ */
    .wm-map-wrapper {
        position: relative;
        /*border-radius: 16px;*/
        overflow: hidden;
        box-shadow:
            0 0 0 1px rgba(201,169,110,.05),
            0 32px 80px rgba(0,0,0,.15),
            0 8px 24px rgba(0,0,0,.10);
    }
    .wm-map {
        width: 100%;
        height: 700px;
        z-index: 0;
        display: block;
    }
    @media (max-width: 768px) {
        .wm-map { height: 480px; }
        .wm-inner { padding: 0 16px; }
        .wm-section { padding: 56px 0 64px; }
    }

    .leaflet-tile-pane {
        filter: brightness(1.05) hue-rotate(-10deg);
    }

    .leaflet-control-attribution {
        font-size: 0 !important;
        line-height: 0 !important;
        padding: 2px 4px !important;
        background: rgba(255,255,255,.3) !important;
    }
    .leaflet-control-attribution a,
    .leaflet-control-attribution span {
        font-size: 0 !important;
    }

    /* ══════════════════════════════════════════
       BARRE DE RECHERCHE
    ══════════════════════════════════════════ */
    .wm-search-wrapper {
        position: absolute;
        top: 16px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
        display: flex;
        align-items: center;
        gap: 0;
        background: rgba(255,255,255,.96);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border-radius: 50px;
        padding: 0 18px;
        box-shadow: 0 4px 24px rgba(0,0,0,.18), 0 1px 4px rgba(0,0,0,.1);
        transition: opacity .3s ease, box-shadow .2s ease;
        border: 1px solid rgba(237,117,34,.25);
    }
    .wm-search-wrapper:focus-within {
        box-shadow: 0 4px 24px rgba(0,0,0,.22), 0 0 0 2px rgba(237,117,34,.4);
    }
    .wm-search-icon {
        color: #ed7522;
        flex-shrink: 0;
        margin-right: 10px;
    }
    .wm-search-input {
        border: none;
        background: transparent;
        outline: none;
        font-size: .875rem;
        color: #7F8786;
        padding: 11px 0;
        width: 240px;
    }
    .wm-search-input::placeholder {
        color: #929C9A;
    }
    @media (max-width: 640px) {
        .wm-search-wrapper {
            left: 12px;
            right: 12px;
            transform: none;
        }
        .wm-search-input { width: 100%; }
    }

    /* ══════════════════════════════════════════
       PANNEAU LATÉRAL
    ══════════════════════════════════════════ */
    #side-panel {
        position: absolute;
        top: 0;
        right: 0;
        width: 400px;
        height: 100%;
        z-index: 10;
        background: #fef7ee;
        box-shadow: -6px 0 40px rgba(0,0,0,.2);
        transform: translateX(100%);
        transition: transform .38s cubic-bezier(.4,0,.2,1);
        overflow-y: auto;
        overflow-x: hidden;
    }
    #side-panel.open {
        transform: translateX(0);
    }
    @media (max-width: 640px) {
        #side-panel { width: 100%; }
    }

    /* Scrollbar fine */
    #side-panel::-webkit-scrollbar { width: 4px; }
    #side-panel::-webkit-scrollbar-track { background: transparent; }
    #side-panel::-webkit-scrollbar-thumb {
        background: #ed7522;
        border-radius: 2px;
    }
    #side-panel::-webkit-scrollbar-thumb:hover {
        background: #df5b17;
    }

    /* ── Bouton fermeture ── */
    .panel-close {
        position: absolute;
        top: 12px;
        right: 12px;
        width: 36px;
        height: 36px;
        border: none;
        background: rgba(255,255,255,.85);
        backdrop-filter: blur(6px);
        font-size: 16px;
        font-weight: 700;
        cursor: pointer;
        z-index: 20;
        line-height: 36px;
        text-align: center;
        border-radius: 50%;
        transition: background .2s, transform .15s;
        color: #4c524f;
        box-shadow: 0 2px 8px rgba(0,0,0,.15);
    }
    .panel-close:hover {
        background: #fff;
        transform: scale(1.08);
    }
    .panel-close.on-photo {
        color: #fff;
        background: rgba(0,0,0,.35);
        box-shadow: 0 2px 8px rgba(0,0,0,.3);
    }
    .panel-close.on-photo:hover {
        background: rgba(0,0,0,.55);
    }

    /* ── Photo ── */
    .panel-photo {
        position: relative;
        overflow: hidden;
    }
    .panel-photo img {
        width: 100%;
        height: 300px;
        object-fit: cover;
        display: block;
        transition: transform 6s ease;
    }
    .panel-photo img:hover {
        transform: scale(1.04);
    }
    /* Dégradé bas de photo */
    /*.panel-photo::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 80px;
        background: linear-gradient(to top, #fef7ee, transparent);
        pointer-events: none;
    }*/

    /* Bandeau coloré si pas de photo */
    .panel-no-photo {
        height: 5px;
        background: #df5b17;
    }

    /* ── Corps ── */
    .panel-body {
        padding: 30px 30px 15px;
    }
    .panel-body h3 {
        margin: 0 0 2px;
        line-height: 1.1;
    }
    .panel-body .contact {
        font-size: .72rem;
        font-weight: 600;
        letter-spacing: .15em;
        text-transform: uppercase;
        color: #df5b17;
        margin-bottom: 14px;
    }
    .panel-body .description {
        color: #1D1F1E;
        font-size: .85rem;
        line-height: 1.7;
        margin-top: 16px;
        margin-bottom: 0;
    }

    /* ── Infos pratiques ── */
    .panel-meta {
        margin-top: 16px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .panel-meta-row {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        font-size: .85rem;
        color: #1D1F1E;
    }
    .panel-meta-row svg {
        flex-shrink: 0;
        margin-top: 3px;
        color: #df5b17;
    }
    .panel-meta-row a {
        color: #074B73;
        text-decoration: none;
        font-weight: 500;
    }
    .panel-meta-row a:hover {
        text-decoration: underline;
    }

    /* ── Séparateur ── */
    .panel-divider {
        height: 1px;
        margin: 20px 28px 22px;
        background: linear-gradient(90deg, transparent, rgba(147,55,25,0.5) 25%, rgba(147,55,25,0.5) 50%, rgba(147,55,25,0.5) 75%, transparent);
        opacity: .6;
    }

    /* ── Liens sociaux ── */
    .panel-links {
        display: flex;
        gap: 8px;
        padding: 0 28px 24px;
        flex-wrap: wrap;
    }
    .panel-links a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: #fff;
        border: 1px solid #e8e4df;
        color: #646a69;
        transition: all .22s ease;
    }
    .panel-links a:hover {
        background: #074B73;
        color: #fff;
        border-color: #074B73;
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(7,75,115,.3);
    }
    .panel-links a svg { flex-shrink: 0; }
