{"id":7848,"date":"2026-02-03T13:59:15","date_gmt":"2026-02-03T13:59:15","guid":{"rendered":"https:\/\/masdenadal.com\/elaia-metadatas\/"},"modified":"2026-02-03T13:59:15","modified_gmt":"2026-02-03T13:59:15","slug":"elaia-metadatas","status":"publish","type":"page","link":"https:\/\/masdenadal.com\/nl\/elaia-metadatas\/","title":{"rendered":"Lees meer"},"content":{"rendered":"\n<link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\">\n<script src=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\"><\/script>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">\n\n\n<style>\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     BASE \u2014 Layout principal et typographie\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  .em-wrap { font-family: 'Inter', -apple-system, sans-serif !important; color: #0f172a; max-width: 1400px; margin: 0 auto; padding: 0 24px; -webkit-font-smoothing: antialiased; }\n  .em-wrap * { box-sizing: border-box; }\n\n  \/* \u2500\u2500\u2500 Header \u2014 Titre + barre de recherche \u2500\u2500\u2500 *\/\n  .em-header { padding: 40px 0 24px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }\n  .em-header-title { font-size: 24px !important; font-weight: 800 !important; margin: 0 !important; color: #0f172a; }\n  .em-header-sub { font-size: 14px; color: #64748b; margin: 4px 0 0; }\n\n  \/* \u2500\u2500\u2500 Recherche \u2014 Champ avec ic\u00f4ne loupe \u2500\u2500\u2500 *\/\n  .em-search-wrap { position: relative; width: 280px; }\n  .em-search-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: #94a3b8; pointer-events: none; }\n  .em-search { width: 100% !important; padding: 10px 16px 10px 36px !important; font-size: 14px !important; font-family: inherit; border: 1px solid #e2e8f0 !important; border-radius: 12px !important; background: #fff !important; color: #0f172a; outline: none; }\n  .em-search:focus { border-color: #3b82f6 !important; box-shadow: 0 0 0 3px #3b82f618 !important; }\n  .em-search::placeholder { color: #94a3b8; }\n\n  \/* \u2500\u2500\u2500 Onglets \u2014 Filtrage par cat\u00e9gorie \u2500\u2500\u2500 *\/\n  .em-tabs { display: flex !important; gap: 8px; overflow-x: auto; padding-bottom: 4px; margin-bottom: 24px; scrollbar-width: none; }\n  .em-tabs::-webkit-scrollbar { display: none; }\n  .em-tab { flex-shrink: 0; padding: 8px 16px; border-radius: 8px; font-size: 14px; font-weight: 500; cursor: pointer; border: 1px solid #e2e8f0; background: #fff; color: #64748b; transition: all 0.15s; font-family: inherit; white-space: nowrap; }\n  .em-tab:hover { border-color: #cbd5e1; }\n  .em-tab.active { background: #3b82f6 !important; color: #fff !important; border-color: #3b82f6 !important; }\n  .em-tab-count { margin-left: 6px; font-size: 12px; opacity: 0.7; }\n\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     CARTE \u2014 Leaflet + l\u00e9gende + marqueurs\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  .em-map-section { margin-bottom: 24px; }\n  .em-map-wrap { border-radius: 16px; overflow: hidden; border: 1px solid #e2e8f0; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }\n  .em-map { height: 420px; width: 100%; }\n\n  \/* Personnalisation des popups Leaflet *\/\n  .em-map .leaflet-popup-content-wrapper { border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.12); padding: 0; overflow: hidden; }\n  .em-map .leaflet-popup-content { margin: 0; min-width: 200px; }\n  .em-map .leaflet-popup-tip { box-shadow: 0 2px 6px rgba(0,0,0,0.1); }\n  .em-map-popup { padding: 12px 14px; }\n  .em-map-popup-name { font-size: 14px; font-weight: 700; color: #0f172a; margin: 0 0 4px; line-height: 1.3; }\n  .em-map-popup-cat { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; margin: 0 0 8px; }\n  .em-map-popup-btn { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: #3b82f6; cursor: pointer; background: none; border: none; padding: 0; font-family: inherit; }\n  .em-map-popup-btn:hover { text-decoration: underline; }\n\n  \/* L\u00e9gende de la carte *\/\n  .em-map-legend { display: flex; gap: 16px; padding: 10px 16px; background: #fff; border-top: 1px solid #e2e8f0; flex-wrap: wrap; }\n  .em-map-legend-item { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: #64748b; cursor: pointer; transition: opacity 0.15s; }\n  .em-map-legend-item:hover { opacity: 0.7; }\n  .em-map-legend-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; box-shadow: 0 0 0 2px rgba(0,0,0,0.08); }\n\n  \/* Bouton toggle carte *\/\n  .em-map-toggle { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 8px; border: 1px solid #e2e8f0; background: #fff; color: #64748b; font-size: 13px; font-weight: 600; cursor: pointer; font-family: inherit; transition: all 0.15s; margin-bottom: 16px; }\n  .em-map-toggle:hover { border-color: #3b82f6; color: #3b82f6; }\n  .em-map-toggle.active { background: #3b82f6; color: #fff; border-color: #3b82f6; }\n\n  \/* Marqueurs personnalis\u00e9s SVG *\/\n  .em-marker { transition: transform 0.15s ease; }\n  .em-marker:hover { transform: scale(1.3); z-index: 1000 !important; }\n  .em-marker--active { transform: scale(1.4); z-index: 1000 !important; }\n\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     LAYOUT \u2014 Sidebar filtres + grille cards\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  .em-layout { display: flex; gap: 24px; }\n  .em-sidebar { flex: 0 0 260px; position: sticky; top: 24px; height: fit-content; }\n  .em-main { flex: 1; min-width: 0; }\n\n  \/* \u2500\u2500\u2500 Filtres lat\u00e9raux \u2500\u2500\u2500 *\/\n  .em-filters { background: #fff; border-radius: 12px; padding: 20px; border: 1px solid #e2e8f0; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }\n  .em-filters-title { font-size: 15px !important; font-weight: 700 !important; margin: 0 0 16px !important; color: #0f172a; }\n  .em-filter-group { margin-bottom: 18px; }\n  .em-filter-group:last-child { margin-bottom: 0; }\n  .em-filter-label { display: block; font-size: 12px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }\n  .em-filter-check { display: flex; align-items: center; gap: 8px; padding: 5px 0; cursor: pointer; }\n  .em-filter-check input[type=\"checkbox\"] { cursor: pointer; accent-color: #3b82f6; width: 15px; height: 15px; }\n  .em-filter-check span { font-size: 13px; color: #64748b; font-weight: 500; }\n  .em-filter-reset { width: 100%; padding: 10px; background: #0f172a; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; font-family: inherit; margin-top: 16px; }\n  .em-filter-reset:hover { background: #000; }\n\n  \/* \u2500\u2500\u2500 Compteurs \u2500\u2500\u2500 *\/\n  .em-stats { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }\n  .em-stat { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 8px 14px; font-size: 13px; color: #64748b; }\n  .em-stat strong { color: #0f172a; font-weight: 700; margin-left: 4px; }\n\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     CARDS \u2014 Grille de fiches m\u00e9tadonn\u00e9es\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  .em-cards { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important; gap: 20px !important; }\n  .em-card { background: #fff !important; border: 1px solid #e2e8f0 !important; border-radius: 12px !important; overflow: hidden !important; cursor: pointer; transition: all 0.2s; box-shadow: 0 1px 3px rgba(0,0,0,0.04); display: block !important; }\n  .em-card:hover { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.07) !important; transform: translateY(-2px); border-color: #3b82f6 !important; }\n  .em-card--highlight { box-shadow: 0 0 0 3px #3b82f6 !important; }\n\n  \/* Image de la card *\/\n  .em-card-img-wrap { position: relative; }\n  .em-card-img { width: 100% !important; height: 160px !important; object-fit: cover !important; display: block !important; background: #f1f5f9; }\n  .em-card-placeholder { width: 100%; height: 160px; background: linear-gradient(135deg, #f1f5f9, #e2e8f0); display: flex; align-items: center; justify-content: center; color: #94a3b8; font-size: 14px; font-weight: 500; }\n  .em-card-badge { position: absolute; top: 10px; left: 10px; padding: 4px 10px; border-radius: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px; backdrop-filter: blur(8px); }\n\n  \/* Badges de cat\u00e9gorie (couleurs par type) *\/\n  .badge-accom { background: rgba(16,185,129,0.9); color: #fff; }\n  .badge-city { background: rgba(59,130,246,0.9); color: #fff; }\n  .badge-activity { background: rgba(168,85,247,0.9); color: #fff; }\n  .badge-event { background: rgba(239,68,68,0.9); color: #fff; }\n  .badge-restaurant { background: rgba(245,158,11,0.9); color: #fff; }\n  .badge-service { background: rgba(99,102,241,0.9); color: #fff; }\n  .badge-default { background: rgba(100,116,139,0.9); color: #fff; }\n\n  \/* Contenu de la card *\/\n  .em-card-body { padding: 16px; }\n  .em-card-title { font-size: 15px !important; font-weight: 700 !important; margin: 0 0 8px !important; color: #0f172a; line-height: 1.3; }\n  .em-card-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; }\n  .em-tag { display: inline-flex; align-items: center; gap: 3px; padding: 3px 8px; border-radius: 5px; font-size: 11px; font-weight: 600; background: #f1f5f9; color: #64748b; }\n  .em-tag-blue { background: #dbeafe; color: #1e40af; }\n  .em-tag-green { background: #d1fae5; color: #065f46; }\n  .em-tag-orange { background: #fed7aa; color: #92400e; }\n  .em-tag-purple { background: #ede9fe; color: #6b21a8; }\n\n  \/* Champs r\u00e9sum\u00e9s visibles sur la card *\/\n  .em-card-fields { margin-bottom: 10px; }\n  .em-card-field { display: flex; gap: 6px; font-size: 12px; margin-bottom: 4px; }\n  .em-card-field-label { color: #94a3b8; flex-shrink: 0; }\n  .em-card-field-value { color: #0f172a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n\n  \/* Pied de card *\/\n  .em-card-footer { padding-top: 10px; border-top: 1px solid #e2e8f0; display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: #3b82f6; }\n  .em-card-footer svg { width: 14px; height: 14px; transition: transform 0.15s; }\n  .em-card:hover .em-card-footer svg { transform: translateX(2px); }\n\n  \/* \u00c9tat vide *\/\n  .em-empty { text-align: center; padding: 60px 20px; color: #64748b; }\n\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     MODAL \u2014 D\u00e9tail d'une fiche\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  .em-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); backdrop-filter: blur(4px); z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px; animation: emFadeIn 0.2s ease; }\n  @keyframes emFadeIn { from { opacity: 0 } to { opacity: 1 } }\n  .em-modal { background: #fff; border-radius: 16px; max-width: 640px; width: 100%; max-height: 85vh; overflow: hidden; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08); display: flex; flex-direction: column; animation: emSlideUp 0.25s ease; }\n  @keyframes emSlideUp { from { opacity: 0; transform: translateY(20px) } to { opacity: 1; transform: translateY(0) } }\n\n  \/* Modal avec image *\/\n  .em-modal-img-wrap { position: relative; flex-shrink: 0; }\n  .em-modal-img { width: 100%; height: 220px; object-fit: cover; display: block; }\n  .em-modal-img-gradient { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.4), transparent); }\n  .em-modal-img-info { position: absolute; bottom: 16px; left: 20px; right: 20px; }\n  .em-modal-img-cat { font-size: 12px; font-weight: 500; color: rgba(255,255,255,0.8); margin: 0 0 4px; }\n  .em-modal-img-title { font-size: 20px; font-weight: 800; color: #fff; margin: 0; }\n  .em-modal-close { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border-radius: 50%; background: rgba(0,0,0,0.4); color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 16px; }\n  .em-modal-close:hover { background: rgba(0,0,0,0.6); }\n\n  \/* Modal sans image *\/\n  .em-modal-header-noimg { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid #e2e8f0; }\n  .em-modal-header-noimg-cat { font-size: 12px; color: #94a3b8; margin: 0 0 2px; }\n  .em-modal-header-noimg-title { font-size: 18px; font-weight: 800; color: #0f172a; margin: 0; }\n  .em-modal-close-noimg { width: 32px; height: 32px; border-radius: 8px; border: none; cursor: pointer; color: #94a3b8; background: none; display: flex; align-items: center; justify-content: center; font-size: 16px; }\n  .em-modal-close-noimg:hover { background: #f1f5f9; color: #0f172a; }\n\n  \/* Corps et entr\u00e9es de la modal *\/\n  .em-modal-body { padding: 20px 24px; overflow-y: auto; flex: 1; }\n  .em-modal-entry { margin-bottom: 16px; }\n  .em-modal-entry-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #94a3b8; margin: 0 0 4px; }\n  .em-modal-entry-value { font-size: 14px; color: #0f172a; margin: 0; line-height: 1.5; white-space: pre-line; }\n\n  \/* Pied de modal *\/\n  .em-modal-footer { padding: 16px 24px; border-top: 1px solid #e2e8f0; display: flex; align-items: center; justify-content: space-between; }\n  .em-modal-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: #3b82f6; text-decoration: none; }\n  .em-modal-link:hover { opacity: 0.8; }\n  .em-modal-close-btn { padding: 8px 16px; font-size: 14px; font-weight: 500; color: #64748b; background: none; border: none; cursor: pointer; font-family: inherit; }\n  .em-modal-close-btn:hover { color: #0f172a; }\n\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     RESPONSIVE\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  @media (max-width: 1024px) {\n    .em-layout { flex-direction: column; }\n    .em-sidebar { position: static; flex-basis: auto; }\n  }\n\n  @media (max-width: 720px) {\n    .em-wrap { padding: 0 12px; }\n    .em-header { flex-direction: column; align-items: stretch; padding: 24px 0 16px; gap: 12px; }\n    .em-header-title { font-size: 20px !important; }\n    .em-search-wrap { width: 100%; }\n    .em-tabs { gap: 6px; margin-bottom: 16px; }\n    .em-tab { padding: 6px 12px; font-size: 13px; }\n\n    \/* Carte mobile *\/\n    .em-map { height: 280px; }\n    .em-map-wrap { border-radius: 12px; }\n    .em-map-legend { gap: 10px; padding: 8px 12px; }\n    .em-map-legend-item { font-size: 11px; }\n\n    \/* Sidebar collapsible sur mobile *\/\n    .em-sidebar { order: -1; }\n    .em-filters { padding: 14px; }\n    .em-filters-title {\n      font-size: 14px !important; margin-bottom: 0 !important;\n      cursor: pointer; display: flex; align-items: center; justify-content: space-between;\n    }\n    .em-filters-title::after { content: '\u25be'; font-size: 12px; color: #94a3b8; transition: transform 0.2s; }\n    .em-filters.collapsed .em-filters-title::after { transform: rotate(-90deg); }\n    .em-filters.collapsed .em-filter-group,\n    .em-filters.collapsed .em-filter-reset { display: none; }\n\n    \/* Cards mobile *\/\n    .em-cards { grid-template-columns: 1fr !important; gap: 14px !important; }\n    .em-card-img { height: 140px !important; }\n    .em-card-body { padding: 12px; }\n    .em-card-title { font-size: 14px !important; }\n    .em-card-tags { gap: 4px; }\n    .em-tag { font-size: 10px; padding: 2px 6px; }\n\n    \/* Compteurs compacts *\/\n    .em-stats { gap: 8px; margin-bottom: 14px; }\n    .em-stat { padding: 6px 10px; font-size: 12px; }\n\n    \/* Modal \u2192 bottom sheet sur mobile *\/\n    .em-modal-overlay { align-items: flex-end; padding: 0; }\n    .em-modal { border-radius: 16px 16px 0 0; max-height: 90vh; max-width: 100%; animation: emSlideUpMobile 0.3s cubic-bezier(0.22,1,0.36,1); }\n    @keyframes emSlideUpMobile { from { transform: translateY(100%); } to { transform: translateY(0); } }\n    .em-modal-img { height: 180px; }\n    .em-modal-body { padding: 16px; }\n    .em-modal-footer { padding: 12px 16px; }\n    .em-modal-entry-value { font-size: 13px; }\n  }\n\n  @media (max-width: 380px) {\n    .em-map { height: 220px; }\n    .em-card-img { height: 120px !important; }\n    .em-card-fields { display: none; }\n  }\n<\/style>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"ItemList\",\"name\":\"Villes aux alentours\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"City\",\"name\":\"Cajarc\",\"url\":\"https:\/\/www.tourisme-lot.com\/cajarc\",\"image\":\"https:\/\/woody.cloudly.space\/app\/uploads\/lot-tourisme\/2020\/12\/thumbs\/web21-190916174831-village-de-cajarc-christophe-bouthe-agence-vent-dautan-1920x960-crop-1615992091.jpg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.47,\"longitude\":1.8783},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"10\"},{\"@type\":\"PropertyValue\",\"name\":\"Temps en voiture (min)\",\"value\":\"15\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieux \/ Activit\u00e9s incontournables\",\"value\":\"Place de la Halle, \u00c9glise Saint-Pierre, Mus\u00e9e de l'Artisanat\"},{\"@type\":\"PropertyValue\",\"name\":\"March\u00e9s \/ \u00e9v\u00e9nements locaux\",\"value\":\"March\u00e9 hebdomadaire le vendredi matin, F\u00eate de la Saint-Jean en juin\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ sp\u00e9cialit\u00e9s\",\"value\":\"Truffade, Aligot, Viande de boeuf de l'Aubrac\"},{\"@type\":\"PropertyValue\",\"name\":\"Astuce ou commentaire\",\"value\":\"Charmant village m\u00e9di\u00e9val avec des ruelles pittoresques et une belle vue sur la vall\u00e9e du Lot.\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"Cajarc, 46160\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"City\",\"name\":\"Saint-Cirq-Lapopie\",\"url\":\"https:\/\/masdenadal.com\/tourisme-saint-cirq-lapopie\/\",\"image\":\"https:\/\/masdenadal.com\/wp-content\/uploads\/2024\/12\/village-medieval-saint-cirq-lapopie.webp\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.4167,\"longitude\":1.6167},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"15\"},{\"@type\":\"PropertyValue\",\"name\":\"Temps en voiture (min)\",\"value\":\"20\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieux \/ Activit\u00e9s incontournables\",\"value\":\"Place du Sombral, \u00c9glise Saint-Cirq, Ch\u00e2teau de Saint-Cirq-Lapopie\"},{\"@type\":\"PropertyValue\",\"name\":\"March\u00e9s \/ \u00e9v\u00e9nements locaux\",\"value\":\"March\u00e9 artisanal le dimanche matin, F\u00eate de la Saint-Cirq en ao\u00fbt\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ sp\u00e9cialit\u00e9s\",\"value\":\"C\u00e8pes, Foie gras, Vin de Cahors\"},{\"@type\":\"PropertyValue\",\"name\":\"Astuce ou commentaire\",\"value\":\"Class\u00e9 parmi les plus beaux villages de France, offrant des panoramas exceptionnels sur la vall\u00e9e du Lot.\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"Saint-Cirq-Lapopie, 46330\"}]}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"City\",\"name\":\"Figeac\",\"url\":\"https:\/\/masdenadal.com\/tourisme-figeac\/\",\"image\":\"https:\/\/masdenadal.com\/wp-content\/uploads\/2024\/12\/camping-pres-de-figeac.webp\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.6167,\"longitude\":2.049},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"25\"},{\"@type\":\"PropertyValue\",\"name\":\"Temps en voiture (min)\",\"value\":\"30\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieux \/ Activit\u00e9s incontournables\",\"value\":\"Place Champollion, Mus\u00e9e Champollion, H\u00f4tel de la Monnaie\"},{\"@type\":\"PropertyValue\",\"name\":\"March\u00e9s \/ \u00e9v\u00e9nements locaux\",\"value\":\"March\u00e9 couvert tous les samedis matin, Festival de la Musique en juillet\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ sp\u00e9cialit\u00e9s\",\"value\":\"Truffade, C\u00e8pes, Vin de Cahors\"},{\"@type\":\"PropertyValue\",\"name\":\"Astuce ou commentaire\",\"value\":\"Ville d'art et d'histoire, berceau de Jean-Fran\u00e7ois Champollion, offrant un riche patrimoine architectural.\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"Figeac, 46100\"}]}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"City\",\"name\":\"Cahors\",\"url\":\"https:\/\/masdenadal.com\/tourisme-cahors\/\",\"image\":\"https:\/\/masdenadal.com\/wp-content\/uploads\/2025\/01\/cahors-lot.png\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.45,\"longitude\":1.4444},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"43\"},{\"@type\":\"PropertyValue\",\"name\":\"Temps en voiture (min)\",\"value\":\"47\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieux \/ Activit\u00e9s incontournables\",\"value\":\"Pont Valentr\u00e9, Cath\u00e9drale Saint-\u00c9tienne, Place Fran\u00e7ois Mitterrand\"},{\"@type\":\"PropertyValue\",\"name\":\"March\u00e9s \/ \u00e9v\u00e9nements locaux\",\"value\":\"March\u00e9 couvert tous les mercredis et samedis matin, Festival de Jazz en juillet\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ sp\u00e9cialit\u00e9s\",\"value\":\"Vin de Cahors, Foie gras, Truffade\"},{\"@type\":\"PropertyValue\",\"name\":\"Astuce ou commentaire\",\"value\":\"Pr\u00e9fecture du Lot, r\u00e9put\u00e9e pour son vin et son patrimoine m\u00e9di\u00e9val.\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"Cahors, 46000\"}]}},{\"@type\":\"ListItem\",\"position\":5,\"item\":{\"@type\":\"City\",\"name\":\"Lacapelle-Marival\",\"url\":\"https:\/\/www.tourisme-lot.com\/lacapelle-marival\/\",\"image\":\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/2\/24\/Chateau_lacapelle_marival_facade_sud_2.jpg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.6167,\"longitude\":1.8833},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"33\"},{\"@type\":\"PropertyValue\",\"name\":\"Temps en voiture (min)\",\"value\":\"37\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieux \/ Activit\u00e9s incontournables\",\"value\":\"Ch\u00e2teau de Lacapelle-Marival, \u00c9glise Saint-Pierre, Place de la Mairie\"},{\"@type\":\"PropertyValue\",\"name\":\"March\u00e9s \/ \u00e9v\u00e9nements locaux\",\"value\":\"March\u00e9 hebdomadaire le mardi matin, F\u00eate de la Saint-Pierre en juillet\"},{\"@type\":\"PropertyValue\",\"name\":\"Restaurants \/ sp\u00e9cialit\u00e9s\",\"value\":\"Truffade, C\u00e8pes, Viande de boeuf de l'Aubrac\"},{\"@type\":\"PropertyValue\",\"name\":\"Astuce ou commentaire\",\"value\":\"Petit village charmant avec un riche patrimoine historique et une belle place centrale.\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"Lacapelle-Marival, 46120\"}]}}]},{\"@type\":\"ItemList\",\"name\":\"Activit\u00e9s et lieux recommand\u00e9s\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"TouristAttraction\",\"name\":\"Randonn\u00e9e dans le Parc Naturel des Causses du Quercy\",\"url\":\"https:\/\/masdenadal.com\/tourisme-lot\/\",\"image\":\"https:\/\/masdenadal.com\/wp-content\/uploads\/2024\/12\/parc-nature-des-causses-de-quercy.webp\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.4262,\"longitude\":1.7365},\"location\":{\"@type\":\"Place\",\"name\":\"Sauliac-sur-C\u00e9l\u00e9\"},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.)\",\"value\":\"nature\"},{\"@type\":\"PropertyValue\",\"name\":\"Ville \/ Zone\",\"value\":\"Sauliac-sur-C\u00e9l\u00e9\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Dur\u00e9e moyenne\",\"value\":\"variable\"},{\"@type\":\"PropertyValue\",\"name\":\"Tarif (si payant)\",\"value\":\"gratuit\"},{\"@type\":\"PropertyValue\",\"name\":\"R\u00e9servation n\u00e9cessaire ?\",\"value\":\"non\"},{\"@type\":\"PropertyValue\",\"name\":\"Astuce ou commentaire\",\"value\":\"Explorez les sentiers du Parc Naturel des Causses du Quercy pour d\u00e9couvrir une faune et une flore exceptionnelles.\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"400, Chemin du Mas de Nadal, 2245, Route de Blars, 46330 \u2013 Sauliac-sur-C\u00e9l\u00e9\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"TouristAttraction\",\"name\":\"Baignade au bord de la rivi\u00e8re C\u00e9l\u00e9\",\"url\":\"https:\/\/masdenadal.com\/plages-rivieres-lot\/\",\"image\":\"https:\/\/masdenadal.com\/wp-content\/uploads\/2025\/01\/riviere-plage.webp\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.4262,\"longitude\":1.7365},\"location\":{\"@type\":\"Place\",\"name\":\"Sauliac-sur-C\u00e9l\u00e9\"},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.)\",\"value\":\"nature\"},{\"@type\":\"PropertyValue\",\"name\":\"Ville \/ Zone\",\"value\":\"Sauliac-sur-C\u00e9l\u00e9\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Dur\u00e9e moyenne\",\"value\":\"variable\"},{\"@type\":\"PropertyValue\",\"name\":\"Tarif (si payant)\",\"value\":\"gratuit\"},{\"@type\":\"PropertyValue\",\"name\":\"R\u00e9servation n\u00e9cessaire ?\",\"value\":\"non\"},{\"@type\":\"PropertyValue\",\"name\":\"Astuce ou commentaire\",\"value\":\"Profitez des plages naturelles le long de la rivi\u00e8re C\u00e9l\u00e9 pour une baignade rafra\u00eechissante.\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"400, Chemin du Mas de Nadal, 2245, Route de Blars, 46330 \u2013 Sauliac-sur-C\u00e9l\u00e9\"}]}},{\"@type\":\"ListItem\",\"position\":3,\"item\":{\"@type\":\"TouristAttraction\",\"name\":\"Visite du village m\u00e9di\u00e9val de Saint-Cirq-Lapopie\",\"url\":\"https:\/\/masdenadal.com\/tourisme-saint-cirq-lapopie\/\",\"image\":\"https:\/\/masdenadal.com\/wp-content\/uploads\/2024\/12\/village-medieval-saint-cirq-lapopie.webp\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.4167,\"longitude\":1.6167},\"location\":{\"@type\":\"Place\",\"name\":\"Saint-Cirq-Lapopie\"},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.)\",\"value\":\"culture\"},{\"@type\":\"PropertyValue\",\"name\":\"Ville \/ Zone\",\"value\":\"Saint-Cirq-Lapopie\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"10\"},{\"@type\":\"PropertyValue\",\"name\":\"Dur\u00e9e moyenne\",\"value\":\"2 heures\"},{\"@type\":\"PropertyValue\",\"name\":\"Tarif (si payant)\",\"value\":\"gratuit\"},{\"@type\":\"PropertyValue\",\"name\":\"R\u00e9servation n\u00e9cessaire ?\",\"value\":\"non\"},{\"@type\":\"PropertyValue\",\"name\":\"Astuce ou commentaire\",\"value\":\"Explorez les ruelles pittoresques de ce village perch\u00e9 offrant des vues imprenables sur la vall\u00e9e du Lot.\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"Saint-Cirq-Lapopie, 46330\"}]}},{\"@type\":\"ListItem\",\"position\":4,\"item\":{\"@type\":\"TouristAttraction\",\"name\":\"Piscine du camping Mas de Nadal\",\"url\":\"https:\/\/masdenadal.com\/camping-piscine-chauffee-lot\/\",\"image\":\"https:\/\/masdenadal.com\/wp-content\/uploads\/2025\/01\/piscine-en-fin-de-journee.webp\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.4264,\"longitude\":1.7365},\"location\":{\"@type\":\"Place\",\"name\":\"Sauliac-sur-C\u00e9l\u00e9\"},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.)\",\"value\":\"Loisir aquatique\"},{\"@type\":\"PropertyValue\",\"name\":\"Ville \/ Zone\",\"value\":\"Sauliac-sur-C\u00e9l\u00e9\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Dur\u00e9e moyenne\",\"value\":\"Variable\"},{\"@type\":\"PropertyValue\",\"name\":\"Tarif (si payant)\",\"value\":\"Inclus dans le tarif du s\u00e9jour\"},{\"@type\":\"PropertyValue\",\"name\":\"R\u00e9servation n\u00e9cessaire ?\",\"value\":\"Non\"},{\"@type\":\"PropertyValue\",\"name\":\"Astuce ou commentaire\",\"value\":\"Profitez d'une piscine ext\u00e9rieure chauff\u00e9e \u00e0 d\u00e9bordement avec une belle terrasse et des bains de soleil. Id\u00e9ale pour se d\u00e9tendre apr\u00e8s une journ\u00e9e d'activit\u00e9s.\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"400, Chemin du Mas de Nadal, 2245, Route de Blars, 46330 \u2013 Sauliac-sur-C\u00e9l\u00e9\"}]}}]},{\"@type\":\"ItemList\",\"name\":\"\u00c9v\u00e9nements recommand\u00e9s\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"Event\",\"name\":\"Mariage au Mas de Nadal\",\"description\":\"Un domaine hors du temps, rien que pour vous\\n\\nLe Mas de Nadal, c\u2019est une bulle naturelle au c\u0153ur du Lot.\\nUn lieu \u00e0 taille humaine, entour\u00e9 de verdure, o\u00f9 l\u2019on se sent imm\u00e9diatement ailleurs.\\n\\nSite enti\u00e8rement privatisable\\nEnvironnement calme et s\u00e9curis\u00e9\\nLieu pi\u00e9ton\\nClairi\u00e8res, for\u00eat, grands espaces ouverts\\nAtmosph\u00e8re intime et chaleureuse\\nIci, vos invit\u00e9s ne sont pas dans une salle impersonnelle.\\nIls vivent une exp\u00e9rience.\\n\\nUn mariage au Mas de Nadal, c\u2019est :\\n\\nLa nature comme d\u00e9cor\\nLes lumi\u00e8res sous les arbres\\nUne soir\u00e9e qui se prolonge sous les \u00e9toiles\",\"url\":\"https:\/\/masdenadal.com\/location-evenement-lot\/\",\"image\":\"https:\/\/masdenadal.com\/wp-content\/uploads\/2025\/01\/lounge-evenementiel-mas-de-nadal.webp\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.426,\"longitude\":1.616},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"Toute l'ann\u00e9e\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Sauliac sur C\u00e9l\u00e9 \"},{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.)\",\"value\":\"Mariage\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"Mas de Nadal, 46330 Saint-Cirq-Lapopie, France\"}]}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"Event\",\"name\":\"Mariages au Mas de Nadal\",\"description\":\"C\u00e9l\u00e9bration de mariages dans un cadre atypique avec privatisation du domaine et h\u00e9bergements en lodges.\",\"url\":\"https:\/\/masdenadal.com\/location-evenement-lot\/\",\"image\":\"https:\/\/masdenadal.com\/wp-content\/uploads\/2026\/01\/911-scaled.jpg\",\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":44.426,\"longitude\":1.616},\"additionalProperty\":[{\"@type\":\"PropertyValue\",\"name\":\"Date \/ P\u00e9riode\",\"value\":\"Toute l'ann\u00e9e\"},{\"@type\":\"PropertyValue\",\"name\":\"Lieu (ville)\",\"value\":\"Saint-Cirq-Lapopie\"},{\"@type\":\"PropertyValue\",\"name\":\"Distance depuis le camping (km)\",\"value\":\"0\"},{\"@type\":\"PropertyValue\",\"name\":\"Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.)\",\"value\":\"Mariage\"},{\"@type\":\"PropertyValue\",\"name\":\"Astuce ou commentaire\",\"value\":\"Un lieu unique pour un mariage inoubliable.\"},{\"@type\":\"PropertyValue\",\"name\":\"Adresse compl\u00e8te\",\"value\":\"Mas de Nadal, 46330 Saint-Cirq-Lapopie, France\"}]}}]}]}<\/script>\n\n\n<!-- Injection des labels pour le JS (modal) -->\n<script>var emFieldLabels = {\"name\":\"Nom de l'\\u00e9v\\u00e9nement\",\"distance_kilometers\":\"Distance depuis le camping (km)\",\"driving_time_minutes\":\"Temps en voiture (min)\",\"must_see_places\":\"Lieux \\\/ Activit\\u00e9s incontournables\",\"markets_local_events\":\"March\\u00e9s \\\/ \\u00e9v\\u00e9nements locaux\",\"restaurants_specialities\":\"Restaurants \\\/ sp\\u00e9cialit\\u00e9s\",\"comment\":\"Astuce ou commentaire\",\"link\":\"Lien\",\"image\":\"Image \\\/ Photo (URL)\",\"address\":\"Adresse compl\\u00e8te\",\"gps_coordinates_longitude\":\"Coordonn\\u00e9es GPS Longitude\",\"gps_coordinates_latitude\":\"Coordonn\\u00e9es GPS Latitude\",\"type\":\"Type d\\u2019\\u00e9v\\u00e9nement (march\\u00e9, festival, sport, etc.)\",\"place\":\"Ville \\\/ Zone\",\"distance_km\":\"Distance depuis le camping (km)\",\"duration\":\"Dur\\u00e9e moyenne\",\"price\":\"Tarif (si payant)\",\"booking_necessary\":\"R\\u00e9servation n\\u00e9cessaire ?\",\"date_period\":\"Date \\\/ P\\u00e9riode\",\"location\":\"Lieu (ville)\",\"description\":\"Description rapide\"};<\/script>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     HTML \u2014 Interface principale\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n\n<div class=\"em-wrap\">\n\n  <!-- \u2500\u2500\u2500 Header : titre + recherche \u2500\u2500\u2500 -->\n  <div class=\"em-header\">\n    <div>\n      <h1 class=\"em-header-title\">D\u00e9couvrez autour de vous<\/h1>\n      <p class=\"em-header-sub\">11 fiche(s) dans 3 cat\u00e9gorie(s)<\/p>\n    <\/div>\n    <div class=\"em-search-wrap\">\n      <svg class=\"em-search-icon\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"><\/path><\/svg>\n      <input type=\"text\" class=\"em-search\" id=\"em-search\" placeholder=\"Rechercher une fiche...\">\n    <\/div>\n  <\/div>\n\n  <!-- \u2500\u2500\u2500 Onglets de cat\u00e9gories (affich\u00e9s si > 1 cat\u00e9gorie) \u2500\u2500\u2500 -->\n    <div class=\"em-tabs\" id=\"em-tabs\">\n    <button class=\"em-tab active\" data-filter=\"all\">Tout<span class=\"em-tab-count\">11<\/span><\/button>\n          <button class=\"em-tab\" data-filter=\"city\">Villes aux alentours<span class=\"em-tab-count\">5<\/span><\/button>\n          <button class=\"em-tab\" data-filter=\"activity\">Activit\u00e9s et lieux recommand\u00e9s<span class=\"em-tab-count\">4<\/span><\/button>\n          <button class=\"em-tab\" data-filter=\"event\">\u00c9v\u00e9nements recommand\u00e9s<span class=\"em-tab-count\">2<\/span><\/button>\n      <\/div>\n  \n  <!-- \u2500\u2500\u2500 Carte interactive (affich\u00e9e si des points GPS existent) \u2500\u2500\u2500 -->\n    <div class=\"em-map-section\">\n    <button class=\"em-map-toggle active\" id=\"em-map-toggle\">\ud83d\udccd Carte<\/button>\n    <div class=\"em-map-wrap\" id=\"em-map-wrap\">\n      <div id=\"em-map\" class=\"em-map\"><\/div>\n      <div class=\"em-map-legend\">\n                  <div class=\"em-map-legend-item\"><span class=\"em-map-legend-dot\" style=\"background:#3b82f6;\"><\/span> Villes aux alentours<\/div>\n                  <div class=\"em-map-legend-item\"><span class=\"em-map-legend-dot\" style=\"background:#a855f7;\"><\/span> Activit\u00e9s et lieux recommand\u00e9s<\/div>\n                  <div class=\"em-map-legend-item\"><span class=\"em-map-legend-dot\" style=\"background:#ef4444;\"><\/span> \u00c9v\u00e9nements recommand\u00e9s<\/div>\n              <\/div>\n    <\/div>\n  <\/div>\n  \n  <!-- \u2500\u2500\u2500 Layout principal : sidebar filtres + grille de cards \u2500\u2500\u2500 -->\n  <div class=\"em-layout\">\n\n    <!-- Sidebar \u2014 Filtres par type et \u00e9quipements -->\n    <aside class=\"em-sidebar\">\n      <div class=\"em-filters\">\n        <h3 class=\"em-filters-title\">Filtres<\/h3>\n        <div class=\"em-filter-group\">\n          <label class=\"em-filter-label\">Type<\/label>\n                      <label class=\"em-filter-check\"><input type=\"checkbox\" value=\"city\" class=\"em-filter-type\" checked><span>Villes aux alentours<\/span><\/label>\n                      <label class=\"em-filter-check\"><input type=\"checkbox\" value=\"activity\" class=\"em-filter-type\" checked><span>Activit\u00e9s et lieux recommand\u00e9s<\/span><\/label>\n                      <label class=\"em-filter-check\"><input type=\"checkbox\" value=\"event\" class=\"em-filter-type\" checked><span>\u00c9v\u00e9nements recommand\u00e9s<\/span><\/label>\n                  <\/div>\n                <button class=\"em-filter-reset\" id=\"em-reset-filters\">R\u00e9initialiser<\/button>\n      <\/div>\n    <\/aside>\n\n    <!-- Contenu principal \u2014 Compteurs + grille de cards -->\n    <main class=\"em-main\">\n      <div class=\"em-stats\">\n        <div class=\"em-stat\">Total : <strong id=\"em-stat-total\">11<\/strong><\/div>\n        <div class=\"em-stat\">Affich\u00e9s : <strong id=\"em-stat-visible\">11<\/strong><\/div>\n      <\/div>\n\n      <div class=\"em-cards\" id=\"em-cards\">\n                  <article class=\"em-card\"\n            data-type=\"city\"\n            data-features=\"\"\n            data-name=\"cajarc\"\n            data-json=\"{&quot;name&quot;:&quot;Cajarc&quot;,&quot;image&quot;:&quot;https:\\\/\\\/woody.cloudly.space\\\/app\\\/uploads\\\/lot-tourisme\\\/2020\\\/12\\\/thumbs\\\/web21-190916174831-village-de-cajarc-christophe-bouthe-agence-vent-dautan-1920x960-crop-1615992091.jpg&quot;,&quot;link&quot;:&quot;https:\\\/\\\/www.tourisme-lot.com\\\/cajarc&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Cajarc&quot;,&quot;distance_kilometers&quot;:10,&quot;driving_time_minutes&quot;:15,&quot;must_see_places&quot;:&quot;Place de la Halle, \\u00c9glise Saint-Pierre, Mus\\u00e9e de l&#039;Artisanat&quot;,&quot;markets_local_events&quot;:&quot;March\\u00e9 hebdomadaire le vendredi matin, F\\u00eate de la Saint-Jean en juin&quot;,&quot;restaurants_specialities&quot;:&quot;Truffade, Aligot, Viande de boeuf de l&#039;Aubrac&quot;,&quot;comment&quot;:&quot;Charmant village m\\u00e9di\\u00e9val avec des ruelles pittoresques et une belle vue sur la vall\\u00e9e du Lot.&quot;,&quot;link&quot;:&quot;https:\\\/\\\/www.tourisme-lot.com\\\/cajarc&quot;,&quot;image&quot;:&quot;https:\\\/\\\/woody.cloudly.space\\\/app\\\/uploads\\\/lot-tourisme\\\/2020\\\/12\\\/thumbs\\\/web21-190916174831-village-de-cajarc-christophe-bouthe-agence-vent-dautan-1920x960-crop-1615992091.jpg&quot;,&quot;address&quot;:&quot;Cajarc, 46160&quot;,&quot;gps_coordinates_longitude&quot;:&quot;1.8783&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.4700&quot;},&quot;category&quot;:&quot;Villes aux alentours&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/woody.cloudly.space\/app\/uploads\/lot-tourisme\/2020\/12\/thumbs\/web21-190916174831-village-de-cajarc-christophe-bouthe-agence-vent-dautan-1920x960-crop-1615992091.jpg\" alt=\"Cajarc\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-city\">Villes aux alentours<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Cajarc<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                    <span class=\"em-tag em-tag-blue\">10 km<\/span>\n                                    <span class=\"em-tag em-tag-orange\">15 min<\/span>\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Lieux \/ Activit\u00e9s incontournables :<\/span>\n                    <span class=\"em-card-field-value\">Place de la Halle, \u00c9glise Saint-Pierre, Mus\u00e9e de l&#039;Artisanat<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">March\u00e9s \/ \u00e9v\u00e9nements locaux :<\/span>\n                    <span class=\"em-card-field-value\">March\u00e9 hebdomadaire le vendredi matin, F\u00eate de la Saint-Jean<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Restaurants \/ sp\u00e9cialit\u00e9s :<\/span>\n                    <span class=\"em-card-field-value\">Truffade, Aligot, Viande de boeuf de l&#039;Aubrac<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n                  <article class=\"em-card\"\n            data-type=\"city\"\n            data-features=\"\"\n            data-name=\"saint-cirq-lapopie\"\n            data-json=\"{&quot;name&quot;:&quot;Saint-Cirq-Lapopie&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/village-medieval-saint-cirq-lapopie.webp&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/tourisme-saint-cirq-lapopie\\\/&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Saint-Cirq-Lapopie&quot;,&quot;distance_kilometers&quot;:15,&quot;driving_time_minutes&quot;:20,&quot;must_see_places&quot;:&quot;Place du Sombral, \\u00c9glise Saint-Cirq, Ch\\u00e2teau de Saint-Cirq-Lapopie&quot;,&quot;markets_local_events&quot;:&quot;March\\u00e9 artisanal le dimanche matin, F\\u00eate de la Saint-Cirq en ao\\u00fbt&quot;,&quot;restaurants_specialities&quot;:&quot;C\\u00e8pes, Foie gras, Vin de Cahors&quot;,&quot;comment&quot;:&quot;Class\\u00e9 parmi les plus beaux villages de France, offrant des panoramas exceptionnels sur la vall\\u00e9e du Lot.&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/tourisme-saint-cirq-lapopie\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/village-medieval-saint-cirq-lapopie.webp&quot;,&quot;address&quot;:&quot;Saint-Cirq-Lapopie, 46330&quot;,&quot;gps_coordinates_longitude&quot;:&quot;1.6167&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.4167&quot;},&quot;category&quot;:&quot;Villes aux alentours&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/masdenadal.com\/wp-content\/uploads\/2024\/12\/village-medieval-saint-cirq-lapopie.webp\" alt=\"Saint-Cirq-Lapopie\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-city\">Villes aux alentours<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Saint-Cirq-Lapopie<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                    <span class=\"em-tag em-tag-blue\">15 km<\/span>\n                                    <span class=\"em-tag em-tag-orange\">20 min<\/span>\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Lieux \/ Activit\u00e9s incontournables :<\/span>\n                    <span class=\"em-card-field-value\">Place du Sombral, \u00c9glise Saint-Cirq, Ch\u00e2teau de Saint-Cirq-L<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">March\u00e9s \/ \u00e9v\u00e9nements locaux :<\/span>\n                    <span class=\"em-card-field-value\">March\u00e9 artisanal le dimanche matin, F\u00eate de la Saint-Cirq en<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Restaurants \/ sp\u00e9cialit\u00e9s :<\/span>\n                    <span class=\"em-card-field-value\">C\u00e8pes, Foie gras, Vin de Cahors<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n                  <article class=\"em-card\"\n            data-type=\"city\"\n            data-features=\"\"\n            data-name=\"figeac\"\n            data-json=\"{&quot;name&quot;:&quot;Figeac&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/camping-pres-de-figeac.webp&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/tourisme-figeac\\\/&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Figeac&quot;,&quot;distance_kilometers&quot;:25,&quot;driving_time_minutes&quot;:30,&quot;must_see_places&quot;:&quot;Place Champollion, Mus\\u00e9e Champollion, H\\u00f4tel de la Monnaie&quot;,&quot;markets_local_events&quot;:&quot;March\\u00e9 couvert tous les samedis matin, Festival de la Musique en juillet&quot;,&quot;restaurants_specialities&quot;:&quot;Truffade, C\\u00e8pes, Vin de Cahors&quot;,&quot;comment&quot;:&quot;Ville d&#039;art et d&#039;histoire, berceau de Jean-Fran\\u00e7ois Champollion, offrant un riche patrimoine architectural.&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/tourisme-figeac\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/camping-pres-de-figeac.webp&quot;,&quot;address&quot;:&quot;Figeac, 46100&quot;,&quot;gps_coordinates_longitude&quot;:&quot;2.0490&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.6167&quot;},&quot;category&quot;:&quot;Villes aux alentours&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/masdenadal.com\/wp-content\/uploads\/2024\/12\/camping-pres-de-figeac.webp\" alt=\"Figeac\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-city\">Villes aux alentours<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Figeac<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                    <span class=\"em-tag em-tag-blue\">25 km<\/span>\n                                    <span class=\"em-tag em-tag-orange\">30 min<\/span>\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Lieux \/ Activit\u00e9s incontournables :<\/span>\n                    <span class=\"em-card-field-value\">Place Champollion, Mus\u00e9e Champollion, H\u00f4tel de la Monnaie<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">March\u00e9s \/ \u00e9v\u00e9nements locaux :<\/span>\n                    <span class=\"em-card-field-value\">March\u00e9 couvert tous les samedis matin, Festival de la Musiqu<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Restaurants \/ sp\u00e9cialit\u00e9s :<\/span>\n                    <span class=\"em-card-field-value\">Truffade, C\u00e8pes, Vin de Cahors<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n                  <article class=\"em-card\"\n            data-type=\"city\"\n            data-features=\"\"\n            data-name=\"cahors\"\n            data-json=\"{&quot;name&quot;:&quot;Cahors&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/cahors-lot.png&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/tourisme-cahors\\\/&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Cahors&quot;,&quot;distance_kilometers&quot;:&quot;43&quot;,&quot;driving_time_minutes&quot;:&quot;47&quot;,&quot;must_see_places&quot;:&quot;Pont Valentr\\u00e9, Cath\\u00e9drale Saint-\\u00c9tienne, Place Fran\\u00e7ois Mitterrand&quot;,&quot;markets_local_events&quot;:&quot;March\\u00e9 couvert tous les mercredis et samedis matin, Festival de Jazz en juillet&quot;,&quot;restaurants_specialities&quot;:&quot;Vin de Cahors, Foie gras, Truffade&quot;,&quot;comment&quot;:&quot;Pr\\u00e9fecture du Lot, r\\u00e9put\\u00e9e pour son vin et son patrimoine m\\u00e9di\\u00e9val.&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/tourisme-cahors\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/cahors-lot.png&quot;,&quot;address&quot;:&quot;Cahors, 46000&quot;,&quot;gps_coordinates_longitude&quot;:&quot;1.4444&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.4500&quot;},&quot;category&quot;:&quot;Villes aux alentours&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/masdenadal.com\/wp-content\/uploads\/2025\/01\/cahors-lot.png\" alt=\"Cahors\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-city\">Villes aux alentours<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Cahors<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                    <span class=\"em-tag em-tag-blue\">43 km<\/span>\n                                    <span class=\"em-tag em-tag-orange\">47 min<\/span>\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Lieux \/ Activit\u00e9s incontournables :<\/span>\n                    <span class=\"em-card-field-value\">Pont Valentr\u00e9, Cath\u00e9drale Saint-\u00c9tienne, Place Fran\u00e7ois Mitt<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">March\u00e9s \/ \u00e9v\u00e9nements locaux :<\/span>\n                    <span class=\"em-card-field-value\">March\u00e9 couvert tous les mercredis et samedis matin, Festival<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Restaurants \/ sp\u00e9cialit\u00e9s :<\/span>\n                    <span class=\"em-card-field-value\">Vin de Cahors, Foie gras, Truffade<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n                  <article class=\"em-card\"\n            data-type=\"city\"\n            data-features=\"\"\n            data-name=\"lacapelle-marival\"\n            data-json=\"{&quot;name&quot;:&quot;Lacapelle-Marival&quot;,&quot;image&quot;:&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/2\\\/24\\\/Chateau_lacapelle_marival_facade_sud_2.jpg&quot;,&quot;link&quot;:&quot;https:\\\/\\\/www.tourisme-lot.com\\\/lacapelle-marival\\\/&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Lacapelle-Marival&quot;,&quot;distance_kilometers&quot;:&quot;33&quot;,&quot;driving_time_minutes&quot;:&quot;37&quot;,&quot;must_see_places&quot;:&quot;Ch\\u00e2teau de Lacapelle-Marival, \\u00c9glise Saint-Pierre, Place de la Mairie&quot;,&quot;markets_local_events&quot;:&quot;March\\u00e9 hebdomadaire le mardi matin, F\\u00eate de la Saint-Pierre en juillet&quot;,&quot;restaurants_specialities&quot;:&quot;Truffade, C\\u00e8pes, Viande de boeuf de l&#039;Aubrac&quot;,&quot;comment&quot;:&quot;Petit village charmant avec un riche patrimoine historique et une belle place centrale.&quot;,&quot;link&quot;:&quot;https:\\\/\\\/www.tourisme-lot.com\\\/lacapelle-marival\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/2\\\/24\\\/Chateau_lacapelle_marival_facade_sud_2.jpg&quot;,&quot;address&quot;:&quot;Lacapelle-Marival, 46120&quot;,&quot;gps_coordinates_longitude&quot;:&quot;1.8833&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.6167&quot;},&quot;category&quot;:&quot;Villes aux alentours&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/2\/24\/Chateau_lacapelle_marival_facade_sud_2.jpg\" alt=\"Lacapelle-Marival\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-city\">Villes aux alentours<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Lacapelle-Marival<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                    <span class=\"em-tag em-tag-blue\">33 km<\/span>\n                                    <span class=\"em-tag em-tag-orange\">37 min<\/span>\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Lieux \/ Activit\u00e9s incontournables :<\/span>\n                    <span class=\"em-card-field-value\">Ch\u00e2teau de Lacapelle-Marival, \u00c9glise Saint-Pierre, Place de <\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">March\u00e9s \/ \u00e9v\u00e9nements locaux :<\/span>\n                    <span class=\"em-card-field-value\">March\u00e9 hebdomadaire le mardi matin, F\u00eate de la Saint-Pierre <\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Restaurants \/ sp\u00e9cialit\u00e9s :<\/span>\n                    <span class=\"em-card-field-value\">Truffade, C\u00e8pes, Viande de boeuf de l&#039;Aubrac<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n                  <article class=\"em-card\"\n            data-type=\"activity\"\n            data-features=\"\"\n            data-name=\"randonn\u00e9e dans le parc naturel des causses du quercy\"\n            data-json=\"{&quot;name&quot;:&quot;Randonn\\u00e9e dans le Parc Naturel des Causses du Quercy&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/parc-nature-des-causses-de-quercy.webp&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/tourisme-lot\\\/&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Randonn\\u00e9e dans le Parc Naturel des Causses du Quercy&quot;,&quot;type&quot;:&quot;nature&quot;,&quot;place&quot;:&quot;Sauliac-sur-C\\u00e9l\\u00e9&quot;,&quot;distance_km&quot;:&quot;0&quot;,&quot;duration&quot;:&quot;variable&quot;,&quot;price&quot;:&quot;gratuit&quot;,&quot;booking_necessary&quot;:&quot;non&quot;,&quot;comment&quot;:&quot;Explorez les sentiers du Parc Naturel des Causses du Quercy pour d\\u00e9couvrir une faune et une flore exceptionnelles.&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/tourisme-lot\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/parc-nature-des-causses-de-quercy.webp&quot;,&quot;address&quot;:&quot;400, Chemin du Mas de Nadal, 2245, Route de Blars, 46330 \\u2013 Sauliac-sur-C\\u00e9l\\u00e9&quot;,&quot;gps_coordinates_longitude&quot;:&quot;1.7365&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.4262&quot;},&quot;category&quot;:&quot;Activit\\u00e9s et lieux recommand\\u00e9s&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/masdenadal.com\/wp-content\/uploads\/2024\/12\/parc-nature-des-causses-de-quercy.webp\" alt=\"Randonn\u00e9e dans le Parc Naturel des Causses du Quercy\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-activity\">Activit\u00e9s et lieux recommand\u00e9s<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Randonn\u00e9e dans le Parc Naturel des Causses du Quercy<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                    <span class=\"em-tag em-tag-green\">gratuit<\/span>\n                                    <span class=\"em-tag em-tag-blue\">Sauliac-sur-C\u00e9l\u00e9<\/span>\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.) :<\/span>\n                    <span class=\"em-card-field-value\">nature<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Dur\u00e9e moyenne :<\/span>\n                    <span class=\"em-card-field-value\">variable<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">R\u00e9servation n\u00e9cessaire ? :<\/span>\n                    <span class=\"em-card-field-value\">non<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n                  <article class=\"em-card\"\n            data-type=\"activity\"\n            data-features=\"\"\n            data-name=\"baignade au bord de la rivi\u00e8re c\u00e9l\u00e9\"\n            data-json=\"{&quot;name&quot;:&quot;Baignade au bord de la rivi\\u00e8re C\\u00e9l\\u00e9&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/riviere-plage.webp&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/plages-rivieres-lot\\\/&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Baignade au bord de la rivi\\u00e8re C\\u00e9l\\u00e9&quot;,&quot;type&quot;:&quot;nature&quot;,&quot;place&quot;:&quot;Sauliac-sur-C\\u00e9l\\u00e9&quot;,&quot;distance_km&quot;:&quot;0&quot;,&quot;duration&quot;:&quot;variable&quot;,&quot;price&quot;:&quot;gratuit&quot;,&quot;booking_necessary&quot;:&quot;non&quot;,&quot;comment&quot;:&quot;Profitez des plages naturelles le long de la rivi\\u00e8re C\\u00e9l\\u00e9 pour une baignade rafra\\u00eechissante.&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/plages-rivieres-lot\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/riviere-plage.webp&quot;,&quot;address&quot;:&quot;400, Chemin du Mas de Nadal, 2245, Route de Blars, 46330 \\u2013 Sauliac-sur-C\\u00e9l\\u00e9&quot;,&quot;gps_coordinates_longitude&quot;:&quot;1.7365&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.4262&quot;},&quot;category&quot;:&quot;Activit\\u00e9s et lieux recommand\\u00e9s&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/masdenadal.com\/wp-content\/uploads\/2025\/01\/riviere-plage.webp\" alt=\"Baignade au bord de la rivi\u00e8re C\u00e9l\u00e9\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-activity\">Activit\u00e9s et lieux recommand\u00e9s<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Baignade au bord de la rivi\u00e8re C\u00e9l\u00e9<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                    <span class=\"em-tag em-tag-green\">gratuit<\/span>\n                                    <span class=\"em-tag em-tag-blue\">Sauliac-sur-C\u00e9l\u00e9<\/span>\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.) :<\/span>\n                    <span class=\"em-card-field-value\">nature<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Dur\u00e9e moyenne :<\/span>\n                    <span class=\"em-card-field-value\">variable<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">R\u00e9servation n\u00e9cessaire ? :<\/span>\n                    <span class=\"em-card-field-value\">non<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n                  <article class=\"em-card\"\n            data-type=\"activity\"\n            data-features=\"\"\n            data-name=\"visite du village m\u00e9di\u00e9val de saint-cirq-lapopie\"\n            data-json=\"{&quot;name&quot;:&quot;Visite du village m\\u00e9di\\u00e9val de Saint-Cirq-Lapopie&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/village-medieval-saint-cirq-lapopie.webp&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/tourisme-saint-cirq-lapopie\\\/&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Visite du village m\\u00e9di\\u00e9val de Saint-Cirq-Lapopie&quot;,&quot;type&quot;:&quot;culture&quot;,&quot;place&quot;:&quot;Saint-Cirq-Lapopie&quot;,&quot;distance_km&quot;:&quot;10&quot;,&quot;duration&quot;:&quot;2 heures&quot;,&quot;price&quot;:&quot;gratuit&quot;,&quot;booking_necessary&quot;:&quot;non&quot;,&quot;comment&quot;:&quot;Explorez les ruelles pittoresques de ce village perch\\u00e9 offrant des vues imprenables sur la vall\\u00e9e du Lot.&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/tourisme-saint-cirq-lapopie\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/village-medieval-saint-cirq-lapopie.webp&quot;,&quot;address&quot;:&quot;Saint-Cirq-Lapopie, 46330&quot;,&quot;gps_coordinates_longitude&quot;:&quot;1.6167&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.4167&quot;},&quot;category&quot;:&quot;Activit\\u00e9s et lieux recommand\\u00e9s&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/masdenadal.com\/wp-content\/uploads\/2024\/12\/village-medieval-saint-cirq-lapopie.webp\" alt=\"Visite du village m\u00e9di\u00e9val de Saint-Cirq-Lapopie\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-activity\">Activit\u00e9s et lieux recommand\u00e9s<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Visite du village m\u00e9di\u00e9val de Saint-Cirq-Lapopie<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                    <span class=\"em-tag em-tag-green\">gratuit<\/span>\n                                    <span class=\"em-tag em-tag-blue\">Saint-Cirq-Lapopie<\/span>\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.) :<\/span>\n                    <span class=\"em-card-field-value\">culture<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Distance depuis le camping (km) :<\/span>\n                    <span class=\"em-card-field-value\">10<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Dur\u00e9e moyenne :<\/span>\n                    <span class=\"em-card-field-value\">2 heures<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n                  <article class=\"em-card\"\n            data-type=\"activity\"\n            data-features=\"\"\n            data-name=\"piscine du camping mas de nadal\"\n            data-json=\"{&quot;name&quot;:&quot;Piscine du camping Mas de Nadal&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/piscine-en-fin-de-journee.webp&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/camping-piscine-chauffee-lot\\\/&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Piscine du camping Mas de Nadal&quot;,&quot;type&quot;:&quot;Loisir aquatique&quot;,&quot;place&quot;:&quot;Sauliac-sur-C\\u00e9l\\u00e9&quot;,&quot;distance_km&quot;:&quot;0&quot;,&quot;duration&quot;:&quot;Variable&quot;,&quot;price&quot;:&quot;Inclus dans le tarif du s\\u00e9jour&quot;,&quot;booking_necessary&quot;:&quot;Non&quot;,&quot;comment&quot;:&quot;Profitez d&#039;une piscine ext\\u00e9rieure chauff\\u00e9e \\u00e0 d\\u00e9bordement avec une belle terrasse et des bains de soleil. Id\\u00e9ale pour se d\\u00e9tendre apr\\u00e8s une journ\\u00e9e d&#039;activit\\u00e9s.&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/camping-piscine-chauffee-lot\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/piscine-en-fin-de-journee.webp&quot;,&quot;address&quot;:&quot;400, Chemin du Mas de Nadal, 2245, Route de Blars, 46330 \\u2013 Sauliac-sur-C\\u00e9l\\u00e9&quot;,&quot;gps_coordinates_longitude&quot;:&quot;1.7365&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.4264&quot;},&quot;category&quot;:&quot;Activit\\u00e9s et lieux recommand\\u00e9s&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/masdenadal.com\/wp-content\/uploads\/2025\/01\/piscine-en-fin-de-journee.webp\" alt=\"Piscine du camping Mas de Nadal\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-activity\">Activit\u00e9s et lieux recommand\u00e9s<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Piscine du camping Mas de Nadal<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                    <span class=\"em-tag em-tag-green\">Inclus dans le tarif du s\u00e9jour<\/span>\n                                    <span class=\"em-tag em-tag-blue\">Sauliac-sur-C\u00e9l\u00e9<\/span>\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.) :<\/span>\n                    <span class=\"em-card-field-value\">Loisir aquatique<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Dur\u00e9e moyenne :<\/span>\n                    <span class=\"em-card-field-value\">Variable<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">R\u00e9servation n\u00e9cessaire ? :<\/span>\n                    <span class=\"em-card-field-value\">Non<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n                  <article class=\"em-card\"\n            data-type=\"event\"\n            data-features=\"\"\n            data-name=\"mariage au mas de nadal\"\n            data-json=\"{&quot;name&quot;:&quot;Mariage au Mas de Nadal&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/lounge-evenementiel-mas-de-nadal.webp&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/location-evenement-lot\\\/&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Mariage au Mas de Nadal&quot;,&quot;date_period&quot;:&quot;Toute l&#039;ann\\u00e9e&quot;,&quot;location&quot;:&quot;Sauliac sur C\\u00e9l\\u00e9 &quot;,&quot;distance_km&quot;:&quot;0&quot;,&quot;description&quot;:&quot;Un domaine hors du temps, rien que pour vous\\n\\nLe Mas de Nadal, c\\u2019est une bulle naturelle au c\\u0153ur du Lot.\\nUn lieu \\u00e0 taille humaine, entour\\u00e9 de verdure, o\\u00f9 l\\u2019on se sent imm\\u00e9diatement ailleurs.\\n\\nSite enti\\u00e8rement privatisable\\nEnvironnement calme et s\\u00e9curis\\u00e9\\nLieu pi\\u00e9ton\\nClairi\\u00e8res, for\\u00eat, grands espaces ouverts\\nAtmosph\\u00e8re intime et chaleureuse\\nIci, vos invit\\u00e9s ne sont pas dans une salle impersonnelle.\\nIls vivent une exp\\u00e9rience.\\n\\nUn mariage au Mas de Nadal, c\\u2019est :\\n\\nLa nature comme d\\u00e9cor\\nLes lumi\\u00e8res sous les arbres\\nUne soir\\u00e9e qui se prolonge sous les \\u00e9toiles&quot;,&quot;type&quot;:&quot;Mariage&quot;,&quot;comment&quot;:&quot;&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/location-evenement-lot\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2025\\\/01\\\/lounge-evenementiel-mas-de-nadal.webp&quot;,&quot;address&quot;:&quot;Mas de Nadal, 46330 Saint-Cirq-Lapopie, France&quot;,&quot;gps_coordinates_longitude&quot;:&quot;1.6160&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.4260&quot;},&quot;category&quot;:&quot;\\u00c9v\\u00e9nements recommand\\u00e9s&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/masdenadal.com\/wp-content\/uploads\/2025\/01\/lounge-evenementiel-mas-de-nadal.webp\" alt=\"Mariage au Mas de Nadal\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-event\">\u00c9v\u00e9nements recommand\u00e9s<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Mariage au Mas de Nadal<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Date \/ P\u00e9riode :<\/span>\n                    <span class=\"em-card-field-value\">Toute l&#039;ann\u00e9e<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Lieu (ville) :<\/span>\n                    <span class=\"em-card-field-value\">Sauliac sur C\u00e9l\u00e9 <\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.) :<\/span>\n                    <span class=\"em-card-field-value\">Mariage<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n                  <article class=\"em-card\"\n            data-type=\"event\"\n            data-features=\"\"\n            data-name=\"mariages au mas de nadal\"\n            data-json=\"{&quot;name&quot;:&quot;Mariages au Mas de Nadal&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/911-scaled.jpg&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/location-evenement-lot\\\/&quot;,&quot;data&quot;:{&quot;name&quot;:&quot;Mariages au Mas de Nadal&quot;,&quot;date_period&quot;:&quot;Toute l&#039;ann\\u00e9e&quot;,&quot;location&quot;:&quot;Saint-Cirq-Lapopie&quot;,&quot;distance_km&quot;:&quot;0&quot;,&quot;description&quot;:&quot;C\\u00e9l\\u00e9bration de mariages dans un cadre atypique avec privatisation du domaine et h\\u00e9bergements en lodges.&quot;,&quot;type&quot;:&quot;Mariage&quot;,&quot;comment&quot;:&quot;Un lieu unique pour un mariage inoubliable.&quot;,&quot;link&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/location-evenement-lot\\\/&quot;,&quot;image&quot;:&quot;https:\\\/\\\/masdenadal.com\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/911-scaled.jpg&quot;,&quot;address&quot;:&quot;Mas de Nadal, 46330 Saint-Cirq-Lapopie, France&quot;,&quot;gps_coordinates_longitude&quot;:&quot;1.6160&quot;,&quot;gps_coordinates_latitude&quot;:&quot;44.4260&quot;},&quot;category&quot;:&quot;\\u00c9v\\u00e9nements recommand\\u00e9s&quot;}\">\n\n            <!-- Image + badge cat\u00e9gorie -->\n            <div class=\"em-card-img-wrap\">\n                              <img decoding=\"async\" class=\"em-card-img\" src=\"https:\/\/masdenadal.com\/wp-content\/uploads\/2026\/01\/911-scaled.jpg\" alt=\"Mariages au Mas de Nadal\" loading=\"lazy\" onerror=\"this.style.display='none';this.nextElementSibling.style.display='flex';\">\n                <div class=\"em-card-placeholder\" style=\"display:none;\">\ud83d\udcf7 Image indisponible<\/div>\n                            <span class=\"em-card-badge badge-event\">\u00c9v\u00e9nements recommand\u00e9s<\/span>\n            <\/div>\n\n            <!-- Contenu de la card -->\n            <div class=\"em-card-body\">\n              <h3 class=\"em-card-title\">Mariages au Mas de Nadal<\/h3>\n\n              <!-- Tags r\u00e9sum\u00e9s (max 4) -->\n              <div class=\"em-card-tags\">\n                                              <\/div>\n\n              <!-- Champs suppl\u00e9mentaires (max 3) -->\n              <div class=\"em-card-fields\">\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Date \/ P\u00e9riode :<\/span>\n                    <span class=\"em-card-field-value\">Toute l&#039;ann\u00e9e<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Lieu (ville) :<\/span>\n                    <span class=\"em-card-field-value\">Saint-Cirq-Lapopie<\/span>\n                  <\/div>\n                                  <div class=\"em-card-field\">\n                    <span class=\"em-card-field-label\">Type d\u2019\u00e9v\u00e9nement (march\u00e9, festival, sport, etc.) :<\/span>\n                    <span class=\"em-card-field-value\">Mariage<\/span>\n                  <\/div>\n                              <\/div>\n\n              <!-- Lien vers le d\u00e9tail -->\n              <div class=\"em-card-footer\">\n                <span>Voir le d\u00e9tail<\/span>\n                <svg fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3\"><\/path><\/svg>\n              <\/div>\n            <\/div>\n          <\/article>\n              <\/div>\n\n      <!-- \u00c9tat vide (aucun r\u00e9sultat apr\u00e8s filtrage) -->\n      <div class=\"em-empty\" id=\"em-empty\" style=\"display:none;\">\n        <p><strong>Aucun r\u00e9sultat<\/strong><br>Modifiez vos filtres pour voir plus de r\u00e9sultats<\/p>\n      <\/div>\n    <\/main>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     JAVASCRIPT \u2014 Filtres, modal, carte Leaflet\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n\n<script>\n(function() {\n  'use strict';\n\n  \/\/ Labels des champs (inject\u00e9s depuis PHP)\n  var FIELD_LABELS = window.emFieldLabels || {};\n\n  \/\/ Cl\u00e9s exclues de la modal (donn\u00e9es internes \/ d\u00e9j\u00e0 affich\u00e9es)\n  var EXCLUDED_KEYS = [\n    'name', 'image', 'images', 'image_url', 'link', 'site_officiel',\n    'gps_coordinates_latitude', 'gps_coordinates_longitude',\n    'latitude', 'longitude', 'latitude_deg', 'longitude_deg',\n    'address', 'available_image_urls'\n  ];\n\n  \/**\n   * Retourne le label lisible d'un champ\n   * Utilise les labels API si disponibles, sinon formate la cl\u00e9\n   *\/\n  function getFieldLabel(key) {\n    return FIELD_LABELS[key] || key.replace(\/_\/g, ' ').replace(\/^\\w\/, function(c) { return c.toUpperCase(); });\n  }\n\n  \/**\n   * \u00c9chappe le HTML pour \u00e9viter les injections XSS\n   *\/\n  function escapeHtml(str) {\n    if (!str) return '';\n    var div = document.createElement('div');\n    div.textContent = str;\n    return div.innerHTML;\n  }\n\n  \/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n  \/\/ FILTRES \u2014 Onglets, checkboxes, recherche\n  \/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n  var activeCategoryFilter = 'all';\n  var searchQuery = '';\n\n  \/**\n   * Applique tous les filtres actifs (cat\u00e9gorie, type, \u00e9quipements, recherche)\n   * Met \u00e0 jour la visibilit\u00e9 des cards et les compteurs\n   *\/\n  function applyFilters() {\n    var selectedTypes    = Array.from(document.querySelectorAll('.em-filter-type:checked')).map(function(cb) { return cb.value; });\n    var selectedFeatures = Array.from(document.querySelectorAll('.em-filter-feat:checked')).map(function(cb) { return cb.value; });\n    var cards = document.querySelectorAll('.em-card');\n    var visibleCount = 0;\n\n    cards.forEach(function(card) {\n      var cardType     = card.getAttribute('data-type');\n      var cardFeatures = (card.getAttribute('data-features') || '').split(',').filter(Boolean);\n      var cardName     = card.getAttribute('data-name') || '';\n\n      \/\/ V\u00e9rifier chaque crit\u00e8re de filtre\n      var matchesCategory = (activeCategoryFilter === 'all' || activeCategoryFilter === cardType);\n      var matchesType     = selectedTypes.indexOf(cardType) !== -1;\n      var matchesSearch   = (searchQuery === '' || cardName.indexOf(searchQuery.toLowerCase()) !== -1);\n\n      var isVisible = matchesCategory && matchesType && matchesSearch;\n\n      \/\/ Filtre \u00e9quipements (uniquement pour les h\u00e9bergements)\n      if (isVisible && (cardType === 'accommodation' || cardType === 'accomodation') && selectedFeatures.length > 0) {\n        isVisible = selectedFeatures.every(function(feat) { return cardFeatures.indexOf(feat) !== -1; });\n      }\n\n      card.style.display = isVisible ? '' : 'none';\n      if (isVisible) visibleCount++;\n    });\n\n    \/\/ Mise \u00e0 jour des compteurs\n    document.getElementById('em-stat-visible').textContent = visibleCount;\n    document.getElementById('em-empty').style.display = visibleCount === 0 ? 'block' : 'none';\n\n    \/\/ Mise \u00e0 jour des marqueurs de la carte\n    if (typeof updateMapMarkers === 'function') {\n      updateMapMarkers(activeCategoryFilter === 'all' ? selectedTypes : [activeCategoryFilter]);\n    }\n  }\n\n  \/\/ \u2500\u2500\u2500 Onglets de cat\u00e9gories \u2500\u2500\u2500\n  document.querySelectorAll('.em-tab').forEach(function(tab) {\n    tab.addEventListener('click', function() {\n      document.querySelectorAll('.em-tab').forEach(function(t) { t.classList.remove('active'); });\n      tab.classList.add('active');\n      activeCategoryFilter = tab.getAttribute('data-filter');\n      applyFilters();\n    });\n  });\n\n  \/\/ \u2500\u2500\u2500 Checkboxes filtres \u2500\u2500\u2500\n  document.querySelectorAll('.em-filter-type, .em-filter-feat').forEach(function(checkbox) {\n    checkbox.addEventListener('change', applyFilters);\n  });\n\n  \/\/ \u2500\u2500\u2500 Barre de recherche \u2500\u2500\u2500\n  var searchInput = document.getElementById('em-search');\n  if (searchInput) {\n    searchInput.addEventListener('input', function(e) {\n      searchQuery = e.target.value;\n      applyFilters();\n    });\n  }\n\n  \/\/ \u2500\u2500\u2500 Bouton r\u00e9initialiser \u2500\u2500\u2500\n  var resetButton = document.getElementById('em-reset-filters');\n  if (resetButton) {\n    resetButton.addEventListener('click', function() {\n      document.querySelectorAll('.em-filter-type').forEach(function(cb) { cb.checked = true; });\n      document.querySelectorAll('.em-filter-feat').forEach(function(cb) { cb.checked = false; });\n      if (searchInput) searchInput.value = '';\n      searchQuery = '';\n      activeCategoryFilter = 'all';\n\n      \/\/ Remettre l'onglet \"Tout\" actif\n      document.querySelectorAll('.em-tab').forEach(function(t) { t.classList.remove('active'); });\n      var allTab = document.querySelector('.em-tab[data-filter=\"all\"]');\n      if (allTab) allTab.classList.add('active');\n\n      applyFilters();\n    });\n  }\n\n  \/\/ Application initiale des filtres\n  applyFilters();\n\n  \/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n  \/\/ MODAL \u2014 D\u00e9tail d'une fiche\n  \/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n  \/\/ Clic sur une card \u2192 ouvrir la modal\n  document.querySelectorAll('.em-card').forEach(function(card) {\n    card.addEventListener('click', function() {\n      var cardData = JSON.parse(card.getAttribute('data-json'));\n      openDetailModal(cardData);\n    });\n  });\n\n  \/**\n   * Ouvre la modal de d\u00e9tail pour une fiche\n   * Affiche l'image (si disponible), les champs et le lien externe\n   *\/\n  function openDetailModal(item) {\n    \/\/ Filtrer les champs \u00e0 afficher (exclure les cl\u00e9s internes)\n    var entries = Object.entries(item.data || {}).filter(function(entry) {\n      return EXCLUDED_KEYS.indexOf(entry[0]) === -1\n        && entry[1] && entry[1] !== ''\n        && typeof entry[1] !== 'object';\n    }).map(function(entry) {\n      var value = entry[1];\n      if (value === true || value === 'true') value = 'Oui';\n      else if (value === false || value === 'false') value = 'Non';\n      return { label: getFieldLabel(entry[0]), value: String(value) };\n    });\n\n    var hasImage = item.image && item.image.indexOf('http') === 0;\n    var html = '<div class=\"em-modal\">';\n\n    \/\/ \u2500\u2500\u2500 Header de la modal (avec ou sans image) \u2500\u2500\u2500\n    if (hasImage) {\n      html += '<div class=\"em-modal-img-wrap\">'\n        + '<img decoding=\"async\" class=\"em-modal-img\" src=\"' + escapeHtml(item.image) + '\" alt=\"' + escapeHtml(item.name) + '\" onerror=\"this.style.display=\\'none\\'\">'\n        + '<div class=\"em-modal-img-gradient\"><\/div>'\n        + '<button class=\"em-modal-close\" data-close>&times;<\/button>'\n        + '<div class=\"em-modal-img-info\">'\n        + '<p class=\"em-modal-img-cat\">' + escapeHtml(item.category || '') + '<\/p>'\n        + '<h3 class=\"em-modal-img-title\">' + escapeHtml(item.name) + '<\/h3>'\n        + '<\/div><\/div>';\n    } else {\n      html += '<div class=\"em-modal-header-noimg\"><div>'\n        + '<p class=\"em-modal-header-noimg-cat\">' + escapeHtml(item.category || '') + '<\/p>'\n        + '<h3 class=\"em-modal-header-noimg-title\">' + escapeHtml(item.name) + '<\/h3>'\n        + '<\/div><button class=\"em-modal-close-noimg\" data-close>&times;<\/button><\/div>';\n    }\n\n    \/\/ \u2500\u2500\u2500 Corps de la modal : champs cl\u00e9\/valeur \u2500\u2500\u2500\n    html += '<div class=\"em-modal-body\">';\n    entries.forEach(function(entry) {\n      html += '<div class=\"em-modal-entry\">'\n        + '<p class=\"em-modal-entry-label\">' + escapeHtml(entry.label) + '<\/p>'\n        + '<p class=\"em-modal-entry-value\">' + escapeHtml(entry.value) + '<\/p>'\n        + '<\/div>';\n    });\n    html += '<\/div>';\n\n    \/\/ \u2500\u2500\u2500 Footer de la modal : lien externe + bouton fermer \u2500\u2500\u2500\n    html += '<div class=\"em-modal-footer\">';\n    if (item.link && item.link.indexOf('http') === 0) {\n      html += '<a href=\"' + escapeHtml(item.link) + '\" target=\"_blank\" rel=\"noopener\" class=\"em-modal-link\">Ouvrir le lien &rarr;<\/a>';\n    } else {\n      html += '<span><\/span>';\n    }\n    html += '<button class=\"em-modal-close-btn\" data-close>Fermer<\/button><\/div><\/div>';\n\n    \/\/ \u2500\u2500\u2500 Injection dans le DOM \u2500\u2500\u2500\n    var overlay = document.createElement('div');\n    overlay.className = 'em-modal-overlay';\n    overlay.innerHTML = html;\n    document.body.appendChild(overlay);\n\n    \/\/ Fermeture : boutons, clic overlay, touche Escape\n    overlay.querySelectorAll('[data-close]').forEach(function(btn) {\n      btn.addEventListener('click', function() { overlay.remove(); });\n    });\n    overlay.addEventListener('click', function(e) { if (e.target === overlay) overlay.remove(); });\n    document.addEventListener('keydown', function escapeHandler(e) {\n      if (e.key === 'Escape') { overlay.remove(); document.removeEventListener('keydown', escapeHandler); }\n    });\n  }\n\n  \/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n  \/\/ CARTE LEAFLET \u2014 Marqueurs + interactions\n  \/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n  var mapElement = document.getElementById('em-map');\n\n  if (mapElement && typeof L !== 'undefined') {\n\n    \/\/ Initialisation de la carte\n    var map = L.map(mapElement, { zoomControl: false, attributionControl: false }).setView([46.6, 1.9], 6);\n    L.control.zoom({ position: 'topright' }).addTo(map);\n    L.control.attribution({ position: 'bottomright', prefix: false })\n      .addAttribution('&copy; <a href=\"https:\/\/www.openstreetmap.org\/copyright\">OSM<\/a> &copy; <a href=\"https:\/\/carto.com\/\">CARTO<\/a>')\n      .addTo(map);\n\n    \/\/ Tuiles CartoDB Voyager\n    L.tileLayer('https:\/\/{s}.basemaps.cartocdn.com\/rastertiles\/voyager\/{z}\/{x}\/{y}{r}.png', {\n      maxZoom: 19,\n      subdomains: 'abcd'\n    }).addTo(map);\n\n    \/\/ Donn\u00e9es inject\u00e9es depuis PHP\n    var gpsPoints      = [{\"lat\":44.47,\"lng\":1.8783,\"name\":\"Cajarc\",\"type\":\"city\",\"idx\":0},{\"lat\":44.4167,\"lng\":1.6167,\"name\":\"Saint-Cirq-Lapopie\",\"type\":\"city\",\"idx\":1},{\"lat\":44.6167,\"lng\":2.049,\"name\":\"Figeac\",\"type\":\"city\",\"idx\":2},{\"lat\":44.45,\"lng\":1.4444,\"name\":\"Cahors\",\"type\":\"city\",\"idx\":3},{\"lat\":44.6167,\"lng\":1.8833,\"name\":\"Lacapelle-Marival\",\"type\":\"city\",\"idx\":4},{\"lat\":44.4262,\"lng\":1.7365,\"name\":\"Randonn\\u00e9e dans le Parc Naturel des Causses du Quercy\",\"type\":\"activity\",\"idx\":5},{\"lat\":44.4262,\"lng\":1.7365,\"name\":\"Baignade au bord de la rivi\\u00e8re C\\u00e9l\\u00e9\",\"type\":\"activity\",\"idx\":6},{\"lat\":44.4167,\"lng\":1.6167,\"name\":\"Visite du village m\\u00e9di\\u00e9val de Saint-Cirq-Lapopie\",\"type\":\"activity\",\"idx\":7},{\"lat\":44.4264,\"lng\":1.7365,\"name\":\"Piscine du camping Mas de Nadal\",\"type\":\"activity\",\"idx\":8},{\"lat\":44.426,\"lng\":1.616,\"name\":\"Mariage au Mas de Nadal\",\"type\":\"event\",\"idx\":9},{\"lat\":44.426,\"lng\":1.616,\"name\":\"Mariages au Mas de Nadal\",\"type\":\"event\",\"idx\":10}];\n    var categoryColorMap  = {\"city\":\"#3b82f6\",\"activity\":\"#a855f7\",\"event\":\"#ef4444\"};\n    var categoryLabelMap  = {\"city\":\"Villes aux alentours\",\"activity\":\"Activit\\u00e9s et lieux recommand\\u00e9s\",\"event\":\"\\u00c9v\\u00e9nements recommand\\u00e9s\"};\n\n    var markers      = [];   \/\/ Tous les marqueurs [{marker, type, latLng, idx}]\n    var allBounds    = [];   \/\/ Coordonn\u00e9es pour le fitBounds initial\n    var activeMarker = null; \/\/ Marqueur actuellement s\u00e9lectionn\u00e9\n\n    \/**\n     * Cr\u00e9e une ic\u00f4ne SVG circulaire pour un marqueur Leaflet\n     * @param {string} color  \u2014 Couleur de remplissage\n     * @param {number} size   \u2014 Diam\u00e8tre du cercle int\u00e9rieur (d\u00e9faut: 12)\n     *\/\n    function createMarkerIcon(color, size) {\n      size = size || 12;\n      var outerSize = size + 8;\n      var center = outerSize \/ 2;\n      return L.divIcon({\n        className: 'em-marker',\n        html: '<svg width=\"' + outerSize + '\" height=\"' + outerSize + '\" viewBox=\"0 0 ' + outerSize + ' ' + outerSize + '\">'\n          + '<circle cx=\"' + center + '\" cy=\"' + center + '\" r=\"' + (size \/ 2 + 2) + '\" fill=\"white\" opacity=\"0.9\"\/>'\n          + '<circle cx=\"' + center + '\" cy=\"' + center + '\" r=\"' + (size \/ 2) + '\" fill=\"' + color + '\"\/>'\n          + '<\/svg>',\n        iconSize: [outerSize, outerSize],\n        iconAnchor: [center, center],\n        popupAnchor: [0, -(size \/ 2 + 6)]\n      });\n    }\n\n    \/\/ \u2500\u2500\u2500 Placement des marqueurs sur la carte \u2500\u2500\u2500\n    gpsPoints.forEach(function(point) {\n      var color    = categoryColorMap[point.type] || '#6b7280';\n      var catLabel = categoryLabelMap[point.type] || point.type;\n      var icon     = createMarkerIcon(color, 12);\n      var marker   = L.marker([point.lat, point.lng], { icon: icon }).addTo(map);\n\n      \/\/ Popup au clic\n      var popupHtml = '<div class=\"em-map-popup\">'\n        + '<p class=\"em-map-popup-name\">' + escapeHtml(point.name) + '<\/p>'\n        + '<p class=\"em-map-popup-cat\" style=\"color:' + color + '\">' + escapeHtml(catLabel) + '<\/p>'\n        + '<button class=\"em-map-popup-btn\" data-card-idx=\"' + point.idx + '\">Voir la fiche \u2192<\/button>'\n        + '<\/div>';\n      marker.bindPopup(popupHtml, { closeButton: false, minWidth: 180 });\n\n      \/\/ Highlight du marqueur actif\n      marker.on('click', function() {\n        if (activeMarker && activeMarker.getElement()) activeMarker.getElement().classList.remove('em-marker--active');\n        if (marker.getElement()) marker.getElement().classList.add('em-marker--active');\n        activeMarker = marker;\n      });\n\n      \/\/ Bouton \"Voir la fiche\" dans la popup \u2192 scroll vers la card\n      marker.on('popupopen', function() {\n        var popupBtn = document.querySelector('.em-map-popup-btn[data-card-idx=\"' + point.idx + '\"]');\n        if (popupBtn) {\n          popupBtn.addEventListener('click', function() {\n            var allCards = document.querySelectorAll('.em-card');\n            var targetCard = allCards[point.idx];\n            if (targetCard && targetCard.style.display !== 'none') {\n              targetCard.scrollIntoView({ behavior: 'smooth', block: 'center' });\n              targetCard.classList.add('em-card--highlight');\n              setTimeout(function() { targetCard.classList.remove('em-card--highlight'); }, 2000);\n            }\n            map.closePopup();\n          });\n        }\n      });\n\n      markers.push({ marker: marker, type: point.type, latLng: [point.lat, point.lng], idx: point.idx });\n      allBounds.push([point.lat, point.lng]);\n    });\n\n    \/\/ Cadrage initial de la carte\n    if (allBounds.length > 1) map.fitBounds(allBounds, { padding: [40, 40] });\n    else if (allBounds.length === 1) map.setView(allBounds[0], 13);\n    setTimeout(function() { map.invalidateSize(); }, 100);\n\n    \/\/ \u2500\u2500\u2500 Interaction cards \u2194 marqueurs (hover) \u2500\u2500\u2500\n    document.querySelectorAll('.em-card').forEach(function(card, cardIndex) {\n      card.addEventListener('mouseenter', function() {\n        markers.forEach(function(m) {\n          if (m.idx === cardIndex) {\n            m.marker.setIcon(createMarkerIcon(categoryColorMap[m.type] || '#6b7280', 18));\n            m.marker.setZIndexOffset(1000);\n          }\n        });\n      });\n      card.addEventListener('mouseleave', function() {\n        markers.forEach(function(m) {\n          if (m.idx === cardIndex) {\n            m.marker.setIcon(createMarkerIcon(categoryColorMap[m.type] || '#6b7280', 12));\n            m.marker.setZIndexOffset(0);\n          }\n        });\n      });\n    });\n\n    \/**\n     * Met \u00e0 jour la visibilit\u00e9 des marqueurs selon les types s\u00e9lectionn\u00e9s\n     * Appel\u00e9 par applyFilters() quand les filtres changent\n     *\/\n    window.updateMapMarkers = function(visibleTypes) {\n      var visibleBounds = [];\n      markers.forEach(function(m) {\n        if (visibleTypes.indexOf(m.type) !== -1) {\n          if (!map.hasLayer(m.marker)) map.addLayer(m.marker);\n          visibleBounds.push(m.latLng);\n        } else {\n          if (map.hasLayer(m.marker)) map.removeLayer(m.marker);\n        }\n      });\n      if (visibleBounds.length > 1) map.fitBounds(visibleBounds, { padding: [40, 40], maxZoom: 14 });\n      else if (visibleBounds.length === 1) map.setView(visibleBounds[0], 13);\n    };\n\n    \/\/ \u2500\u2500\u2500 Toggle visibilit\u00e9 de la carte \u2500\u2500\u2500\n    var mapToggle = document.getElementById('em-map-toggle');\n    var mapWrapper = document.getElementById('em-map-wrap');\n    if (mapToggle && mapWrapper) {\n      mapToggle.addEventListener('click', function() {\n        var isVisible = mapWrapper.style.display !== 'none';\n        mapWrapper.style.display = isVisible ? 'none' : '';\n        mapToggle.classList.toggle('active', !isVisible);\n        if (!isVisible) setTimeout(function() { map.invalidateSize(); }, 100);\n      });\n    }\n  }\n\n  \/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n  \/\/ MOBILE \u2014 Sidebar filtres collapsible\n  \/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n  \/**\n   * Sur mobile (\u2264720px), la sidebar filtres est repli\u00e9e par d\u00e9faut\n   * Un clic sur le titre la d\u00e9plie\/replie\n   *\/\n  function initMobileFilters() {\n    var filtersContainer = document.querySelector('.em-filters');\n    var filtersTitle     = document.querySelector('.em-filters-title');\n    if (!filtersContainer || !filtersTitle) return;\n\n    if (window.innerWidth <= 720) {\n      filtersContainer.classList.add('collapsed');\n    }\n\n    filtersTitle.addEventListener('click', function() {\n      if (window.innerWidth <= 720) {\n        filtersContainer.classList.toggle('collapsed');\n      }\n    });\n  }\n\n  initMobileFilters();\n})();\n<\/script>\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_gt_ctv_global_id":"","_gt_ctv_id_group":false,"inline_featured_image":false,"gt_fse_maillage_image":"","gt_fse_maillage_titre":"Lees meer","gt_fse_maillage_alt":"Lees meer","gt_fse_maillage_resume":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-7848","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/masdenadal.com\/nl\/wp-json\/wp\/v2\/pages\/7848","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/masdenadal.com\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/masdenadal.com\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/masdenadal.com\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/masdenadal.com\/nl\/wp-json\/wp\/v2\/comments?post=7848"}],"version-history":[{"count":0,"href":"https:\/\/masdenadal.com\/nl\/wp-json\/wp\/v2\/pages\/7848\/revisions"}],"wp:attachment":[{"href":"https:\/\/masdenadal.com\/nl\/wp-json\/wp\/v2\/media?parent=7848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/masdenadal.com\/nl\/wp-json\/wp\/v2\/categories?post=7848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/masdenadal.com\/nl\/wp-json\/wp\/v2\/tags?post=7848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}