{"id":4070,"date":"2026-10-27T11:24:24","date_gmt":"2026-10-27T10:24:24","guid":{"rendered":"https:\/\/www.camping-cascade-aveyron.com\/elaia-animations-2\/"},"modified":"2026-10-27T11:24:24","modified_gmt":"2026-10-27T10:24:24","slug":"elaia-animations","status":"publish","type":"page","link":"https:\/\/www.camping-cascade-aveyron.com\/en\/elaia-animations\/","title":{"rendered":"Activities and events"},"content":{"rendered":"\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     JETONS\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  .ea-wrap,\n  .ea-modal-overlay {\n    --ea-primary: #2e5e45;\n    --ea-primary-dark: color-mix(in srgb, var(--ea-primary) 80%, #000);\n    --ea-accent: #c8693f;\n    --ea-cream: #f7f3ec;\n    --ea-paper: #fffdf9;\n    --ea-ink: #1f2a24;\n    --ea-ink-soft: #4a554d;\n    --ea-muted: #6d6a60;\n    --ea-line: rgba(31, 42, 36, 0.1);\n    --ea-radius: 14px;\n    --ea-shadow: 0 1px 2px rgba(31, 42, 36, 0.04), 0 6px 20px rgba(31, 42, 36, 0.06);\n    --ea-shadow-hover: 0 2px 4px rgba(31, 42, 36, 0.05), 0 16px 36px rgba(31, 42, 36, 0.12);\n    --ea-header: 0px;\n    --ea-font: 'Inter', -apple-system, 'Segoe UI', sans-serif;\n  }\n\n  .ea-wrap {\n    font-family: var(--ea-font);\n    color: var(--ea-ink);\n    max-width: 1280px;\n    margin: 0 auto;\n    padding: 20px 28px 72px;\n    border-radius: 28px;\n    \/* Pas de fond propre : la page se pose sur celui du th\u00e8me (un aplat cr\u00e8me\n       laissait des bandes blanches de part et d'autre). *\/\n    background: transparent;\n    box-sizing: border-box;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  .ea-wrap *,\n  .ea-wrap *::before,\n  .ea-wrap *::after,\n  .ea-modal-overlay *,\n  .ea-modal-overlay *::before,\n  .ea-modal-overlay *::after {\n    box-sizing: border-box;\n  }\n\n  .ea-wrap button,\n  .ea-wrap select,\n  .ea-modal-overlay button {\n    font-family: var(--ea-font);\n  }\n\n  .ea-wrap :focus-visible,\n  .ea-modal-overlay :focus-visible {\n    outline: 3px solid var(--ea-accent);\n    outline-offset: 3px;\n  }\n\n  .ea-icon {\n    display: inline-flex;\n    width: 1em;\n    height: 1em;\n    flex-shrink: 0;\n  }\n\n  .ea-icon svg {\n    width: 100%;\n    height: 100%;\n  }\n\n  .ea-sr {\n    position: absolute !important;\n    width: 1px;\n    height: 1px;\n    overflow: hidden;\n    clip: rect(0 0 0 0);\n    white-space: nowrap;\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     1. BANDEAU\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  .ea-hero {\n    position: relative;\n    display: flex;\n    align-items: center;\n    min-height: clamp(240px, 30vh, 320px);\n    overflow: hidden;\n    padding: 36px 48px;\n    border-radius: 22px;\n    background-color: var(--ea-primary);\n    background-image: radial-gradient(120% 90% at 85% 10%, rgba(255, 255, 255, 0.16), transparent 60%);\n    background-size: cover;\n    background-position: center;\n    color: #fff;\n  }\n\n  .ea-hero::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(90deg, rgba(14, 22, 17, 0.8) 0%, rgba(14, 22, 17, 0.5) 45%, rgba(14, 22, 17, 0.1) 80%);\n  }\n\n  .ea-hero--plain::before {\n    background: linear-gradient(90deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));\n  }\n\n  .ea-hero-inner {\n    position: relative;\n    max-width: 560px;\n  }\n\n  .ea-eyebrow {\n    display: inline-block;\n    margin-bottom: 10px;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: #f6d9c4;\n  }\n\n  .ea-hero-title {\n    margin: 0 0 10px !important;\n    color: #fff !important;\n    font-size: clamp(26px, 3.2vw, 40px) !important;\n    line-height: 1.1 !important;\n  }\n\n  .ea-hero-text {\n    margin: 0 !important;\n    color: rgba(255, 255, 255, 0.9) !important;\n    font-size: 15px;\n    line-height: 1.55;\n  }\n\n\n  \/* Sans bandeau : police, taille et couleur du titre restent celles du th\u00e8me. *\/\n  .ea-intro {\n    max-width: 720px;\n    margin: 0 auto;\n    text-align: center;\n  }\n\n  .ea-intro-title {\n    margin: 0 0 8px !important;\n  }\n\n  .ea-intro-text {\n    margin: 0 !important;\n    opacity: 0.85;\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     2. NAVIGATION RAPIDE (collante)\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  .ea-nav {\n    position: sticky;\n    top: calc(var(--ea-header) + 8px);\n    z-index: 20;\n    display: flex;\n    justify-content: center;\n    margin-top: 18px;\n    pointer-events: none;\n  }\n\n  .ea-nav-inner {\n    display: flex;\n    gap: 4px;\n    max-width: 100%;\n    overflow-x: auto;\n    padding: 4px;\n    border: 1px solid var(--ea-line);\n    border-radius: 999px;\n    background: rgba(255, 253, 249, 0.95);\n    backdrop-filter: blur(10px);\n    box-shadow: 0 4px 14px rgba(31, 42, 36, 0.08);\n    scrollbar-width: none;\n    pointer-events: auto;\n  }\n\n  .ea-nav-inner::-webkit-scrollbar {\n    display: none;\n  }\n\n  .ea-nav-links {\n    display: flex;\n    gap: 4px;\n  }\n\n  .ea-nav a {\n    flex-shrink: 0;\n    display: inline-flex;\n    align-items: center;\n    gap: 7px;\n    min-height: 38px;\n    padding: 0 16px;\n    border-radius: 999px;\n    color: var(--ea-ink-soft) !important;\n    font-size: 14px;\n    font-weight: 600;\n    text-decoration: none !important;\n    white-space: nowrap;\n    transition: background 0.2s, color 0.2s;\n  }\n\n  .ea-nav a .ea-icon {\n    font-size: 15px;\n  }\n\n  .ea-nav a:hover {\n    background: rgba(31, 42, 36, 0.06);\n    color: var(--ea-ink) !important;\n  }\n\n  .ea-nav a[aria-current=\"true\"] {\n    background: var(--ea-primary);\n    color: #fff !important;\n  }\n\n  .ea-nav-sep {\n    flex-shrink: 0;\n    align-self: center;\n    width: 1px;\n    height: 22px;\n    margin: 0 4px;\n    background: var(--ea-line);\n  }\n\n  \/* Sur place \/ Aux alentours *\/\n  .ea-scope {\n    display: flex;\n    flex-shrink: 0;\n    gap: 2px;\n    padding: 2px;\n    border-radius: 999px;\n    background: #f1ece3;\n  }\n\n  .ea-scope button {\n    min-height: 34px;\n    padding: 0 14px;\n    border: 0;\n    border-radius: 999px;\n    background: transparent;\n    color: var(--ea-ink-soft);\n    font-size: 13px;\n    font-weight: 600;\n    white-space: nowrap;\n    cursor: pointer;\n  }\n\n  .ea-scope button:hover {\n    color: var(--ea-ink);\n  }\n\n  .ea-scope button:disabled {\n    opacity: 0.4;\n    cursor: not-allowed;\n  }\n\n  .ea-scope button:disabled:hover {\n    color: var(--ea-ink-soft);\n  }\n\n  .ea-scope button[aria-pressed=\"true\"] {\n    background: #fff;\n    color: var(--ea-primary);\n    box-shadow: 0 1px 3px rgba(31, 42, 36, 0.15);\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     SECTIONS\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  .ea-section {\n    padding-top: 44px;\n    scroll-margin-top: calc(var(--ea-header) + 64px);\n  }\n\n  .ea-section-head {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    gap: 10px 24px;\n    margin-bottom: 16px;\n  }\n\n  .ea-section-title {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    margin: 0 !important;\n    color: var(--ea-ink) !important;\n    font-size: clamp(21px, 2.2vw, 27px) !important;\n    line-height: 1.2 !important;\n  }\n\n  .ea-section-title .ea-icon {\n    color: var(--ea-accent);\n    font-size: 0.95em;\n  }\n\n  .ea-section-sub {\n    margin: 4px 0 0 !important;\n    color: var(--ea-muted);\n    font-size: 14px;\n  }\n\n  .ea-head-side {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 8px;\n    color: var(--ea-ink);\n    font-size: 14px;\n    font-weight: 500;\n  }\n\n  .ea-round {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 36px;\n    height: 36px;\n    border: 1px solid var(--ea-line);\n    border-radius: 50%;\n    background: var(--ea-paper);\n    color: var(--ea-ink);\n    font-size: 17px;\n    cursor: pointer;\n    transition: background 0.2s, border-color 0.2s;\n  }\n\n  .ea-round:hover:not(:disabled) {\n    border-color: var(--ea-primary);\n    background: #fff;\n  }\n\n  .ea-round:disabled {\n    opacity: 0.35;\n    cursor: not-allowed;\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 \u00c9V\u00c9NEMENT (composant r\u00e9utilisable)\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  .ea-grid {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 16px;\n  }\n\n  .ea-grid--4 {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n\n  .ea-card {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    overflow: hidden;\n    border: 1px solid rgba(31, 42, 36, 0.06);\n    border-radius: 14px;\n    background: var(--ea-paper);\n    box-shadow: 0 1px 2px rgba(31, 42, 36, 0.04), 0 4px 12px rgba(31, 42, 36, 0.05);\n    cursor: pointer;\n    transition: box-shadow 0.25s ease, transform 0.25s ease;\n  }\n\n  .ea-card:hover {\n    box-shadow: var(--ea-shadow-hover);\n    transform: translateY(-2px);\n  }\n\n  .ea-card--ended {\n    opacity: 0.6;\n  }\n\n  .ea-card-media {\n    position: relative;\n    aspect-ratio: 16 \/ 9;\n    overflow: hidden;\n    background: #ece5d8;\n  }\n\n  .ea-grid--4 .ea-card-media {\n    aspect-ratio: 16 \/ 10;\n  }\n\n  .ea-card-media img {\n    display: block;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    transition: transform 0.5s ease;\n  }\n\n  .ea-card:hover .ea-card-media img {\n    transform: scale(1.04);\n  }\n\n  \/* Image par d\u00e9faut du chatbot (souvent un logo) : enti\u00e8re, sur fond doux *\/\n  .ea-card-media img.ea-img--default,\n  .ea-modal-img.ea-img--default {\n    object-fit: contain;\n    padding: 10%;\n    background: #efe8dc;\n  }\n\n  .ea-card:hover .ea-card-media img.ea-img--default {\n    transform: none;\n  }\n\n  \/* Cr\u00e9dit photo (obligatoire pour les images sous licence CC BY\u2026) *\/\n  .ea-credit {\n    position: absolute;\n    right: 6px;\n    bottom: 6px;\n    z-index: 2;\n    max-width: calc(100% - 12px);\n    padding: 2px 6px;\n    border-radius: 4px;\n    background: rgba(0, 0, 0, 0.55);\n    color: #fff;\n    font-size: 10px;\n    line-height: 1.3;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    pointer-events: none;\n  }\n\n  .ea-modal-media {\n    position: relative;\n  }\n\n  .ea-card-fallback {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    height: 100%;\n    background: linear-gradient(135deg, var(--ea-cat-bg), #efe8dc);\n    color: var(--ea-cat-fg);\n    font-size: 34px;\n  }\n\n  .ea-live {\n    position: absolute;\n    bottom: 10px;\n    left: 10px;\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 4px 10px;\n    border-radius: 6px;\n    background: #d9412b;\n    color: #fff;\n    font-size: 12px;\n    font-weight: 700;\n  }\n\n  .ea-live::before {\n    content: '';\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: #fff;\n  }\n\n  \/* Badge \u00ab Sur inscription \u00bb (en haut \u00e0 droite de l'image) *\/\n  .ea-reg {\n    position: absolute;\n    top: 10px;\n    right: 10px;\n    display: inline-flex;\n    align-items: center;\n    gap: 5px;\n    padding: 5px 10px;\n    border-radius: 999px;\n    background: #fff;\n    color: var(--ea-ink);\n    font-size: 12px;\n    font-weight: 700;\n    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);\n  }\n\n  .ea-reg .ea-icon {\n    color: var(--ea-accent);\n    font-size: 14px;\n  }\n\n  \/* Filtres cat\u00e9gories (sous \u00ab Activit\u00e9s du jour \u00bb, valables pour toute la page) *\/\n  .ea-cats {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    margin: -4px 0 18px;\n  }\n\n  .ea-cat {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    min-height: 34px;\n    padding: 0 14px;\n    border: 1px solid transparent;\n    border-radius: 999px;\n    background: var(--ea-cat-bg, #fff);\n    color: var(--ea-cat-fg, var(--ea-ink));\n    font-size: 13px;\n    font-weight: 600;\n    cursor: pointer;\n    transition: border-color 0.2s, box-shadow 0.2s;\n  }\n\n  .ea-cat:hover {\n    border-color: currentColor;\n  }\n\n  .ea-cat[aria-pressed=\"true\"] {\n    border-color: currentColor;\n    box-shadow: inset 0 0 0 1px currentColor;\n  }\n\n  .ea-cat--all {\n    background: #fff;\n    color: var(--ea-ink);\n    border-color: var(--ea-line);\n  }\n\n  .ea-cat--all[aria-pressed=\"true\"] {\n    background: var(--ea-primary);\n    border-color: var(--ea-primary);\n    color: #fff;\n    box-shadow: none;\n  }\n\n  \/* Badge de date sur l'image : format unique (libell\u00e9 \/ jour \/ mois), taille fixe *\/\n  .ea-date {\n    position: absolute;\n    top: 10px;\n    left: 10px;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    width: 64px;\n    height: 74px;\n    padding: 4px;\n    border-radius: 10px;\n    background: var(--ea-accent);\n    color: #fff;\n    text-align: center;\n    text-transform: uppercase;\n    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);\n  }\n\n  .ea-date-top,\n  .ea-date-month {\n    display: block;\n    max-width: 100%;\n    font-size: 9.5px;\n    font-weight: 700;\n    line-height: 1.2;\n    letter-spacing: 0.04em;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  \/* Couleurs par cas (le texte du badge dit aussi le cas : \u00ab Auj. \u00bb, \u00ab Du \u2026 \u2192 \u00bb, \u00ab Jusqu'au \u00bb) *\/\n  .ea-date--today {\n    background: var(--ea-primary);\n  }\n\n  .ea-date--period {\n    background: #3f5f7f;\n  }\n\n  .ea-date--ongoing {\n    background: #a36a12;\n  }\n\n  \/* Fin de p\u00e9riode, sous le d\u00e9but *\/\n  .ea-date-end {\n    display: block;\n    max-width: 100%;\n    margin-top: 3px;\n    padding-top: 3px;\n    border-top: 1px solid rgba(255, 255, 255, 0.45);\n    font-size: 9.5px;\n    font-weight: 700;\n    line-height: 1.1;\n    letter-spacing: 0.02em;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  .ea-date-top {\n    opacity: 0.9;\n  }\n\n  .ea-date-day {\n    display: block;\n    font-size: 22px;\n    font-weight: 800;\n    line-height: 1.05;\n  }\n\n  .ea-card-body {\n    display: flex;\n    flex: 1;\n    flex-direction: column;\n    gap: 6px;\n    padding: 12px 14px 14px;\n  }\n\n  .ea-card-top {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    gap: 6px 10px;\n  }\n\n  .ea-when {\n    display: inline-flex;\n    align-items: center;\n    gap: 5px;\n    color: var(--ea-primary);\n    font-size: 14px;\n    font-weight: 700;\n  }\n\n  .ea-pill {\n    display: inline-flex;\n    align-items: center;\n    padding: 2px 9px;\n    border-radius: 999px;\n    background: var(--ea-cat-bg, #eef0ec);\n    color: var(--ea-cat-fg, #3c463f);\n    font-size: 11px;\n    font-weight: 600;\n  }\n\n  .ea-card-title {\n    margin: 0 !important;\n    color: var(--ea-ink) !important;\n    font-size: 17px !important;\n    font-weight: 600 !important;\n    line-height: 1.3 !important;\n    display: -webkit-box;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n  }\n\n  .ea-grid--4 .ea-card-title {\n    font-size: 16px !important;\n  }\n\n  .ea-place {\n    display: flex;\n    align-items: center;\n    gap: 5px;\n    margin: 0 !important;\n    color: var(--ea-muted);\n    font-size: 13px;\n  }\n\n  .ea-place .ea-icon {\n    color: var(--ea-muted);\n  }\n\n  .ea-card-desc {\n    margin: 0 !important;\n    color: var(--ea-ink-soft);\n    font-size: 13px;\n    line-height: 1.5;\n    display: -webkit-box;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n  }\n\n  .ea-cta {\n    display: inline-flex;\n    align-items: center;\n    align-self: flex-start;\n    gap: 6px;\n    margin-top: auto;\n    padding: 8px 16px;\n    border-radius: 999px;\n    background: color-mix(in srgb, var(--ea-primary) 12%, #fff);\n    color: var(--ea-primary);\n    font-size: 13px;\n    font-weight: 700;\n    transition: background 0.2s, color 0.2s;\n  }\n\n  \/* Bouton coll\u00e9 en bas, avec un peu d'air au-dessus *\/\n  .ea-card-body .ea-cta {\n    margin-top: auto;\n    transform: translateY(4px);\n  }\n\n  .ea-card:hover .ea-cta {\n    background: var(--ea-primary);\n    color: #fff;\n  }\n\n  .ea-cta .ea-icon {\n    transition: transform 0.2s ease;\n  }\n\n  .ea-card:hover .ea-cta .ea-icon {\n    transform: translateX(3px);\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     BOUTONS\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  .ea-btn {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 7px;\n    min-height: 40px;\n    padding: 0 20px;\n    border: 0;\n    border-radius: 999px;\n    background: var(--ea-primary);\n    color: #fff !important;\n    font-size: 14px;\n    font-weight: 600;\n    text-decoration: none !important;\n    cursor: pointer;\n    transition: background 0.2s, filter 0.2s;\n  }\n\n  .ea-btn:hover {\n    background: var(--ea-primary-dark);\n  }\n\n  \/* Bouton secondaire : capsule terracotta douce *\/\n  .ea-btn--soft {\n    background: #f6e3d6;\n    color: var(--ea-ink) !important;\n  }\n\n  .ea-btn--soft:hover {\n    background: #f1d5c2;\n  }\n\n  \/* Carrousel (Activit\u00e9s du jour) *\/\n  .ea-carousel {\n    position: relative;\n  }\n\n  .ea-carousel-track {\n    display: grid;\n    grid-auto-flow: column;\n    grid-auto-columns: calc((100% - 32px) \/ 3);\n    gap: 16px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scroll-behavior: smooth;\n    scrollbar-width: none;\n    padding: 4px 2px 8px;\n    margin: -4px -2px -8px;\n  }\n\n  .ea-carousel-track::-webkit-scrollbar {\n    display: none;\n  }\n\n  .ea-carousel--4 .ea-carousel-track {\n    grid-auto-columns: calc((100% - 48px) \/ 4);\n  }\n\n  .ea-carousel--4 .ea-card-media {\n    aspect-ratio: 16 \/ 10;\n  }\n\n  .ea-carousel--4 .ea-card-title {\n    font-size: 16px !important;\n  }\n\n  .ea-carousel-track > .ea-card {\n    scroll-snap-align: start;\n  }\n\n  .ea-carousel-btn {\n    position: absolute;\n    top: 38%;\n    z-index: 2;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 44px;\n    height: 44px;\n    border: 1px solid var(--ea-line);\n    border-radius: 50%;\n    background: var(--ea-paper);\n    color: var(--ea-ink);\n    font-size: 22px;\n    line-height: 1;\n    box-shadow: 0 6px 18px rgba(31, 42, 36, 0.18);\n    cursor: pointer;\n    transition: background 0.2s, color 0.2s;\n  }\n\n  .ea-carousel-btn:hover {\n    background: var(--ea-primary);\n    color: #fff;\n  }\n\n  .ea-carousel-btn[hidden] {\n    display: none;\n  }\n\n  .ea-carousel-btn--prev {\n    left: -18px;\n  }\n\n  .ea-carousel-btn--next {\n    right: -18px;\n  }\n\n  @media (max-width: 1100px) {\n    .ea-carousel--4 .ea-carousel-track {\n      grid-auto-columns: calc((100% - 32px) \/ 3);\n    }\n  }\n\n  @media (max-width: 900px) {\n    .ea-carousel-track,\n    .ea-carousel--4 .ea-carousel-track {\n      grid-auto-columns: calc((100% - 16px) \/ 2);\n    }\n  }\n\n  @media (max-width: 640px) {\n    .ea-carousel-track,\n    .ea-carousel--4 .ea-carousel-track {\n      grid-auto-columns: 85%;\n    }\n\n    .ea-carousel-btn {\n      display: none;\n    }\n  }\n\n  .ea-more {\n    display: flex;\n    justify-content: center;\n    margin-top: 22px;\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     TEMPS FORTS \u2014 barre des jours\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  .ea-days {\n    display: grid;\n    grid-template-columns: repeat(7, minmax(0, 1fr));\n    gap: 2px;\n    margin-bottom: 16px;\n    padding: 4px;\n    border-radius: 14px;\n    background: #efe9df;\n  }\n\n  .ea-day {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    gap: 1px;\n    min-height: 52px;\n    padding: 6px 4px;\n    border: 0;\n    border-radius: 11px;\n    background: transparent;\n    color: var(--ea-ink);\n    text-align: center;\n    cursor: pointer;\n    transition: background 0.2s;\n  }\n\n  .ea-day:hover {\n    background: rgba(255, 253, 249, 0.7);\n  }\n\n  .ea-day-name {\n    font-size: 14px;\n    font-weight: 600;\n  }\n\n  .ea-day-date {\n    font-size: 12px;\n    color: var(--ea-muted);\n  }\n\n  \/* Petit point : ce jour a des activit\u00e9s (le nombre est dans l'aria-label) *\/\n  .ea-day.has-events::after {\n    content: '';\n    position: absolute;\n    top: 7px;\n    right: 9px;\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: var(--ea-accent);\n  }\n\n  .ea-day.is-today .ea-day-name {\n    color: var(--ea-accent);\n  }\n\n  .ea-day[aria-pressed=\"true\"] {\n    background: var(--ea-primary);\n    color: #fff;\n  }\n\n  .ea-day[aria-pressed=\"true\"] .ea-day-name,\n  .ea-day[aria-pressed=\"true\"] .ea-day-date {\n    color: #fff;\n  }\n\n  .ea-day[aria-pressed=\"true\"].has-events::after {\n    background: #fff;\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     \u00c0 VENIR \u2014 listes d\u00e9roulantes\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  .ea-select {\n    min-height: 38px;\n    padding: 0 32px 0 14px;\n    border: 1px solid var(--ea-line);\n    border-radius: 10px;\n    background-color: var(--ea-paper);\n    color: var(--ea-ink);\n    font-size: 13px;\n    font-weight: 600;\n    cursor: pointer;\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     6. CALENDRIER (secondaire, repliable)\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  .ea-cal-panel[hidden] {\n    display: none;\n  }\n\n  .ea-cal-toolbar {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n    margin-bottom: 16px;\n  }\n\n  .ea-cal-month {\n    margin: 0 !important;\n    font-size: 17px !important;\n    color: var(--ea-ink) !important;\n  }\n\n  .ea-month {\n    overflow: hidden;\n    border-radius: var(--ea-radius);\n    background: var(--ea-paper);\n    box-shadow: var(--ea-shadow);\n  }\n\n  .ea-month-head {\n    display: grid;\n    grid-template-columns: repeat(7, minmax(0, 1fr));\n    border-bottom: 1px solid var(--ea-line);\n  }\n\n  .ea-month-head div {\n    padding: 12px 6px;\n    color: var(--ea-muted);\n    font-size: 12px;\n    font-weight: 700;\n    letter-spacing: 0.08em;\n    text-align: center;\n    text-transform: uppercase;\n  }\n\n  .ea-mrow {\n    display: grid;\n    grid-template-columns: repeat(7, minmax(0, 1fr));\n    grid-template-rows: 34px repeat(3, 26px) 22px;\n    border-bottom: 1px solid var(--ea-line);\n  }\n\n  .ea-mrow:last-child {\n    border-bottom: 0;\n  }\n\n  .ea-mcell {\n    grid-row: 1 \/ -1;\n    padding: 0;\n    border: 0;\n    border-left: 1px solid var(--ea-line);\n    background: transparent;\n    cursor: pointer;\n    transition: background 0.15s;\n  }\n\n  .ea-mcell:first-child {\n    border-left: 0;\n  }\n\n  .ea-mcell:hover {\n    background: rgba(31, 42, 36, 0.03);\n  }\n\n  .ea-mcell--out {\n    background: rgba(31, 42, 36, 0.025);\n  }\n\n  .ea-mcell--selected {\n    background: color-mix(in srgb, var(--ea-primary) 10%, transparent) !important;\n    box-shadow: inset 0 0 0 2px var(--ea-primary);\n  }\n\n  .ea-mnum {\n    grid-row: 1;\n    z-index: 1;\n    justify-self: start;\n    align-self: center;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 28px;\n    height: 28px;\n    margin-left: 6px;\n    border-radius: 50%;\n    color: var(--ea-ink);\n    font-size: 13px;\n    font-weight: 600;\n    pointer-events: none;\n  }\n\n  .ea-mnum--out {\n    color: #b8b2a6;\n  }\n\n  .ea-mnum--today {\n    background: var(--ea-primary);\n    color: #fff;\n  }\n\n  .ea-mbar {\n    z-index: 1;\n    min-width: 0;\n    margin: 2px 3px;\n    padding: 0 8px;\n    border: 0;\n    border-radius: 6px;\n    background: var(--ea-cat-bg);\n    color: var(--ea-cat-fg);\n    font-size: 12px;\n    font-weight: 600;\n    line-height: 22px;\n    text-align: left;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    cursor: pointer;\n  }\n\n  .ea-mbar:hover {\n    filter: brightness(0.96);\n  }\n\n  .ea-mbar--from-before {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0;\n  }\n\n  .ea-mbar--to-after {\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n  }\n\n  .ea-mbar--ended {\n    opacity: 0.5;\n  }\n\n  .ea-mmore {\n    grid-row: 5;\n    z-index: 1;\n    align-self: center;\n    padding-left: 8px;\n    color: var(--ea-muted);\n    font-size: 12px;\n    font-weight: 600;\n    pointer-events: none;\n  }\n\n  .ea-daypanel {\n    margin-top: 24px;\n  }\n\n  .ea-daypanel-title {\n    margin: 0 0 14px !important;\n    color: var(--ea-ink) !important;\n    font-size: 19px !important;\n  }\n\n  \/* \u2500\u2500\u2500 \u00c9tats vides \u2500\u2500\u2500 *\/\n  .ea-empty {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 6px;\n    padding: 28px 20px;\n    border-radius: var(--ea-radius);\n    background: var(--ea-paper);\n    color: var(--ea-ink-soft);\n    text-align: center;\n    font-size: 14px;\n  }\n\n  .ea-empty .ea-icon {\n    margin-bottom: 4px;\n    color: var(--ea-accent);\n    font-size: 24px;\n  }\n\n  .ea-empty strong {\n    color: var(--ea-ink);\n    font-size: 16px;\n  }\n\n  .ea-empty .ea-btn {\n    margin-top: 14px;\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     MODAL (rattach\u00e9e au <body data-rsssl=1> en JS)\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  .ea-modal-overlay {\n    position: fixed !important;\n    inset: 0 !important;\n    z-index: 99999 !important;\n    max-width: none !important;\n    width: auto !important;\n    margin: 0 !important;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    background: rgba(20, 28, 22, 0.45);\n    backdrop-filter: blur(3px);\n  }\n\n  .ea-modal-overlay[hidden] {\n    display: none !important;\n  }\n\n  .ea-modal {\n    position: relative;\n    width: 100%;\n    max-width: 560px;\n    max-height: calc(100vh - 40px);\n    overflow-y: auto;\n    border-radius: 24px;\n    background: var(--ea-paper);\n    box-shadow: 0 30px 80px rgba(20, 28, 22, 0.35);\n    font-family: var(--ea-font);\n    color: var(--ea-ink);\n  }\n\n  .ea-modal-img {\n    display: block;\n    width: 100%;\n    height: 240px;\n    object-fit: cover;\n  }\n\n  .ea-modal-body {\n    display: flex;\n    flex-direction: column;\n    gap: 14px;\n    padding: 22px 24px 24px;\n  }\n\n  .ea-modal-title {\n    margin: 0 !important;\n    color: var(--ea-ink) !important;\n    font-size: 24px !important;\n    line-height: 1.2 !important;\n  }\n\n  .ea-modal-info {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    padding: 16px 18px;\n    border-radius: 14px;\n    background: var(--ea-cream);\n    color: var(--ea-ink);\n    font-size: 15px;\n  }\n\n  .ea-modal-info span {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n  }\n\n  .ea-modal-info .ea-icon {\n    color: var(--ea-accent);\n    font-size: 18px;\n  }\n\n  .ea-modal-desc {\n    margin: 0 !important;\n    color: var(--ea-ink-soft);\n    font-size: 15px;\n    line-height: 1.65;\n    white-space: pre-line;\n  }\n\n  .ea-modal-body .ea-btn {\n    align-self: flex-start;\n  }\n\n  .ea-modal-close {\n    position: absolute;\n    top: 14px;\n    right: 14px;\n    z-index: 1;\n    width: 44px;\n    height: 44px;\n    border: 0;\n    border-radius: 50%;\n    background: rgba(255, 253, 249, 0.95);\n    color: var(--ea-ink);\n    font-size: 24px;\n    line-height: 1;\n    cursor: pointer;\n    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);\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     9. 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: 1100px) {\n    .ea-grid--4 {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  @media (max-width: 900px) {\n    .ea-grid,\n    .ea-grid--4 {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n  }\n\n  @media (max-width: 640px) {\n    .ea-wrap {\n      padding: 10px 14px 44px;\n      border-radius: 0;\n    }\n\n    .ea-hero {\n      align-items: flex-end;\n      min-height: 280px;\n      padding: 22px 18px;\n      border-radius: 16px;\n    }\n\n    .ea-hero::before {\n      background: linear-gradient(0deg, rgba(14, 22, 17, 0.85) 0%, rgba(14, 22, 17, 0.35) 70%, rgba(14, 22, 17, 0.15) 100%);\n    }\n\n    .ea-hero-text {\n      font-size: 14px;\n    }\n\n\n    .ea-nav {\n      justify-content: flex-start;\n    }\n\n    .ea-nav a {\n      min-height: 34px;\n      padding: 0 10px;\n      font-size: 13px;\n    }\n\n    .ea-nav a .ea-icon {\n      display: none;\n    }\n\n    \/* Barre sur 2 lignes : sections (d\u00e9filantes) puis \u00ab Tout \/ Sur place \/ Aux alentours \u00bb *\/\n    .ea-nav-inner {\n      flex-wrap: wrap;\n      justify-content: center;\n      overflow: visible;\n      border-radius: 20px;\n    }\n\n    .ea-nav-sep {\n      display: none;\n    }\n\n    .ea-nav-links {\n      flex: 1 1 100%;\n      overflow-x: auto;\n      scrollbar-width: none;\n    }\n\n    .ea-nav-links::-webkit-scrollbar {\n      display: none;\n    }\n\n    .ea-nav-links a {\n      flex-shrink: 0;\n    }\n\n    .ea-scope {\n      flex: 1 1 100%;\n      justify-content: space-between;\n    }\n\n    .ea-scope button {\n      flex: 1;\n    }\n\n    .ea-section {\n      padding-top: 36px;\n    }\n\n    .ea-grid,\n    .ea-grid--4 {\n      grid-template-columns: minmax(0, 1fr);\n      gap: 14px;\n    }\n\n    .ea-cats {\n      flex-wrap: nowrap;\n      overflow-x: auto;\n      scrollbar-width: none;\n      padding-bottom: 2px;\n    }\n\n    .ea-cats::-webkit-scrollbar {\n      display: none;\n    }\n\n    .ea-cat {\n      flex-shrink: 0;\n    }\n\n    \/* Jours : d\u00e9filement horizontal *\/\n    .ea-days {\n      display: flex;\n      overflow-x: auto;\n      scrollbar-width: none;\n    }\n\n    .ea-days::-webkit-scrollbar {\n      display: none;\n    }\n\n    .ea-day {\n      flex: 0 0 64px;\n    }\n\n    \/* Calendrier : barres fines sans texte *\/\n    .ea-mrow {\n      grid-template-rows: 30px repeat(3, 8px) 18px;\n    }\n\n    .ea-mbar {\n      margin: 1px;\n      padding: 0;\n      font-size: 0;\n      line-height: 0;\n      background: var(--ea-cat-fg);\n      border-radius: 3px;\n    }\n\n    .ea-mnum {\n      margin-left: 2px;\n      font-size: 12px;\n    }\n\n    .ea-mmore {\n      padding-left: 3px;\n      font-size: 10px;\n    }\n\n    .ea-modal-img {\n      height: 190px;\n    }\n\n    .ea-modal-body {\n      padding: 20px 18px 22px;\n    }\n\n    .ea-modal-title {\n      font-size: 22px !important;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .ea-wrap *,\n    .ea-modal-overlay * {\n      transition: none !important;\n      scroll-behavior: auto !important;\n    }\n  }\n<\/style>\n\n\n<div class=\"ea-wrap\" id=\"ea-app\">\n\n  <!-- 1. Bandeau immersif -->\n  <section class=\"ea-hero\" style=\"background-image:url(https:\/\/medias.hit.enaveyron.fr\/fiches\/8361\/images\/100204_6723e6fe-87df-45ec-a2b1-063b36fe39aa\/600.webp)\">\n    <div class=\"ea-hero-inner\">\n      <span class=\"ea-eyebrow\">Enjoy unforgettable moments<\/span>\n      <h1 class=\"ea-hero-title\">Activities &amp; events<\/h1>\n      <p class=\"ea-hero-text\">Find all current activities, this week&#039;s highlights and upcoming events during your stay.<\/p>\n    <\/div>\n  <\/section>\n\n  <!-- 2. Navigation rapide (collante) + filtre sur place \/ aux alentours -->\n  <nav class=\"ea-nav\" aria-label=\"Page sections\">\n    <div class=\"ea-nav-inner\">\n      <div class=\"ea-nav-links\">\n        <a href=\"#ea-sec-today\" aria-current=\"true\"><span class=\"ea-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"4\"\/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"\/><\/svg><\/span>Today<\/a>\n        <a href=\"#ea-sec-week\"><span class=\"ea-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"16\" rx=\"2\"\/><path d=\"M16 3v4M8 3v4M3 10h18\"\/><\/svg><\/span>This week<\/a>\n        <a href=\"#ea-sec-upcoming\"><span class=\"ea-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v5l3 2\"\/><\/svg><\/span>Upcoming<\/a>\n        <a href=\"#ea-sec-calendar\"><span class=\"ea-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"16\" rx=\"2\"\/><path d=\"M3 10h18M8 14h2M12 14h2M16 14h2M8 17h2M12 17h2\"\/><\/svg><\/span>Calendar<\/a>\n      <\/div>\n              <span class=\"ea-nav-sep\" aria-hidden=\"true\"><\/span>\n        <div class=\"ea-scope\" role=\"group\" aria-label=\"Where?\">\n          <button type=\"button\" data-scope=\"all\" aria-pressed=\"true\">All<\/button>\n                    <button type=\"button\" data-scope=\"onsite\" aria-pressed=\"false\" disabled title=\"No on-site activity at the moment\">On site<\/button>\n          <button type=\"button\" data-scope=\"nearby\" aria-pressed=\"false\">Nearby<\/button>\n        <\/div>\n          <\/div>\n  <\/nav>\n\n  <!-- 3 \u2192 6. Sections (rendues en JS) -->\n  <section class=\"ea-section\" id=\"ea-sec-today\" aria-labelledby=\"ea-today-title\"><\/section>\n  <section class=\"ea-section\" id=\"ea-sec-week\" aria-labelledby=\"ea-week-title\"><\/section>\n  <section class=\"ea-section\" id=\"ea-sec-upcoming\" aria-labelledby=\"ea-upcoming-title\"><\/section>\n  <section class=\"ea-section\" id=\"ea-sec-calendar\" aria-labelledby=\"ea-calendar-title\"><\/section>\n\n  <noscript>\n    <ul>\n              <li><strong>March\u00e9 de plein air<\/strong> \u2014 Du 01\/01\/2026 au 31\/12\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>March\u00e9 hebdomadaire<\/strong> \u2014 Du 01\/09\/2026 au 31\/12\/2026 \u00e0 23:59 \u2014 12430 Villefranche-de-Panat<\/li>\n              <li><strong>Reprise des randonn\u00e9es hebdomadaires !<\/strong> \u2014 Du 01\/09\/2026 au 30\/06\/2027 \u00e0 23:59 \u2014 12170 R\u00e9quista<\/li>\n              <li><strong>Cin\u00e9ma : Le Fant\u00f4me de l&#039;Op\u00e9ra<\/strong> \u2014 Du 29\/10\/2026 au 29\/10\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Cin\u00e9ma : Les Mis\u00e9rables<\/strong> \u2014 Du 29\/10\/2026 au 29\/10\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Cin\u00e9ma : Mochy<\/strong> \u2014 Du 29\/10\/2026 au 29\/10\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Cin\u00e9ma : Shaun le Mouton<\/strong> \u2014 Du 29\/10\/2026 au 29\/10\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>March\u00e9s hebdomadaires de Millau<\/strong> \u2014 Du 30\/10\/2026 au 30\/10\/2026 \u00e0 23:59 \u2014 12100 Millau<\/li>\n              <li><strong>Roots Raiders BMX<\/strong> \u2014 Du 30\/10\/2026 au 31\/10\/2026 \u00e0 23:59 \u2014 12400 Montlaur<\/li>\n              <li><strong>Cin\u00e9ma : Malfaisante<\/strong> \u2014 Du 31\/10\/2026 au 31\/10\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Gravel Larzac Exp\u00e9rience - A la d\u00e9couverte du Larzac<\/strong> \u2014 Du 31\/10\/2026 au 31\/10\/2026 \u00e0 23:59 \u2014 12100 Millau<\/li>\n              <li><strong>HAQUALLOWEEN, soir\u00e9e cin\u00e9ma<\/strong> \u2014 Du 31\/10\/2026 au 31\/10\/2026 \u00e0 23:59 \u2014 12410 Salles-Curan<\/li>\n              <li><strong>March\u00e9 traditionnel<\/strong> \u2014 Du 31\/10\/2026 au 31\/10\/2026 \u00e0 23:59 \u2014 12230 La Cavalerie<\/li>\n              <li><strong>Repas et grill\u00e9e de ch\u00e2taignes<\/strong> \u2014 Du 31\/10\/2026 au 31\/10\/2026 \u00e0 23:59 \u2014 12380 La Serre<\/li>\n              <li><strong>Soir\u00e9e Halloween<\/strong> \u2014 Du 31\/10\/2026 au 31\/10\/2026 \u00e0 23:59 \u2014 12230 Sainte-Eulalie-de-Cernon<\/li>\n              <li><strong>Soir\u00e9e Halloween \u00e0 la Mousse qui T\u00e2che<\/strong> \u2014 Du 31\/10\/2026 au 31\/10\/2026 \u00e0 23:59 \u2014 12100 Millau<\/li>\n              <li><strong>Soir\u00e9e Cin\u00e9-Club : Cocotte<\/strong> \u2014 Du 04\/11\/2026 au 04\/11\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Foire d&#039;automne<\/strong> \u2014 Du 06\/11\/2026 au 08\/11\/2026 \u00e0 23:59 \u2014 12250 Roquefort-sur-Soulzon<\/li>\n              <li><strong>FESTIVAL D\u2019AUTOMNE #4 : &quot;Ceux des \u00e9tangs&quot; conte avec Marie Coumes - Spectacle de cl\u00f4ture<\/strong> \u2014 Du 07\/11\/2026 au 07\/11\/2026 \u00e0 23:59 \u2014 12120 Arvieu<\/li>\n              <li><strong>Foire Mensuelle<\/strong> \u2014 Du 07\/11\/2026 au 07\/11\/2026 \u00e0 23:59 \u2014 12410 Salles-Curan<\/li>\n              <li><strong>Grande Soir\u00e9e Rock et Sbk<\/strong> \u2014 Du 07\/11\/2026 au 07\/11\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Le Mois du doc : Qu&#039;est-ce qu&#039;on va penser de nous ?<\/strong> \u2014 Du 07\/11\/2026 au 07\/11\/2026 \u00e0 23:59 \u2014 12100 Millau<\/li>\n              <li><strong>Spectacle &quot;Ce que nos peaux ont \u00e0 se dire&quot; - Les Renc&#039;Arts de la Danse<\/strong> \u2014 Du 07\/11\/2026 au 07\/11\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Spectacle : Yongoy\u00e9ly<\/strong> \u2014 Du 07\/11\/2026 au 07\/11\/2026 \u00e0 23:59 \u2014 12100 Millau<\/li>\n              <li><strong>Les plus belles com\u00e9dies musicales<\/strong> \u2014 Du 08\/11\/2026 au 08\/11\/2026 \u00e0 23:59 \u2014 12410 Salles-Curan<\/li>\n              <li><strong>Vide Greniers<\/strong> \u2014 Du 08\/11\/2026 au 08\/11\/2026 \u00e0 23:59 \u2014 12400 Vabres-l&#039;Abbaye<\/li>\n              <li><strong>Vide Greniers<\/strong> \u2014 Du 08\/11\/2026 au 08\/11\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Vide grenier rue Beau Soleil<\/strong> \u2014 Du 08\/11\/2026 au 08\/11\/2026 \u00e0 23:59 \u2014 12100 Millau<\/li>\n              <li><strong>Concours de P\u00e9tanque en doublette - La Cha\u00eene de l&#039;Espoir<\/strong> \u2014 Du 11\/11\/2026 au 11\/11\/2026 \u00e0 23:59 \u2014 12170 R\u00e9quista<\/li>\n              <li><strong>Kermesse<\/strong> \u2014 Du 11\/11\/2026 au 11\/11\/2026 \u00e0 23:59 \u2014 12290 Pont-de-Salars<\/li>\n              <li><strong>Mois du film documentaire &quot;Le Mistral&quot; \u2013 Luc Perrin \u2013 M\u00e9diath\u00e8que<\/strong> \u2014 Du 12\/11\/2026 au 12\/11\/2026 \u00e0 23:59 \u2014 12170 R\u00e9quista<\/li>\n              <li><strong>Salon des vignerons et des produits gourmands 2026<\/strong> \u2014 Du 13\/11\/2026 au 15\/11\/2026 \u00e0 23:59 \u2014 12100 Millau<\/li>\n              <li><strong>Concert :  Cam&amp;L\u00e9o<\/strong> \u2014 Du 14\/11\/2026 au 14\/11\/2026 \u00e0 23:59 \u2014 12100 Millau<\/li>\n              <li><strong>Concert : &quot;Radical Kitten&quot; d\u00e9barque<\/strong> \u2014 Du 14\/11\/2026 au 14\/11\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Hypnose Xperience - La Doline<\/strong> \u2014 Du 14\/11\/2026 au 14\/11\/2026 \u00e0 23:59 \u2014 12100 Millau<\/li>\n              <li><strong>Projection film documentaire<\/strong> \u2014 Du 14\/11\/2026 au 14\/11\/2026 \u00e0 23:59 \u2014 12230 Nant<\/li>\n              <li><strong>Bourse aux jouets<\/strong> \u2014 Du 15\/11\/2026 au 15\/11\/2026 \u00e0 23:59 \u2014 12230 L&#039;Hospitalet-du-Larzac<\/li>\n              <li><strong>Concert :  Cam&amp;L\u00e9o<\/strong> \u2014 Du 15\/11\/2026 au 15\/11\/2026 \u00e0 23:59 \u2014 12400 Montlaur<\/li>\n              <li><strong>Salon du livre<\/strong> \u2014 Du 15\/11\/2026 au 15\/11\/2026 \u00e0 23:59 \u2014 12380 Saint-Sernin-sur-Rance<\/li>\n              <li><strong>Vide-grenier - Comit\u00e9 des f\u00eates<\/strong> \u2014 Du 15\/11\/2026 au 15\/11\/2026 \u00e0 23:59 \u2014 12640 Rivi\u00e8re-sur-Tarn<\/li>\n              <li><strong>Foire Mensuelle<\/strong> \u2014 Du 19\/11\/2026 au 19\/11\/2026 \u00e0 23:59 \u2014 12290 Pont-de-Salars<\/li>\n              <li><strong>Ma distinction spectacle par Wally<\/strong> \u2014 Du 20\/11\/2026 au 20\/11\/2026 \u00e0 23:59 \u2014 12120 Arvieu<\/li>\n              <li><strong>Th\u00e9\u00e2tre : Garbo<\/strong> \u2014 Du 20\/11\/2026 au 20\/11\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Repas Gratounade<\/strong> \u2014 Du 21\/11\/2026 au 21\/11\/2026 \u00e0 23:59 \u2014 12550 Coupiac<\/li>\n              <li><strong>Spectacle &quot;Corps Paysages, Corps Chim\u00e8re&quot;<\/strong> \u2014 Du 21\/11\/2026 au 21\/11\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n              <li><strong>Vente \u00e0 la ferme<\/strong> \u2014 Du 21\/11\/2026 au 21\/11\/2026 \u00e0 23:59 \u2014 12620 Saint-Laurent-de-L\u00e9v\u00e9zou<\/li>\n              <li><strong>Les \u00ab P&#039;tites Puces \u00bb : la magie de la seconde main au c\u0153ur des Raspes<\/strong> \u2014 Du 22\/11\/2026 au 22\/11\/2026 \u00e0 23:59 \u2014 12490 Saint-Rome-de-Tarn<\/li>\n              <li><strong>March\u00e9 de No\u00ebl \u00e0 Camar\u00e8s<\/strong> \u2014 Du 22\/11\/2026 au 22\/11\/2026 \u00e0 23:59 \u2014 12360 Camar\u00e8s<\/li>\n              <li><strong>Vide-greniers \/ March\u00e9s aux Puces<\/strong> \u2014 Du 22\/11\/2026 au 22\/11\/2026 \u00e0 23:59 \u2014 12170 R\u00e9quista<\/li>\n              <li><strong>Foire Mensuelle<\/strong> \u2014 Du 26\/11\/2026 au 26\/11\/2026 \u00e0 23:59 \u2014 12430 Villefranche-de-Panat<\/li>\n              <li><strong>Spectacle : America<\/strong> \u2014 Du 26\/11\/2026 au 26\/11\/2026 \u00e0 23:59 \u2014 12100 Millau<\/li>\n              <li><strong>Th\u00e9\u00e2tre-Concert : Comment \u00e7a se danse ?<\/strong> \u2014 Du 28\/11\/2026 au 28\/11\/2026 \u00e0 23:59 \u2014 12250 Saint-Jean-d&#039;Alcapi\u00e8s<\/li>\n              <li><strong>Tribal D\u00f4me<\/strong> \u2014 Du 28\/11\/2026 au 28\/11\/2026 \u00e0 23:59 \u2014 12400 Saint-Affrique<\/li>\n          <\/ul>\n  <\/noscript>\n<\/div>\n\n<div class=\"ea-modal-overlay\" id=\"ea-modal\" hidden>\n  <div class=\"ea-modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"ea-modal-title\">\n    <button type=\"button\" class=\"ea-modal-close\" id=\"ea-modal-close\" aria-label=\"Close\">\u00d7<\/button>\n    <div id=\"ea-modal-content\"><\/div>\n  <\/div>\n<\/div>\n\n<script>\n  (function() {\n    var EVENTS = [{\"id\":15,\"name\":\"March\\u00e9 de plein air\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 01\\\/01\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"start\":\"2026-01-01\",\"end\":\"2026-12-31\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Dans une ambiance conviviale et color\\u00e9e, les \\u00e9tals se remplissent de produits du terroir : fromages de caract\\u00e8re, charcuteries traditionnelles, miel, fruits et l\\u00e9gumes de saison, sp\\u00e9cialit\\u00e9s aveyronnaises et bien d\\u2019autres gourmandises.\\n\\u00a0\\nC\\u2019est l\\u2019occasion id\\u00e9ale de fl\\u00e2ner dans les rues, d\\u2019\\u00e9changer directement avec les producteurs passionn\\u00e9s et de remplir son panier de saveurs authentiques. Que vous soyez en qu\\u00eate d\\u2019un pique-nique champ\\u00eatre, d\\u2019un repas de f\\u00eate ou simplement du plaisir de go\\u00fbter au meilleur de l\\u2019Aveyron, le march\\u00e9 de Saint-Affrique est une halte gourmande \\u00e0 ne pas manquer.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/8361\\\/images\\\/100204_6723e6fe-87df-45ec-a2b1-063b36fe39aa\\\/600.webp\",\"credit\":\"V.Govignon\",\"link\":\"\"},{\"id\":42,\"name\":\"March\\u00e9 hebdomadaire\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 01\\\/09\\\/2026 au 31\\\/12\\\/2026 \\u00e0 23:59\",\"start\":\"2026-09-01\",\"end\":\"2026-12-31\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12430 Villefranche-de-Panat\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"De 8h00 \\u00e0 12h00 - Place du march\\u00e9. Primeur, fromage ( une semaine sur 2), plats cuisin\\u00e9s.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/39688\\\/images\\\/683747_7df90f06-0170-44fa-9026-6c0638d38fa0\\\/600.webp\",\"credit\":\"OFFICE DE TOURISME DE PARELOUP LEVEZOU\",\"link\":\"\"},{\"id\":49,\"name\":\"Reprise des randonn\\u00e9es hebdomadaires !\",\"type\":\"evenements-locaux-373\",\"category\":\"sport-randonnee\",\"label\":\"Du 01\\\/09\\\/2026 au 30\\\/06\\\/2027 \\u00e0 23:59\",\"start\":\"2026-09-01\",\"end\":\"2027-06-30\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12170 R\\u00e9quista\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Rando du mardi\\nD\\u00e9part : Durenque, place de la salle des f\\u00eates\\nContact : Yvette \\u2013 06 37 79 29 87\\nRandonn\\u00e9es modul\\u00e9es, faciles \\u00e0 moyennes, de moins de 10 km (l\\u2019apr\\u00e8s-midi ou \\u00e0 la journ\\u00e9e).\\nRando du mercredi\\nD\\u00e9part : L\\u00e9dergues\\nContact : Serge \\u2013 06 06 75 93 29\\nRandonn\\u00e9es d\\u00e9couvertes de 10 \\u00e0 15 km, de difficult\\u00e9 moyenne.\\nRando du vendredi\\nD\\u00e9part : R\\u00e9quista, sous la halle\\nContact : R\\u00e9gine \\u2013 06 77 41 25 49\\nRandonn\\u00e9es douces, avec peu de d\\u00e9nivel\\u00e9, de moins de 10 km, dans une ambiance conviviale.\\nRando du vendredi\\nD\\u00e9part : R\\u00e9quista\\nContact : Yves \\u2013 06 21 41 56 90\\nRandonn\\u00e9es \\u00e0 la journ\\u00e9e, destin\\u00e9es aux randonneurs d\\u2019un bon niveau. Inscription souhait\\u00e9e !\\n\\n1er jeudi du mois \\u2013 \\u00ab Rando gourmande \\u00bb\\nInscription obligatoire\\nContact : Victor \\u2013 06 86 24 89 19\\nRandonn\\u00e9e matinale suivie du repas du midi (restaurant, plat du chef, pique-nique, etc.).\\n\\n3e dimanche du mois\\nD\\u00e9part : R\\u00e9quista, sous la halle\\nContact : Victor \\u2013 06 86 24 89 19\\nRandonn\\u00e9e d\\u00e9couverte et culturelle, hors canton, de 10 \\u00e0 15 km, de difficult\\u00e9 moyenne.\\n\\nComment devenir membre du Club Rando du R\\u00e9quistanais ?\\nContact : Victor Grifn\\u00e9e \\u2013 06 86 24 89 19\\nE-mail : clubrandorequistanais@gmail.com\\nFacebook : Club Rando du R\\u00e9quistanais\\n\\u00catre membre du club, c\\u2019est apporter votre contribution \\u00e0 la sauvegarde de nos chemins de randonn\\u00e9e, prendre soin de votre sant\\u00e9 et partager de bons moments de convivialit\\u00e9.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/20779\\\/images\\\/487434_d6fd6b1d-0e7f-43e5-8d61-0fd6816a1515\\\/600.webp\",\"credit\":\"\",\"link\":\"\"},{\"id\":19,\"name\":\"Cin\\u00e9ma : Le Fant\\u00f4me de l'Op\\u00e9ra\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 29\\\/10\\\/2026 au 29\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-29\",\"end\":\"2026-10-29\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"28 octobre 2026 en salle | 2h 14min | Drame, Fantastique, Romance\\nDe Alexandre Castagnetti\\n| Par Alexandre Castagnetti, Camille Fontaine\\nAvec Deva Cassel, Julien De Saint-Jean, Romain Duris\\nAlors qu\\u2019elle r\\u00e9p\\u00e8te l'Orpheus, un op\\u00e9ra maudit qui aurait \\u00e9t\\u00e9 compos\\u00e9 par le Fant\\u00f4me de l'Op\\u00e9ra, elle tombe amoureuse d'un myst\\u00e9rieux pianiste. A l\\u2019approche de la premi\\u00e8re repr\\u00e9sentation, entre accidents inexpliqu\\u00e9s et r\\u00e9v\\u00e9lations troublantes, Anastasia se trouve plong\\u00e9e dans une histoire d'amour impossible, \\u00e0 la fronti\\u00e8re du r\\u00e9el et du fantastique.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97208\\\/images\\\/1375276_45804864-f139-4170-9f57-5709890b4831\\\/600.webp\",\"credit\":\"Cin\\u00e9ma de Saint-Affrique\",\"link\":\"https:\\\/\\\/www.facebook.com\\\/cinema.lemoderne\"},{\"id\":32,\"name\":\"Cin\\u00e9ma : Les Mis\\u00e9rables\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 29\\\/10\\\/2026 au 29\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-29\",\"end\":\"2026-10-29\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"14 octobre 2026 en salle | 2h 56min | Drame, Historique\\nDe Fred Cavay\\u00e9\\n| Par Fred Cavay\\u00e9\\nAvec Vincent Lindon, Tahar Rahim, Camille Cottin\\nSous une fausse identit\\u00e9, il devient avec le temps un notable respect\\u00e9 de tous. Venant en aide \\u00e0 Fantine, une ouvri\\u00e8re mourante, il promet de sauver sa fille, Cosette, des griffes des cruels Th\\u00e9nardier. Mais son pass\\u00e9 le rattrape : l\\u2019inspecteur Javert, un policier implacable au pass\\u00e9 lui aussi tourment\\u00e9, le traque sans rel\\u00e2che afin de le renvoyer au bagne. Dans un Paris en pleine r\\u00e9volution, Valjean doit lutter pour prot\\u00e9ger Cosette et achever sa r\\u00e9demption, entre sacrifices et qu\\u00eate de justice.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97204\\\/images\\\/1375191_c20d9d85-814a-49e0-a6d1-a31aea909d29\\\/600.webp\",\"credit\":\"Cin\\u00e9ma de Saint-Affrique\",\"link\":\"https:\\\/\\\/www.facebook.com\\\/cinema.lemoderne\"},{\"id\":20,\"name\":\"Cin\\u00e9ma : Mochy\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 29\\\/10\\\/2026 au 29\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-29\",\"end\":\"2026-10-29\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"14 octobre 2026 en salle | 1h 25min | Animation\\nDe J\\u00e9r\\u00e9mie Degruson, Yanis Belaid\\n| Par Greg Brooker\\nAvec Axel Auriant, Olivier Chauvel, Fanny Chelim\\nTitre original Yugly\\nD\\u00e8s 6 ans\\nD\\u00e9fiant tous les obstacles, il va tout faire pour r\\u00e9aliser ce projet fou avec le secret espoir d\\u2019y trouver l\\u2019humain qui l\\u2019aimera pour la vie.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97192\\\/images\\\/1374964_2df6439d-abc9-423e-84c9-e4b1ebededd5\\\/600.webp\",\"credit\":\"Mochy\",\"link\":\"https:\\\/\\\/www.facebook.com\\\/cinema.lemoderne\"},{\"id\":0,\"name\":\"Cin\\u00e9ma : Shaun le Mouton\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 29\\\/10\\\/2026 au 29\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-29\",\"end\":\"2026-10-29\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Il \\u00e9labore un plan minutieux pour b\\u00e9n\\u00e9ficier d'une journ\\u00e9e de r\\u00e9pit, mais les \\u00e9v\\u00e9nements ne s'encha\\u00eenent pas comme il l'avait pr\\u00e9vu. Le fermier se retrouve bien malgr\\u00e9 lui en ville, totalement amn\\u00e9sique. Shaun et les autres animaux tentent de lui faire retrouver la m\\u00e9moire tout en \\u00e9vitant les nombreux dangers de la ville. Ils doivent notamment se m\\u00e9fier d'un agent de la fourri\\u00e8re bien d\\u00e9cid\\u00e9 \\u00e0 les capturer. Personnage adul\\u00e9 des jeunes Anglais, Shaun le mouton r\\u00e9ussit brillamment son passage du petit au grand \\u00e9cran en conservant sa dr\\u00f4lerie intelligente, marque de fabrique des producteurs Nick Park et Peter Lord.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97200\\\/images\\\/1375028_d4ef0a68-87d5-467d-87d9-83b61534bdc2\\\/600.webp\",\"credit\":\"Cin\\u00e9ma de Saint-Affrique\",\"link\":\"https:\\\/\\\/www.facebook.com\\\/cinema.lemoderne\"},{\"id\":21,\"name\":\"March\\u00e9s hebdomadaires de Millau\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 30\\\/10\\\/2026 au 30\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-30\",\"end\":\"2026-10-30\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12100 Millau\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"N'oublions pas l'essentiel : la qualit\\u00e9 et la fra\\u00eecheur des nombreux produits de la r\\u00e9gion pr\\u00e9sent\\u00e9s, qu'ils soient bios, artisanaux ou issus d'autres cultures raisonn\\u00e9es : pain, p\\u00e2tisseries, fruits, l\\u00e9gumes, charcuterie, agneau de pays, aromates, fromages, miel, confitures, vin, liqueurs, ap\\u00e9ritifs... un festival de senteurs et de couleurs.\\nA Millau, la place Foch entour\\u00e9e d'arcades et les Halles accueillent le march\\u00e9\\u00a0\\nTOUS LES MERCREDIS ET VENDREDIS, TOUTE L'ANN\\u00c9E (SOUS R\\u00c9SERVE DE MODIFICATION)\\n8h-12h\\n\\n\\u00a0Le vendredi, le march\\u00e9 d\\u00e9borde de la place Foch dans les rues adjacentes jusqu'aux Halles, march\\u00e9 couvert dont l'architecture m\\u00e9tallique rappelle les c\\u00e9l\\u00e8bres Pavillons Baltard.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/8358\\\/images\\\/100198_8bc730a0-441b-4ec2-9168-780b48c78e18\\\/600.webp\",\"credit\":\"OFFICE DE TOURISME DE MILLAU\",\"link\":\"\"},{\"id\":35,\"name\":\"Roots Raiders BMX\",\"type\":\"evenements-locaux-373\",\"category\":\"sport-randonnee\",\"label\":\"Du 30\\\/10\\\/2026 au 31\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-30\",\"end\":\"2026-10-31\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Montlaur\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Apr\\u00e8s Montlaur, Albi, Pessac c'est au tour de Camar\\u00e8s d'accueillir cette \\u00e9tape indoor dans la salle des f\\u00eates.\\nLes cat\\u00e9gories moins de 14 ans, filles et hommes vont concourir pour cette nouvelle manche.\\n\\nVendredi 30 octobre\\nOpen Park 17h30-20h00\\nOpen street Jam 20h30-22h30\\n\\nSamedi 31 octobre\\nAtelier custom et fresque participative graffiti de 11h \\u00e0 18h30\\nStand Posca pour les enfants\\nOpen Park 10h30-12h30\\nQualifications toutes cat\\u00e9gories de 13h \\u00e0 16h45\\nFinales toutes cat\\u00e9gories de 17h \\u00e0 21h15\\nBest tricks (meilleure figure) 21h30-22h30\\nDJ SET 22h45-00h00\\n\\nStand mat\\u00e9riel v\\u00e9los et \\u00e9quipements\\nBar et petite restauration\\nAtelier maquillage Halloween\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97280\\\/images\\\/1376935_de648adf-3c1e-43da-8828-9296d8689c2c\\\/600.webp\",\"credit\":\"Zoo Raiders\",\"link\":\"\"},{\"id\":46,\"name\":\"Cin\\u00e9ma : Malfaisante\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 31\\\/10\\\/2026 au 31\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-31\",\"end\":\"2026-10-31\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"14 octobre 2026 en salle | 1h 34min | Epouvante-horreur\\nDe Rob Savage\\n| Par Nathan Elston\\nAvec Jessica Chastain, Jay Duplass, Arabella Olivia Clark\\nTitre original Other Mommy\\nMALFAISANTE nous entraine dans l\\u2019univers de la tr\\u00e8s jeune Bela, dont le quotidien se d\\u00e9t\\u00e9riore de jour en jour en raison de la relation qu\\u2019elle entretient, au c\\u0153ur de sa propre maison, avec une entit\\u00e9 malveillante qui ressemble \\u00e9trangement \\u00e0 sa propre m\\u00e8re.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97212\\\/images\\\/1375427_6eb9b15e-48ea-4626-b7ea-4f7490eb8241\\\/600.webp\",\"credit\":\"Cin\\u00e9ma de Saint-Affrique\",\"link\":\"https:\\\/\\\/www.facebook.com\\\/cinema.lemoderne\"},{\"id\":31,\"name\":\"Gravel Larzac Exp\\u00e9rience - A la d\\u00e9couverte du Larzac\",\"type\":\"evenements-locaux-373\",\"category\":\"sport-randonnee\",\"label\":\"Du 31\\\/10\\\/2026 au 31\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-31\",\"end\":\"2026-10-31\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12100 Millau\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Nouvelle \\u00e9dition du Gravel Larzac Exp\\u00e9rience, nouvelles traces, nouveaux lieux, l'\\u00e9t\\u00e9 a \\u00e9t\\u00e9 propice pour d\\u00e9couvrir d'autres espaces parmi l'immensit\\u00e9 des possibilit\\u00e9s qu'offre en gravel le plateau du Larzac.\\nNous ne changeons pas les fondamentaux : pas de chrono, pas de classement, 99 partants, des ravitos locaux (\\\"le gras, c'est la vie\\\"), des lieux embl\\u00e9matiques et des rencontres avec les acteurs du territoire. Bref, sur cet \\u00e9v\\u00e8nement, le gravel est un moyen d'aller \\u00e0 la d\\u00e9couverte d'un lieu, un d\\u00e9fi un peu sportif mais pas tant que \\u00e7a !\\nDernier samedi des vacances de ToussaintLimit\\u00e9 \\u00e0 99 placesParcours en 8 +\\\/- 100 kmQuelque part dans le sud AveyronRavitaillements 100% locaux\\n\\nLES INSCRIPTIONS SONT OUVERTES - CLIQUER ICI POUR RESERVER\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/16120\\\/images\\\/181799_45cd3867-5004-4f1f-98d4-2a4eff4a1324\\\/600.webp\",\"credit\":\"Gravel Exp\\u00e9rience\",\"link\":\"https:\\\/\\\/www.gravelexperience.fr\\\/\"},{\"id\":26,\"name\":\"HAQUALLOWEEN, soir\\u00e9e cin\\u00e9ma\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 31\\\/10\\\/2026 au 31\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-31\",\"end\":\"2026-10-31\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12410 Salles-Curan\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Soir\\u00e9e cin\\u00e9 le samedi 31 octobre \\u00e0 l'espace O L\\u00e9v\\u00e9zou \\u00e0 Salles curan. \\\"Inspirez profond\\u00e9ment\\\" \\\"The deep House\\\". Prix 13,90\\u20ac. T\\u00e9l 05 65 60 55 59\",\"image\":\"\",\"credit\":\"\",\"link\":\"https:\\\/\\\/www.espace-o-levezou.com\\\/\"},{\"id\":7,\"name\":\"March\\u00e9 traditionnel\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 31\\\/10\\\/2026 au 31\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-31\",\"end\":\"2026-10-31\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12230 La Cavalerie\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"March\\u00e9 traditionnel tous les samedis de l'ann\\u00e9e \\u00e0 l'Espace Robert Muret.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/28834\\\/images\\\/551583_042dfc48-12b4-4a14-8860-f9f39f27d541\\\/600.webp\",\"credit\":\"OT LARZAC & VALLEES\",\"link\":\"\"},{\"id\":41,\"name\":\"Repas et grill\\u00e9e de ch\\u00e2taignes\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 31\\\/10\\\/2026 au 31\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-31\",\"end\":\"2026-10-31\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12380 La Serre\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Soir\\u00e9e avec animation musicale\\nRepas \\u00e0 20\\u20ac (gratuit pour les moins de 12 ans) : assiette de charcuterie, carbonade flamande, pommes au beurre, fromage, ch\\u00e2taignes grill\\u00e9es, croustade aux pommes, vin et caf\\u00e9.\\nR\\u00e9servation obligatoire.\\nApportez couverts et assiettes.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/23812\\\/images\\\/1360285_6b96c2b4-912b-441b-b075-0dce1b3a0518\\\/600.webp\",\"credit\":\"La Serre Anim\",\"link\":\"\"},{\"id\":22,\"name\":\"Soir\\u00e9e Halloween\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 31\\\/10\\\/2026 au 31\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-31\",\"end\":\"2026-10-31\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12230 Sainte-Eulalie-de-Cernon\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"On raconte que, chaque ann\\u00e9e, lorsque la nuit du 31 octobre tombe\\u2026quelque chose d\\u2019\\u00e9trange se produit derri\\u00e8re les portes du bar, lorsque la nuit enveloppera la village, le Pla\\u00e7a Bar Tabac changera de visage\\u2026\\nQuelques lumi\\u00e8res tamis\\u00e9es, des silhouettes \\u00e9tranges, des regards qui se croisent\\u2026et cette sensation que quelque chose se pr\\u00e9pare.\\nSerez-vous simplement spectateur\\u2026 ou ferez-vous partie de l\\u2019histoire ?\\n\\nD\\u00e8s 19h, concours de d\\u00e9guisements - 3 lots \\u00e0 gagner\\nEt parce qu\\u2019une soir\\u00e9e comme celle-ci garde toujours quelques secrets\\u2026d\\u2019autres surprises vous attendent.\\nUne chose est certaine\\u2026Quand la nuit commencera, il sera trop tard pour faire demi-tour.\\nOserez-vous entrer?\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/44941\\\/images\\\/1374744_cbf78dca-306c-44f2-aef4-7e5b96b05692\\\/600.webp\",\"credit\":\"Bar Pla\\u00e7a\",\"link\":\"\"},{\"id\":3,\"name\":\"Soir\\u00e9e Halloween \\u00e0 la Mousse qui T\\u00e2che\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 31\\\/10\\\/2026 au 31\\\/10\\\/2026 \\u00e0 23:59\",\"start\":\"2026-10-31\",\"end\":\"2026-10-31\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12100 Millau\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"\\ud83d\\udccd La Mousse qui T\\u00e2che \\u2013 20 boulevard de Bonald, 12100 Millau\\n\\nSamedi 31 octobre \\u2013 Soir\\u00e9e Halloween, de 19h30 \\u00e0 00h30 \\ud83c\\udf83\\nVenez frissonner \\u00e0 La Mousse qui T\\u00e2che ! DJ Fred sera aux platines pour une soir\\u00e9e festive, accompagn\\u00e9e d\\u2019une d\\u00e9coration terrifiante, de bi\\u00e8res et cocktails en pression et de softs artisanaux. Les d\\u00e9guisements sont fortement conseill\\u00e9s : les plus flippants comme les plus mignons sont les bienvenus !\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/96491\\\/images\\\/1360990_de6a2e30-12e8-4e9c-a45b-2d24ce88cf3f\\\/600.webp\",\"credit\":\"LA MOUSSE QUI TACHE\",\"link\":\"https:\\\/\\\/www.instagram.com\\\/lamoussequitache\\\/\"},{\"id\":2,\"name\":\"Soir\\u00e9e Cin\\u00e9-Club : Cocotte\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 04\\\/11\\\/2026 au 04\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-04\",\"end\":\"2026-11-04\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"\\u00c9chapp\\u00e9e d\\u2019un \\u00e9levage industriel, elle trouve refuge dans la cour d\\u2019un restaurant en ruine. L\\u00e0, elle d\\u00e9couvre l\\u2019amour, d\\u00e9fie la loi du bec et se bat pour prot\\u00e9ger ses \\u0153ufs. Sa qu\\u00eate, tendre et ironique, r\\u00e9sonne avec les combats silencieux et petits arrangements de la vie humaine...\\nR\\u00e9alisateur : Gy\\u00f6rgy P\\u00e1lfi - Langue Grec\\nPays d'origine : Allemagne, Gr\\u00e8ce, Hongrie\\nDur\\u00e9e : 01 h 36\\nVersion originale sous-titr\\u00e9e en fran\\u00e7ais\\nDrame Aventure\\nDate de sortie : 12\\\/08\\\/2026\\n\\nSt\\u00e9phane Struk\\u00a0sera pr\\u00e9sent \\u00e0 cette s\\u00e9ance, il a accept\\u00e9 de nous pr\\u00e9senter les coulisses du travail avec les animaux.\\nEn effet, au d\\u00e9tour d'une rencontre, nous avions d\\u00e9couvert que St\\u00e9phane Struk exercait pr\\u00e9c\\u00e9demment une activit\\u00e9 cin\\u00e9matographique, \\\"dresseur animalier\\\".\\nLe dresseur pr\\u00e9pare les animaux aux bruits, cam\\u00e9ras, lumi\\u00e8res et aux actions du sc\\u00e9nario, et bien d'autres choses.\\nNous aurons l'occasion de le questionner sur cette profession, pas tr\\u00e8s connue du grand public.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97885\\\/images\\\/1392258_8d846afc-3f1c-44fc-a6fb-945345dbbcaa\\\/600.webp\",\"credit\":\"Arts et livre\",\"link\":\"https:\\\/\\\/artsetlivre.fr\\\/\"},{\"id\":44,\"name\":\"Foire d'automne\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 06\\\/11\\\/2026 au 08\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-06\",\"end\":\"2026-11-08\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12250 Roquefort-sur-Soulzon\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Comme chaque ann\\u00e9e l'Elan Tournemirois organise sa foire d'Automne !\\nProgramme :\\nVendredi \\u00e0 18h soir\\u00e9e d'Ouverture : Bodega & Tapas avec planche de charcuterie\\nDimanche 8h30 \\u00e0 19h : petit d\\u00e9jeuner et Repas\\nTickets de Tombola -  un Jambon \\u00e0 gagner et bien d'autres lots\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/95693\\\/images\\\/1364296_edaa0b83-3b3e-49b2-9119-e7e2846b825d\\\/600.webp\",\"credit\":\"Elan Tournemirois\",\"link\":\"\"},{\"id\":38,\"name\":\"FESTIVAL D\\u2019AUTOMNE #4 : \\\"Ceux des \\u00e9tangs\\\" conte avec Marie Coumes - Spectacle de cl\\u00f4ture\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 07\\\/11\\\/2026 au 07\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-07\",\"end\":\"2026-11-07\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12120 Arvieu\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Dans Ceux des \\u00e9tangs, Marie Coumes raconte quelques histoires extraordinaires. Mais le plus\\u00a0extraordinaire c\\u2019est que\\u00a0toutes ces histoires se soient pass\\u00e9es au m\\u00eame endroit. Dins un\\u00a0vilatge. Un petit village au bord d\\u2019un bel \\u00e9tang de mer. Un village o\\u00f9 chaque soir un corbeau\\u00a0borgne d\\u00e9colle du toit de l\\u2019\\u00e9glise puis dispara\\u00eet toujours \\u00e0 la m\\u00eame heure derri\\u00e8re la\\u00a0montanha petita. Et personne ne sait o\\u00f9 il va.\\u00a0\\nUn village o\\u00f9 Gis\\u00e8le et Loulou, deux vieilles qu\\u2019on appelle : \\u00ab le jugement dernier \\u00bb s\\u00e8ment\\u00a0la terreur. O\\u00f9 Rom\\u00e9gous, vieil anarchiste espagnol, tra\\u00eene ses pantoufles \\u00e0 carreaux et ses\\u00a0id\\u00e9es noires. O\\u00f9, sur la place des Lilas, Maurice le garagiste est un g\\u00e9ant \\u00e0 la force colossale\\u00a0emprisonn\\u00e9 dans les mailles des pulls toujours trop petits que lui tricote sa m\\u00e8re.\\u00a0\\nMais c\\u2019est bien connu, il est des concours de circonstances exceptionnellement heureux qui\\u00a0viennent bouleverser en profondeur l\\u2019ordre du monde. Si petit soit-il. Au fond d\\u2019une\\u00a0caverne, une vieille assise \\u00e0 m\\u00eame le sol brode les destins sur une grande couverture bleue\\u00a0et \\u00e9paisse comme la nuit. \\u00c0 c\\u00f4t\\u00e9 d\\u2019elle, un grand chien jaune. Avec un grand sourire de\\u00a0chien jaune...\\n\\nSur inscription.\\nLe Festival d'automne est un \\u00e9v\\u00e8nement port\\u00e9 par L\\u00e9v\\u00e9zou Attractivit\\u00e9 & Tourisme en partenariat avec les biblioth\\u00e8ques et m\\u00e9diath\\u00e8ques de S\\u00e9gur, Arvieu, Salmiech, Vezins de L\\u00e9v\\u00e9zou, Pont de Salars et Villefranche de Panat. Il se d\\u00e9roule du vendredi 16 octobre au samedi 7 novembre. Au programme : ateliers de magie, de bruitage, contes, lectures, effets sp\\u00e9ciaux, jeux..\\n\\u00a0\\nConsultez le programme complet du Festival d'automne #4\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/95547\\\/images\\\/1351885_40a26327-d34f-448a-ac9a-634a79d2147a\\\/600.webp\",\"credit\":\"Marie Coumes\",\"link\":\"\"},{\"id\":18,\"name\":\"Foire Mensuelle\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 07\\\/11\\\/2026 au 07\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-07\",\"end\":\"2026-11-07\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12410 Salles-Curan\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Pendant les travaux de la Place de la Mairie, la foire aura lieu sur la place du Foirail.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/88071\\\/images\\\/1263023_7896650b-102e-4e80-bfb6-784cad7d815e\\\/600.webp\",\"credit\":\"\",\"link\":\"\"},{\"id\":36,\"name\":\"Grande Soir\\u00e9e Rock et Sbk\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 07\\\/11\\\/2026 au 07\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-07\",\"end\":\"2026-11-07\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Possibilit\\u00e9 de s'inscrire au Stage Salsa (interm\\u00e9diaire et plus) avec Yuskiel et Stage Bachata sensual  (1 an de pratique au minimum) avec Luis Jos\\u00e9\\nSoir\\u00e9e ouverte \\u00e0 tous organis\\u00e9e par Rockalatina et anim\\u00e9e par Yuskiel et Luis Jos\\u00e9.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97587\\\/images\\\/1385283_c4e0e72a-6e25-4676-a581-00dc55140ff0\\\/600.webp\",\"credit\":\"Association Rockalatina\",\"link\":\"\"},{\"id\":17,\"name\":\"Le Mois du doc : Qu'est-ce qu'on va penser de nous ?\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 07\\\/11\\\/2026 au 07\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-07\",\"end\":\"2026-11-07\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12100 Millau\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Qu\\u2019est-ce qu\\u2019on va penser de nous ? de Lucile Coda \\n2023 - 1h09 - \\u00e0 partir de 14 ans\\n\\u00ab Il a \\u00e9t\\u00e9 ouvrier, cantonnier, balayeur. Elle a toujours \\u00e9t\\u00e9 secr\\u00e9taire. Mes parents s\\u2019inqui\\u00e8tent. Pourquoi n\\u2019ai-je pas de travail apr\\u00e8s de longues \\u00e9tudes si ch\\u00e8res ?\\nEn m\\u00ealant le r\\u00e9cit autobiographique \\u00e0 des instants de vie familiale, je tente de retranscrire le chemin parcouru entre r\\u00eaves d\\u2019ascension sociale et d\\u00e9sillusion. \\u00bb Lucile Coda\\nL\\u2019avis de la presse\\n\\\"Ce film touchant par la sinc\\u00e9rit\\u00e9 et la simplicit\\u00e9 qui s\\u2019en d\\u00e9gagent nous fait r\\u00e9fl\\u00e9chir sur notre position dans la soci\\u00e9t\\u00e9, le m\\u00e9pris de classe et le sentiment cruel de d\\u00e9calage qui s\\u2019immisce quand on sort de sa condition.\\\" KuB - Kultur Bretagne\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97086\\\/images\\\/1372916_59a7e8ad-bd21-470d-bae1-256b73304156\\\/600.webp\",\"credit\":\"MDA\",\"link\":\"\"},{\"id\":10,\"name\":\"Spectacle \\\"Ce que nos peaux ont \\u00e0 se dire\\\" - Les Renc'Arts de la Danse\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 07\\\/11\\\/2026 au 07\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-07\",\"end\":\"2026-11-07\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Le samedi 7 novembre, d\\u00e9couvrez un spectacle de danse contact-improvisation propos\\u00e9 par la compagnie Aller Vers.\\nSoir\\u00e9e spectacle + Jam\\nDanse : Marjorie Gouzy et Gabriel Melendez Nebot\\nCr\\u00e9ation musicale et interpr\\u00e9tation : Adrien Nuguet\\nPartir de ce qui bouge en moi. Partir des corps qui sentent, chutent et s\\u2019\\u00e9meuvent. Raconter, depuis l\\u2019int\\u00e9rieur, comment na\\u00eet cet \\u00e9lan et puis le souligner, le faire tenir dans l\\u2019air par la musique et la parole. Cr\\u00e9er patiemment un lieu commun o\\u00f9 se donne la chance de la rencontre. Partager enfin, avec tous nos sens, ce que nos peaux ont \\u00e0 se dire.\\nR\\u00e9servation conseill\\u00e9e par mail : acorpsdanse.resa@gmail.com\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97017\\\/images\\\/1371320_e154ae0a-b2ad-445c-abb2-3ea65466bfba\\\/600.webp\",\"credit\":\"A Corps Danse\",\"link\":\"\"},{\"id\":8,\"name\":\"Spectacle : Yongoy\\u00e9ly\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 07\\\/11\\\/2026 au 07\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-07\",\"end\":\"2026-11-07\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12100 Millau\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Deux ans apr\\u00e8s Y\\u00e9 (L\\u2019Eau) et ses impressionnantes pyramides humaines, la compagnie guin\\u00e9enne Circus Baobab revient \\u00e0 Millau avec Yongoy\\u00e9ly, terme qui signifie \\u00ab l\\u2019exciseuse \\u00bb. Six artistes circassiennes, deux porteurs et un voltigeur mettent en mouvement l\\u2019ind\\u00e9pendance de la femme guin\\u00e9enne, la pression sociale, le poids des traditions et de la fatalit\\u00e9, le refus de l\\u2019inadmissible, de l\\u2019insupportable lame de rasoir qui change d\\u00e9finitivement la vie et le corps des femmes et jeunes filles, mettant encore leur vie en danger.\\nIls \\u00e9voluent sur des agr\\u00e8s rudimentaires : de fins troncs d\\u2019arbre servant tour \\u00e0 tour de m\\u00e2t chinois, de barre russe ou de corde de funambule, ainsi que des parpaings gris faisant \\u00e9cho \\u00e0 la b\\u00e9tonisation intense de l\\u2019Afrique. Acrobaties, danses traditionnelles et contemporaines, expressivit\\u00e9 du krump, font de Yongoy\\u00e9ly un spectacle intense et porteur d\\u2019espoir.\\nDirection artistique Kerfalla Camara Avec Kadiatou Camara, Mamadama Camara, Yarie Camara, Mariama Cir\\u00e9 Soumah, M\\u2019Mah Soumah, M\\u2019Mah Sylla, Djibril Coumbassa, Amara Tambassa, Mohamed Tour\\u00e9 Mise en sc\\u00e8ne, sc\\u00e9nographie Yann Ecauvre Intervenants cirque Julie Delaire, Mehdi Az\\u00e9ma Cr\\u00e9ation musicale, sonore Yann Ecauvre, Mehdi Az\\u00e9ma Chor\\u00e9graphie collective Yann Ecauvre, Mehdi Az\\u00e9ma, Julie Delaire, Mouna Nemri & les artistes Cr\\u00e9ation lumi\\u00e8re Jean-Marie Prouv\\u00e8ze Costumes Solenne Capmas\\n\\\"Une s\\u00e9rie de num\\u00e9ros comme autant de sayn\\u00e8tes, parfois myst\\u00e9rieuses, parfois plus litt\\u00e9rales, abordent le statut de la femme en Guin\\u00e9e-Conakry, dans un m\\u00e9lange r\\u00e9ussi \\u2013 et \\u00f4 combien risqu\\u00e9 \\u2013 d\\u2019art africain et de nouveau cirque occidental\\\". Lib\\u00e9ration\\nDur\\u00e9e : 1 h\\nTout public \\u00e0 partir de 6 ans\\nSpectacle pr\\u00e9sent\\u00e9 dans le cadre d\\u2019une tourn\\u00e9e du r\\u00e9seau Pyramid et avec le soutien de la Compagnie Eiffage du Viaduc de Millau\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/93324\\\/images\\\/1328829_82190cbc-b648-4cad-b823-58fc341b3ade\\\/600.webp\",\"credit\":\"Juliette-Ramos\",\"link\":\"https:\\\/\\\/maisondupeuplemillau.fr\\\/spectacle\\\/yongoyely\\\/\"},{\"id\":37,\"name\":\"Les plus belles com\\u00e9dies musicales\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 08\\\/11\\\/2026 au 08\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-08\",\"end\":\"2026-11-08\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12410 Salles-Curan\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Un spectacle o\\u00f9 se succ\\u00e8dent 10 tableaux des Com\\u00e9dies Musicales les plus appr\\u00e9ci\\u00e9es. Visitant nombre d'univers et d'\\u00e9poques de Rom\\u00e9o et Juliette au Roi Soleil mais encore les Dix Commandements, Mozart l'Op\\u00e9ra Rock, Notre Dame de Paris, Mistinguett, Les Mis\\u00e9rables, Grease, Cats, We Will Rock You... \\nTarif : 42\\u20ac\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/94386\\\/images\\\/1358337_d1fa9c16-ba66-41d0-9bff-c3bfcf5053b2\\\/600.webp\",\"credit\":\"MJC\",\"link\":\"\"},{\"id\":30,\"name\":\"Vide Greniers\",\"type\":\"evenements-locaux-373\",\"category\":\"brocantes-vide-greniers\",\"label\":\"Du 08\\\/11\\\/2026 au 08\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-08\",\"end\":\"2026-11-08\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Vabres-l'Abbaye\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Accueil des exposants \\u00e0 partir de 7h\\n\\nBuvette et petite restauration sur place\\nPlaces limit\\u00e9es , pensez \\u00e0 r\\u00e9server.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97312\\\/images\\\/1377505_10252a17-1092-4aa4-a2a8-3276bb6bd0f9\\\/600.webp\",\"credit\":\"APEL Sainte-Famille\",\"link\":\"\"},{\"id\":23,\"name\":\"Vide Greniers\",\"type\":\"evenements-locaux-373\",\"category\":\"brocantes-vide-greniers\",\"label\":\"Du 08\\\/11\\\/2026 au 08\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-08\",\"end\":\"2026-11-08\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Ouverture pour les exposants \\u00e0 8h\\nBuvette et restauration sur place.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97598\\\/images\\\/1385453_c5ff55c1-37d8-4d35-9975-de05629981cd\\\/600.webp\",\"credit\":\"SAGA\",\"link\":\"\"},{\"id\":4,\"name\":\"Vide grenier rue Beau Soleil\",\"type\":\"evenements-locaux-373\",\"category\":\"brocantes-vide-greniers\",\"label\":\"Du 08\\\/11\\\/2026 au 08\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-08\",\"end\":\"2026-11-08\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12100 Millau\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"OUVERTS A TOUS\\n2 euros le m\\u00e8tre\\nInscription au 06 81 27 94 44\\n\\nRue Beausoleil\\nVide grenier de 8h \\u00e0 13h\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/22062\\\/images\\\/1360959_075bb46f-fe17-4b72-9f38-de7bfb5cff0f\\\/600.webp\",\"credit\":\"dr\",\"link\":\"\"},{\"id\":25,\"name\":\"Concours de P\\u00e9tanque en doublette - La Cha\\u00eene de l'Espoir\",\"type\":\"evenements-locaux-373\",\"category\":\"sport-randonnee\",\"label\":\"Du 11\\\/11\\\/2026 au 11\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-11\",\"end\":\"2026-11-11\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12170 R\\u00e9quista\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Mercredi 11 novembre \\u00e0 partir de 14h30, rendez-vous au boulodrome de R\\u00e9quista pour un concours de p\\u00e9tanque en doublette organis\\u00e9 au profit de La Cha\\u00eene de l\\u2019Espoir, dans le cadre de l\\u2019op\\u00e9ration \\u00ab Bouger pour des enfants \\u2013 Mon d\\u00e9fi sportif pour La Cha\\u00eene de l\\u2019Espoir \\u00bb.\\nTout au long de l\\u2019apr\\u00e8s-midi, une tombola sera propos\\u00e9e sur le stand du boulodrome, avec plusieurs lots \\u00e0 gagner, dont un g\\u00e2teau \\u00e0 la broche. Des parts de g\\u00e2teaux seront \\u00e9galement en vente.\\nTous les b\\u00e9n\\u00e9fices seront revers\\u00e9s \\u00e0 La Cha\\u00eene de l\\u2019Espoir, association qui \\u0153uvre pour permettre \\u00e0 des enfants d'acc\\u00e9der aux soins dont ils ont besoin.\\nRenseignements :\\nAlain Daures \\u2013 06 72 21 38 98\\nrequista@chainedelespoir.org\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/45711\\\/images\\\/1363969_67583b55-c6d4-4119-b0fd-79b64685b1d9\\\/600.webp\",\"credit\":\"La chaine de l'espoir R\\u00e9quista\",\"link\":\"\"},{\"id\":39,\"name\":\"Kermesse\",\"type\":\"evenements-locaux-373\",\"category\":\"brocantes-vide-greniers\",\"label\":\"Du 11\\\/11\\\/2026 au 11\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-11\",\"end\":\"2026-11-11\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12290 Pont-de-Salars\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"10h\\\/12h et 13h30\\\/17h - Salle polyvalente. Organis\\u00e9 par l\\u2019EHPAD La R\\u00e9sidence du Lac. Exposition et vente des cr\\u00e9ations des r\\u00e9sidents lors des ateliers.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97394\\\/images\\\/1379446_6b107d43-bc44-434d-829d-a9cdb90d4f01\\\/600.webp\",\"credit\":\"pexels\",\"link\":\"\"},{\"id\":33,\"name\":\"Mois du film documentaire \\\"Le Mistral\\\" \\u2013 Luc Perrin \\u2013 M\\u00e9diath\\u00e8que\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 12\\\/11\\\/2026 au 12\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-12\",\"end\":\"2026-11-12\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12170 R\\u00e9quista\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Dans le cadre du Mois du film documentaire, la M\\u00e9diath\\u00e8que du R\\u00e9quistanais vous donne rendez-vous jeudi 12 novembre \\u00e0 20h30 au cin\\u00e9ma de R\\u00e9quista pour d\\u00e9couvrir le documentaire \\u00ab Le Mistral \\u2013 Chronique d\\u2019une fin annonc\\u00e9e \\u00bb, r\\u00e9alis\\u00e9 par Luc Perrin.\\n\\u00c0 travers l'histoire du Mistral, bistrot aveyronnais install\\u00e9 dans le quartier de Belleville \\u00e0 Paris, ce film retrace la vie d'un \\u00e9tablissement et des diff\\u00e9rentes g\\u00e9n\\u00e9rations de cafetiers qui s'y sont succ\\u00e9d\\u00e9. Une plong\\u00e9e dans l'univers des bistrots parisiens, entre souvenirs, rencontres et transmission.\\n\\u00c0 l'issue de la projection, la soir\\u00e9e se poursuivra par un temps d'\\u00e9change avec Luc Perrin, le r\\u00e9alisateur, ainsi que Didier et Alain Miquel, anciens propri\\u00e9taires du Mistral.\\nDur\\u00e9e du documentaire : 55 minutes.\\nAcc\\u00e8s libre et gratuit.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97247\\\/images\\\/1375931_bf5f7bb4-d6ec-47df-bdc4-8785910432ca\\\/600.webp\",\"credit\":\"M\\u00e9diath\\u00e8que\",\"link\":\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=100064537488460\"},{\"id\":27,\"name\":\"Salon des vignerons et des produits gourmands 2026\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 13\\\/11\\\/2026 au 15\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-13\",\"end\":\"2026-11-15\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12100 Millau\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Au profit des oeuvres sociales du Lions Club Millau Sud Aveyron.\\nDe nombreuses surprises et des lots \\u00e0 gagner\\u00a0\\nSoir\\u00e9es musicales\\u00a0\\nRestauration sur place toute la dur\\u00e9e du salon\\n\\n\\nEntr\\u00e9e = 3 \\u20ac\\u00a0(gratuit pour les moins de 16 ans)\\n\\n\\nVendredi : 16h-23h, samedi 10h-23h, dimanche : 10h-17h\\n*L\\u2019abus d\\u2019alcool est dangereux pour la sant\\u00e9, \\u00e0 consommer avec mod\\u00e9ration.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/4196\\\/images\\\/1380143_38115e3a-b042-4a9e-b53b-f4060eafd155\\\/600.webp\",\"credit\":\"Salon des Vignerons\",\"link\":\"\"},{\"id\":45,\"name\":\"Concert :  Cam&L\\u00e9o\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 14\\\/11\\\/2026 au 14\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-14\",\"end\":\"2026-11-14\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12100 Millau\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Ils sont les h\\u00f4tes de La Maison Biscornue, titre de leur deuxi\\u00e8me album. Camille Heim \\u00e0 la harpe \\u00e9lectro, L\\u00e9o Danais au chant et \\u00e0 la batterie, nousfont d\\u00e9couvrir touslesrecoins de cette \\u00ab Maison \\u00bb pour mieux nous emmener dans un tour du monde musical et sonore. D\\u2019un traditionnel s\\u00e9farade \\u00e0 une mazurka antillaise, le duo explore de nouveaux horizons.\\nTrois ans apr\\u00e8s Casa Azul et plus de 130 concerts en Europe, le duo livre un album \\u00e9lectrique, dansant et solaire. Avec CAM&L\\u00c9O, on passe par toutes les couleurs sonores du monde et d\\u2019un foisonnant imaginaire !\\nHarpe \\u00e9lectro llanera, voix Camille Heim Batterie, voix L\\u00e9o Danais\\n\\\"Deux jeunes musiciens qui se nourrissent des cultures du monde, de la Bulgarie \\u00e0 la Bretagne en passant par l\\u2019Am\\u00e9rique du Sud, pour recr\\u00e9er leur univers\\\". Radio Grille Ouverte\\nDur\\u00e9e : 1 h 15\\nTout public \\u00e0 partir de 10 ans\\nJauge limit\\u00e9e \\u00e0 150 personnes\\nConcert pr\\u00e9sent\\u00e9 dans le cadre des Escapades du Th\\u00e9\\u00e2tre, en partenariat avec Millau en Jazz et la commune de Saint-Rome-de-Tarn.\\nAutour du spectacle : \\n\\u00c0 Saint-Rome de Tarn \\u2013 Premi\\u00e8re partie par les enfants de l\\u2019\\u00e9cole \\u00e9l\\u00e9mentaire dans le cadre du projet Fabrique \\u00e0 musique avec le soutien de la SACEM.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/93327\\\/images\\\/1328881_92b98e23-02e0-4161-9704-107393c8b432\\\/600.webp\",\"credit\":\"Kalliops-Min\",\"link\":\"https:\\\/\\\/maisondupeuplemillau.fr\\\/spectacle\\\/cam-leo\\\/\"},{\"id\":16,\"name\":\"Concert : \\\"Radical Kitten\\\" d\\u00e9barque\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 14\\\/11\\\/2026 au 14\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-14\",\"end\":\"2026-11-14\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Propuls\\u00e9 par un groove post-punk implacable, la folie d\\u2019une no-wave abrasive et un tempo hardcore parce qu\\u2019ielles n\\u2019ont pas le temps, le trio toulousain d\\u00e9livre un son piquant, sauvage et r\\u00e9solument politique. Quelque part entre l'urgence de SurfBort, la tension de Gustaf et la libert\\u00e9 de Sonic Youth, le groupe fusionne toutes ses influences pour cr\\u00e9er sa propre recette : un truc bizarre, \\u00e0 la fois piquant comme un bonbon chimique et doux comme du beurre de cacahou\\u00e8te DIY.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97834\\\/images\\\/1391550_5446960c-1113-4251-b3b2-b4e77e781d8b\\\/600.webp\",\"credit\":\"Association du Lieu-Dit\",\"link\":\"https:\\\/\\\/fr-fr.facebook.com\\\/asso.lieudit\\\/\"},{\"id\":52,\"name\":\"Hypnose Xperience - La Doline\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 14\\\/11\\\/2026 au 14\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-14\",\"end\":\"2026-11-14\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12100 Millau\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Hypnose Xperience, c\\u2019est un spectacle d\\u2019hypnose m\\u00ealant humour, surprise, \\u00e9motion.\\n\\u00a0\\nSur sc\\u00e8ne, des volontaires se pr\\u00eatent au jeu et d\\u00e9couvrent jusqu\\u2019o\\u00f9 leur cerveau peut les emmener.\\n\\u00a0\\nPerceptions modifi\\u00e9es, situations improbables et exp\\u00e9riences surprenantes s\\u2019encha\\u00eenent dans un spectacle o\\u00f9 le public devient v\\u00e9ritablement acteur.\\n\\u00a0\\nLe tout dans une ambiance bienveillante, respectueuse, ludique et positive. Une exp\\u00e9rience \\u00e0 la fois dr\\u00f4le, fascinante et totalement bluffante, qui permet de d\\u00e9couvrir l\\u2019hypnose autrement.\\n\\u00a0\\nL\\u2019incontournable coup de coeur des saisons pr\\u00e9c\\u00e9dentes !\\n\\u200b\\nDe et avec Pierr Cika\\n\\nDur\\u00e9e : 1 h 30. Tout public \\u00e0 partir de 12 ans\\nEntr\\u00e9e : Normal 15 \\u20ac R\\u00e9duit 12 \\u20ac\\nR\\u00e9servations conseill\\u00e9es : 05 65 58 83 40 ou sur www.theatredeladoline.com\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/95014\\\/images\\\/1347023_1bd2680c-cff9-44c8-9f04-1be6642ff2f6\\\/600.webp\",\"credit\":\"La doline\",\"link\":\"https:\\\/\\\/www.theatredeladoline.com\\\/\"},{\"id\":28,\"name\":\"Projection film documentaire\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 14\\\/11\\\/2026 au 14\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-14\",\"end\":\"2026-11-14\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12230 Nant\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"En Kabylie, les femmes vivent de la terre mais n\\u2019en h\\u00e9ritent pas. AKAL\\u00a0explore cette contradiction violente et silencieuse \\u00e0 travers les r\\u00e9cits, les absences et les mythes qui habitent la montagne. Un moment de sororit\\u00e9 puissant avec des femmes de l\\u00e0-bas, leur r\\u00e9sistance et leur fa\\u00e7on de r\\u00e9inventer le lien \\u00e0 la terre. \\nAvec l'infaillible complicit\\u00e9 de la Cie Le Plus Petit Espace Possible.\\nFilmographie de Sonia Kessi\\n\\nA 19H, au Mas Razal\\nR\\u00e9servation souhait\\u00e9e par SMS ou mail\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/7020\\\/images\\\/1385850_d9e8770f-8957-42a4-947e-6089228f5f45\\\/600.webp\",\"credit\":\"Mas Razal\",\"link\":\"\"},{\"id\":34,\"name\":\"Bourse aux jouets\",\"type\":\"evenements-locaux-373\",\"category\":\"brocantes-vide-greniers\",\"label\":\"Du 15\\\/11\\\/2026 au 15\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-15\",\"end\":\"2026-11-15\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12230 L'Hospitalet-du-Larzac\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Bourse, buvette et petite restauration sur place.\\nDe 9h \\u00e0 16h, \\u00e0 la salle des f\\u00eates\\nR\\u00e9servation des stands obligatoire - Table de 1m20\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/4193\\\/images\\\/1374730_ec65e5b9-dfc7-4eef-a1f9-49a477a45a4c\\\/600.webp\",\"credit\":\"Les Amis du Livre\",\"link\":\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=100064240377265\"},{\"id\":29,\"name\":\"Concert :  Cam&L\\u00e9o\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 15\\\/11\\\/2026 au 15\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-15\",\"end\":\"2026-11-15\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Montlaur\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Ils sont les h\\u00f4tes de La Maison Biscornue, titre de leur deuxi\\u00e8me album. Camille Heim \\u00e0 la harpe \\u00e9lectro, L\\u00e9o Danais au chant et \\u00e0 la batterie, nousfont d\\u00e9couvrir touslesrecoins de cette \\u00ab Maison \\u00bb pour mieux nous emmener dans un tour du monde musical et sonore. D\\u2019un traditionnel s\\u00e9farade \\u00e0 une mazurka antillaise, le duo explore de nouveaux horizons.\\nTrois ans apr\\u00e8s Casa Azul et plus de 130 concerts en Europe, le duo livre un album \\u00e9lectrique, dansant et solaire. Avec CAM&L\\u00c9O, on passe par toutes les couleurs sonores du monde et d\\u2019un foisonnant imaginaire !\\nHarpe \\u00e9lectro llanera, voix Camille Heim Batterie, voix L\\u00e9o Danais\\n\\\"Deux jeunes musiciens qui se nourrissent des cultures du monde, de la Bulgarie \\u00e0 la Bretagne en passant par l\\u2019Am\\u00e9rique du Sud, pour recr\\u00e9er leur univers\\\". Radio Grille Ouverte\\nDur\\u00e9e : 1 h 15\\nTout public \\u00e0 partir de 10 ans\\nJauge limit\\u00e9e \\u00e0 150 personnes\\nConcert pr\\u00e9sent\\u00e9 dans le cadre des Escapades du Th\\u00e9\\u00e2tre, en partenariat avec Millau en Jazz et la commune de Montlaur.\\nAutour du spectacle :\\n\\u00c0 Montlaur \\u2013 H.I.I.T.S de la Cie Les Boudeuses.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/93329\\\/images\\\/1328887_52907340-05c2-40f3-8fbe-f78e7a7cb526\\\/600.webp\",\"credit\":\"Kalliops-Min\",\"link\":\"https:\\\/\\\/maisondupeuplemillau.fr\\\/spectacle\\\/camleo\\\/\"},{\"id\":50,\"name\":\"Salon du livre\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 15\\\/11\\\/2026 au 15\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-15\",\"end\":\"2026-11-15\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12380 Saint-Sernin-sur-Rance\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"10h-18h\\n\\nBuvette et vente de g\\u00e2teaux propos\\u00e9s par les jeunes de Familles Rurales\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/95803\\\/images\\\/1354510_326809d7-46d2-41ae-a5cc-5d03a4e84fd3\\\/600.webp\",\"credit\":\"Salon du livre\",\"link\":\"\"},{\"id\":1,\"name\":\"Vide-grenier - Comit\\u00e9 des f\\u00eates\",\"type\":\"evenements-locaux-373\",\"category\":\"brocantes-vide-greniers\",\"label\":\"Du 15\\\/11\\\/2026 au 15\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-15\",\"end\":\"2026-11-15\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12640 Rivi\\u00e8re-sur-Tarn\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Le Comit\\u00e9 des f\\u00eates de Rivi\\u00e8re-sur-Tarn vous donne rendez-vous le 15 novembre pour une journ\\u00e9e d\\u00e9di\\u00e9e aux jouets, jeux et bonnes affaires ! \\ud83e\\udde9\\ud83d\\ude82\\n\\n\\ud83d\\udccd Lieu : Salle des f\\u00eates de Rivi\\u00e8re-sur-Tarn \\ud83d\\udd58 Horaires : de 9h \\u00e0 17h\\nVenez d\\u00e9nicher de jolies trouvailles pour faire plaisir aux petits comme aux grands, \\u00e0 petits prix ! \\n\\n\\n\\ud83c\\udf88 Le Comit\\u00e9 des f\\u00eates de Rivi\\u00e8re-sur-Tarn vous attend nombreux !\\n#VideJouets #Rivi\\u00e8reSurTarn #Comit\\u00e9DesF\\u00eates #BonnesAffaires #Jouets\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97727\\\/images\\\/1388278_b82fad87-6425-4851-bcc2-1c71383ea467\\\/600.webp\",\"credit\":\"COMITE DES FETES\",\"link\":\"\"},{\"id\":48,\"name\":\"Foire Mensuelle\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 19\\\/11\\\/2026 au 19\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-19\",\"end\":\"2026-11-19\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12290 Pont-de-Salars\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Tous les 3\\u00e8me jeudis du mois, une foire se tient dans le village. Fruits\\\/L\\u00e9gumes, Volailles, Charcutier,...\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/57417\\\/images\\\/988306_c8d3665f-147d-4d00-bfe3-6c8e68f378a8\\\/600.webp\",\"credit\":\"OFFICE DE TOURISME DE PARELOUP LEVEZOU\",\"link\":\"\"},{\"id\":47,\"name\":\"Ma distinction spectacle par Wally\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 20\\\/11\\\/2026 au 20\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-20\",\"end\":\"2026-11-20\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12120 Arvieu\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Dans ce r\\u00e9cit, Lilian Derruau relie son v\\u00e9cu de \\u00ab gosse de prolo \\u00bb aux id\\u00e9es du sociologue Pierre Bourdieu. Ne se contentant pas de raconter les souvenirs de cette prime enfance, il d\\u00e9peint cette France ouvri\\u00e8re des ann\\u00e9es 70 dans un texte o\\u00f9 truculence et autod\\u00e9rision vont de pair.\\nLongtemps chanteur \\u00e0 tendance dr\\u00f4le sous le nom de Wally, on le retrouve ici dans un tout autre registre : le r\\u00e9cit sociologique, mais \\u00e0 sa mani\\u00e8re, celle qui suscite le rire avec une pointe de po\\u00e9sie et un paquet d\\u2019\\u00e9motions.\\nUne \\u00e9poque d\\u2019insouciance, puis de prise de conscience d\\u2019une forme de pr\\u00e9destination sociale dont il est bien difficile de sortir. Toujours touchant, Wally se raconte avec humour et autod\\u00e9rision. \\u00a0Avec tendresse. Avec pudeur. Toujours un sourire au coin de l\\u2019oeil.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/95548\\\/images\\\/1351883_e080e584-95dd-478b-8b3d-af871cdefc78\\\/600.webp\",\"credit\":\"Wally\",\"link\":\"\"},{\"id\":13,\"name\":\"Th\\u00e9\\u00e2tre : Garbo\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 20\\\/11\\\/2026 au 20\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-20\",\"end\":\"2026-11-20\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Madrid, 1940\\nJuan Pujol Garcia n\\u2019a rien d\\u2019un h\\u00e9ros. Eleveur de poulets rat\\u00e9, gestionnaire d\\u2019h\\u00f4tel miteux, ce Barcelonais collectionne les \\u00e9checs professionnels avec un talent consomm\\u00e9. Pourtant, en 1941, arm\\u00e9 de sa seule imagination d\\u00e9bordante et de l\\u2019aide de sa femme Araceli, il va r\\u00e9ussir l\\u2019impossible\\u00a0: convaincre \\u00e0 la fois les services secrets nazis et britanniques qu\\u2019il est le meilleur agent.\\nSous le nom de code \\u00ab\\u00a0Garbo\\u00a0\\u00bb, il organise la plus grande supercherie de l\\u2019histoire militaire\\u00a0: un r\\u00e9seau d\\u2019espions enti\\u00e8rement fictif qui trompe Hitler en personne et assure le succ\\u00e8s du d\\u00e9barquement en Normandie.\\nUne pi\\u00e8ce de Bruno Such\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/96109\\\/images\\\/1357501_b1773f10-1409-4bb8-8c30-c5ccef6da6a0\\\/600.webp\",\"credit\":\"Ville de Saint-Affrique\",\"link\":\"\"},{\"id\":6,\"name\":\"Repas Gratounade\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 21\\\/11\\\/2026 au 21\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-21\",\"end\":\"2026-11-21\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12550 Coupiac\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Venez partager une soir\\u00e9e gourmande et conviviale ! Les places sont limit\\u00e9es, pensez \\u00e0 r\\u00e9server !\\nMenu :\\nSalade compos\\u00e9e\\nConfit de Canard\\nPommes de terre et sa c\\u00e9l\\u00e8bre sauce\\nFromage\\nDessert et Caf\\u00e9\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97689\\\/images\\\/1387910_8424480e-ba75-4e95-8ae2-e56078553009\\\/600.webp\",\"credit\":\"Comit\\u00e9 des f\\u00eates\",\"link\":\"\"},{\"id\":12,\"name\":\"Spectacle \\\"Corps Paysages, Corps Chim\\u00e8re\\\"\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 21\\\/11\\\/2026 au 21\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-21\",\"end\":\"2026-11-21\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Lore Douziech, danseuse-performeuse pluridisciplinaire et chor\\u00e9graphe. \\nLore vous emm\\u00e8ne dans un voyage sensoriel intime. Le corps permet ce voyage et pose des m\\u00e9tamorphoses pour une ode au f\\u00e9minin, \\u00e0 la\\nfemme sauvage, \\u00e0 la fois puissante et g\\u00e9n\\u00e9reuse, sorci\\u00e8re qui puise dans le vivant et la nature l\\u2019\\u00e9nergie, le feu de la sensualit\\u00e9.\\nCette pi\\u00e8ce chor\\u00e9graphique, dans un jeu d\\u2019ombres et de lumi\\u00e8res, met en sc\\u00e8ne la plasticit\\u00e9 du corps pour peu \\u00e0 peu le d\\u00e9shumaniser, puiser dans \\nsa sensualit\\u00e9 primaire et en d\\u00e9celer l\\u2019animalit\\u00e9.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97182\\\/images\\\/1374795_682824b4-88aa-488a-969a-4b274471733f\\\/600.webp\",\"credit\":\"Les Renc'arts de la danse\",\"link\":\"\"},{\"id\":9,\"name\":\"Vente \\u00e0 la ferme\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 21\\\/11\\\/2026 au 21\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-21\",\"end\":\"2026-11-21\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12620 Saint-Laurent-de-L\\u00e9v\\u00e9zou\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"9h \\u00e0 17h - Chez Naturellement Simples, Chemin du Cayla. Vente \\u00e0 la ferme d'arbres fruitiers \\u00e0 racines nues. Venez chercher vos arbres \\u00e0 racines nues, en cette p\\u00e9riode proprice \\u00e0 la plantation des fruitiers.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97141\\\/images\\\/1374077_8bdb901b-1b73-438d-94f3-db3fca849e96\\\/600.webp\",\"credit\":\"arbres fruitiers\",\"link\":\"http:\\\/\\\/www.naturellementsimples.com\\\/actualites-vente-darbres-fruitiers-pxl-30_6240.html\"},{\"id\":11,\"name\":\"Les \\u00ab P'tites Puces \\u00bb : la magie de la seconde main au c\\u0153ur des Raspes\",\"type\":\"evenements-locaux-373\",\"category\":\"brocantes-vide-greniers\",\"label\":\"Du 22\\\/11\\\/2026 au 22\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-22\",\"end\":\"2026-11-22\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12490 Saint-Rome-de-Tarn\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Au d\\u00e9tour d'une ruelle en pierre, une douce effervescence rompt la fra\\u00eecheur de novembre. La porte de la salle des f\\u00eates s'ouvre sur une bulle de chaleur humaine.\\n\\u00c0 l'int\\u00e9rieur, les \\u00e9tals d\\u00e9bordent de tr\\u00e9sors qui racontent d\\u00e9j\\u00e0 une histoire. On furette, on effleure la laine d'un petit pull d'hiver, on red\\u00e9couvre un jeu en bois pr\\u00eat \\u00e0 faire battre un nouveau c\\u0153ur. Ici, la seconde main devient un voyage intime : un geste de transmission d'une famille \\u00e0 une autre. Autour d'une boisson chaude fumante, les conversations s'engagent spontan\\u00e9ment entre parents pendant que les yeux des enfants p\\u00e9tillent. Port\\u00e9 par la bienveillance de l'Association Familles Rurales, ce moment suspendu incarne toute l'\\u00e2me et la convivialit\\u00e9 de nos villages.\\n\\nInfos pratique s:  \\n2\\u20ac la place.R\\u00e9servations et renseignements par mail : afr.inscription@gmail.com\",\"image\":\"\",\"credit\":\"\",\"link\":\"\"},{\"id\":43,\"name\":\"March\\u00e9 de No\\u00ebl \\u00e0 Camar\\u00e8s\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 22\\\/11\\\/2026 au 22\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-22\",\"end\":\"2026-11-22\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12360 Camar\\u00e8s\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"De 10h \\u00e0 18h, venez faire vos emplettes de No\\u00ebl aupr\\u00e8s des nombreux exposants : produits du terroir, artisanat, bijoux, id\\u00e9es cadeaux...Possibilit\\u00e9 de se restaurer \\u00e0 midi.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/15284\\\/images\\\/173233_41460772-3f93-484f-92dd-ae30df39cec1\\\/600.webp\",\"credit\":\"\",\"link\":\"https:\\\/\\\/www.tourisme-rougier-aveyron.com\\\/\"},{\"id\":24,\"name\":\"Vide-greniers \\\/ March\\u00e9s aux Puces\",\"type\":\"evenements-locaux-373\",\"category\":\"brocantes-vide-greniers\",\"label\":\"Du 22\\\/11\\\/2026 au 22\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-22\",\"end\":\"2026-11-22\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12170 R\\u00e9quista\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Chaque mois, le march\\u00e9 couvert de R\\u00e9quista accueille son vide-greniers \\\/ march\\u00e9 aux puces.\\nDe 7h \\u00e0 12h, exposants et chineurs se retrouvent dans une ambiance conviviale. On y trouve de tout : objets insolites, vaisselle, v\\u00eatements, livres, jouets\\u2026 de quoi satisfaire toutes les envies !\\n Emplacement : 5 \\u20ac pour les exposants.\\nOuvert \\u00e0 tous, entr\\u00e9e libre.\\nUn rendez-vous r\\u00e9gulier \\u00e0 ne pas manquer, que vous souhaitiez participer ou simplement fl\\u00e2ner !\\nInscription : 06 78 49 10 58\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/4192\\\/images\\\/35818_891d2c55-1c62-44c0-9438-be76df0a3da8\\\/600.webp\",\"credit\":\"OFFICE DE TOURISME DU REQUISTANAIS\",\"link\":\"\"},{\"id\":14,\"name\":\"Foire Mensuelle\",\"type\":\"evenements-locaux-373\",\"category\":\"marches-foires\",\"label\":\"Du 26\\\/11\\\/2026 au 26\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-26\",\"end\":\"2026-11-26\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12430 Villefranche-de-Panat\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Tous les 4\\u00e8me jeudis du mois... nombreux exposants.\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/4696\\\/images\\\/40539_7bf8416b-8a27-4b3e-9c3b-69128aee0adb\\\/600.webp\",\"credit\":\"OFFICE DE TOURISME DE PARELOUP LEVEZOU\",\"link\":\"http:\\\/\\\/www.villefranche-de-panat.fr\\\/\"},{\"id\":40,\"name\":\"Spectacle : America\",\"type\":\"evenements-locaux-373\",\"category\":\"spectacles-cinema\",\"label\":\"Du 26\\\/11\\\/2026 au 26\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-26\",\"end\":\"2026-11-26\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12100 Millau\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Puisque Donald Trump s\\u2019impose sur les \\u00e9crans plan\\u00e9taires comme un showman sans limites, le spectacle vivant n\\u2019est-il pas le plus apte \\u00e0 d\\u00e9monter sa rh\\u00e9torique de l\\u2019outrance ? Dans America, fresque sur le mythe du r\\u00eave ou du cauchemar am\\u00e9ricain, le chor\\u00e9graphe Martin Harriague d\\u00e9tourne avec brio les m\\u00e9canistes politiques qui ont conduit \\u00e0 la seconde pr\\u00e9sidence de Donald Trump.\\nCr\\u00e9ation audacieuse, port\\u00e9e par le talent des jeunes danseurs du Ballet de l\\u2019Op\\u00e9ra Grand Avignon, America est impr\\u00e9gn\\u00e9 par l\\u2019iconographie et la discographie \\u00e9ternelles de l\\u2019Am\\u00e9rique. Face \\u00e0 la rusticit\\u00e9 des messages de Trump, la chor\\u00e9graphie de Harriague fait na\\u00eetre des r\\u00e9cits d\\u2019espoir, d\\u2019optimisme et d\\u2019aventure, ceux d\\u2019une Am\\u00e9rique color\\u00e9e et confiante. Il capture l\\u2019\\u00e9nergie \\u00e9lectrique et tumultueuse de cette soci\\u00e9t\\u00e9 dans une danse explosive, jubilatoire, pleine d\\u2019inattendu !\\nChor\\u00e9graphie, mise en sc\\u00e8ne, montage son, cr\\u00e9ation lumi\\u00e8res, costumes Martin Harriague Pi\\u00e8ce pour 12 danseurs Cr\\u00e9ation vid\\u00e9o Steeve Calvo, Martin Harriague Assistants chor\\u00e9graphes Nadav Gal, Mathieu Geffr\\u00e9 R\\u00e9gie vid\\u00e9o One way, Steeve Calvo R\\u00e9alisation d\\u00e9cor, costumes Op\\u00e9ra Grand Avignon\\n\\\"Une satire (d\\u00e9j\\u00e0) culte de l\\u2019Am\\u00e9rique trumpienne ! (\\u2026) Martin Harriague transforme un sujet politique explosif en une exp\\u00e9rience chor\\u00e9graphique immersive et dr\\u00f4lissime\\\". classiquenews.com\\nDur\\u00e9e : 1 h\\nTout public \\u00e0 partir de 11 ans\\nSpectacle pr\\u00e9sent\\u00e9 dans le cadre d\\u2019une tourn\\u00e9e du r\\u00e9seau Pyramid et avec le soutien de la Compagnie Eiffage du Viaduc de Millau\\nAutour du spectacle : \\n19h \\u2013 Petite restauration par l\\u2019association Myriade.\\n22h \\u2013 After musical America Dance Again\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/93331\\\/images\\\/1328904_2098397c-de61-493e-a33f-351cf721dad4\\\/600.webp\",\"credit\":\"TTS-pictures\",\"link\":\"https:\\\/\\\/maisondupeuplemillau.fr\\\/spectacle\\\/america\\\/\"},{\"id\":5,\"name\":\"Th\\u00e9\\u00e2tre-Concert : Comment \\u00e7a se danse ?\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 28\\\/11\\\/2026 au 28\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-28\",\"end\":\"2026-11-28\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12250 Saint-Jean-d'Alcapi\\u00e8s\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Comment \\u00e7a se danse ? ravive le besoin irr\\u00e9sistible de danser, depuis l\\u2019enfance jusqu\\u2019aux bals n\\u00e9o-trad-folk. Le spectacle raconte la jubilation des sourires, l\\u2019\\u00e9quilibre des corps, l\\u2019unit\\u00e9 des humains, mais encore l\\u2019incarnation : quand on frappe le sol en rythme pour s\\u2019ancrer sur terre, quand on l\\u00e2che prise pour v\\u00e9rifier que l\\u2019on est vivant. \\u00ab Danser en cercle, c\\u2019est d\\u2019abord danser autour d\\u2019un centre que l\\u2019on partage \\u00bb, confie l\\u2019autrice et interpr\\u00e8te Chlo\\u00e9 Martin.\\nAu centre, justement, se trouve un fragment de plancher, tel un radeau en forme de poste d\\u2019observation sur l\\u2019univers du bal. Des personnages imaginaires d\\u00e9filent, comme autant de partenaires de danse. En duo, en quadrette, en grand cercle, des instantan\\u00e9s dansants questionnent la puissance de l\\u2019\\u00eatre-ensemble. Comment \\u00e7a se danse ? est le deuxi\\u00e8me volet d\\u2019un cycle intitul\\u00e9 Simplicit\\u00e9 et Gratitudes et anim\\u00e9 par l\\u2019envie de nourrir la joie. Alors, entrez dans la danse de ce voyage convivial et jubilatoire !\\nConception, \\u00e9criture, jeu Chlo\\u00e9 Martin Accord\\u00e9on diatonique, jeu Killian Flatot Violon, jeu Marion Landreau Fl\\u00fbte, percussion, jeu Paul Paitel R\\u00e9gie g\\u00e9n\\u00e9rale, r\\u00e9gie son, jeu Chlo\\u00e9 Gambert Regard artistique Armelle Dousset Cr\\u00e9ation lumi\\u00e8re Gu\\u00e9na\\u00ebl Grignon Stagiaire mise en sc\\u00e8ne Clara Minot\\n\\\"Une plong\\u00e9e th\\u00e9\\u00e2trale revigorante dans un monde, celui des bals traditionnels, d\\u00e9cid\\u00e9ment loin de dispara\\u00eetre !\\\" champslibres.media\\nDur\\u00e9e : 1 h 20\\nTout public \\u00e0 partir de 10 ans\\nJauge limit\\u00e9e \\u00e0 160 personnes\\nSpectacle pr\\u00e9sent\\u00e9 dans le cadre d\\u2019une tourn\\u00e9e du r\\u00e9seau Chainon et des Escapades du Th\\u00e9\\u00e2tre, en partenariat avec la commune de Saint-Jean-d\\u2019Alcapi\\u00e8s\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/93334\\\/images\\\/1328920_9975d86b-871b-4071-97cc-7c6d86ccdb75\\\/600.webp\",\"credit\":\"claraMinot\",\"link\":\"https:\\\/\\\/maisondupeuplemillau.fr\\\/spectacle\\\/comment-ca-se-danse\\\/\"},{\"id\":51,\"name\":\"Tribal D\\u00f4me\",\"type\":\"evenements-locaux-373\",\"category\":\"concerts-musique-festivals\",\"label\":\"Du 28\\\/11\\\/2026 au 28\\\/11\\\/2026 \\u00e0 23:59\",\"start\":\"2026-11-28\",\"end\":\"2026-11-28\",\"start_time\":\"\",\"end_time\":\"\",\"open_start\":false,\"city\":\"12400 Saint-Affrique\",\"onsite\":false,\"spot\":\"\",\"registration\":false,\"description\":\"Le samedi 28 novembre, la Tribal D\\u00f4me d\\u00e9barque \\u00e0 Saint-Affrique pour une soir\\u00e9e plac\\u00e9e sous le signe du respect, de la libert\\u00e9 et du partage ! Pr\\u00e9parez-vous \\u00e0 voyager au rythme des musiques du monde, des percussions ancestrales et de la trance, dans une ambiance festive et immersive.\\nAu programme :\\nD\\u00e8s 19h, d\\u00e9couvrez les chants et percussions mandingues tout en profitant d'un repas Cuisine du monde.\\n\\u00c0 21h, place \\u00e0 Ad\\u00e8le & Zalem, un duo qui m\\u00eale didgeridoo, fl\\u00fbte am\\u00e9rindienne, beatbox et rythmes \\u00e9lectro pour une performance live envo\\u00fbtante.\\nPuis, de 22h30 \\u00e0 00h30, Hilight Tribe prendra le relais avec sa Natural Trance, fusion de musiques traditionnelles et de sonorit\\u00e9s \\u00e9lectroniques, pour faire danser le public jusqu'au bout de la nuit !\\n\\nMais la Tribal D\\u00f4me, c'est bien plus que de la musique ! Mapping vid\\u00e9o, jeux de lumi\\u00e8re, d\\u00e9cors immersifs, peintures, masques et surprises visuelles viendront transformer la soir\\u00e9e en une v\\u00e9ritable exp\\u00e9rience sensorielle. Vous pourrez \\u00e9galement fl\\u00e2ner au c\\u0153ur d'un march\\u00e9 artisanal et tribal, d\\u00e9couvrir des cr\\u00e9ations originales et profiter de la restauration ainsi que de la bi\\u00e8re locale !\\nBilleterie : ici\",\"image\":\"https:\\\/\\\/medias.hit.enaveyron.fr\\\/fiches\\\/97003\\\/images\\\/1370947_a3b60e3c-546a-4ad6-b719-6feb8e2aaaf5\\\/600.webp\",\"credit\":\"Tribal D\\u00f4me\",\"link\":\"https:\\\/\\\/www.helloasso.com\\\/associations\\\/geod360\\\/evenements\\\/hilight-tribe\"}];\n    var CATEGORIES = {\"spectacles-cinema\":{\"key\":\"spectacles-cinema\",\"label\":\"Spectacles & cin\\u00e9ma\",\"color\":\"#ef4444\",\"count\":18},\"brocantes-vide-greniers\":{\"key\":\"brocantes-vide-greniers\",\"label\":\"Brocantes & vide-greniers\",\"color\":\"#3b82f6\",\"count\":8},\"concerts-musique-festivals\":{\"key\":\"concerts-musique-festivals\",\"label\":\"Concerts, musique & festivals\",\"color\":\"#10b981\",\"count\":12},\"marches-foires\":{\"key\":\"marches-foires\",\"label\":\"March\\u00e9s & foires\",\"color\":\"#f59e0b\",\"count\":11},\"sport-randonnee\":{\"key\":\"sport-randonnee\",\"label\":\"Sport & randonn\\u00e9e\",\"color\":\"#a855f7\",\"count\":4}};\n    var TODAY = \"2026-10-29\";\n    \/\/ Textes et format des dates dans la langue de la page (includes\/i18n.php)\n    var T = {\"blog_read_more\":\"Read the article\",\"blog_empty\":\"No articles yet.\",\"blog_newer\":\"Newer articles\",\"blog_older\":\"Older articles\",\"blog_label\":\"Articles\",\"hero_title\":\"Things to discover nearby\",\"hero_text\":\"Villages, beaches, walks, good addresses and experiences selected around your stay.\",\"around\":\"Around\",\"search_placeholder\":\"Search for a place, an activity, a village\\u2026\",\"search\":\"Search\",\"max_distance\":\"Maximum distance\",\"all\":\"All\",\"prev_categories\":\"Previous categories\",\"next_categories\":\"Next categories\",\"categories\":\"Categories\",\"display\":\"Display\",\"list\":\"List\",\"map\":\"Map\",\"close\":\"Close\",\"featured\":\"Featured\",\"discover\":\"Discover\",\"idea\":\"idea\",\"ideas\":\"ideas\",\"around_you\":\"around you\",\"no_result\":\"No results\",\"no_result_hint\":\"Try another search, category or distance.\",\"pagination\":\"Ideas pagination\",\"prev_page\":\"Previous page\",\"next_page\":\"Next page\",\"ideas_title\":\"Ideas to suit your mood\",\"ideas_sub\":\"Suggestions to plan your perfect stay.\",\"reset_view\":\"Back to the overview\",\"map_hint\":\"Click a marker on the map to show its details here.\",\"official_site\":\"Official website\",\"video\":\"Video\",\"gallery\":\"Gallery\",\"documents\":\"Documents\",\"faq\":\"Frequently asked questions\",\"no_answer\":\"No answer yet.\",\"see_on_maps\":\"View on Google Maps\",\"see_place_on_maps\":\"View the campsite on Google Maps\",\"yes\":\"Yes\",\"no\":\"No\",\"practical_info\":\"Practical information\",\"reviews\":\"reviews\",\"read_more\":\"Read more\",\"prev_review\":\"Previous review\",\"next_review\":\"Next review\",\"prev_item\":\"Previous\",\"next_item\":\"Next\",\"photo_credit\":\"Photo: %s\",\"directions\":\"Directions\",\"read_less\":\"Show less\",\"see_original\":\"Automatically translated \\u00b7 See original\",\"see_translation\":\"See translation\",\"stars_out_of_5\":\"%s stars out of 5\",\"owner_reply\":\"Response from the owner\",\"customer\":\"Guest\",\"customer_reviews\":\"Guest reviews\",\"rating_label\":\"Rated %1$s out of 5, %2$s reviews \\u2014 see the reviews\",\"reviews_by\":\"Reviews presented by Elaia\",\"powered_by\":\"Powered by\",\"today\":\"Today\",\"today_lc\":\"today\",\"tomorrow\":\"Tomorrow\",\"until\":\"Until %s\",\"from_to\":\"From %1$s to %2$s\",\"registration\":\"Booking required\",\"full\":\"Full\",\"all_animations\":\"See all activities \\u2192\",\"ago_day\":\"%d day ago\",\"ago_days\":\"%d days ago\",\"ago_week\":\"%d week ago\",\"ago_weeks\":\"%d weeks ago\",\"ago_month\":\"%d month ago\",\"ago_months\":\"%d months ago\",\"ago_year\":\"%d year ago\",\"ago_years\":\"%d years ago\",\"anim_unavailable\":\"The programme is temporarily unavailable\",\"content_unavailable\":\"This content is temporarily unavailable\",\"anim_eyebrow\":\"Enjoy unforgettable moments\",\"anim_title\":\"Activities & events\",\"anim_hero_text\":\"Find all current activities, this week's highlights and upcoming events during your stay.\",\"anim_sections\":\"Page sections\",\"anim_nav_today\":\"Today\",\"anim_nav_week\":\"This week\",\"anim_nav_upcoming\":\"Upcoming\",\"anim_nav_calendar\":\"Calendar\",\"anim_where\":\"Where?\",\"anim_onsite\":\"On site\",\"anim_nearby\":\"Nearby\",\"anim_no_onsite\":\"No on-site activity at the moment\",\"anim_no_nearby\":\"No nearby event at the moment\",\"anim_all_day\":\"All day\",\"anim_at\":\"at %s\",\"anim_see_detail\":\"see details\",\"anim_live\":\"Ongoing\",\"anim_onsite_spot\":\"On site \\u00b7 %s\",\"anim_badge_until\":\"Until\",\"anim_badge_from\":\"From\",\"anim_badge_today\":\"Today\",\"anim_filter_cat\":\"Filter by category\",\"anim_all_f\":\"All\",\"anim_prev_day\":\"Previous day\",\"anim_next_day\":\"Next day\",\"anim_today_title\":\"Today's activities\",\"anim_tomorrow_title\":\"Tomorrow's activities\",\"anim_day_title\":\"Activities on %s\",\"anim_relax_today\":\"A relaxing day today\",\"anim_nothing_day\":\"Nothing planned that day\",\"anim_next_on\":\"Next event on %s.\",\"anim_soon\":\"The programme will be updated soon.\",\"anim_see_day\":\"See that day\",\"anim_prev_acts\":\"Previous activities\",\"anim_next_acts\":\"Next activities\",\"anim_prev_week\":\"Previous week\",\"anim_next_week\":\"Next week\",\"anim_week_title\":\"This week's highlights\",\"anim_next_week_title\":\"Next week\",\"anim_week_of\":\"Week of %s\",\"anim_week_days\":\"Days of the week\",\"anim_today_paren\":\"(today)\",\"anim_activity\":\"%d activity\",\"anim_activities\":\"%d activities\",\"anim_nothing\":\"nothing planned\",\"anim_pick_day\":\"Select another day to see its programme.\",\"anim_sort\":\"Sort events\",\"anim_sort_date\":\"Sort by date\",\"anim_sort_name\":\"Sort by name\",\"anim_upcoming_title\":\"All upcoming events\",\"anim_no_upcoming\":\"No upcoming events\",\"anim_try_cat\":\"Try another category.\",\"anim_more\":\"See more events (%d)\",\"anim_hide_cal\":\"Hide the calendar\",\"anim_show_cal\":\"See the full calendar\",\"anim_cal_title\":\"Monthly calendar\",\"anim_cal_sub\":\"All of the month's events at a glance.\",\"anim_prev_month\":\"Previous month\",\"anim_next_month\":\"Next month\",\"anim_more_info\":\"More information\",\"anim_new_tab\":\"(new tab)\",\"date_locale\":\"en-GB\",\"page_faq\":\"FAQ\",\"page_metadatas\":\"Discover around you\",\"page_animations\":\"Activities and events\",\"page_corpus\":\"Practical information\",\"anim_event\":\"Event\"};\n    function tf(key) { var a = [].slice.call(arguments, 1), i = 0; return T[key].replace(\/%(\\d\\$)?[sd]\/g, function (m, pos) { return pos ? a[parseInt(pos, 10) - 1] : a[i++]; }); }\n    \/\/ Image par d\u00e9faut du chatbot, utilis\u00e9e quand une fiche n'a pas d'image\n    var DEFAULT_IMG = \"\";\n\n    var app = document.getElementById('ea-app');\n    if (!app) return;\n\n    var TODAY_MAX = 3; \/\/ cartes \u00ab aujourd'hui \u00bb avant \u00ab Voir les autres \u00bb\n    var UPCOMING_STEP = 8;\n\n    var state = {\n      day: TODAY,\n      todayAll: false,\n      week: null,\n      weekDay: TODAY,\n      cat: 'all',\n      scope: 'all', \/\/ all | onsite | nearby\n      sort: 'date',\n      upcomingLimit: UPCOMING_STEP,\n      calendarOpen: false,\n      month: TODAY.slice(0, 7),\n      selectedDay: null\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    \/\/ IC\u00d4NES (SVG statiques)\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    var ICONS = {\n      pin: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z\"\/><circle cx=\"12\" cy=\"9.5\" r=\"2.5\"\/><\/svg>',\n      calendar: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"16\" rx=\"2\"\/><path d=\"M16 3v4M8 3v4M3 10h18\"\/><\/svg>',\n      arrow: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>',\n      external: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M14 5h5v5M19 5l-8 8M18 14v5H5V6h5\"\/><\/svg>',\n      sun: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"4\"\/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"\/><\/svg>',\n      pen: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 11l2 2 4-4\"\/><rect x=\"4\" y=\"3\" width=\"16\" height=\"18\" rx=\"2\"\/><path d=\"M8 7h8\"\/><\/svg>',\n      clock: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v5l3 2\"\/><\/svg>',\n      star: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linejoin=\"round\"><path d=\"M12 3l2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17.3 6.4 20.2l1.1-6.2L3 9.6l6.2-.9z\"\/><\/svg>',\n      leaf: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 19c0-8 5-14 15-14 0 10-6 15-14 15\"\/><path d=\"M5 19l7-7\"\/><\/svg>',\n      tent: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 4L3 20h18L12 4z\"\/><path d=\"M12 4v16M9 20l3-6 3 6\"\/><\/svg>'\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    \/\/ CAT\u00c9GORIES \u2014 pastels harmonieux d\u00e9duits du libell\u00e9\n    \/\/ (le libell\u00e9 est toujours affich\u00e9 : l'info ne passe pas que par la couleur)\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    var CAT_STYLES = [\n      [\/enfant|kid|junior\/, '#fff1c9', '#6f5200'],\n      [\/famil\/, '#fdf0d5', '#7a4e00'],\n      [\/bien.?etre|yoga|zen|detente|relax|spa\/, '#e3f1e6', '#24613a'],\n      [\/concert|musique|soiree|dj|bal\\b\/, '#ece6fa', '#4b3a8c'],\n      [\/spectacle|theatre|cinema|cirque|magie\/, '#fbe3e1', '#8f2d27'],\n      [\/sport|rando|velo|course|tournoi|petanque|nautique\/, '#dcefeb', '#1f5f55'],\n      [\/expo|musee|culture|patrimoine|visite\/, '#f3e6ef', '#7a2f5c'],\n      [\/march|brocante|vide.?grenier|artisan|terroir|degust\/, '#e8f0dc', '#3f5a1e'],\n      [\/animation|fete|festiv|atelier|jeu\/, '#fbe7d7', '#8e4214']\n    ];\n\n    function norm(s) {\n      return (s || '').toLowerCase().normalize('NFD').replace(\/[\u0300-\u036f]\/g, '');\n    }\n\n    function catStyle(key) {\n      var hay = norm(key + ' ' + (CATEGORIES[key] ? CATEGORIES[key].label : ''));\n      for (var i = 0; i < CAT_STYLES.length; i++) {\n        if (CAT_STYLES[i][0].test(hay)) return { bg: CAT_STYLES[i][1], fg: CAT_STYLES[i][2] };\n      }\n      return { bg: '#eceee8', fg: '#3c463f' };\n    }\n\n    function applyCat(node, key) {\n      var s = catStyle(key);\n      node.style.setProperty('--ea-cat-bg', s.bg);\n      node.style.setProperty('--ea-cat-fg', s.fg);\n    }\n\n    function catLabel(e) {\n      return CATEGORIES[e.category] ? CATEGORIES[e.category].label : '';\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    \/\/ DATES \u2014 cha\u00eenes Y-m-d (pas de d\u00e9calage de fuseau)\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    function toDate(ymd) {\n      var p = ymd.split('-');\n      return new Date(+p[0], +p[1] - 1, +p[2], 12);\n    }\n\n    function toYmd(d) {\n      return d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0') + '-' + String(d.getDate()).padStart(2, '0');\n    }\n\n    function addDays(ymd, n) {\n      var d = toDate(ymd);\n      d.setDate(d.getDate() + n);\n      return toYmd(d);\n    }\n\n    function daysBetween(a, b) {\n      return Math.round((toDate(b) - toDate(a)) \/ 86400000);\n    }\n\n    function weekStart(ymd) {\n      var d = toDate(ymd);\n      d.setDate(d.getDate() - (d.getDay() + 6) % 7);\n      return toYmd(d);\n    }\n\n    function fmt(ymd, opts) {\n      return toDate(ymd).toLocaleDateString(T.date_locale, opts);\n    }\n\n    function ucfirst(s) {\n      return s.charAt(0).toUpperCase() + s.slice(1);\n    }\n\n    function shortDate(ymd) {\n      return fmt(ymd, { day: 'numeric', month: 'short' });\n    }\n\n    function byTime(a, b) {\n      return (a.start_time || '').localeCompare(b.start_time || '') || a.name.localeCompare(b.name, T.date_locale);\n    }\n\n    \/** Filtres globaux : sur place \/ aux alentours + cat\u00e9gorie *\/\n    function visible(e) {\n      if (state.scope === 'onsite' && !e.onsite) return false;\n      if (state.scope === 'nearby' && e.onsite) return false;\n      return state.cat === 'all' || e.category === state.cat;\n    }\n\n    function eventsOn(ymd) {\n      return EVENTS.filter(function(e) {\n        return visible(e) && e.start <= ymd && e.end >= ymd;\n      }).sort(byTime);\n    }\n\n    function eventsBetween(from, to) {\n      return EVENTS.filter(function(e) {\n        return visible(e) && e.start <= to && e.end >= from;\n      });\n    }\n\n    \/** Ligne horaire d'une carte vue depuis un jour donn\u00e9 *\/\n    function timeLabel(e, day) {\n      if (e.start === day && e.start_time) return e.start_time + (e.end_time && e.start === e.end ? ' \u2013 ' + e.end_time : '');\n      if (e.start !== e.end || e.open_start) return tf('until', shortDate(e.end));\n      return T.anim_all_day;\n    }\n\n    \/** Ligne date d'une carte \u00ab \u00e0 venir \u00bb *\/\n    function dateLabel(e) {\n      if (e.open_start) return tf('until', shortDate(e.end));\n      if (e.start !== e.end) return tf('from_to', shortDate(e.start), shortDate(e.end));\n      var d = ucfirst(fmt(e.start, { weekday: 'short', day: 'numeric', month: 'short' }));\n      return d + (e.start_time ? ' \u00b7 ' + e.start_time : '');\n    }\n\n    function fullWhenLabel(e) {\n      var opts = { weekday: 'long', day: 'numeric', month: 'long', year: 'numeric' };\n      if (e.open_start) return tf('until', fmt(e.end, opts));\n      var time = e.start_time ? ' ' + tf('anim_at', e.start_time) : '';\n      if (e.start === e.end) return ucfirst(fmt(e.start, opts)) + time + (e.end_time ? ' \u2013 ' + e.end_time : '');\n      return tf('from_to', fmt(e.start, { day: 'numeric', month: 'long' }) + time, fmt(e.end, opts) + (e.end_time ? ' ' + tf('anim_at', e.end_time) : ''));\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    \/\/ DOM\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    function el(tag, cls, text) {\n      var n = document.createElement(tag);\n      if (cls) n.className = cls;\n      if (text != null) n.textContent = text;\n      return n;\n    }\n\n    function icon(name) {\n      var s = el('span', 'ea-icon');\n      s.setAttribute('aria-hidden', 'true');\n      s.innerHTML = ICONS[name];\n      return s;\n    }\n\n    \/** Image de la fiche \u2192 image par d\u00e9faut du chatbot \u2192 aplat illustr\u00e9 *\/\n    function media(e, cls) {\n      var fallback = function() {\n        var f = el('div', 'ea-card-fallback');\n        f.appendChild(icon('tent'));\n        return f;\n      };\n      if (!e.image && !DEFAULT_IMG) return fallback();\n      var img = el('img', cls);\n      var useDefault = !e.image;\n      img.src = useDefault ? DEFAULT_IMG : e.image;\n      img.alt = e.name;\n      img.loading = 'lazy';\n      img.decoding = 'async';\n      if (useDefault) img.classList.add('ea-img--default');\n      img.onerror = function() {\n        \/\/ Le cr\u00e9dit n'est plus celui de l'image affich\u00e9e\n        var cr = img.parentNode && img.parentNode.querySelector('.ea-credit');\n        if (cr) cr.remove();\n        if (!useDefault && DEFAULT_IMG) {\n          useDefault = true;\n          img.classList.add('ea-img--default');\n          img.src = DEFAULT_IMG;\n        } else if (img.parentNode) {\n          img.replaceWith(fallback());\n        }\n      };\n      return img;\n    }\n\n    \/** Cr\u00e9dit photo en bas \u00e0 droite de l'image (rien sans image propre) *\/\n    function credit(e) {\n      if (!e.image || !e.credit) return null;\n      var txt = \/^(\u00a9|\\(c\\))\/i.test(e.credit) ? e.credit : '\u00a9 ' + e.credit;\n      var c = el('span', 'ea-credit', txt);\n      c.title = txt;\n      return c;\n    }\n\n    function pill(e) {\n      var p = el('span', 'ea-pill', catLabel(e));\n      applyCat(p, e.category);\n      return p;\n    }\n\n    \/**\n     * Carte \u00e9v\u00e9nement (composant unique).\n     * @param {object} e\n     * @param {object} o { day: 'Y-m-d' \u2192 heure du jour | date: true \u2192 dates de l'\u00e9v\u00e9nement }\n     *\/\n    function card(e, o) {\n      o = o || {};\n      var c = el('article', 'ea-card' + (e.end < TODAY ? ' ea-card--ended' : ''));\n      c.tabIndex = 0;\n      c.setAttribute('role', 'button');\n      c.setAttribute('aria-label', e.name + ' \u2014 ' + (o.date ? dateLabel(e) : timeLabel(e, o.day)) + ' \u2014 ' + T.anim_see_detail);\n      applyCat(c, e.category);\n\n      var m = el('div', 'ea-card-media');\n      m.appendChild(media(e));\n      var cr = credit(e);\n      if (cr) m.appendChild(cr);\n      m.appendChild(dateBadge(e));\n      if (o.day === TODAY && e.start < TODAY && e.end >= TODAY) {\n        m.appendChild(el('span', 'ea-live', T.anim_live));\n      }\n      if (e.registration) {\n        var reg = el('span', 'ea-reg');\n        reg.appendChild(icon('pen'));\n        reg.appendChild(document.createTextNode(T.registration));\n        m.appendChild(reg);\n      }\n      c.appendChild(m);\n\n      var b = el('div', 'ea-card-body');\n      var top = el('div', 'ea-card-top');\n      if (!o.date) {\n        var w = el('span', 'ea-when');\n        w.appendChild(icon('clock'));\n        w.appendChild(document.createTextNode(timeLabel(e, o.day)));\n        top.appendChild(w);\n      }\n      if (top.childNodes.length) b.appendChild(top);\n      b.appendChild(el('h3', 'ea-card-title', e.name));\n      var where = placeLabel(e);\n      if (where) {\n        var p = el('p', 'ea-place');\n        p.appendChild(icon(e.onsite ? 'tent' : 'pin'));\n        p.appendChild(document.createTextNode(where));\n        b.appendChild(p);\n      }\n      if (e.description) b.appendChild(el('p', 'ea-card-desc', e.description));\n      var cta = el('span', 'ea-cta', T.discover);\n      cta.appendChild(icon('arrow'));\n      b.appendChild(cta);\n      c.appendChild(b);\n\n      c.addEventListener('click', function() {\n        openModal(e);\n      });\n      c.addEventListener('keydown', function(ev) {\n        if (ev.key === 'Enter' || ev.key === ' ') {\n          ev.preventDefault();\n          openModal(e);\n        }\n      });\n      return c;\n    }\n\n    \/** O\u00f9 : lieu dans l'\u00e9tablissement (sur place) ou ville (aux alentours) *\/\n    function placeLabel(e) {\n      if (e.onsite) return e.spot ? tf('anim_onsite_spot', e.spot) : T.anim_onsite;\n      return e.city;\n    }\n\n    \/**\n     * Badge date sur l'image, toujours sur 3 lignes et de taille fixe :\n     *   un jour     \u2192 LUN \/ 28 \/ SEPT\n     *   jusqu'au    \u2192 JUSQU'AU \/ 18 \/ OCT\n     *   p\u00e9riode     \u2192 25 SEPT \u2192 \/ 7 \/ OCT   (du 25 sept. au 7 oct.)\n     *\/\n    function dateBadge(e) {\n      var month = function(ymd) {\n        return fmt(ymd, { month: 'short' }).replace('.', '');\n      };\n      var top, day, end = '';\n      if (e.open_start) {\n        top = T.anim_badge_until;\n        day = e.end;\n      } else if (e.start !== e.end) {\n        \/\/ P\u00e9riode : le D\u00c9BUT en gros, la fin en petit dessous (\u2192 1 nov)\n        top = T.anim_badge_from;\n        day = e.start;\n        end = '\u2192 ' + toDate(e.end).getDate() + ' ' + month(e.end);\n      } else {\n        top = e.start === TODAY ? T.anim_badge_today : fmt(e.start, { weekday: 'short' }).replace('.', '');\n        day = e.start;\n      }\n      \/\/ Couleur selon le cas : aujourd'hui \/ un jour \u00e0 venir \/ p\u00e9riode \u00e0 venir \/ en cours\n      var kind = (e.start === e.end && !e.open_start) ? (e.start === TODAY ? 'today' : 'day') :\n        ((e.open_start || e.start <= TODAY) ? 'ongoing' : 'period');\n      var d = el('span', 'ea-date ea-date--' + kind);\n      d.setAttribute('aria-hidden', 'true');\n      d.appendChild(el('span', 'ea-date-top', top));\n      d.appendChild(el('span', 'ea-date-day', String(toDate(day).getDate())));\n      d.appendChild(el('span', 'ea-date-month', month(day)));\n      if (end) d.appendChild(el('span', 'ea-date-end', end));\n      return d;\n    }\n\n    function grid(list, o, four) {\n      var g = el('div', 'ea-grid' + (four ? ' ea-grid--4' : ''));\n      list.forEach(function(e) {\n        g.appendChild(card(e, o));\n      });\n      return g;\n    }\n\n    function head(id, iconName, title, sub, side) {\n      var h = el('div', 'ea-section-head');\n      var left = el('div');\n      var t = el('h2', 'ea-section-title');\n      if (iconName) t.appendChild(icon(iconName));\n      t.appendChild(document.createTextNode(title));\n      t.id = id;\n      left.appendChild(t);\n      if (sub) left.appendChild(el('p', 'ea-section-sub', sub));\n      h.appendChild(left);\n      if (side) h.appendChild(side);\n      return h;\n    }\n\n    function round(label, aria, onClick, disabled) {\n      var b = el('button', 'ea-round', label);\n      b.type = 'button';\n      b.setAttribute('aria-label', aria);\n      b.disabled = !!disabled;\n      b.addEventListener('click', onClick);\n      return b;\n    }\n\n    function empty(title, text, action) {\n      var box = el('div', 'ea-empty');\n      box.appendChild(icon('sun'));\n      box.appendChild(el('strong', null, title));\n      if (text) box.appendChild(el('span', null, text));\n      if (action) {\n        var b = el('button', 'ea-btn ea-btn--soft', action.label);\n        b.type = 'button';\n        b.addEventListener('click', action.onClick);\n        box.appendChild(b);\n      }\n      return box;\n    }\n\n    function nextEventDay(after) {\n      var next = null;\n      EVENTS.forEach(function(e) {\n        if (visible(e) && e.start > after && (!next || e.start < next)) next = e.start;\n      });\n      return next;\n    }\n\n    \/** Pastilles de cat\u00e9gories (filtre global de la page) *\/\n    function catFilters() {\n      var box = el('div', 'ea-cats');\n      box.setAttribute('role', 'group');\n      box.setAttribute('aria-label', T.anim_filter_cat);\n      \/\/ Cat\u00e9gories pr\u00e9sentes dans le p\u00e9rim\u00e8tre choisi (sur place \/ alentours)\n      var keys = Object.keys(CATEGORIES).filter(function(k) {\n        return EVENTS.some(function(e) {\n          return e.category === k && e.end >= TODAY &&\n            (state.scope === 'all' || (state.scope === 'onsite') === !!e.onsite);\n        });\n      });\n      if (keys.length < 2) return box;\n      var mk = function(key, label) {\n        var b = el('button', 'ea-cat' + (key === 'all' ? ' ea-cat--all' : ''), label);\n        b.type = 'button';\n        b.setAttribute('aria-pressed', state.cat === key ? 'true' : 'false');\n        if (key !== 'all') applyCat(b, key);\n        b.addEventListener('click', function() {\n          setCat(state.cat === key ? 'all' : key);\n          var again = document.querySelector('.ea-cat[aria-pressed=\"true\"]');\n          if (again) again.focus();\n        });\n        box.appendChild(b);\n      };\n      mk('all', T.anim_all_f);\n      keys.forEach(function(k) {\n        mk(k, CATEGORIES[k].label);\n      });\n      return box;\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    \/\/ 3. AUJOURD'HUI\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    function renderToday() {\n      var sec = document.getElementById('ea-sec-today');\n      sec.innerHTML = '';\n      var day = state.day;\n\n      var side = el('div', 'ea-head-side');\n      side.appendChild(el('span', null, ucfirst(fmt(day, { weekday: 'long', day: 'numeric', month: 'long' }))));\n      side.appendChild(round('\u2039', T.anim_prev_day, function() {\n        state.day = addDays(state.day, -1);\n        state.todayAll = false;\n        renderToday();\n      }, day <= TODAY));\n      side.appendChild(round('\u203a', T.anim_next_day, function() {\n        state.day = addDays(state.day, 1);\n        state.todayAll = false;\n        renderToday();\n      }));\n\n      \/\/ Titres neutres : la page sert aussi aux h\u00f4tels, mus\u00e9es, offices de tourisme\u2026\n      var title = day === TODAY ? T.anim_today_title :\n        (day === addDays(TODAY, 1) ? T.anim_tomorrow_title : tf('anim_day_title', fmt(day, { weekday: 'long', day: 'numeric', month: 'long' })));\n      sec.appendChild(head('ea-today-title', 'sun', title, null, side));\n      sec.appendChild(catFilters());\n\n      var list = eventsOn(day);\n      if (!list.length) {\n        var next = nextEventDay(day);\n        sec.appendChild(empty(\n          day === TODAY ? T.anim_relax_today : T.anim_nothing_day,\n          next ? tf('anim_next_on', fmt(next, { weekday: 'long', day: 'numeric', month: 'long' })) : T.anim_soon,\n          next ? {\n            label: T.anim_see_day,\n            onClick: function() {\n              state.day = next;\n              renderToday();\n            }\n          } : null));\n        return;\n      }\n\n      sec.appendChild(list.length > TODAY_MAX ? carousel(list, { day: day }) : grid(list, { day: day }));\n    }\n\n    \/**\n     * Carrousel horizontal (3 cartes visibles sur ordinateur, d\u00e9filement au doigt\n     * sur mobile), fl\u00e8ches affich\u00e9es seulement s'il reste des cartes de ce c\u00f4t\u00e9.\n     *\/\n    function carousel(list, o, four) {\n      var wrap = el('div', 'ea-carousel' + (four ? ' ea-carousel--4' : ''));\n      var track = el('div', 'ea-carousel-track');\n      track.setAttribute('role', 'list');\n      list.forEach(function(e) {\n        var c = card(e, o);\n        c.setAttribute('role', 'listitem');\n        track.appendChild(c);\n      });\n      var prev = el('button', 'ea-carousel-btn ea-carousel-btn--prev', '\u2039');\n      var next = el('button', 'ea-carousel-btn ea-carousel-btn--next', '\u203a');\n      prev.type = next.type = 'button';\n      prev.setAttribute('aria-label', T.anim_prev_acts);\n      next.setAttribute('aria-label', T.anim_next_acts);\n      var step = function(dir) {\n        var first = track.firstElementChild;\n        var w = first ? first.getBoundingClientRect().width + 16 : track.clientWidth;\n        track.scrollBy({ left: dir * w * Math.max(1, Math.floor(track.clientWidth \/ w)), behavior: 'smooth' });\n      };\n      prev.addEventListener('click', function() {\n        step(-1);\n      });\n      next.addEventListener('click', function() {\n        step(1);\n      });\n      var update = function() {\n        var max = track.scrollWidth - track.clientWidth;\n        prev.hidden = track.scrollLeft <= 4;\n        next.hidden = track.scrollLeft >= max - 4;\n      };\n      track.addEventListener('scroll', update, { passive: true });\n      window.addEventListener('resize', update);\n      wrap.appendChild(prev);\n      wrap.appendChild(track);\n      wrap.appendChild(next);\n      setTimeout(update, 0);\n      return wrap;\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    \/\/ 4. TEMPS FORTS DE LA SEMAINE\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    function firstBusyDay(from) {\n      for (var i = 0; i < 7; i++) {\n        var d = addDays(from, i);\n        if (d >= TODAY && eventsOn(d).length) return d;\n      }\n      return null;\n    }\n\n    function renderWeek() {\n      var sec = document.getElementById('ea-sec-week');\n      sec.innerHTML = '';\n      var thisWeek = weekStart(TODAY);\n      var from = state.week || thisWeek;\n      var to = addDays(from, 6);\n      if (state.weekDay < from || state.weekDay > to) state.weekDay = firstBusyDay(from) || from;\n\n      var side = el('div', 'ea-head-side');\n      side.appendChild(el('span', null, tf('from_to', shortDate(from), shortDate(to))));\n      side.appendChild(round('\u2039', T.anim_prev_week, function() {\n        state.week = addDays(from, -7);\n        state.weekDay = state.week === thisWeek ? TODAY : state.week;\n        renderWeek();\n      }, from <= thisWeek));\n      side.appendChild(round('\u203a', T.anim_next_week, function() {\n        state.week = addDays(from, 7);\n        state.weekDay = firstBusyDay(state.week) || state.week;\n        renderWeek();\n      }));\n\n      var title = from === thisWeek ? T.anim_week_title :\n        (from === addDays(thisWeek, 7) ? T.anim_next_week_title : tf('anim_week_of', fmt(from, { day: 'numeric', month: 'long' })));\n      sec.appendChild(head('ea-week-title', 'calendar', title, null, side));\n\n      var days = el('div', 'ea-days');\n      days.setAttribute('role', 'group');\n      days.setAttribute('aria-label', T.anim_week_days);\n      for (var i = 0; i < 7; i++) {\n        (function(day) {\n          var n = eventsOn(day).length;\n          var b = el('button', 'ea-day' + (day === TODAY ? ' is-today' : '') + (n ? ' has-events' : ''));\n          b.type = 'button';\n          b.setAttribute('aria-pressed', day === state.weekDay ? 'true' : 'false');\n          b.setAttribute('aria-label', fmt(day, { weekday: 'long', day: 'numeric', month: 'long' }) + (day === TODAY ? ' ' + T.anim_today_paren : '') + ' : ' + (n ? tf(n > 1 ? 'anim_activities' : 'anim_activity', n) : T.anim_nothing));\n          b.appendChild(el('span', 'ea-day-name', ucfirst(fmt(day, { weekday: 'short' }).replace('.', ''))));\n          b.appendChild(el('span', 'ea-day-date', shortDate(day)));\n          b.addEventListener('click', function() {\n            state.weekDay = day;\n            renderWeek();\n            var btn = document.querySelector('.ea-day[aria-pressed=\"true\"]');\n            if (btn) btn.focus();\n          });\n          days.appendChild(b);\n        })(addDays(from, i));\n      }\n      sec.appendChild(days);\n\n      var list = eventsOn(state.weekDay);\n      if (!list.length) {\n        sec.appendChild(empty(T.anim_nothing_day, T.anim_pick_day));\n        return;\n      }\n      \/\/ Au-del\u00e0 de 4 activit\u00e9s : carrousel (4 cartes visibles) au lieu d'une grille qui s'allonge\n      sec.appendChild(list.length > 4 ? carousel(list, { day: state.weekDay }, true) : grid(list, { day: state.weekDay }, true));\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    \/\/ 5. TOUS LES \u00c9V\u00c9NEMENTS \u00c0 VENIR\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    \/** Liste d\u00e9roulante accessible (libell\u00e9 masqu\u00e9) *\/\n    function selectBox(label, options, value, onChange) {\n      var wrap = el('label');\n      wrap.appendChild(el('span', 'ea-sr', label));\n      var sel = el('select', 'ea-select');\n      options.forEach(function(o) {\n        var opt = el('option', null, o[1]);\n        opt.value = o[0];\n        opt.selected = value === o[0];\n        sel.appendChild(opt);\n      });\n      sel.addEventListener('change', function() {\n        onChange(sel.value);\n      });\n      wrap.appendChild(sel);\n      return wrap;\n    }\n\n    function renderUpcoming() {\n      var sec = document.getElementById('ea-sec-upcoming');\n      sec.innerHTML = '';\n\n      \/\/ Tri (le filtre cat\u00e9gorie est global, sous \u00ab Activit\u00e9s du jour \u00bb)\n      var side = el('div', 'ea-head-side');\n      side.appendChild(selectBox(T.anim_sort, [\n        ['date', T.anim_sort_date],\n        ['name', T.anim_sort_name]\n      ], state.sort, function(v) {\n        state.sort = v;\n        renderUpcoming();\n        focusUpcoming(0);\n      }));\n      sec.appendChild(head('ea-upcoming-title', 'leaf', T.anim_upcoming_title, null, side));\n\n      var list = EVENTS.filter(function(e) {\n        return visible(e) && e.end >= TODAY;\n      }).sort(function(a, b) {\n        if (state.sort === 'name') return a.name.localeCompare(b.name, T.date_locale);\n        var sa = a.start < TODAY ? TODAY : a.start;\n        var sb = b.start < TODAY ? TODAY : b.start;\n        return sa.localeCompare(sb) || byTime(a, b);\n      });\n\n      if (!list.length) {\n        sec.appendChild(empty(T.anim_no_upcoming, state.cat === 'all' ? T.anim_soon : T.anim_try_cat));\n        return;\n      }\n\n      sec.appendChild(grid(list.slice(0, state.upcomingLimit), { date: true }, true));\n\n      if (list.length > state.upcomingLimit) {\n        var more = el('div', 'ea-more');\n        var b = el('button', 'ea-btn ea-btn--soft', tf('anim_more', list.length - state.upcomingLimit));\n        b.appendChild(icon('arrow'));\n        b.type = 'button';\n        b.addEventListener('click', function() {\n          state.upcomingLimit += UPCOMING_STEP;\n          renderUpcoming();\n        });\n        more.appendChild(b);\n        sec.appendChild(more);\n      }\n    }\n\n    function setCat(key) {\n      state.cat = key;\n      rerenderAll();\n    }\n\n    function setScope(scope) {\n      state.scope = scope;\n      state.cat = 'all';\n      app.querySelectorAll('.ea-scope button').forEach(function(b) {\n        b.setAttribute('aria-pressed', b.getAttribute('data-scope') === scope ? 'true' : 'false');\n      });\n      rerenderAll();\n    }\n\n    function rerenderAll() {\n      state.upcomingLimit = UPCOMING_STEP;\n      state.todayAll = false;\n      renderToday();\n      renderWeek();\n      renderUpcoming();\n      renderCalendar();\n    }\n\n    \/** Apr\u00e8s un re-rendu, garde le focus sur la liste d\u00e9roulante utilis\u00e9e *\/\n    function focusUpcoming(i) {\n      var sel = document.querySelectorAll('#ea-sec-upcoming .ea-select')[i];\n      if (sel) sel.focus();\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    \/\/ 6. CALENDRIER DU MOIS (secondaire, repliable)\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    var MAX_LANES = 3;\n\n    \/** Place les \u00e9v\u00e9nements d'une semaine en couloirs sans chevauchement *\/\n    function layoutLanes(from, to) {\n      var items = eventsBetween(from, to).map(function(e) {\n        var s = e.start < from ? from : e.start;\n        var t = e.end > to ? to : e.end;\n        return { e: e, col: daysBetween(from, s) + 1, span: daysBetween(s, t) + 1, fromBefore: e.start < from, toAfter: e.end > to };\n      });\n      items.sort(function(a, b) {\n        return (a.col - b.col) || (b.span - a.span) || (a.e.start_time || '').localeCompare(b.e.start_time || '');\n      });\n      var ends = [];\n      items.forEach(function(it) {\n        var lane = 0;\n        while (ends[lane] !== undefined && ends[lane] >= it.col) lane++;\n        ends[lane] = it.col + it.span - 1;\n        it.lane = lane;\n      });\n      return items;\n    }\n\n    function renderCalendar() {\n      var sec = document.getElementById('ea-sec-calendar');\n      sec.innerHTML = '';\n\n      var toggle = el('button', 'ea-btn ea-btn--soft', state.calendarOpen ? T.anim_hide_cal : T.anim_show_cal);\n      toggle.appendChild(icon('arrow'));\n      toggle.type = 'button';\n      toggle.setAttribute('aria-expanded', state.calendarOpen ? 'true' : 'false');\n      toggle.setAttribute('aria-controls', 'ea-cal-panel');\n      toggle.addEventListener('click', function() {\n        state.calendarOpen = !state.calendarOpen;\n        renderCalendar();\n        var b = document.querySelector('#ea-sec-calendar [aria-controls=\"ea-cal-panel\"]');\n        if (b) b.focus();\n      });\n      sec.appendChild(head('ea-calendar-title', 'calendar', T.anim_cal_title, T.anim_cal_sub, toggle));\n\n      var panel = el('div', 'ea-cal-panel');\n      panel.id = 'ea-cal-panel';\n      panel.hidden = !state.calendarOpen;\n      sec.appendChild(panel);\n      if (!state.calendarOpen) return;\n\n      var first = state.month + '-01';\n      var firstDate = toDate(first);\n      var lastDay = toYmd(new Date(firstDate.getFullYear(), firstDate.getMonth() + 1, 0, 12));\n      var gridStart = weekStart(first);\n      var gridEnd = addDays(weekStart(lastDay), 6);\n\n      var bar = el('div', 'ea-cal-toolbar');\n      bar.appendChild(el('h3', 'ea-cal-month', ucfirst(fmt(first, { month: 'long', year: 'numeric' }))));\n      var nav = el('div', 'ea-head-side');\n      nav.appendChild(round('\u2039', T.anim_prev_month, function() {\n        state.month = toYmd(new Date(firstDate.getFullYear(), firstDate.getMonth() - 1, 1, 12)).slice(0, 7);\n        state.selectedDay = null;\n        renderCalendar();\n      }));\n      nav.appendChild(round('\u203a', T.anim_next_month, function() {\n        state.month = toYmd(new Date(firstDate.getFullYear(), firstDate.getMonth() + 1, 1, 12)).slice(0, 7);\n        state.selectedDay = null;\n        renderCalendar();\n      }));\n      bar.appendChild(nav);\n      panel.appendChild(bar);\n\n      var month = el('div', 'ea-month');\n      var mh = el('div', 'ea-month-head');\n      \/\/ Lundi \u2192 dimanche, abr\u00e9g\u00e9s dans la langue de la page (5 janv. 2026 = un lundi)\n      [5, 6, 7, 8, 9, 10, 11].map(function(dd) { return ucfirst(fmt('2026-01-' + (dd < 10 ? '0' : '') + dd, { weekday: 'short' }).replace('.', '')); }).forEach(function(d) {\n        mh.appendChild(el('div', null, d));\n      });\n      month.appendChild(mh);\n      for (var ws = gridStart; ws <= gridEnd; ws = addDays(ws, 7)) month.appendChild(monthRow(ws));\n      panel.appendChild(month);\n\n      \/\/ D\u00e9tail uniquement apr\u00e8s un clic sur un jour\n      if (state.selectedDay) {\n        var dp = el('div', 'ea-daypanel');\n        dp.id = 'ea-daypanel';\n        dp.appendChild(el('h3', 'ea-daypanel-title', ucfirst(fmt(state.selectedDay, { weekday: 'long', day: 'numeric', month: 'long' }))));\n        var list = eventsOn(state.selectedDay);\n        dp.appendChild(list.length ? grid(list, { day: state.selectedDay }) : empty(T.anim_nothing_day));\n        panel.appendChild(dp);\n      }\n    }\n\n    function monthRow(from) {\n      var to = addDays(from, 6);\n      var items = layoutLanes(from, to);\n      var row = el('div', 'ea-mrow');\n      var hidden = [0, 0, 0, 0, 0, 0, 0];\n      items.forEach(function(it) {\n        if (it.lane >= MAX_LANES) {\n          for (var d = it.col; d < it.col + it.span; d++) hidden[d - 1]++;\n        }\n      });\n\n      for (var i = 0; i < 7; i++) {\n        (function(day, i) {\n          var inMonth = day.slice(0, 7) === state.month;\n          var cell = el('button', 'ea-mcell' + (inMonth ? '' : ' ea-mcell--out') + (day === state.selectedDay ? ' ea-mcell--selected' : ''));\n          cell.type = 'button';\n          cell.style.gridColumn = String(i + 1);\n          cell.setAttribute('aria-label', fmt(day, { weekday: 'long', day: 'numeric', month: 'long' }) + ' : ' + (function(n) { return n ? tf(n > 1 ? 'anim_activities' : 'anim_activity', n) : T.anim_nothing; })(eventsOn(day).length));\n          cell.addEventListener('click', function() {\n            state.selectedDay = day;\n            if (!inMonth) state.month = day.slice(0, 7);\n            renderCalendar();\n            var dp = document.getElementById('ea-daypanel');\n            if (dp && dp.scrollIntoView) dp.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n          });\n          row.appendChild(cell);\n\n          var num = el('span', 'ea-mnum' + (inMonth ? '' : ' ea-mnum--out') + (day === TODAY ? ' ea-mnum--today' : ''), String(toDate(day).getDate()));\n          num.style.gridColumn = String(i + 1);\n          row.appendChild(num);\n\n          if (hidden[i]) {\n            var more = el('span', 'ea-mmore', '+' + hidden[i]);\n            more.style.gridColumn = String(i + 1);\n            row.appendChild(more);\n          }\n        })(addDays(from, i), i);\n      }\n\n      items.forEach(function(it) {\n        if (it.lane >= MAX_LANES) return;\n        var e = it.e;\n        var b = el('button', 'ea-mbar' +\n          (it.fromBefore ? ' ea-mbar--from-before' : '') +\n          (it.toAfter ? ' ea-mbar--to-after' : '') +\n          (e.end < TODAY ? ' ea-mbar--ended' : ''), ((!it.fromBefore && e.start_time) ? e.start_time + ' ' : '') + e.name);\n        b.type = 'button';\n        b.title = e.name;\n        applyCat(b, e.category);\n        b.style.gridColumn = it.col + ' \/ span ' + it.span;\n        b.style.gridRow = String(it.lane + 2);\n        b.addEventListener('click', function() {\n          openModal(e);\n        });\n        row.appendChild(b);\n      });\n      return row;\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    \/\/ MODAL \u2014 d\u00e9plac\u00e9e dans <body data-rsssl=1> pour \u00e9chapper \u00e0 la largeur max du contenu\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    var modal = document.getElementById('ea-modal');\n    if (modal && modal.parentNode !== document.body) document.body.appendChild(modal);\n    var modalContent = document.getElementById('ea-modal-content');\n    var lastFocus = null;\n\n    function openModal(e) {\n      lastFocus = document.activeElement;\n      modalContent.innerHTML = '';\n\n      if (e.image || DEFAULT_IMG) {\n        var img = media(e, 'ea-modal-img');\n        img.loading = 'eager';\n        var mm = el('div', 'ea-modal-media');\n        mm.appendChild(img);\n        var mcr = credit(e);\n        if (mcr) mm.appendChild(mcr);\n        modalContent.appendChild(mm);\n      }\n\n      var body = el('div', 'ea-modal-body');\n      if (catLabel(e)) body.appendChild(pill(e));\n      var t = el('h2', 'ea-modal-title', e.name);\n      t.id = 'ea-modal-title';\n      body.appendChild(t);\n\n      var info = el('div', 'ea-modal-info');\n      var when = el('span');\n      when.appendChild(icon('calendar'));\n      when.appendChild(document.createTextNode(fullWhenLabel(e)));\n      info.appendChild(when);\n      if (placeLabel(e)) {\n        var where = el('span');\n        where.appendChild(icon(e.onsite ? 'tent' : 'pin'));\n        where.appendChild(document.createTextNode(placeLabel(e)));\n        info.appendChild(where);\n      }\n      if (e.registration) {\n        var reg = el('span');\n        reg.appendChild(icon('pen'));\n        reg.appendChild(el('strong', null, T.registration));\n        info.appendChild(reg);\n      }\n      body.appendChild(info);\n\n      if (e.description) body.appendChild(el('p', 'ea-modal-desc', e.description));\n\n      if (e.link) {\n        var a = el('a', 'ea-btn', T.anim_more_info);\n        a.href = e.link;\n        a.target = '_blank';\n        a.rel = 'noopener';\n        a.appendChild(icon('external'));\n        a.appendChild(el('span', 'ea-sr', T.anim_new_tab));\n        body.appendChild(a);\n      }\n      modalContent.appendChild(body);\n\n      modal.hidden = false;\n      document.documentElement.style.overflow = 'hidden';\n      document.getElementById('ea-modal-close').focus();\n    }\n\n    function closeModal() {\n      modal.hidden = true;\n      document.documentElement.style.overflow = '';\n      if (lastFocus && lastFocus.focus) lastFocus.focus();\n    }\n\n    document.getElementById('ea-modal-close').addEventListener('click', closeModal);\n    modal.addEventListener('click', function(ev) {\n      if (ev.target === modal) closeModal();\n    });\n    document.addEventListener('keydown', function(ev) {\n      if (modal.hidden) return;\n      if (ev.key === 'Escape') closeModal();\n      \/\/ Focus gard\u00e9 dans la modal\n      if (ev.key === 'Tab') {\n        var f = modal.querySelectorAll('button, a[href]');\n        if (!f.length) return;\n        var firstF = f[0],\n          lastF = f[f.length - 1];\n        if (ev.shiftKey && document.activeElement === firstF) {\n          ev.preventDefault();\n          lastF.focus();\n        } else if (!ev.shiftKey && document.activeElement === lastF) {\n          ev.preventDefault();\n          firstF.focus();\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    \/\/ NAVIGATION COLLANTE + SUIVI DE SECTION\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     * Hauteur occup\u00e9e en haut de l'\u00e9cran par les barres fixes \/ collantes du site\n     * (barre d'admin, en-t\u00eate, barre de r\u00e9servation\u2026), quelle que soit leur classe :\n     * on sonde le haut de l'\u00e9cran et on empile les barres trouv\u00e9es.\n     *\/\n    function headerOffset() {\n      var bottom = 0;\n      var vw = window.innerWidth,\n        vh = window.innerHeight;\n      var isBar = function(el) {\n        if (!el || el === document.body || el === document.documentElement) return false;\n        if (el.closest('#ea-app, .ea-modal-overlay, .mv-modal-overlay')) return false;\n        var pos = getComputedStyle(el).position;\n        if (pos !== 'fixed' && pos !== 'sticky') return false;\n        var r = el.getBoundingClientRect();\n        \/\/ vraie barre : large, pas trop haute (exclut bulles de chat, boutons flottants, popups)\n        return r.width >= vw * 0.3 && r.height > 0 && r.height < vh * 0.45;\n      };\n      for (var pass = 0; pass < 5; pass++) {\n        var y = bottom + 2,\n          found = 0;\n        if (y >= vh * 0.5) break;\n        [0.15, 0.5, 0.85].forEach(function(fx) {\n          (document.elementsFromPoint(vw * fx, y) || []).forEach(function(el) {\n            for (var n = el; n && n !== document.body; n = n.parentElement) {\n              if (isBar(n)) {\n                var r = n.getBoundingClientRect();\n                if (r.top <= y + 1 && r.bottom > found) found = r.bottom;\n                break;\n              }\n            }\n          });\n        });\n        if (found <= bottom) break;\n        bottom = found;\n      }\n      app.style.setProperty('--ea-header', Math.round(bottom) + 'px');\n      return bottom;\n    }\n\n    var navLinks = Array.prototype.slice.call(app.querySelectorAll('.ea-nav a'));\n\n    function setCurrent(id) {\n      navLinks.forEach(function(a) {\n        a.setAttribute('aria-current', a.getAttribute('href') === '#' + id ? 'true' : 'false');\n      });\n    }\n\n    navLinks.forEach(function(a) {\n      a.addEventListener('click', function(ev) {\n        var target = document.getElementById(a.getAttribute('href').slice(1));\n        if (!target) return;\n        ev.preventDefault();\n        if (a.getAttribute('href') === '#ea-sec-calendar' && !state.calendarOpen) {\n          state.calendarOpen = true;\n          renderCalendar();\n        }\n        setCurrent(target.id);\n        target.scrollIntoView({ behavior: 'smooth', block: 'start' });\n      });\n    });\n\n    if ('IntersectionObserver' in window) {\n      var io = new IntersectionObserver(function(entries) {\n        entries.forEach(function(en) {\n          if (en.isIntersecting) setCurrent(en.target.id);\n        });\n      }, { rootMargin: '-35% 0px -55% 0px' });\n      ['ea-sec-today', 'ea-sec-week', 'ea-sec-upcoming', 'ea-sec-calendar'].forEach(function(id) {\n        io.observe(document.getElementById(id));\n      });\n    }\n\n    var ticking = false;\n    window.addEventListener('scroll', function() {\n      if (ticking) return;\n      ticking = true;\n      requestAnimationFrame(function() {\n        headerOffset();\n        ticking = false;\n      });\n    }, { passive: true });\n    window.addEventListener('resize', headerOffset);\n\n    \/\/ Semaine : on ouvre sur le prochain jour anim\u00e9 (aujourd'hui est d\u00e9j\u00e0 en haut de page)\n    (function() {\n      var ws = weekStart(TODAY);\n      for (var d = addDays(TODAY, 1); d <= addDays(ws, 6); d = addDays(d, 1)) {\n        if (eventsOn(d).length) {\n          state.weekDay = d;\n          return;\n        }\n      }\n    })();\n\n    app.querySelectorAll('.ea-scope button').forEach(function(b) {\n      b.addEventListener('click', function() {\n        setScope(b.getAttribute('data-scope'));\n      });\n    });\n\n    headerOffset();\n    renderToday();\n    renderWeek();\n    renderUpcoming();\n    renderCalendar();\n  })();\n<\/script>\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,"footnotes":""},"class_list":["post-4070","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Activities and events - Camping La Cascade<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.camping-cascade-aveyron.com\/en\/elaia-animations\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Activities and events - Camping La Cascade\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.camping-cascade-aveyron.com\/en\/elaia-animations\/\" \/>\n<meta property=\"og:site_name\" content=\"Camping La Cascade\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.camping-cascade-aveyron.com\\\/en\\\/elaia-animations\\\/\",\"url\":\"https:\\\/\\\/www.camping-cascade-aveyron.com\\\/en\\\/elaia-animations\\\/\",\"name\":\"Activities and events - Camping La Cascade\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.camping-cascade-aveyron.com\\\/en\\\/#website\"},\"datePublished\":\"2026-10-27T10:24:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.camping-cascade-aveyron.com\\\/en\\\/elaia-animations\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.camping-cascade-aveyron.com\\\/en\\\/elaia-animations\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.camping-cascade-aveyron.com\\\/en\\\/elaia-animations\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Camping Aveyron\",\"item\":\"https:\\\/\\\/www.camping-cascade-aveyron.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Activities and events\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.camping-cascade-aveyron.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.camping-cascade-aveyron.com\\\/en\\\/\",\"name\":\"Camping La Cascade\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.camping-cascade-aveyron.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Activities and events - Camping La Cascade","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.camping-cascade-aveyron.com\/en\/elaia-animations\/","og_locale":"en_US","og_type":"article","og_title":"Activities and events - Camping La Cascade","og_url":"https:\/\/www.camping-cascade-aveyron.com\/en\/elaia-animations\/","og_site_name":"Camping La Cascade","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.camping-cascade-aveyron.com\/en\/elaia-animations\/","url":"https:\/\/www.camping-cascade-aveyron.com\/en\/elaia-animations\/","name":"Activities and events - Camping La Cascade","isPartOf":{"@id":"https:\/\/www.camping-cascade-aveyron.com\/en\/#website"},"datePublished":"2026-10-27T10:24:24+00:00","breadcrumb":{"@id":"https:\/\/www.camping-cascade-aveyron.com\/en\/elaia-animations\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.camping-cascade-aveyron.com\/en\/elaia-animations\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.camping-cascade-aveyron.com\/en\/elaia-animations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Camping Aveyron","item":"https:\/\/www.camping-cascade-aveyron.com\/en\/"},{"@type":"ListItem","position":2,"name":"Activities and events"}]},{"@type":"WebSite","@id":"https:\/\/www.camping-cascade-aveyron.com\/en\/#website","url":"https:\/\/www.camping-cascade-aveyron.com\/en\/","name":"Camping La Cascade","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.camping-cascade-aveyron.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.camping-cascade-aveyron.com\/en\/wp-json\/wp\/v2\/pages\/4070","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.camping-cascade-aveyron.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.camping-cascade-aveyron.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.camping-cascade-aveyron.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.camping-cascade-aveyron.com\/en\/wp-json\/wp\/v2\/comments?post=4070"}],"version-history":[{"count":1,"href":"https:\/\/www.camping-cascade-aveyron.com\/en\/wp-json\/wp\/v2\/pages\/4070\/revisions"}],"predecessor-version":[{"id":4071,"href":"https:\/\/www.camping-cascade-aveyron.com\/en\/wp-json\/wp\/v2\/pages\/4070\/revisions\/4071"}],"wp:attachment":[{"href":"https:\/\/www.camping-cascade-aveyron.com\/en\/wp-json\/wp\/v2\/media?parent=4070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}