{"id":9011,"date":"2026-09-12T15:06:30","date_gmt":"2026-09-12T15:06:30","guid":{"rendered":"https:\/\/eurovoya.com\/?page_id=9011"},"modified":"2026-09-13T08:58:21","modified_gmt":"2026-09-13T08:58:21","slug":"bobbejaanland","status":"publish","type":"page","link":"https:\/\/eurovoya.com\/nl\/bobbejaanland\/","title":{"rendered":"Bobbejaanland"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"9011\" class=\"elementor elementor-9011\">\n\t\t\t\t<div class=\"elementor-element elementor-element-db07035 e-flex e-con-boxed e-con e-parent\" data-id=\"db07035\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9db79df elementor-widget elementor-widget-html\" data-id=\"9db79df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ============================================================\r\n   EUROVOYA \u2014 PAIRI DAIZA MASTER TICKET\r\n============================================================ *\/\r\n\r\n#ev-product,\r\n#ev-product *{\r\n    box-sizing:border-box;\r\n}\r\n\r\n#ev-product{\r\n    --orange:#FD4621;\r\n    --dark:#071516;\r\n    --text:#586164;\r\n    --muted:#788184;\r\n    --border:#E3E7E7;\r\n    --soft:#F7F8F8;\r\n    --green:#19734A;\r\n\r\n    width:100%;\r\n    background:#fff;\r\n    color:var(--dark);\r\n    font-family:inherit;\r\n    font-size:16px;\r\n    line-height:1.6;\r\n}\r\n\r\n#ev-product button,\r\n#ev-product input,\r\n#ev-product select{\r\n    font-family:inherit;\r\n}\r\n\r\n.ev-wrap{\r\n    width:calc(100% - 40px);\r\n    max-width:1280px;\r\n    margin:0 auto;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   GALLERY\r\n============================================================ *\/\r\n\r\n.ev-gallery-section{\r\n    padding:26px 0 22px;\r\n}\r\n\r\n.ev-gallery{\r\n    display:grid;\r\n    grid-template-columns:1.65fr .8fr .8fr;\r\n    grid-template-rows:250px 250px;\r\n    gap:10px;\r\n    height:510px;\r\n}\r\n\r\n.ev-gallery-item{\r\n    position:relative;\r\n    overflow:hidden;\r\n    border-radius:15px;\r\n    background:#edf1f1;\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-gallery-main{\r\n    grid-row:1 \/ 3;\r\n}\r\n\r\n.ev-gallery-item img{\r\n    width:100%;\r\n    height:100%;\r\n    display:block;\r\n    object-fit:cover;\r\n    transition:transform .3s ease;\r\n}\r\n\r\n.ev-gallery-item:hover img{\r\n    transform:scale(1.025);\r\n}\r\n\r\n.ev-view-all{\r\n    position:absolute;\r\n    z-index:5;\r\n    right:15px;\r\n    bottom:15px;\r\n\r\n    min-height:46px;\r\n    padding:0 17px;\r\n\r\n    display:flex;\r\n    align-items:center;\r\n    gap:8px;\r\n\r\n    border:0;\r\n    border-radius:13px;\r\n\r\n    background:#fff;\r\n    color:var(--dark);\r\n\r\n    font-size:13px;\r\n    font-weight:800;\r\n\r\n    cursor:pointer;\r\n    box-shadow:0 7px 22px rgba(0,0,0,.18);\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   INTRO\r\n============================================================ *\/\r\n\r\n.ev-intro-section{\r\n    padding:9px 0 27px;\r\n}\r\n\r\n.ev-breadcrumb{\r\n    margin-bottom:8px;\r\n    color:var(--orange);\r\n    font-size:13px;\r\n    font-weight:800;\r\n}\r\n\r\n.ev-title{\r\n    margin:0 0 10px;\r\n    color:var(--dark);\r\n    font-size:42px;\r\n    line-height:1.08;\r\n    letter-spacing:-1px;\r\n    font-weight:850;\r\n}\r\n\r\n.ev-location{\r\n    margin-bottom:13px;\r\n    color:#687174;\r\n    font-size:15px;\r\n    font-weight:700;\r\n}\r\n\r\n.ev-intro-text{\r\n    max-width:850px;\r\n    margin:0;\r\n    color:var(--text);\r\n    font-size:16px;\r\n    line-height:1.7;\r\n}\r\n\r\n.ev-tags{\r\n    display:flex;\r\n    flex-wrap:wrap;\r\n    gap:7px;\r\n    margin-top:16px;\r\n}\r\n\r\n.ev-tag{\r\n    padding:7px 11px;\r\n    border-radius:999px;\r\n    background:#FFF0EB;\r\n    color:var(--orange);\r\n    font-size:12px;\r\n    font-weight:800;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   DISCOUNT STRIP\r\n============================================================ *\/\r\n\r\n.ev-offer-strip{\r\n    margin-top:18px;\r\n\r\n    display:flex;\r\n    align-items:center;\r\n    flex-wrap:wrap;\r\n    gap:9px;\r\n\r\n    padding:12px 14px;\r\n\r\n    border:1px solid #FFD9CC;\r\n    border-radius:14px;\r\n\r\n    background:#FFF7F4;\r\n}\r\n\r\n.ev-offer-badge{\r\n    padding:6px 9px;\r\n    border-radius:8px;\r\n\r\n    background:var(--orange);\r\n    color:#fff;\r\n\r\n    font-size:11px;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-offer-strip strong{\r\n    color:var(--dark);\r\n    font-size:14px;\r\n}\r\n\r\n.ev-offer-strip span{\r\n    color:#757E81;\r\n    font-size:12px;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   MAIN\r\n============================================================ *\/\r\n\r\n.ev-main{\r\n    padding-bottom:80px;\r\n}\r\n\r\n.ev-main-grid{\r\n    display:grid;\r\n    grid-template-columns:minmax(0,1fr) 410px;\r\n    gap:42px;\r\n    align-items:start;\r\n}\r\n\r\n.ev-left{\r\n    grid-column:1;\r\n    grid-row:1;\r\n}\r\n\r\n.ev-right{\r\n    grid-column:2;\r\n    grid-row:1;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   BOOKING CARD\r\n============================================================ *\/\r\n\r\n.ev-booking{\r\n    position:sticky;\r\n    top:20px;\r\n\r\n    padding:24px;\r\n\r\n    border:1px solid var(--border);\r\n    border-radius:22px;\r\n\r\n    background:#fff;\r\n\r\n    box-shadow:0 14px 40px rgba(7,21,22,.09);\r\n}\r\n\r\n.ev-booking-head{\r\n    padding-bottom:17px;\r\n    margin-bottom:17px;\r\n    border-bottom:1px solid #ECEEEE;\r\n}\r\n\r\n.ev-booking-eyebrow{\r\n    margin-bottom:3px;\r\n    color:var(--orange);\r\n    font-size:12px;\r\n    font-weight:850;\r\n}\r\n\r\n.ev-booking-head h2{\r\n    margin:0 0 5px;\r\n    font-size:24px;\r\n    line-height:1.2;\r\n}\r\n\r\n.ev-booking-head p{\r\n    margin:0;\r\n    color:var(--muted);\r\n    font-size:13px;\r\n    line-height:1.45;\r\n}\r\n\r\n.ev-book-title{\r\n    margin:18px 0 9px;\r\n    font-size:15px;\r\n    font-weight:850;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   TICKET PACKAGES\r\n============================================================ *\/\r\n\r\n.ev-packages{\r\n    display:grid;\r\n    gap:9px;\r\n}\r\n\r\n.ev-package{\r\n    display:block;\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-package input{\r\n    display:none;\r\n}\r\n\r\n.ev-package-box{\r\n    position:relative;\r\n\r\n    padding:14px;\r\n\r\n    border:1px solid var(--border);\r\n    border-radius:14px;\r\n\r\n    background:#fff;\r\n\r\n    transition:.18s;\r\n}\r\n\r\n.ev-package input:checked + .ev-package-box{\r\n    padding:13px;\r\n    border:2px solid var(--orange);\r\n    background:#FFF7F4;\r\n}\r\n\r\n.ev-package-row{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:flex-start;\r\n    gap:12px;\r\n}\r\n\r\n.ev-package-name{\r\n    font-size:14px;\r\n    font-weight:850;\r\n}\r\n\r\n.ev-package-price{\r\n    text-align:right;\r\n    white-space:nowrap;\r\n}\r\n\r\n.ev-package-price strong{\r\n    display:block;\r\n    color:var(--orange);\r\n    font-size:15px;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-package-price del{\r\n    display:block;\r\n    color:#9AA1A3;\r\n    font-size:11px;\r\n    font-weight:700;\r\n}\r\n\r\n.ev-package-desc{\r\n    margin-top:5px;\r\n    padding-right:20px;\r\n\r\n    color:var(--muted);\r\n\r\n    font-size:12px;\r\n    line-height:1.45;\r\n}\r\n\r\n.ev-package-save{\r\n    display:inline-block;\r\n\r\n    margin-top:7px;\r\n    padding:4px 7px;\r\n\r\n    border-radius:6px;\r\n\r\n    background:#EAF8EF;\r\n    color:#177044;\r\n\r\n    font-size:10px;\r\n    font-weight:900;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   FORM FIELDS\r\n============================================================ *\/\r\n\r\n.ev-field{\r\n    margin-top:13px;\r\n}\r\n\r\n.ev-label{\r\n    display:block;\r\n\r\n    margin-bottom:6px;\r\n\r\n    color:#646D70;\r\n\r\n    font-size:12px;\r\n    font-weight:800;\r\n}\r\n\r\n.ev-input,\r\n.ev-select{\r\n    width:100%;\r\n    min-height:50px;\r\n\r\n    padding:0 13px;\r\n\r\n    border:1px solid var(--border);\r\n    border-radius:11px;\r\n\r\n    outline:none;\r\n\r\n    background:#fff;\r\n    color:var(--dark);\r\n\r\n    font-size:14px;\r\n}\r\n\r\n.ev-input:focus,\r\n.ev-select:focus{\r\n    border-color:var(--orange);\r\n    box-shadow:0 0 0 3px rgba(253,70,33,.07);\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   GUEST COUNTERS\r\n============================================================ *\/\r\n\r\n.ev-person{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n\r\n    gap:15px;\r\n\r\n    padding:13px 0;\r\n\r\n    border-top:1px solid #ECEEEE;\r\n}\r\n\r\n.ev-person:last-of-type{\r\n    border-bottom:1px solid #ECEEEE;\r\n}\r\n\r\n.ev-person strong{\r\n    display:block;\r\n    font-size:14px;\r\n}\r\n\r\n.ev-person small{\r\n    display:block;\r\n\r\n    margin-top:2px;\r\n\r\n    color:var(--muted);\r\n    font-size:12px;\r\n}\r\n\r\n.ev-counter{\r\n    display:flex;\r\n    align-items:center;\r\n\r\n    overflow:hidden;\r\n\r\n    border:1px solid var(--border);\r\n    border-radius:11px;\r\n}\r\n\r\n.ev-counter button{\r\n    width:40px;\r\n    height:40px;\r\n\r\n    border:0;\r\n\r\n    background:#fff;\r\n    color:var(--dark);\r\n\r\n    font-size:20px;\r\n\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-counter button:hover{\r\n    background:#FFF5F2;\r\n}\r\n\r\n.ev-counter span{\r\n    width:39px;\r\n\r\n    text-align:center;\r\n\r\n    font-size:14px;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-free{\r\n    margin-top:9px;\r\n\r\n    padding:10px 11px;\r\n\r\n    border-radius:10px;\r\n\r\n    background:#F2FAF5;\r\n    color:var(--green);\r\n\r\n    font-size:12px;\r\n    font-weight:750;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   PRICE SUMMARY\r\n============================================================ *\/\r\n\r\n.ev-summary{\r\n    margin-top:15px;\r\n\r\n    padding:15px;\r\n\r\n    border-radius:13px;\r\n\r\n    background:var(--soft);\r\n}\r\n\r\n.ev-summary-line{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:15px;\r\n\r\n    margin-bottom:7px;\r\n\r\n    color:#687174;\r\n\r\n    font-size:13px;\r\n}\r\n\r\n.ev-summary-total{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n\r\n    margin-top:11px;\r\n    padding-top:11px;\r\n\r\n    border-top:1px solid #DCE1E1;\r\n}\r\n\r\n.ev-summary-total span{\r\n    font-size:14px;\r\n    font-weight:850;\r\n}\r\n\r\n.ev-summary-total strong{\r\n    color:var(--orange);\r\n    font-size:25px;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-price-note{\r\n    margin-top:8px;\r\n\r\n    color:#858D90;\r\n\r\n    font-size:10.5px;\r\n    line-height:1.45;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   CUSTOMER DETAILS\r\n============================================================ *\/\r\n\r\n.ev-contact-grid{\r\n    display:grid;\r\n    grid-template-columns:1fr 1fr;\r\n    gap:10px;\r\n}\r\n\r\n.ev-contact-grid .full{\r\n    grid-column:1 \/ -1;\r\n}\r\n\r\n.ev-phone-row{\r\n    display:grid;\r\n    grid-template-columns:165px 1fr;\r\n    gap:8px;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   REQUEST BUTTON\r\n============================================================ *\/\r\n\r\n.ev-request{\r\n    width:100%;\r\n    min-height:56px;\r\n\r\n    margin-top:15px;\r\n\r\n    border:0;\r\n    border-radius:13px;\r\n\r\n    background:var(--orange);\r\n    color:#fff;\r\n\r\n    font-size:15px;\r\n    font-weight:900;\r\n\r\n    cursor:pointer;\r\n\r\n    box-shadow:0 9px 22px rgba(253,70,33,.22);\r\n}\r\n\r\n.ev-request:hover{\r\n    filter:brightness(.97);\r\n}\r\n\r\n.ev-confirm-note{\r\n    margin:11px 4px 0;\r\n\r\n    color:#747D80;\r\n\r\n    font-size:12px;\r\n    line-height:1.5;\r\n    text-align:center;\r\n}\r\n\r\n.ev-form-message{\r\n    display:none;\r\n\r\n    margin-top:12px;\r\n    padding:12px 13px;\r\n\r\n    border-radius:11px;\r\n\r\n    font-size:12px;\r\n    text-align:center;\r\n}\r\n\r\n.ev-form-message.error{\r\n    display:block;\r\n    background:#FFF1F0;\r\n    color:#A33B32;\r\n    border:1px solid #F1D1CE;\r\n}\r\n\r\n.ev-form-message.ready{\r\n    display:block;\r\n    background:#F1F9F4;\r\n    color:#24734B;\r\n    border:1px solid #CFE8D9;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   TRUST\r\n============================================================ *\/\r\n\r\n.ev-trust{\r\n    display:grid;\r\n    grid-template-columns:repeat(3,1fr);\r\n\r\n    gap:7px;\r\n\r\n    margin-top:14px;\r\n}\r\n\r\n.ev-trust div{\r\n    padding:10px 5px;\r\n\r\n    border-radius:10px;\r\n\r\n    background:#F8F9F9;\r\n\r\n    color:#697275;\r\n\r\n    font-size:10.5px;\r\n    font-weight:750;\r\n\r\n    text-align:center;\r\n}\r\n\r\n.ev-trust b{\r\n    display:block;\r\n\r\n    margin-bottom:3px;\r\n\r\n    color:var(--orange);\r\n\r\n    font-size:16px;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   EXPERIENCE INFO\r\n============================================================ *\/\r\n\r\n.ev-info-card{\r\n    margin-top:17px;\r\n\r\n    padding:20px;\r\n\r\n    border:1px solid var(--border);\r\n    border-radius:18px;\r\n\r\n    background:#F8F9F9;\r\n}\r\n\r\n.ev-info-card h3{\r\n    margin:0 0 12px;\r\n    font-size:17px;\r\n}\r\n\r\n.ev-info-row{\r\n    padding:10px 0;\r\n    border-bottom:1px solid #E3E7E7;\r\n}\r\n\r\n.ev-info-row:last-child{\r\n    border-bottom:0;\r\n}\r\n\r\n.ev-info-row span{\r\n    display:block;\r\n\r\n    margin-bottom:2px;\r\n\r\n    color:#7A8385;\r\n\r\n    font-size:10.5px;\r\n    font-weight:850;\r\n\r\n    text-transform:uppercase;\r\n    letter-spacing:.5px;\r\n}\r\n\r\n.ev-info-row strong{\r\n    font-size:13px;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   CONTENT\r\n============================================================ *\/\r\n\r\n.ev-section{\r\n    padding:31px 0;\r\n    border-bottom:1px solid #E9ECEC;\r\n}\r\n\r\n.ev-section:first-child{\r\n    padding-top:0;\r\n}\r\n\r\n.ev-section:last-child{\r\n    border-bottom:0;\r\n}\r\n\r\n.ev-kicker{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:8px;\r\n\r\n    margin-bottom:8px;\r\n\r\n    color:var(--orange);\r\n\r\n    font-size:12px;\r\n    font-weight:850;\r\n\r\n    text-transform:uppercase;\r\n    letter-spacing:1px;\r\n}\r\n\r\n.ev-kicker:before{\r\n    content:\"\";\r\n\r\n    width:27px;\r\n    height:3px;\r\n\r\n    border-radius:999px;\r\n\r\n    background:var(--orange);\r\n}\r\n\r\n.ev-section h2{\r\n    margin:0 0 15px;\r\n\r\n    color:var(--dark);\r\n\r\n    font-size:31px;\r\n    line-height:1.15;\r\n\r\n    letter-spacing:-.5px;\r\n    font-weight:850;\r\n}\r\n\r\n.ev-section > p{\r\n    margin:0;\r\n\r\n    color:var(--text);\r\n\r\n    font-size:15.5px;\r\n    line-height:1.75;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   HIGHLIGHTS\r\n============================================================ *\/\r\n\r\n.ev-highlights{\r\n    display:grid;\r\n    grid-template-columns:1fr 1fr;\r\n\r\n    gap:13px;\r\n\r\n    margin-top:20px;\r\n}\r\n\r\n.ev-highlight{\r\n    display:flex;\r\n    align-items:flex-start;\r\n\r\n    gap:13px;\r\n\r\n    padding:18px;\r\n\r\n    border:1px solid var(--border);\r\n    border-radius:16px;\r\n}\r\n\r\n.ev-highlight-icon{\r\n    width:43px;\r\n    height:43px;\r\n\r\n    flex:0 0 43px;\r\n\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n\r\n    border-radius:11px;\r\n\r\n    background:#FFF0EB;\r\n\r\n    font-size:20px;\r\n}\r\n\r\n.ev-highlight strong{\r\n    display:block;\r\n    margin-bottom:4px;\r\n    font-size:14px;\r\n}\r\n\r\n.ev-highlight span{\r\n    display:block;\r\n\r\n    color:var(--muted);\r\n\r\n    font-size:13px;\r\n    line-height:1.5;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   INCLUDED\r\n============================================================ *\/\r\n\r\n.ev-include-grid{\r\n    display:grid;\r\n    grid-template-columns:1fr 1fr;\r\n\r\n    gap:15px;\r\n}\r\n\r\n.ev-include-box{\r\n    padding:20px;\r\n\r\n    border:1px solid var(--border);\r\n    border-radius:16px;\r\n}\r\n\r\n.ev-include-box h3{\r\n    margin:0 0 14px;\r\n    font-size:16px;\r\n}\r\n\r\n.ev-list{\r\n    list-style:none;\r\n    padding:0;\r\n    margin:0;\r\n\r\n    display:grid;\r\n    gap:10px;\r\n}\r\n\r\n.ev-list li{\r\n    position:relative;\r\n\r\n    padding-left:25px;\r\n\r\n    color:var(--text);\r\n\r\n    font-size:14px;\r\n    line-height:1.5;\r\n}\r\n\r\n.ev-list.yes li:before{\r\n    content:\"\u2713\";\r\n\r\n    position:absolute;\r\n    left:0;\r\n\r\n    color:var(--green);\r\n\r\n    font-weight:900;\r\n}\r\n\r\n.ev-list.no li:before{\r\n    content:\"\u00d7\";\r\n\r\n    position:absolute;\r\n    left:2px;\r\n\r\n    color:#C74747;\r\n\r\n    font-size:17px;\r\n    font-weight:900;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   EDENYA FEATURE\r\n============================================================ *\/\r\n\r\n.ev-feature{\r\n    margin-top:20px;\r\n\r\n    padding:22px;\r\n\r\n    border-radius:18px;\r\n\r\n    background:\r\n        linear-gradient(\r\n            135deg,\r\n            #F3FAF6,\r\n            #FFF8F4\r\n        );\r\n\r\n    border:1px solid #DCEAE2;\r\n}\r\n\r\n.ev-feature-badge{\r\n    display:inline-block;\r\n\r\n    margin-bottom:9px;\r\n    padding:5px 8px;\r\n\r\n    border-radius:7px;\r\n\r\n    background:#19734A;\r\n    color:#fff;\r\n\r\n    font-size:10px;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-feature h3{\r\n    margin:0 0 8px;\r\n    font-size:20px;\r\n}\r\n\r\n.ev-feature p{\r\n    margin:0;\r\n\r\n    color:var(--text);\r\n\r\n    font-size:14px;\r\n    line-height:1.65;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   REVIEWS\r\n============================================================ *\/\r\n\r\n.ev-reviews-section{\r\n    padding:38px 0;\r\n    border-bottom:1px solid #E9ECEC;\r\n}\r\n\r\n.ev-review-heading{\r\n    display:flex;\r\n    align-items:flex-end;\r\n    justify-content:space-between;\r\n\r\n    gap:25px;\r\n\r\n    margin-bottom:22px;\r\n}\r\n\r\n.ev-review-heading h2{\r\n    margin:0 0 6px;\r\n\r\n    font-size:31px;\r\n    line-height:1.15;\r\n}\r\n\r\n.ev-review-heading p{\r\n    margin:0;\r\n\r\n    color:var(--text);\r\n\r\n    font-size:14px;\r\n}\r\n\r\n.ev-rating-boxes{\r\n    display:flex;\r\n    gap:8px;\r\n    flex-wrap:wrap;\r\n}\r\n\r\n.ev-review-score-box{\r\n    flex:0 0 auto;\r\n\r\n    padding:11px 14px;\r\n\r\n    border:1px solid var(--border);\r\n    border-radius:13px;\r\n\r\n    background:#fff;\r\n}\r\n\r\n.ev-review-score-top{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:7px;\r\n}\r\n\r\n.ev-review-score-top strong{\r\n    font-size:21px;\r\n}\r\n\r\n.ev-stars{\r\n    color:#F5A623;\r\n    letter-spacing:1px;\r\n}\r\n\r\n.ev-review-score-box small{\r\n    display:block;\r\n\r\n    margin-top:2px;\r\n\r\n    color:#747D80;\r\n\r\n    font-size:10.5px;\r\n}\r\n\r\n\r\n\/* REVIEW MOVING ROWS *\/\r\n\r\n.ev-review-marquee{\r\n    position:relative;\r\n\r\n    width:100%;\r\n\r\n    overflow:hidden;\r\n}\r\n\r\n.ev-review-marquee:before,\r\n.ev-review-marquee:after{\r\n    content:\"\";\r\n\r\n    position:absolute;\r\n    z-index:4;\r\n\r\n    top:0;\r\n    bottom:0;\r\n\r\n    width:70px;\r\n\r\n    pointer-events:none;\r\n}\r\n\r\n.ev-review-marquee:before{\r\n    left:0;\r\n\r\n    background:\r\n        linear-gradient(\r\n            90deg,\r\n            #fff,\r\n            rgba(255,255,255,0)\r\n        );\r\n}\r\n\r\n.ev-review-marquee:after{\r\n    right:0;\r\n\r\n    background:\r\n        linear-gradient(\r\n            -90deg,\r\n            #fff,\r\n            rgba(255,255,255,0)\r\n        );\r\n}\r\n\r\n.ev-review-track{\r\n    width:max-content;\r\n\r\n    display:flex;\r\n    gap:14px;\r\n\r\n    padding:5px 0 9px;\r\n\r\n    animation:\r\n        evReviewsMove\r\n        58s\r\n        linear\r\n        infinite;\r\n}\r\n\r\n.ev-review-track.reverse{\r\n    animation-direction:reverse;\r\n    animation-duration:64s;\r\n}\r\n\r\n.ev-review-marquee:hover .ev-review-track{\r\n    animation-play-state:paused;\r\n}\r\n\r\n@keyframes evReviewsMove{\r\n\r\n    from{\r\n        transform:translateX(0);\r\n    }\r\n\r\n    to{\r\n        transform:translateX(-50%);\r\n    }\r\n\r\n}\r\n\r\n.ev-review-card{\r\n    width:315px;\r\n    flex:0 0 315px;\r\n\r\n    padding:19px;\r\n\r\n    border:1px solid var(--border);\r\n    border-radius:17px;\r\n\r\n    background:#fff;\r\n\r\n    box-shadow:0 5px 18px rgba(7,21,22,.035);\r\n}\r\n\r\n.ev-review-user{\r\n    display:flex;\r\n    align-items:center;\r\n\r\n    gap:10px;\r\n\r\n    margin-bottom:10px;\r\n}\r\n\r\n.ev-review-avatar{\r\n    width:39px;\r\n    height:39px;\r\n\r\n    flex:0 0 39px;\r\n\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n\r\n    border-radius:50%;\r\n\r\n    background:#FFF0EB;\r\n    color:var(--orange);\r\n\r\n    font-size:14px;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-review-user strong{\r\n    display:block;\r\n\r\n    font-size:13px;\r\n    line-height:1.3;\r\n}\r\n\r\n.ev-review-user span{\r\n    display:block;\r\n\r\n    margin-top:1px;\r\n\r\n    color:#848C8F;\r\n\r\n    font-size:10.5px;\r\n}\r\n\r\n.ev-review-card .ev-stars{\r\n    margin-bottom:8px;\r\n    font-size:13px;\r\n}\r\n\r\n.ev-review-text{\r\n    margin:0;\r\n\r\n    min-height:90px;\r\n\r\n    color:#525C5F;\r\n\r\n    font-size:13px;\r\n    line-height:1.6;\r\n}\r\n\r\n.ev-review-source{\r\n    margin-top:13px;\r\n\r\n    display:flex;\r\n    justify-content:space-between;\r\n\r\n    gap:10px;\r\n\r\n    color:#858D90;\r\n\r\n    font-size:10.5px;\r\n}\r\n\r\n.ev-review-source strong{\r\n    color:var(--orange);\r\n    font-size:10.5px;\r\n}\r\n\r\n.ev-review-disclaimer{\r\n    margin-top:14px;\r\n\r\n    color:#858D90;\r\n\r\n    font-size:11px;\r\n    line-height:1.5;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   GOOD TO KNOW\r\n============================================================ *\/\r\n\r\n.ev-info-list{\r\n    list-style:none;\r\n\r\n    padding:0;\r\n    margin:0;\r\n\r\n    display:grid;\r\n    gap:11px;\r\n}\r\n\r\n.ev-info-list li{\r\n    position:relative;\r\n\r\n    padding-left:29px;\r\n\r\n    color:var(--text);\r\n\r\n    font-size:14px;\r\n    line-height:1.6;\r\n}\r\n\r\n.ev-info-list li:before{\r\n    content:\"\u2713\";\r\n\r\n    position:absolute;\r\n    left:0;\r\n    top:2px;\r\n\r\n    width:20px;\r\n    height:20px;\r\n\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n\r\n    border-radius:50%;\r\n\r\n    background:#FFF0EB;\r\n    color:var(--orange);\r\n\r\n    font-size:11px;\r\n    font-weight:900;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   FAQ\r\n============================================================ *\/\r\n\r\n.ev-faq{\r\n    display:grid;\r\n    gap:9px;\r\n}\r\n\r\n.ev-faq-item{\r\n    overflow:hidden;\r\n\r\n    border:1px solid var(--border);\r\n    border-radius:14px;\r\n}\r\n\r\n.ev-faq-question{\r\n    width:100%;\r\n\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n\r\n    gap:15px;\r\n\r\n    padding:16px 17px;\r\n\r\n    border:0;\r\n\r\n    background:#fff;\r\n    color:var(--dark);\r\n\r\n    font-size:14px;\r\n    font-weight:800;\r\n    text-align:left;\r\n\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-faq-plus{\r\n    color:var(--orange);\r\n\r\n    font-size:21px;\r\n    line-height:1;\r\n\r\n    transition:.2s;\r\n}\r\n\r\n.ev-faq-answer{\r\n    display:none;\r\n\r\n    padding:0 17px 17px;\r\n\r\n    color:var(--text);\r\n\r\n    font-size:14px;\r\n    line-height:1.6;\r\n}\r\n\r\n.ev-faq-item.open .ev-faq-answer{\r\n    display:block;\r\n}\r\n\r\n.ev-faq-item.open .ev-faq-plus{\r\n    transform:rotate(45deg);\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   PHOTO MODAL\r\n============================================================ *\/\r\n\r\n.ev-modal{\r\n    position:fixed;\r\n    z-index:999999;\r\n\r\n    inset:0;\r\n\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n\r\n    background:rgba(0,0,0,.94);\r\n}\r\n\r\n.ev-modal.open{\r\n    display:flex;\r\n}\r\n\r\n.ev-modal img{\r\n    max-width:88vw;\r\n    max-height:82vh;\r\n\r\n    object-fit:contain;\r\n\r\n    border-radius:12px;\r\n}\r\n\r\n.ev-modal-close,\r\n.ev-modal-prev,\r\n.ev-modal-next{\r\n    position:absolute;\r\n\r\n    border:0;\r\n\r\n    background:#fff;\r\n    color:#111;\r\n\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-modal-close{\r\n    top:20px;\r\n    right:22px;\r\n\r\n    width:45px;\r\n    height:45px;\r\n\r\n    border-radius:50%;\r\n\r\n    font-size:25px;\r\n}\r\n\r\n.ev-modal-prev,\r\n.ev-modal-next{\r\n    top:50%;\r\n\r\n    width:48px;\r\n    height:48px;\r\n\r\n    transform:translateY(-50%);\r\n\r\n    border-radius:50%;\r\n\r\n    font-size:28px;\r\n}\r\n\r\n.ev-modal-prev{\r\n    left:18px;\r\n}\r\n\r\n.ev-modal-next{\r\n    right:18px;\r\n}\r\n\r\n.ev-modal-count{\r\n    position:absolute;\r\n\r\n    left:50%;\r\n    bottom:18px;\r\n\r\n    transform:translateX(-50%);\r\n\r\n    padding:7px 13px;\r\n\r\n    border-radius:999px;\r\n\r\n    background:#fff;\r\n    color:#111;\r\n\r\n    font-size:13px;\r\n    font-weight:850;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   MOBILE BAR\r\n============================================================ *\/\r\n\r\n.ev-mobile-bar{\r\n    display:none;\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   TABLET\r\n============================================================ *\/\r\n\r\n@media(max-width:1050px){\r\n\r\n    .ev-main-grid{\r\n        grid-template-columns:minmax(0,1fr) 355px;\r\n        gap:25px;\r\n    }\r\n\r\n    .ev-gallery{\r\n        grid-template-columns:1.5fr 1fr;\r\n    }\r\n\r\n    .ev-gallery-item:nth-child(4),\r\n    .ev-gallery-item:nth-child(5){\r\n        display:none;\r\n    }\r\n\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   MOBILE\r\n============================================================ *\/\r\n\r\n@media(max-width:767px){\r\n\r\n    #ev-product{\r\n        font-size:15px;\r\n    }\r\n\r\n    .ev-wrap{\r\n        width:calc(100% - 24px);\r\n    }\r\n\r\n\r\n    .ev-gallery-section{\r\n        padding:12px 0 14px;\r\n    }\r\n\r\n    .ev-gallery{\r\n        display:block;\r\n        height:auto;\r\n    }\r\n\r\n    .ev-gallery-item{\r\n        display:none !important;\r\n    }\r\n\r\n    .ev-gallery-main{\r\n        display:block !important;\r\n\r\n        width:100%;\r\n        aspect-ratio:4\/3;\r\n\r\n        border-radius:18px;\r\n    }\r\n\r\n    .ev-view-all{\r\n        right:11px;\r\n        bottom:11px;\r\n\r\n        min-height:41px;\r\n        padding:0 12px;\r\n\r\n        font-size:11px;\r\n    }\r\n\r\n\r\n    .ev-intro-section{\r\n        padding:5px 0 18px;\r\n    }\r\n\r\n    .ev-breadcrumb{\r\n        font-size:11px;\r\n    }\r\n\r\n    .ev-title{\r\n        font-size:33px;\r\n    }\r\n\r\n    .ev-location{\r\n        font-size:14px;\r\n    }\r\n\r\n    .ev-intro-text{\r\n        font-size:15px;\r\n    }\r\n\r\n\r\n    \/* Booking first *\/\r\n\r\n    .ev-main-grid{\r\n        display:flex;\r\n        flex-direction:column;\r\n\r\n        gap:25px;\r\n    }\r\n\r\n    .ev-right{\r\n        order:1;\r\n        width:100%;\r\n    }\r\n\r\n    .ev-left{\r\n        order:2;\r\n        width:100%;\r\n    }\r\n\r\n    .ev-booking{\r\n        position:relative;\r\n        top:auto;\r\n\r\n        width:100%;\r\n\r\n        padding:18px 16px;\r\n\r\n        border-radius:19px;\r\n\r\n        box-shadow:0 10px 28px rgba(7,21,22,.09);\r\n    }\r\n\r\n    .ev-booking-head h2{\r\n        font-size:22px;\r\n    }\r\n\r\n    .ev-contact-grid{\r\n        grid-template-columns:1fr;\r\n    }\r\n\r\n    .ev-contact-grid .full{\r\n        grid-column:auto;\r\n    }\r\n\r\n    .ev-phone-row{\r\n        grid-template-columns:1fr;\r\n    }\r\n\r\n\r\n    .ev-section{\r\n        padding:27px 0;\r\n    }\r\n\r\n    .ev-section h2,\r\n    .ev-review-heading h2{\r\n        font-size:25px;\r\n    }\r\n\r\n    .ev-highlights,\r\n    .ev-include-grid{\r\n        grid-template-columns:1fr;\r\n    }\r\n\r\n\r\n    \/* Reviews *\/\r\n\r\n    .ev-reviews-section{\r\n        padding:29px 0;\r\n    }\r\n\r\n    .ev-review-heading{\r\n        display:block;\r\n    }\r\n\r\n    .ev-rating-boxes{\r\n        margin-top:13px;\r\n    }\r\n\r\n    .ev-review-card{\r\n        width:275px;\r\n        flex-basis:275px;\r\n    }\r\n\r\n    .ev-review-text{\r\n        min-height:102px;\r\n    }\r\n\r\n    .ev-review-track{\r\n        animation-duration:64s;\r\n    }\r\n\r\n    .ev-review-track.reverse{\r\n        animation-duration:70s;\r\n    }\r\n\r\n    .ev-review-marquee:before,\r\n    .ev-review-marquee:after{\r\n        width:25px;\r\n    }\r\n\r\n\r\n    \/* Bottom CTA *\/\r\n\r\n    .ev-mobile-bar{\r\n        position:fixed;\r\n        z-index:9998;\r\n\r\n        left:10px;\r\n        right:10px;\r\n        bottom:10px;\r\n\r\n        display:flex;\r\n        align-items:center;\r\n        justify-content:space-between;\r\n\r\n        gap:10px;\r\n\r\n        padding:9px 10px 9px 14px;\r\n\r\n        border:1px solid #E0E4E4;\r\n        border-radius:15px;\r\n\r\n        background:rgba(255,255,255,.97);\r\n\r\n        box-shadow:0 8px 28px rgba(0,0,0,.16);\r\n    }\r\n\r\n    .ev-mobile-price small{\r\n        display:block;\r\n\r\n        color:#777F82;\r\n\r\n        font-size:10px;\r\n    }\r\n\r\n    .ev-mobile-price strong{\r\n        display:block;\r\n\r\n        color:var(--orange);\r\n\r\n        font-size:19px;\r\n    }\r\n\r\n    .ev-mobile-bar button{\r\n        min-height:43px;\r\n\r\n        padding:0 16px;\r\n\r\n        border:0;\r\n        border-radius:11px;\r\n\r\n        background:var(--orange);\r\n        color:#fff;\r\n\r\n        font-size:12px;\r\n        font-weight:900;\r\n\r\n        cursor:pointer;\r\n    }\r\n\r\n}\r\n\r\n\r\n@media(prefers-reduced-motion:reduce){\r\n\r\n    .ev-review-track{\r\n        animation:none;\r\n    }\r\n\r\n}\r\n\r\n\/* ============================================================\r\n   EUROVOYA \u2014 DIRECT BUY OVERRIDES\r\n============================================================ *\/\r\n\r\n.ev-direct-strip{\r\n    margin-top:18px;\r\n    display:flex;\r\n    align-items:center;\r\n    flex-wrap:wrap;\r\n    gap:9px;\r\n    padding:12px 14px;\r\n    border:1px solid #FFD9CC;\r\n    border-radius:14px;\r\n    background:#FFF7F4;\r\n}\r\n.ev-direct-strip-badge{\r\n    padding:6px 9px;\r\n    border-radius:8px;\r\n    background:var(--orange);\r\n    color:#fff;\r\n    font-size:11px;\r\n    font-weight:900;\r\n}\r\n.ev-direct-strip strong{\r\n    color:var(--dark);\r\n    font-size:14px;\r\n}\r\n.ev-direct-strip span{\r\n    color:#757E81;\r\n    font-size:12px;\r\n}\r\n\r\n.ev-ticket-code{\r\n    margin-top:12px;\r\n    padding:9px 11px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:12px;\r\n    border:1px solid #E5E9E9;\r\n    border-radius:10px;\r\n    background:#FAFBFB;\r\n    color:#788184;\r\n    font-size:10.5px;\r\n    line-height:1.35;\r\n}\r\n.ev-ticket-code strong{\r\n    color:#071516;\r\n    font-size:10.5px;\r\n    letter-spacing:.25px;\r\n}\r\n\r\n.ev-buy-note{\r\n    margin:10px 2px 0;\r\n    color:#747D80;\r\n    font-size:11px;\r\n    line-height:1.5;\r\n    text-align:center;\r\n}\r\n\r\n.ev-request{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    gap:9px;\r\n}\r\n.ev-request:disabled{\r\n    cursor:not-allowed;\r\n    opacity:.48;\r\n    box-shadow:none;\r\n}\r\n.ev-request.is-loading{\r\n    cursor:wait;\r\n    opacity:.72;\r\n}\r\n.ev-buy-lock{\r\n    font-size:14px;\r\n    line-height:1;\r\n}\r\n\r\n.ev-photo-credit{\r\n    width:calc(100% - 40px);\r\n    max-width:1280px;\r\n    margin:-12px auto 20px;\r\n    color:#8A9294;\r\n    font-size:9.5px;\r\n    line-height:1.4;\r\n    text-align:right;\r\n}\r\n.ev-photo-credit a{\r\n    color:#8A9294 !important;\r\n    text-decoration:underline;\r\n    text-underline-offset:2px;\r\n}\r\n\r\n@media(max-width:767px){\r\n    .ev-photo-credit{\r\n        width:calc(100% - 24px);\r\n        margin:-5px auto 14px;\r\n        font-size:8.5px;\r\n        text-align:left;\r\n    }\r\n    .ev-ticket-code{\r\n        font-size:9.5px;\r\n    }\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   EUROVOYA \u2014 MANUAL STRIPE AMOUNT CONFIRMATION\r\n============================================================ *\/\r\n\r\n.ev-pay-modal{\r\n    position:fixed;\r\n    z-index:9999999;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    padding:20px;\r\n    background:rgba(7,21,22,.72);\r\n    backdrop-filter:blur(5px);\r\n}\r\n\r\n.ev-pay-modal.open{\r\n    display:flex;\r\n}\r\n\r\n.ev-pay-panel{\r\n    position:relative;\r\n    width:min(100%,500px);\r\n    padding:28px;\r\n    border-radius:22px;\r\n    background:#FFFFFF;\r\n    box-shadow:0 28px 90px rgba(0,0,0,.28);\r\n}\r\n\r\n.ev-pay-close{\r\n    position:absolute;\r\n    top:14px;\r\n    right:14px;\r\n    width:38px;\r\n    height:38px;\r\n    border:0;\r\n    border-radius:50%;\r\n    background:#F4F6F6;\r\n    color:#071516;\r\n    font-size:22px;\r\n    line-height:1;\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-pay-eyebrow{\r\n    margin-bottom:7px;\r\n    color:#FD4621;\r\n    font-size:11px;\r\n    font-weight:900;\r\n    letter-spacing:.9px;\r\n    text-transform:uppercase;\r\n}\r\n\r\n.ev-pay-panel h3{\r\n    margin:0;\r\n    padding-right:35px;\r\n    color:#071516;\r\n    font-size:27px;\r\n    line-height:1.15;\r\n    font-weight:850;\r\n}\r\n\r\n.ev-pay-explain{\r\n    margin:10px 0 20px;\r\n    color:#667073;\r\n    font-size:14px;\r\n    line-height:1.55;\r\n}\r\n\r\n.ev-pay-amount-box{\r\n    padding:20px;\r\n    border:1px solid #FFD9CC;\r\n    border-radius:16px;\r\n    background:#FFF7F4;\r\n    text-align:center;\r\n}\r\n\r\n.ev-pay-amount-label{\r\n    display:block;\r\n    margin-bottom:4px;\r\n    color:#7A8385;\r\n    font-size:11px;\r\n    font-weight:800;\r\n    text-transform:uppercase;\r\n    letter-spacing:.6px;\r\n}\r\n\r\n.ev-pay-amount{\r\n    display:block;\r\n    color:#FD4621;\r\n    font-size:38px;\r\n    line-height:1.1;\r\n    font-weight:900;\r\n    letter-spacing:-1px;\r\n}\r\n\r\n.ev-pay-instruction{\r\n    margin:16px 0 0;\r\n    padding:13px 14px;\r\n    border-radius:12px;\r\n    background:#F7F8F8;\r\n    color:#4F595C;\r\n    font-size:13px;\r\n    line-height:1.5;\r\n}\r\n\r\n.ev-pay-instruction strong{\r\n    color:#071516;\r\n}\r\n\r\n.ev-pay-order{\r\n    margin-top:12px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:15px;\r\n    color:#80888B;\r\n    font-size:10.5px;\r\n}\r\n\r\n.ev-pay-order strong{\r\n    color:#071516;\r\n    font-size:10.5px;\r\n}\r\n\r\n.ev-pay-actions{\r\n    display:grid;\r\n    grid-template-columns:.8fr 1.2fr;\r\n    gap:10px;\r\n    margin-top:20px;\r\n}\r\n\r\n.ev-pay-copy,\r\n.ev-pay-continue{\r\n    min-height:52px;\r\n    border-radius:12px;\r\n    font-family:inherit;\r\n    font-size:13px;\r\n    font-weight:900;\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-pay-copy{\r\n    border:1px solid #DCE1E1;\r\n    background:#FFFFFF;\r\n    color:#071516;\r\n}\r\n\r\n.ev-pay-copy:hover{\r\n    border-color:#FD4621;\r\n    color:#FD4621;\r\n}\r\n\r\n.ev-pay-continue{\r\n    border:0;\r\n    background:#FD4621;\r\n    color:#FFFFFF;\r\n    box-shadow:0 10px 24px rgba(253,70,33,.22);\r\n}\r\n\r\n.ev-pay-continue:hover{\r\n    background:#E9401D;\r\n}\r\n\r\n.ev-pay-error{\r\n    display:none;\r\n    margin-top:12px;\r\n    padding:10px 12px;\r\n    border:1px solid #F1D1CE;\r\n    border-radius:10px;\r\n    background:#FFF1F0;\r\n    color:#A33B32;\r\n    font-size:11.5px;\r\n    line-height:1.45;\r\n    text-align:center;\r\n}\r\n\r\n.ev-pay-error.show{\r\n    display:block;\r\n}\r\n\r\nbody.ev-pay-lock{\r\n    overflow:hidden;\r\n}\r\n\r\n@media(max-width:767px){\r\n\r\n    .ev-pay-modal{\r\n        padding:12px;\r\n        align-items:flex-end;\r\n    }\r\n\r\n    .ev-pay-panel{\r\n        width:100%;\r\n        padding:23px 17px 18px;\r\n        border-radius:22px 22px 16px 16px;\r\n    }\r\n\r\n    .ev-pay-panel h3{\r\n        font-size:23px;\r\n    }\r\n\r\n    .ev-pay-amount{\r\n        font-size:34px;\r\n    }\r\n\r\n    .ev-pay-actions{\r\n        grid-template-columns:1fr;\r\n    }\r\n\r\n    .ev-pay-copy,\r\n    .ev-pay-continue{\r\n        width:100%;\r\n        min-height:51px;\r\n    }\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   EUROVOYA \u2014 20% OFFER\r\n============================================================ *\/\r\n\r\n.ev-discount-banner{\r\n    margin:0 0 18px;\r\n    padding:13px 14px;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    gap:12px;\r\n    border:1px solid #FFD7CA;\r\n    border-radius:13px;\r\n    background:#FFF5F1;\r\n}\r\n\r\n.ev-discount-banner-left{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:10px;\r\n    min-width:0;\r\n}\r\n\r\n.ev-discount-badge{\r\n    flex:0 0 auto;\r\n    padding:6px 9px;\r\n    border-radius:7px;\r\n    background:#FD4621;\r\n    color:#FFFFFF;\r\n    font-size:11px;\r\n    line-height:1;\r\n    font-weight:900;\r\n    letter-spacing:.3px;\r\n}\r\n\r\n.ev-discount-text strong{\r\n    display:block;\r\n    color:#071516;\r\n    font-size:13px;\r\n    line-height:1.3;\r\n}\r\n\r\n.ev-discount-text span{\r\n    display:block;\r\n    margin-top:2px;\r\n    color:#737C7F;\r\n    font-size:10.5px;\r\n    line-height:1.4;\r\n}\r\n\r\n.ev-price-old{\r\n    margin-right:5px;\r\n    color:#9AA1A3;\r\n    font-size:11px;\r\n    font-weight:700;\r\n    text-decoration:line-through;\r\n}\r\n\r\n.ev-price-new{\r\n    color:#FD4621;\r\n    font-size:15px;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-package-price .ev-price-new{\r\n    display:block;\r\n}\r\n\r\n.ev-package-price .ev-price-old{\r\n    display:block;\r\n    margin:0 0 1px;\r\n    text-align:right;\r\n}\r\n\r\n.ev-summary-discount{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:15px;\r\n    margin-bottom:7px;\r\n    color:#19734A;\r\n    font-size:13px;\r\n    font-weight:800;\r\n}\r\n\r\n.ev-summary-original{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:15px;\r\n    margin-bottom:7px;\r\n    color:#7B8487;\r\n    font-size:12px;\r\n}\r\n\r\n.ev-summary-total{\r\n    border-top:1px solid #DCE1E1;\r\n}\r\n\r\n@media(max-width:767px){\r\n    .ev-discount-banner{\r\n        align-items:flex-start;\r\n    }\r\n    .ev-discount-badge{\r\n        font-size:10px;\r\n    }\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   FINAL INTERACTION OVERRIDES\r\n============================================================ *\/\r\n\r\n.ev-request{\r\n    transition:background .18s ease,transform .18s ease,box-shadow .18s ease;\r\n}\r\n\r\n.ev-request[aria-disabled=\"true\"]{\r\n    background:#AEB5B7;\r\n    box-shadow:none;\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-request.is-ready{\r\n    background:var(--orange);\r\n    box-shadow:0 9px 22px rgba(253,70,33,.22);\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-mobile-bar button[aria-disabled=\"true\"]{\r\n    opacity:.78;\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-mobile-bar button.is-ready{\r\n    opacity:1;\r\n}\r\n\r\n@media(max-width:767px){\r\n    .ev-field{width:100%;}\r\n\r\n    #evDate{\r\n        -webkit-appearance:auto;\r\n        appearance:auto;\r\n        display:block;\r\n        width:100% !important;\r\n        min-width:0 !important;\r\n        max-width:none !important;\r\n        height:58px;\r\n        min-height:58px;\r\n        padding:0 15px;\r\n        border:1px solid #CDD4D6;\r\n        border-radius:10px;\r\n        background:#FFFFFF;\r\n        color:#071516;\r\n        font:inherit;\r\n        font-size:16px;\r\n        box-sizing:border-box;\r\n    }\r\n\r\n    #evDate::-webkit-date-and-time-value{\r\n        min-height:56px;\r\n        display:flex;\r\n        align-items:center;\r\n        text-align:left;\r\n    }\r\n\r\n    #evDate::-webkit-datetime-edit{padding:0;}\r\n    #evDate::-webkit-calendar-picker-indicator{display:block;opacity:1;cursor:pointer;}\r\n\r\n    \/* Keep the useful sticky mobile purchase bar *\/\r\n    .ev-mobile-bar{\r\n        position:fixed;\r\n        z-index:9998;\r\n        left:10px;\r\n        right:10px;\r\n        bottom:10px;\r\n        display:flex !important;\r\n    }\r\n}\r\n\r\n\r\n\/* Mobile date helper *\/\r\n.ev-date-helper{\r\n    display:none;\r\n}\r\n\r\n@media(max-width:767px){\r\n    .ev-date-helper{\r\n        display:block;\r\n        margin:-3px 0 8px;\r\n        color:var(--orange);\r\n        font-size:12px;\r\n        font-weight:800;\r\n        line-height:1.35;\r\n    }\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   AUTO PHOTO ROTATION\r\n============================================================ *\/\r\n\r\n.ev-gallery-main .ev-gallery-image{\r\n    transition:opacity .38s ease, transform .55s ease;\r\n    will-change:opacity,transform;\r\n}\r\n\r\n.ev-gallery-main .ev-gallery-image.ev-photo-switching{\r\n    opacity:.18;\r\n    transform:scale(1.008);\r\n}\r\n\r\n@media(prefers-reduced-motion:reduce){\r\n    .ev-gallery-main .ev-gallery-image{\r\n        transition:none !important;\r\n    }\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   MOBILE REVIEW FIX\r\n============================================================ *\/\r\n\r\n@media(max-width:767px){\r\n\r\n    .ev-review-heading{\r\n        display:block !important;\r\n    }\r\n\r\n    .ev-rating-boxes{\r\n        display:grid !important;\r\n        grid-template-columns:1fr 1fr;\r\n        gap:8px;\r\n        width:100%;\r\n        margin-top:14px;\r\n    }\r\n\r\n    .ev-review-score-box{\r\n        width:100%;\r\n        min-width:0;\r\n        padding:11px 10px;\r\n    }\r\n\r\n    .ev-review-score-top{\r\n        display:flex;\r\n        align-items:center;\r\n        gap:5px;\r\n        flex-wrap:nowrap;\r\n    }\r\n\r\n    .ev-review-score-top strong{\r\n        font-size:20px;\r\n        flex:0 0 auto;\r\n    }\r\n\r\n    .ev-review-score-top .ev-stars{\r\n        display:block !important;\r\n        font-size:11px;\r\n        letter-spacing:0;\r\n        white-space:nowrap;\r\n    }\r\n\r\n    .ev-review-score-box small{\r\n        display:block !important;\r\n        margin-top:4px;\r\n        font-size:9.5px;\r\n        line-height:1.3;\r\n    }\r\n\r\n    .ev-review-marquee{\r\n        display:block !important;\r\n        width:100%;\r\n        overflow:hidden;\r\n    }\r\n\r\n    .ev-review-card .ev-stars{\r\n        display:block !important;\r\n    }\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   EUROVOYA \u2014 GUIDED BOOKING UX\r\n   BOBBEJAANLAND\r\n============================================================ *\/\r\n\r\n.ev-booking-head p{\r\n    color:#465154;\r\n    font-weight:650;\r\n}\r\n\r\n.ev-step-title{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:10px;\r\n    margin:19px 0 10px;\r\n}\r\n\r\n.ev-step-number{\r\n    width:30px;\r\n    height:30px;\r\n    flex:0 0 30px;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    border-radius:50%;\r\n    background:#FD4621;\r\n    color:#fff;\r\n    font-size:12px;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-step-title strong{\r\n    display:block;\r\n    color:#071516;\r\n    font-size:14px;\r\n    line-height:1.25;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-step-title small{\r\n    display:block;\r\n    margin-top:2px;\r\n    color:#465154;\r\n    font-size:11px;\r\n    line-height:1.35;\r\n    font-weight:650;\r\n}\r\n\r\n.ev-date-step{\r\n    scroll-margin-top:18px;\r\n}\r\n\r\n.ev-date-panel{\r\n    padding:14px;\r\n    border:2px solid #FD4621;\r\n    border-radius:15px;\r\n    background:#FFF7F4;\r\n    box-shadow:0 7px 18px rgba(253,70,33,.08);\r\n}\r\n\r\n.ev-date-panel.is-selected{\r\n    border-color:#D94A2A;\r\n    background:#FFF8F5;\r\n    box-shadow:0 8px 20px rgba(217,74,42,.10);\r\n}\r\n\r\n.ev-date-label{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:10px;\r\n    margin-bottom:10px;\r\n    cursor:pointer;\r\n}\r\n\r\n.ev-date-icon{\r\n    width:38px;\r\n    height:38px;\r\n    flex:0 0 38px;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    border-radius:10px;\r\n    background:#FD4621;\r\n    color:#fff;\r\n}\r\n\r\n.ev-date-icon svg{\r\n    width:20px;\r\n    height:20px;\r\n    fill:none;\r\n    stroke:currentColor;\r\n    stroke-width:2;\r\n    stroke-linecap:round;\r\n    stroke-linejoin:round;\r\n}\r\n\r\n.ev-date-label b{\r\n    display:block;\r\n    color:#071516;\r\n    font-size:13px;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-date-label small{\r\n    display:block;\r\n    margin-top:2px;\r\n    color:#465154;\r\n    font-size:11px;\r\n    font-weight:650;\r\n}\r\n\r\n#evDate.ev-date-input{\r\n    width:100%;\r\n    min-height:56px;\r\n    padding:0 14px;\r\n    border:2px solid #071516;\r\n    border-radius:11px;\r\n    background:#fff;\r\n    color:#071516;\r\n    font-size:15px;\r\n    font-weight:800;\r\n}\r\n\r\n#evDate.ev-date-input:focus{\r\n    border-color:#FD4621;\r\n    box-shadow:0 0 0 4px rgba(253,70,33,.12);\r\n}\r\n\r\n.ev-date-confirm{\r\n    width:100%;\r\n    min-height:50px;\r\n    margin-top:10px;\r\n    border:0;\r\n    border-radius:11px;\r\n    background:#FD4621;\r\n    color:#fff;\r\n    font:inherit;\r\n    font-size:13px;\r\n    font-weight:900;\r\n    cursor:pointer;\r\n    box-shadow:0 8px 18px rgba(253,70,33,.20);\r\n    transition:.18s ease;\r\n}\r\n\r\n.ev-date-confirm:hover{\r\n    background:#E9401D;\r\n    transform:translateY(-1px);\r\n}\r\n\r\n.ev-date-panel.is-selected .ev-date-confirm{\r\n    background:#D94A2A;\r\n}\r\n\r\n.ev-date-panel.is-selected .ev-date-confirm:hover{\r\n    background:#C84024;\r\n}\r\n\r\n.ev-date-status{\r\n    display:none;\r\n    margin-top:9px;\r\n    padding:9px 10px;\r\n    border-radius:9px;\r\n    font-size:11px;\r\n    line-height:1.35;\r\n    font-weight:800;\r\n}\r\n\r\n.ev-date-status.show{\r\n    display:block;\r\n}\r\n\r\n.ev-date-status.success{\r\n    background:#FFF1EC;\r\n    border:1px solid #FFD4C8;\r\n    color:#A73722;\r\n}\r\n\r\n.ev-date-status.error{\r\n    background:#FFF0ED;\r\n    border:1px solid #FFD2C8;\r\n    color:#9A3023;\r\n}\r\n\r\n#evVisitorsStep{\r\n    scroll-margin-top:18px;\r\n}\r\n\r\n.ev-person small,\r\n.ev-summary-line,\r\n.ev-summary-original,\r\n.ev-price-note,\r\n.ev-buy-note{\r\n    color:#465154 !important;\r\n    opacity:1 !important;\r\n}\r\n\r\n.ev-counter{\r\n    border:1px solid #C7CFD1;\r\n    background:#fff;\r\n}\r\n\r\n.ev-counter button,\r\n.ev-counter span{\r\n    color:#071516;\r\n    font-weight:900;\r\n}\r\n\r\n.ev-request{\r\n    border:1px solid #FD4621;\r\n}\r\n\r\n.ev-request[aria-disabled=\"true\"]{\r\n    background:#FFF1EC !important;\r\n    color:#C83F25 !important;\r\n    border-color:#FFD0C4 !important;\r\n    opacity:1 !important;\r\n    box-shadow:none !important;\r\n}\r\n\r\n.ev-request.is-ready{\r\n    background:#FD4621 !important;\r\n    color:#fff !important;\r\n    border-color:#FD4621 !important;\r\n    box-shadow:0 9px 22px rgba(253,70,33,.22) !important;\r\n}\r\n\r\n@media(max-width:767px){\r\n\r\n    .ev-booking{\r\n        padding:18px 14px;\r\n    }\r\n\r\n    .ev-step-number{\r\n        width:32px;\r\n        height:32px;\r\n        flex-basis:32px;\r\n    }\r\n\r\n    .ev-step-title strong{\r\n        font-size:14px;\r\n    }\r\n\r\n    .ev-step-title small{\r\n        font-size:11.5px;\r\n    }\r\n\r\n    .ev-date-panel{\r\n        padding:13px;\r\n        border-radius:14px;\r\n    }\r\n\r\n    #evDate.ev-date-input{\r\n        height:58px;\r\n        min-height:58px;\r\n        border:2px solid #071516;\r\n        border-radius:10px;\r\n        background:#fff;\r\n        color:#071516;\r\n        font-size:16px;\r\n        font-weight:800;\r\n    }\r\n\r\n    .ev-date-confirm{\r\n        min-height:52px;\r\n        font-size:13px;\r\n    }\r\n\r\n    .ev-mobile-bar{\r\n        padding:10px 10px 10px 13px;\r\n        border:1px solid #D7DEDF;\r\n        background:#fff;\r\n        box-shadow:0 10px 32px rgba(0,0,0,.18);\r\n    }\r\n\r\n    .ev-mobile-price small{\r\n        color:#465154;\r\n        font-size:9.5px;\r\n        font-weight:800;\r\n    }\r\n\r\n    .ev-mobile-price strong{\r\n        max-width:145px;\r\n        overflow:hidden;\r\n        color:#071516;\r\n        font-size:14px;\r\n        line-height:1.2;\r\n        text-overflow:ellipsis;\r\n        white-space:nowrap;\r\n    }\r\n\r\n    .ev-mobile-bar button{\r\n        min-width:145px;\r\n        min-height:48px;\r\n        border:1px solid #FD4621;\r\n        font-size:11.5px;\r\n    }\r\n\r\n    .ev-mobile-bar button[aria-disabled=\"true\"]{\r\n        opacity:1 !important;\r\n        background:#FFF1EC !important;\r\n        color:#C83F25 !important;\r\n        border-color:#FFD0C4 !important;\r\n    }\r\n\r\n    .ev-mobile-bar button.is-ready{\r\n        background:#FD4621 !important;\r\n        color:#fff !important;\r\n        border-color:#FD4621 !important;\r\n    }\r\n}\r\n\r\n<\/style>\r\n\r\n\r\n\r\n<div id=\"ev-product\">\r\n\r\n\r\n<!-- ============================================================\r\n     GALLERY\r\n============================================================ -->\r\n\r\n<section class=\"ev-gallery-section\">\r\n\r\n<div class=\"ev-wrap\">\r\n\r\n<div class=\"ev-gallery\">\r\n\r\n\r\n<div\r\nclass=\"ev-gallery-item ev-gallery-main\"\r\ndata-photo=\"0\"\r\n>\r\n\r\n<img\r\nclass=\"ev-gallery-image\"\r\ndata-image-index=\"0\"\r\nalt=\"Bobbejaanland\"\r\n>\r\n\r\n<button\r\ntype=\"button\"\r\nclass=\"ev-view-all\"\r\nid=\"evViewAll\"\r\n>\r\nVoir les 5 photos\r\n<\/button>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-gallery-item\" data-photo=\"1\">\r\n\r\n<img\r\nclass=\"ev-gallery-image\"\r\ndata-image-index=\"1\"\r\nalt=\"Bobbejaanland\"\r\n>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-gallery-item\" data-photo=\"2\">\r\n\r\n<img\r\nclass=\"ev-gallery-image\"\r\ndata-image-index=\"2\"\r\nalt=\"Bobbejaanland\"\r\n>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-gallery-item\" data-photo=\"3\">\r\n\r\n<img\r\nclass=\"ev-gallery-image\"\r\ndata-image-index=\"3\"\r\nalt=\"Bobbejaanland\"\r\n>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-gallery-item\" data-photo=\"4\">\r\n\r\n<img\r\nclass=\"ev-gallery-image\"\r\ndata-image-index=\"4\"\r\nalt=\"Bobbejaanland\"\r\n>\r\n\r\n<\/div>\r\n\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/section>\r\n<!-- ============================================================\r\n     INTRO\r\n============================================================ -->\r\n\r\n<section class=\"ev-intro-section\">\r\n\r\n<div class=\"ev-wrap\">\r\n\r\n<div class=\"ev-breadcrumb\">\r\nParcs &amp; famille \u00b7 Parcs \u00e0 th\u00e8me \u00b7 Belgique\r\n<\/div>\r\n\r\n<h1 class=\"ev-title\">\r\nBobbejaanland\r\n<\/h1>\r\n\r\n<div class=\"ev-location\">\r\nLichtaart, Belgique\r\n<\/div>\r\n\r\n<p class=\"ev-intro-text\">\r\nProfitez d\u2019une journ\u00e9e \u00e0 Bobbejaanland, l\u2019un des grands parcs d\u2019attractions belges.\r\nMontagnes russes, attractions aquatiques et exp\u00e9riences familiales se r\u00e9partissent\r\nautour du lac du parc, avec des incontournables comme Fury, Typhoon et Dreamcatcher.\r\n<\/p>\r\n\r\n<div class=\"ev-tags\">\r\n<span class=\"ev-tag\">Parc \u00e0 th\u00e8me<\/span>\r\n<span class=\"ev-tag\">Famille<\/span>\r\n<span class=\"ev-tag\">Sensations<\/span>\r\n<span class=\"ev-tag\">Attractions aquatiques<\/span>\r\n<span class=\"ev-tag\">Lichtaart<\/span>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/section>\r\n\r\n\r\n\r\n<!-- ============================================================\r\n     MAIN\r\n============================================================ -->\r\n\r\n<section class=\"ev-main\">\r\n\r\n<div class=\"ev-wrap\">\r\n\r\n<div class=\"ev-main-grid\">\r\n\r\n\r\n\r\n<!-- ============================================================\r\n     RIGHT BOOKING \u2014 DIRECT BUY\r\n============================================================ -->\r\n\r\n<div class=\"ev-right\">\r\n\r\n<aside class=\"ev-booking\" id=\"evBooking\">\r\n\r\n<div class=\"ev-booking-head\">\r\n\r\n<div class=\"ev-booking-eyebrow\">\r\nBillets Bobbejaanland\r\n<\/div>\r\n\r\n<h2>\r\nChoisissez votre visite\r\n<\/h2>\r\n\r\n<p>\r\nSuivez les \u00e9tapes ci-dessous pour pr\u00e9parer votre visite.\r\n<\/p>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-discount-banner\">\r\n\r\n<div class=\"ev-discount-banner-left\">\r\n\r\n<span class=\"ev-discount-badge\">\r\nJUSQU\u2019\u00c0 -20%\r\n<\/span>\r\n\r\n<div class=\"ev-discount-text\">\r\n<strong>Jusqu\u2019\u00e0 -20% sur vos billets<\/strong>\r\n<span>La r\u00e9duction EuroVoya est d\u00e9j\u00e0 appliqu\u00e9e au total affich\u00e9.<\/span>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-step-title\">\r\n<span class=\"ev-step-number\">1<\/span>\r\n<div>\r\n<strong>Votre formule<\/strong>\r\n<small>Billet journ\u00e9e Bobbejaanland.<\/small>\r\n<\/div>\r\n<\/div>\r\n\r\n<div class=\"ev-packages\">\r\n\r\n<div class=\"ev-package\">\r\n\r\n<div class=\"ev-package-box\">\r\n\r\n<div class=\"ev-package-row\">\r\n\r\n<div class=\"ev-package-name\">\r\nBobbejaanland \u00b7 Billet journ\u00e9e\r\n<\/div>\r\n\r\n<div class=\"ev-package-price\">\r\n<span class=\"ev-price-old\">D\u00e8s 21,90 \u20ac<\/span>\r\n<strong class=\"ev-price-new\">D\u00e8s 18 \u20ac<\/strong>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<div class=\"ev-package-desc\">\r\nAdulte \/ plus de 140 cm <span class=\"ev-price-old\">49,90 \u20ac<\/span> <strong class=\"ev-price-new\">40 \u20ac<\/strong><br>\r\nEnfant \/ 100\u2013139 cm <span class=\"ev-price-old\">46,90 \u20ac<\/span> <strong class=\"ev-price-new\">38 \u20ac<\/strong><br>\r\nSenior \/ 65 ans et + <span class=\"ev-price-old\">21,90 \u20ac<\/span> <strong class=\"ev-price-new\">18 \u20ac<\/strong><br>\r\nBillet pour une journ\u00e9e \u00e0 la date s\u00e9lectionn\u00e9e.\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<section class=\"ev-date-step\" id=\"evDateStep\">\r\n\r\n<div class=\"ev-step-title ev-step-title-date\">\r\n<span class=\"ev-step-number\">2<\/span>\r\n<div>\r\n<strong>Choisissez votre date<\/strong>\r\n<small>S\u00e9lectionnez le jour souhait\u00e9 avant d\u2019ajouter les visiteurs.<\/small>\r\n<\/div>\r\n<\/div>\r\n\r\n<div class=\"ev-date-panel\">\r\n\r\n<label class=\"ev-date-label\" for=\"evDate\">\r\n<span class=\"ev-date-icon\" aria-hidden=\"true\">\r\n<svg viewBox=\"0 0 24 24\">\r\n<path d=\"M6 3v3M18 3v3M4 9h16M5 5h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Z\"\/>\r\n<\/svg>\r\n<\/span>\r\n<span>\r\n<b>Date de visite<\/b>\r\n<small>S\u00e9lectionnez le jour souhait\u00e9<\/small>\r\n<\/span>\r\n<\/label>\r\n\r\n<input\r\ntype=\"date\"\r\nid=\"evDate\"\r\nclass=\"ev-input ev-date-input\"\r\nautocomplete=\"off\"\r\naria-label=\"Date de visite\"\r\n>\r\n\r\n<button type=\"button\" class=\"ev-date-confirm\" id=\"evDateConfirm\">\r\nChoisir cette date\r\n<span aria-hidden=\"true\">\u2192<\/span>\r\n<\/button>\r\n\r\n<div class=\"ev-date-status\" id=\"evDateStatus\" aria-live=\"polite\"><\/div>\r\n\r\n<\/div>\r\n<\/section>\r\n\r\n\r\n<div class=\"ev-step-title\" id=\"evVisitorsStep\">\r\n<span class=\"ev-step-number\">3<\/span>\r\n<div>\r\n<strong>Ajoutez les visiteurs<\/strong>\r\n<small>Choisissez les cat\u00e9gories qui correspondent \u00e0 votre groupe.<\/small>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-person\">\r\n<div>\r\n<strong>Adulte<\/strong>\r\n<small>Plus de 140 cm<\/small>\r\n<\/div>\r\n<div class=\"ev-counter\">\r\n<button type=\"button\" data-type=\"adult\" data-action=\"minus\" aria-label=\"Retirer un billet adulte\">\u2212<\/button>\r\n<span id=\"evAdult\">0<\/span>\r\n<button type=\"button\" data-type=\"adult\" data-action=\"plus\" aria-label=\"Ajouter un billet adulte\">+<\/button>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-person\">\r\n<div>\r\n<strong>Enfant<\/strong>\r\n<small>De 100 cm \u00e0 139 cm<\/small>\r\n<\/div>\r\n<div class=\"ev-counter\">\r\n<button type=\"button\" data-type=\"child\" data-action=\"minus\" aria-label=\"Retirer un billet enfant\">\u2212<\/button>\r\n<span id=\"evChild\">0<\/span>\r\n<button type=\"button\" data-type=\"child\" data-action=\"plus\" aria-label=\"Ajouter un billet enfant\">+<\/button>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-person\">\r\n<div>\r\n<strong>Senior<\/strong>\r\n<small>65 ans et +<\/small>\r\n<\/div>\r\n<div class=\"ev-counter\">\r\n<button type=\"button\" data-type=\"senior\" data-action=\"minus\" aria-label=\"Retirer un billet senior\">\u2212<\/button>\r\n<span id=\"evSenior\">0<\/span>\r\n<button type=\"button\" data-type=\"senior\" data-action=\"plus\" aria-label=\"Ajouter un billet senior\">+<\/button>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-free\">\r\n\u2713 Les enfants de moins de 100 cm entrent gratuitement.\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-summary\">\r\n\r\n<div class=\"ev-summary-line\">\r\n<span id=\"evAdultLabel\">Adulte 40 \u20ac \u00d7 0<\/span>\r\n<strong id=\"evAdultTotal\">0 \u20ac<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-summary-line\">\r\n<span id=\"evChildLabel\">Enfant 38 \u20ac \u00d7 0<\/span>\r\n<strong id=\"evChildTotal\">0 \u20ac<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-summary-line\">\r\n<span id=\"evSeniorLabel\">Senior 18 \u20ac \u00d7 0<\/span>\r\n<strong id=\"evSeniorTotal\">0 \u20ac<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-summary-original\">\r\n<span>Prix avant r\u00e9duction<\/span>\r\n<strong id=\"evOriginalTotal\">0 \u20ac<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-summary-discount\">\r\n<span>R\u00e9duction EuroVoya<\/span>\r\n<strong id=\"evDiscountTotal\">\u2212 0 \u20ac<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-summary-total\">\r\n<span>Total \u00e0 payer<\/span>\r\n<strong id=\"evTotal\">0 \u20ac<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-price-note\">\r\nVotre r\u00e9duction EuroVoya est d\u00e9j\u00e0 incluse dans le total \u00e0 payer.\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<button\r\ntype=\"button\"\r\nclass=\"ev-request\"\r\nid=\"evRequest\"\r\naria-disabled=\"true\"\r\n>\r\n<span class=\"ev-buy-lock\">\u25cf<\/span>\r\n<span id=\"evBuyText\">Acheter maintenant<\/span>\r\n<\/button>\r\n\r\n<div class=\"ev-buy-note\">\r\nLe montant final inclut d\u00e9j\u00e0 votre r\u00e9duction EuroVoya.\r\n<\/div>\r\n\r\n<div class=\"ev-form-message\" id=\"evFormMessage\"><\/div>\r\n\r\n<div class=\"ev-trust\">\r\n<div><b>\u2713<\/b>Prix clair<\/div>\r\n<div><b>\u2713<\/b>Paiement s\u00e9curis\u00e9<\/div>\r\n<div><b>\u2713<\/b>Support EuroVoya<\/div>\r\n<\/div>\r\n\r\n<\/aside>\r\n\r\n\r\n<div class=\"ev-info-card\">\r\n\r\n<h3>\r\nInformations sur l\u2019exp\u00e9rience\r\n<\/h3>\r\n\r\n<div class=\"ev-info-row\">\r\n<span>Destination<\/span>\r\n<strong>Belgique<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-info-row\">\r\n<span>Lieu<\/span>\r\n<strong>Lichtaart<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-info-row\">\r\n<span>Cat\u00e9gorie<\/span>\r\n<strong>Parc \u00e0 th\u00e8me<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-info-row\">\r\n<span>Adresse<\/span>\r\n<strong>Olensteenweg 45<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-info-row\">\r\n<span>Dur\u00e9e conseill\u00e9e<\/span>\r\n<strong>Journ\u00e9e compl\u00e8te<\/strong>\r\n<\/div>\r\n\r\n<div class=\"ev-info-row\">\r\n<span>Enfant &lt; 100 cm<\/span>\r\n<strong>Entr\u00e9e gratuite<\/strong>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<!-- ============================================================\r\n     LEFT CONTENT\r\n============================================================ -->\r\n\r\n<div class=\"ev-left\">\r\n\r\n\r\n<section class=\"ev-section\">\r\n\r\n<div class=\"ev-kicker\">\r\n\u00c0 propos de cette exp\u00e9rience\r\n<\/div>\r\n\r\n<h2>\r\nUne journ\u00e9e de sensations et de plaisir en famille\r\n<\/h2>\r\n\r\n<p>\r\nBobbejaanland se situe \u00e0 Lichtaart, dans la province d\u2019Anvers.\r\nLe parc propose des montagnes russes, des attractions aquatiques,\r\ndes attractions familiales et plusieurs exp\u00e9riences couvertes,\r\nce qui permet de varier les activit\u00e9s pendant toute la journ\u00e9e.\r\n<\/p>\r\n\r\n\r\n<div class=\"ev-highlights\">\r\n\r\n\r\n<div class=\"ev-highlight\">\r\n<div class=\"ev-highlight-icon\">\ud83c\udfa2<\/div>\r\n<div>\r\n<strong>Fury<\/strong>\r\n<span>\r\nUn des grands coasters \u00e0 sensations du parc, avec un parcours dynamique\r\net la possibilit\u00e9 de vivre l\u2019exp\u00e9rience dans plusieurs directions.\r\n<\/span>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-highlight\">\r\n<div class=\"ev-highlight-icon\">\ud83c\udf2a<\/div>\r\n<div>\r\n<strong>Typhoon<\/strong>\r\n<span>\r\nUne montagne russe embl\u00e9matique de Bobbejaanland,\r\nconnue pour sa grande boucle verticale et son parcours intense.\r\n<\/span>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-highlight\">\r\n<div class=\"ev-highlight-icon\">\ud83d\udca6<\/div>\r\n<div>\r\n<strong>Attractions aquatiques<\/strong>\r\n<span>\r\nPlusieurs exp\u00e9riences sur l\u2019eau permettent d\u2019alterner\r\nles coasters avec des attractions plus rafra\u00eechissantes.\r\n<\/span>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-highlight\">\r\n<div class=\"ev-highlight-icon\">\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc66<\/div>\r\n<div>\r\n<strong>Pour toute la famille<\/strong>\r\n<span>\r\nLe parc propose aussi de nombreuses attractions plus accessibles\r\npour partager la journ\u00e9e avec les enfants.\r\n<\/span>\r\n<\/div>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-feature\">\r\n\r\n<span class=\"ev-feature-badge\">\r\n\u00c0 NE PAS MANQUER\r\n<\/span>\r\n\r\n<h3>\r\nFury\r\n<\/h3>\r\n\r\n<p>\r\nFury fait partie des attractions les plus populaires de Bobbejaanland.\r\nSon trac\u00e9 orange traverse une zone bois\u00e9e du parc et offre une exp\u00e9rience\r\ntr\u00e8s diff\u00e9rente des attractions familiales plus calmes.\r\n<\/p>\r\n\r\n<\/div>\r\n\r\n<\/section>\r\n\r\n\r\n\r\n<section class=\"ev-section\">\r\n\r\n<div class=\"ev-kicker\">\r\nVotre billet\r\n<\/div>\r\n\r\n<h2>\r\nCe qui est inclus\r\n<\/h2>\r\n\r\n<div class=\"ev-include-grid\">\r\n\r\n<div class=\"ev-include-box\">\r\n<h3>\u2713 Inclus<\/h3>\r\n<ul class=\"ev-list yes\">\r\n<li>Entr\u00e9e \u00e0 Bobbejaanland pour la date et les visiteurs s\u00e9lectionn\u00e9s.<\/li>\r\n<li>Acc\u00e8s aux attractions ouvertes selon leurs conditions de taille et de s\u00e9curit\u00e9.<\/li>\r\n<li>Acc\u00e8s aux attractions familiales, coasters et attractions aquatiques ouvertes.<\/li>\r\n<li>Acc\u00e8s aux animations incluses dans l\u2019entr\u00e9e lorsqu\u2019elles sont programm\u00e9es.<\/li>\r\n<li>Support client EuroVoya.<\/li>\r\n<\/ul>\r\n<\/div>\r\n\r\n<div class=\"ev-include-box\">\r\n<h3>Non inclus<\/h3>\r\n<ul class=\"ev-list no\">\r\n<li>Parking.<\/li>\r\n<li>Repas et boissons.<\/li>\r\n<li>Speedy Pass et autres suppl\u00e9ments.<\/li>\r\n<li>Attractions ou \u00e9v\u00e9nements n\u00e9cessitant un suppl\u00e9ment sp\u00e9cifique.<\/li>\r\n<li>Transport jusqu\u2019au parc.<\/li>\r\n<\/ul>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/section>\r\n\r\n\r\n\r\n<!-- ============================================================\r\n     REVIEWS\r\n============================================================ -->\r\n\r\n<section class=\"ev-reviews-section\">\r\n\r\n<div class=\"ev-review-heading\">\r\n\r\n<div>\r\n\r\n<div class=\"ev-kicker\">\r\nAvis des visiteurs\r\n<\/div>\r\n\r\n<h2>\r\nCe que les visiteurs disent de Bobbejaanland\r\n<\/h2>\r\n\r\n<p>\r\nAvis publics r\u00e9cents provenant de grandes plateformes.\r\n<\/p>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-rating-boxes\">\r\n\r\n<div class=\"ev-review-score-box\">\r\n<div class=\"ev-review-score-top\">\r\n<strong>4.1<\/strong>\r\n<span class=\"ev-stars\">\u2605\u2605\u2605\u2605\u2606<\/span>\r\n<\/div>\r\n<small>23K+ avis Google<\/small>\r\n<\/div>\r\n\r\n<div class=\"ev-review-score-box\">\r\n<div class=\"ev-review-score-top\">\r\n<strong>3.4<\/strong>\r\n<span class=\"ev-stars\">\u2605\u2605\u2605\u2606\u2606<\/span>\r\n<\/div>\r\n<small>1K+ avis Tripadvisor<\/small>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-review-marquee\">\r\n\r\n<div class=\"ev-review-track\" data-review-track>\r\n\r\n<article class=\"ev-review-card\">\r\n<div class=\"ev-review-user\">\r\n<div class=\"ev-review-avatar\">D<\/div>\r\n<div>\r\n<strong>D.W.<\/strong>\r\n<span>Google \u00b7 Mai 2026<\/span>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ev-stars\">\u2605\u2605\u2605\u2605\u2606<\/div>\r\n<p class=\"ev-review-text\">\r\nUne visite du dimanche avec peu d\u2019attente et des installations bien entretenues.\r\nLe visiteur souligne notamment la propret\u00e9 des sanitaires et le parking proche de l\u2019entr\u00e9e.\r\n<\/p>\r\n<div class=\"ev-review-source\">\r\n<strong>Google<\/strong>\r\n<span>4 \/ 5<\/span>\r\n<\/div>\r\n<\/article>\r\n\r\n\r\n<article class=\"ev-review-card\">\r\n<div class=\"ev-review-user\">\r\n<div class=\"ev-review-avatar\">S<\/div>\r\n<div>\r\n<strong>Scenic\u2026<\/strong>\r\n<span>Tripadvisor \u00b7 2026<\/span>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ev-stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n<p class=\"ev-review-text\">\r\nUn parc jug\u00e9 agr\u00e9able avec de nombreuses attractions en fonctionnement,\r\ndes temps d\u2019attente limit\u00e9s lors de la visite et l\u2019envie de revenir.\r\n<\/p>\r\n<div class=\"ev-review-source\">\r\n<strong>Tripadvisor<\/strong>\r\n<span>Visite en famille<\/span>\r\n<\/div>\r\n<\/article>\r\n\r\n\r\n<article class=\"ev-review-card\">\r\n<div class=\"ev-review-user\">\r\n<div class=\"ev-review-avatar\">A<\/div>\r\n<div>\r\n<strong>Alan R.<\/strong>\r\n<span>Google \u00b7 D\u00e9cembre 2025<\/span>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ev-stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n<p class=\"ev-review-text\">\r\nLe visiteur consid\u00e8re toujours Bobbejaanland comme un parc adapt\u00e9\r\naux jeunes comme aux adultes et a appr\u00e9ci\u00e9 l\u2019ambiance de la saison d\u2019hiver.\r\n<\/p>\r\n<div class=\"ev-review-source\">\r\n<strong>Google<\/strong>\r\n<span>5 \/ 5<\/span>\r\n<\/div>\r\n<\/article>\r\n\r\n\r\n<article class=\"ev-review-card\">\r\n<div class=\"ev-review-user\">\r\n<div class=\"ev-review-avatar\">P<\/div>\r\n<div>\r\n<strong>Patricia V.<\/strong>\r\n<span>Google \u00b7 Octobre 2025<\/span>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ev-stars\">\u2605\u2605\u2605\u2605\u2605<\/div>\r\n<p class=\"ev-review-text\">\r\nUne visite d\u2019Halloween appr\u00e9ci\u00e9e en famille, avec de nombreuses options\r\npour les enfants comme pour les adultes et un personnel d\u00e9crit comme tr\u00e8s accueillant.\r\n<\/p>\r\n<div class=\"ev-review-source\">\r\n<strong>Google<\/strong>\r\n<span>5 \/ 5<\/span>\r\n<\/div>\r\n<\/article>\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-review-marquee\">\r\n\r\n<div class=\"ev-review-track reverse\" data-review-track>\r\n\r\n<article class=\"ev-review-card\">\r\n<div class=\"ev-review-user\">\r\n<div class=\"ev-review-avatar\">F<\/div>\r\n<div>\r\n<strong>Fury<\/strong>\r\n<span>Avis voyageurs<\/span>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ev-stars\">Sensations fortes<\/div>\r\n<p class=\"ev-review-text\">\r\nFury revient r\u00e9guli\u00e8rement parmi les attractions favorites\r\ndes visiteurs \u00e0 la recherche des plus fortes sensations du parc.\r\n<\/p>\r\n<div class=\"ev-review-source\">\r\n<strong>Google<\/strong>\r\n<span>Point fort<\/span>\r\n<\/div>\r\n<\/article>\r\n\r\n\r\n<article class=\"ev-review-card\">\r\n<div class=\"ev-review-user\">\r\n<div class=\"ev-review-avatar\">T<\/div>\r\n<div>\r\n<strong>Typhoon<\/strong>\r\n<span>Avis voyageurs<\/span>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ev-stars\">Coaster<\/div>\r\n<p class=\"ev-review-text\">\r\nTyphoon est souvent cit\u00e9 avec Fury parmi les attractions\r\nles plus marquantes pour les amateurs de montagnes russes.\r\n<\/p>\r\n<div class=\"ev-review-source\">\r\n<strong>Tripadvisor<\/strong>\r\n<span>Th\u00e8me r\u00e9current<\/span>\r\n<\/div>\r\n<\/article>\r\n\r\n\r\n<article class=\"ev-review-card\">\r\n<div class=\"ev-review-user\">\r\n<div class=\"ev-review-avatar\">Q<\/div>\r\n<div>\r\n<strong>Temps d\u2019attente<\/strong>\r\n<span>Avis 2026<\/span>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ev-stars\">Variable<\/div>\r\n<p class=\"ev-review-text\">\r\nLes temps d\u2019attente peuvent \u00eatre tr\u00e8s diff\u00e9rents selon la date :\r\ncertains visiteurs rapportent des files courtes, d\u2019autres davantage d\u2019attente en p\u00e9riode charg\u00e9e.\r\n<\/p>\r\n<div class=\"ev-review-source\">\r\n<strong>Tripadvisor<\/strong>\r\n<span>Conseil visite<\/span>\r\n<\/div>\r\n<\/article>\r\n\r\n\r\n<article class=\"ev-review-card\">\r\n<div class=\"ev-review-user\">\r\n<div class=\"ev-review-avatar\">F<\/div>\r\n<div>\r\n<strong>Familles<\/strong>\r\n<span>Avis voyageurs<\/span>\r\n<\/div>\r\n<\/div>\r\n<div class=\"ev-stars\">Journ\u00e9e compl\u00e8te<\/div>\r\n<p class=\"ev-review-text\">\r\nLe m\u00e9lange entre coasters, attractions plus calmes et activit\u00e9s aquatiques\r\npermet de construire une journ\u00e9e adapt\u00e9e \u00e0 plusieurs \u00e2ges.\r\n<\/p>\r\n<div class=\"ev-review-source\">\r\n<strong>Google<\/strong>\r\n<span>Th\u00e8me r\u00e9current<\/span>\r\n<\/div>\r\n<\/article>\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-review-disclaimer\">\r\nLes cartes ci-dessus r\u00e9sument des avis publi\u00e9s sur des plateformes externes.\r\nIl ne s\u2019agit pas d\u2019avis de clients EuroVoya.\r\n<\/div>\r\n\r\n<\/section>\r\n\r\n\r\n\r\n<section class=\"ev-section\">\r\n\r\n<div class=\"ev-kicker\">\r\nAvant votre visite\r\n<\/div>\r\n\r\n<h2>\r\nBon \u00e0 savoir\r\n<\/h2>\r\n\r\n<ul class=\"ev-info-list\">\r\n<li>Le tarif adulte s\u2019applique aux visiteurs de plus de 140 cm.<\/li>\r\n<li>Le tarif enfant s\u2019applique aux visiteurs de plus de 100 cm et de moins de 140 cm.<\/li>\r\n<li>Les enfants de moins de 100 cm entrent gratuitement et n\u2019ont pas besoin de r\u00e9servation.<\/li>\r\n<li>Le tarif senior 65+ est disponible sur pr\u00e9sentation d\u2019une pi\u00e8ce d\u2019identit\u00e9.<\/li>\r\n<li>Les restrictions de taille varient selon chaque attraction.<\/li>\r\n<li>Le parking n\u2019est pas inclus dans le billet d\u2019entr\u00e9e.<\/li>\r\n<li>Le Speedy Pass et certains suppl\u00e9ments sont vendus s\u00e9par\u00e9ment.<\/li>\r\n<li>Bobbejaanland se situe Olensteenweg 45, 2460 Lichtaart\/Kasterlee.<\/li>\r\n<li>Les horaires et attractions ouvertes peuvent varier selon la date.<\/li>\r\n<\/ul>\r\n\r\n<\/section>\r\n\r\n\r\n\r\n<section class=\"ev-section\">\r\n\r\n<div class=\"ev-kicker\">\r\nQuestions\r\n<\/div>\r\n\r\n<h2>\r\nQuestions fr\u00e9quentes\r\n<\/h2>\r\n\r\n<div class=\"ev-faq\">\r\n\r\n<div class=\"ev-faq-item\">\r\n<button type=\"button\" class=\"ev-faq-question\">\r\nQuel billet choisir ?\r\n<span class=\"ev-faq-plus\">+<\/span>\r\n<\/button>\r\n<div class=\"ev-faq-answer\">\r\nChoisissez le tarif Adulte au-dessus de 140 cm,\r\nle tarif Enfant entre 100 cm et 139 cm,\r\nou le tarif Senior \u00e0 partir de 65 ans.\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-faq-item\">\r\n<button type=\"button\" class=\"ev-faq-question\">\r\nLes enfants de moins de 100 cm paient-ils ?\r\n<span class=\"ev-faq-plus\">+<\/span>\r\n<\/button>\r\n<div class=\"ev-faq-answer\">\r\nNon. Les enfants de moins de 100 cm entrent gratuitement\r\net ne doivent pas r\u00e9server de billet.\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-faq-item\">\r\n<button type=\"button\" class=\"ev-faq-question\">\r\nLe parking est-il inclus ?\r\n<span class=\"ev-faq-plus\">+<\/span>\r\n<\/button>\r\n<div class=\"ev-faq-answer\">\r\nNon. Le parking est vendu s\u00e9par\u00e9ment.\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-faq-item\">\r\n<button type=\"button\" class=\"ev-faq-question\">\r\nLe Speedy Pass est-il inclus ?\r\n<span class=\"ev-faq-plus\">+<\/span>\r\n<\/button>\r\n<div class=\"ev-faq-answer\">\r\nNon. Le Speedy Pass est un suppl\u00e9ment s\u00e9par\u00e9 du billet d\u2019entr\u00e9e standard.\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-faq-item\">\r\n<button type=\"button\" class=\"ev-faq-question\">\r\nPuis-je acheter plusieurs billets en une fois ?\r\n<span class=\"ev-faq-plus\">+<\/span>\r\n<\/button>\r\n<div class=\"ev-faq-answer\">\r\nOui. S\u00e9lectionnez simplement le nombre de visiteurs dans chaque cat\u00e9gorie.\r\nLe total est calcul\u00e9 automatiquement.\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n<div class=\"ev-faq-item\">\r\n<button type=\"button\" class=\"ev-faq-question\">\r\nComment se d\u00e9roule le paiement ?\r\n<span class=\"ev-faq-plus\">+<\/span>\r\n<\/button>\r\n<div class=\"ev-faq-answer\">\r\nChoisissez votre date et vos billets sur EuroVoya.\r\nLe montant exact est ensuite affich\u00e9 et peut \u00eatre copi\u00e9\r\navant de poursuivre vers la page de paiement s\u00e9curis\u00e9.\r\n<\/div>\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/section>\r\n\r\n\r\n<\/div>\r\n\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/section>\r\n\r\n\r\n\r\n<!-- ============================================================\r\n     MOBILE CTA\r\n============================================================ -->\r\n\r\n<div class=\"ev-mobile-bar\">\r\n\r\n\r\n<div class=\"ev-mobile-price\">\r\n\r\n<small id=\"evMobileHint\">\r\n\u00c9tape suivante\r\n<\/small>\r\n\r\n<strong id=\"evMobileTotal\">\r\nChoisir une date\r\n<\/strong>\r\n\r\n<\/div>\r\n\r\n\r\n<button\r\ntype=\"button\"\r\nid=\"evMobileSelect\"\r\n>\r\nAcheter\r\n<\/button>\r\n\r\n\r\n<\/div>\r\n\r\n\r\n\r\n\r\n<!-- ============================================================\r\n     STRIPE AMOUNT CONFIRMATION\r\n============================================================ -->\r\n\r\n<div\r\nclass=\"ev-pay-modal\"\r\nid=\"evPayModal\"\r\naria-hidden=\"true\"\r\n>\r\n\r\n<div\r\nclass=\"ev-pay-panel\"\r\nrole=\"dialog\"\r\naria-modal=\"true\"\r\naria-labelledby=\"evPayTitle\"\r\n>\r\n\r\n<button\r\ntype=\"button\"\r\nclass=\"ev-pay-close\"\r\nid=\"evPayClose\"\r\naria-label=\"Fermer\"\r\n>\r\n\u00d7\r\n<\/button>\r\n\r\n<div class=\"ev-pay-eyebrow\">\r\nPaiement s\u00e9curis\u00e9\r\n<\/div>\r\n\r\n<h3 id=\"evPayTitle\">\r\nMontant \u00e0 saisir pour le paiement\r\n<\/h3>\r\n\r\n<p class=\"ev-pay-explain\">\r\nVotre r\u00e9duction EuroVoya est d\u00e9j\u00e0 appliqu\u00e9e.\r\nSur la page de paiement, saisissez exactement le montant affich\u00e9 ci-dessous.\r\n<\/p>\r\n\r\n<div class=\"ev-pay-amount-box\">\r\n\r\n<span class=\"ev-pay-amount-label\">\r\nMontant exact\r\n<\/span>\r\n\r\n<strong\r\nclass=\"ev-pay-amount\"\r\nid=\"evPayAmount\"\r\n>\r\n0 \u20ac\r\n<\/strong>\r\n\r\n<\/div>\r\n\r\n<div class=\"ev-pay-instruction\">\r\nSur la page de paiement, entrez <strong id=\"evPayAmountInline\">0 \u20ac<\/strong>\r\ndans le champ du montant, puis finalisez votre paiement.\r\n<\/div>\r\n<div class=\"ev-pay-actions\">\r\n\r\n<button\r\ntype=\"button\"\r\nclass=\"ev-pay-copy\"\r\nid=\"evPayCopy\"\r\n>\r\nCopier le montant\r\n<\/button>\r\n\r\n<button\r\ntype=\"button\"\r\nclass=\"ev-pay-continue\"\r\nid=\"evPayContinue\"\r\n>\r\nContinuer vers Stripe \u2192\r\n<\/button>\r\n\r\n<\/div>\r\n\r\n<div\r\nclass=\"ev-pay-error\"\r\nid=\"evPayError\"\r\n>\r\nLe lien Stripe n'est pas encore configur\u00e9 dans le code.\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n<\/div>\r\n\r\n\r\n<!-- ============================================================\r\n     PHOTO MODAL\r\n============================================================ -->\r\n\r\n<div\r\nclass=\"ev-modal\"\r\nid=\"evModal\"\r\n>\r\n\r\n\r\n<button\r\ntype=\"button\"\r\nclass=\"ev-modal-close\"\r\nid=\"evModalClose\"\r\n>\r\n\u00d7\r\n<\/button>\r\n\r\n\r\n<button\r\ntype=\"button\"\r\nclass=\"ev-modal-prev\"\r\nid=\"evModalPrev\"\r\n>\r\n\u2039\r\n<\/button>\r\n\r\n\r\n<img\r\nid=\"evModalImage\"\r\nsrc=\"\"\r\nalt=\"Galerie Bobbejaanland\"\r\n>\r\n\r\n\r\n<button\r\ntype=\"button\"\r\nclass=\"ev-modal-next\"\r\nid=\"evModalNext\"\r\n>\r\n\u203a\r\n<\/button>\r\n\r\n\r\n<div\r\nclass=\"ev-modal-count\"\r\nid=\"evModalCount\"\r\n>\r\n1 \/ 5\r\n<\/div>\r\n\r\n\r\n<\/div>\r\n\r\n\r\n<\/div>\r\n\r\n\r\n\r\n<script>\r\n(function(){\r\n\r\n\"use strict\";\r\n\r\n\r\nvar root =\r\ndocument.getElementById(\"ev-product\");\r\n\r\n\r\nif(!root){\r\n    return;\r\n}\r\n\r\n\r\nfunction find(selector){\r\n\r\n    return root.querySelector(selector);\r\n\r\n}\r\n\r\n\r\nfunction findAll(selector){\r\n\r\n    return Array.prototype.slice.call(\r\n        root.querySelectorAll(selector)\r\n    );\r\n\r\n}\r\n\r\n\r\n\r\n\/* ============================================================\r\n   PHOTOS \u2014 REAL CAMERA BOBBEJAANLAND GALLERY\r\n   5 photographic images only \u2014 no posters, logos or illustrations.\r\n   Proxy first, direct source fallback.\r\n============================================================ *\/\r\n\r\nvar photoSources = [\r\n\r\n    \/* Fury \u2014 riders on coaster *\/\r\n    \"https:\/\/oayanjlmbgvubcclmyph.supabase.co\/storage\/v1\/object\/public\/park_images\/0.9173076749589413.webp\",\r\n\r\n    \/* Typhoon \u2014 loop *\/\r\n    \"https:\/\/prod-img.nieuwsblad.be\/public\/nieuws\/6r6owz-nbll1319\/alternates\/WIDTH_1440\/NBLL1319\",\r\n\r\n    \/* Speedy Bob \u2014 parent and child *\/\r\n    \"https:\/\/www.bobbejaanland.be\/content\/dam\/bjl\/images\/attractions\/speedy-bob\/Speedy-Bob-Attracties-%20Bobbejaanland-3.jpg\",\r\n\r\n    \/* Rapids \u2014 family water ride *\/\r\n    \"https:\/\/www.civitatis.com\/f\/belgica\/amberes\/galeria\/rapidos-bobbejaanland.jpg\",\r\n\r\n    \/* Horse Pedalo \u2014 family ride *\/\r\n    \"https:\/\/www.bobbejaanland.be\/content\/dam\/bjl\/images\/seo-alive-2025\/goedkoop-dagje-weg-met-kinderen\/Horse%20Pedalo%203.jpg.transform\/rendition-sm\/image.jpg\"\r\n\r\n];\r\n\r\n\r\nfunction photoProxy(url){\r\n\r\n    return (\r\n        \"https:\/\/images.weserv.nl\/?url=\" +\r\n        encodeURIComponent(url) +\r\n        \"&w=1800\" +\r\n        \"&q=86\" +\r\n        \"&output=webp\"\r\n    );\r\n}\r\n\r\n\r\nvar photos =\r\nphotoSources.map(\r\n    photoProxy\r\n);\r\n\r\n\r\nfunction applyGalleryPhotos(){\r\n\r\n    findAll(\r\n        \".ev-gallery-image\"\r\n    )\r\n    .forEach(function(image){\r\n\r\n        var index =\r\n        parseInt(\r\n            image.getAttribute(\r\n                \"data-image-index\"\r\n            ),\r\n            10\r\n        );\r\n\r\n        if(\r\n            isNaN(index) ||\r\n            !photos[index]\r\n        ){\r\n            return;\r\n        }\r\n\r\n        image.referrerPolicy =\r\n        \"no-referrer\";\r\n\r\n        image.onerror =\r\n        function(){\r\n\r\n            var direct =\r\n            photoSources[index];\r\n\r\n            if(\r\n                direct &&\r\n                this.src !== direct\r\n            ){\r\n                this.onerror = null;\r\n                this.src = direct;\r\n            }\r\n        };\r\n\r\n        image.src =\r\n        photos[index];\r\n    });\r\n}\r\n\r\n\r\napplyGalleryPhotos();\r\n\r\n\r\n\r\n\/* ============================================================\r\n   PRICE CONFIGURATION\r\n   Whole-euro EuroVoya prices\r\n============================================================ *\/\r\n\r\nvar basePrices = {\r\n    standard:{\r\n        adult:49.90,\r\n        child:46.90,\r\n        senior:21.90\r\n    }\r\n};\r\n\r\nvar prices = {\r\n    standard:{\r\n        adult:40,\r\n        child:38,\r\n        senior:18\r\n    }\r\n};\r\n\r\n\r\nvar adults = 0;\r\nvar children = 0;\r\nvar seniors = 0;\r\n\r\n\r\nvar adultDisplay = find(\"#evAdult\");\r\nvar childDisplay = find(\"#evChild\");\r\nvar seniorDisplay = find(\"#evSenior\");\r\n\r\nvar adultLabel = find(\"#evAdultLabel\");\r\nvar childLabel = find(\"#evChildLabel\");\r\nvar seniorLabel = find(\"#evSeniorLabel\");\r\n\r\nvar adultTotal = find(\"#evAdultTotal\");\r\nvar childTotal = find(\"#evChildTotal\");\r\nvar seniorTotal = find(\"#evSeniorTotal\");\r\n\r\nvar originalTotalDisplay = find(\"#evOriginalTotal\");\r\nvar discountTotalDisplay = find(\"#evDiscountTotal\");\r\nvar totalDisplay = find(\"#evTotal\");\r\nvar mobileTotal = find(\"#evMobileTotal\");\r\n\r\n\r\nfunction money(value){\r\n\r\n    return new Intl.NumberFormat(\r\n        \"fr-BE\",\r\n        {\r\n            style:\"currency\",\r\n            currency:\"EUR\",\r\n            minimumFractionDigits:0,\r\n            maximumFractionDigits:0\r\n        }\r\n    ).format(Math.round(Number(value)));\r\n}\r\n\r\n\r\nfunction getTotal(){\r\n\r\n    return (\r\n        adults * prices.standard.adult\r\n    ) + (\r\n        children * prices.standard.child\r\n    ) + (\r\n        seniors * prices.standard.senior\r\n    );\r\n}\r\n\r\n\r\nfunction getOriginalTotal(){\r\n\r\n    return (\r\n        adults * basePrices.standard.adult\r\n    ) + (\r\n        children * basePrices.standard.child\r\n    ) + (\r\n        seniors * basePrices.standard.senior\r\n    );\r\n}\r\n\r\nfunction formatVisitDate(value){\r\n\r\n    if(!value){\r\n        return \"\";\r\n    }\r\n\r\n    try{\r\n        var parts = value.split(\"-\");\r\n        var d = new Date(\r\n            Number(parts[0]),\r\n            Number(parts[1]) - 1,\r\n            Number(parts[2])\r\n        );\r\n\r\n        return new Intl.DateTimeFormat(\r\n            \"fr-BE\",\r\n            {\r\n                weekday:\"short\",\r\n                day:\"numeric\",\r\n                month:\"short\",\r\n                year:\"numeric\"\r\n            }\r\n        ).format(d);\r\n\r\n    }catch(error){\r\n        return value;\r\n    }\r\n}\r\n\r\n\r\nfunction syncDateGuide(){\r\n\r\n    var date =\r\n    find(\"#evDate\");\r\n\r\n    var panel =\r\n    root.querySelector(\".ev-date-panel\");\r\n\r\n    var status =\r\n    find(\"#evDateStatus\");\r\n\r\n    var confirm =\r\n    find(\"#evDateConfirm\");\r\n\r\n    var hasDate =\r\n    !!(date && date.value);\r\n\r\n    if(panel){\r\n        panel.classList.toggle(\"is-selected\",hasDate);\r\n    }\r\n\r\n    if(status){\r\n\r\n        if(hasDate){\r\n            status.className =\r\n            \"ev-date-status show success\";\r\n\r\n            status.textContent =\r\n            \"Date choisie : \" +\r\n            formatVisitDate(date.value);\r\n\r\n        }else{\r\n            status.className =\r\n            \"ev-date-status\";\r\n\r\n            status.textContent = \"\";\r\n        }\r\n    }\r\n\r\n    if(confirm){\r\n        confirm.innerHTML =\r\n        hasDate\r\n        ? 'Continuer vers les visiteurs <span aria-hidden=\"true\">\u2192<\/span>'\r\n        : 'Choisir cette date <span aria-hidden=\"true\">\u2192<\/span>';\r\n    }\r\n}\r\n\r\n\r\n\r\n\r\nfunction syncBuyState(){\r\n\r\n    var buy = find(\"#evRequest\");\r\n    var mobile = find(\"#evMobileSelect\");\r\n    var date = find(\"#evDate\");\r\n    var total = getTotal();\r\n\r\n    var ticketCount =\r\n    adults +\r\n    children +\r\n    seniors;\r\n\r\n    var hasDate = !!(date && date.value);\r\n    var hasTickets = ticketCount > 0;\r\n    var ready = hasDate && hasTickets && total > 0;\r\n\r\n\r\n    if(buy){\r\n\r\n        buy.disabled = false;\r\n\r\n        buy.setAttribute(\r\n            \"aria-disabled\",\r\n            ready ? \"false\" : \"true\"\r\n        );\r\n\r\n        var text = find(\"#evBuyText\");\r\n\r\n        if(text){\r\n\r\n            if(ready){\r\n                text.textContent =\r\n                \"Acheter maintenant \u00b7 \" +\r\n                money(total);\r\n\r\n            }else if(hasTickets && !hasDate){\r\n                text.textContent =\r\n                \"Choisir une date \u00b7 \" +\r\n                money(total);\r\n\r\n            }else if(hasDate && !hasTickets){\r\n                text.textContent =\r\n                \"Ajouter au moins 1 billet\";\r\n\r\n            }else{\r\n                text.textContent =\r\n                \"Choisir vos billets\";\r\n            }\r\n        }\r\n\r\n        buy.classList.toggle(\r\n            \"is-ready\",\r\n            ready\r\n        );\r\n    }\r\n\r\n\r\n    if(mobile){\r\n\r\n        mobile.disabled =\r\n        false;\r\n\r\n        mobile.setAttribute(\r\n            \"aria-disabled\",\r\n            ready ? \"false\" : \"true\"\r\n        );\r\n\r\n        var mobileHint =\r\n        find(\"#evMobileHint\");\r\n\r\n        if(ready){\r\n\r\n            if(mobileHint){\r\n                mobileHint.textContent =\r\n                \"Votre total\";\r\n            }\r\n\r\n            if(mobileTotal){\r\n                mobileTotal.textContent =\r\n                money(total);\r\n            }\r\n\r\n            mobile.textContent =\r\n            \"Continuer \u00b7 \" +\r\n            money(total);\r\n\r\n        }else if(!hasDate){\r\n\r\n            if(mobileHint){\r\n                mobileHint.textContent =\r\n                \"\u00c9tape 2 sur 3\";\r\n            }\r\n\r\n            if(mobileTotal){\r\n                mobileTotal.textContent =\r\n                \"Date de visite\";\r\n            }\r\n\r\n            mobile.textContent =\r\n            \"Choisir ma date\";\r\n\r\n        }else if(!hasTickets){\r\n\r\n            if(mobileHint){\r\n                mobileHint.textContent =\r\n                \"\u00c9tape 3 sur 3\";\r\n            }\r\n\r\n            if(mobileTotal){\r\n                mobileTotal.textContent =\r\n                \"Visiteurs\";\r\n            }\r\n\r\n            mobile.textContent =\r\n            \"Ajouter des visiteurs\";\r\n\r\n        }else{\r\n\r\n            if(mobileHint){\r\n                mobileHint.textContent =\r\n                \"\u00c9tape suivante\";\r\n            }\r\n\r\n            if(mobileTotal){\r\n                mobileTotal.textContent =\r\n                money(total);\r\n            }\r\n\r\n            mobile.textContent =\r\n            \"Continuer\";\r\n        }\r\n\r\n        mobile.classList.toggle(\r\n            \"is-ready\",\r\n            ready\r\n        );\r\n    }\r\n\r\n    syncDateGuide();\r\n}\r\n\r\n\r\nfunction updateBooking(){\r\n\r\n    var adultValue =\r\n    adults * prices.standard.adult;\r\n\r\n    var childValue =\r\n    children * prices.standard.child;\r\n\r\n    var seniorValue =\r\n    seniors * prices.standard.senior;\r\n\r\n    var total =\r\n    adultValue +\r\n    childValue +\r\n    seniorValue;\r\n\r\n    var originalTotal =\r\n    getOriginalTotal();\r\n\r\n    var discountValue =\r\n    originalTotal -\r\n    total;\r\n\r\n\r\n    if(adultDisplay){\r\n        adultDisplay.textContent = adults;\r\n    }\r\n\r\n    if(childDisplay){\r\n        childDisplay.textContent = children;\r\n    }\r\n\r\n    if(seniorDisplay){\r\n        seniorDisplay.textContent = seniors;\r\n    }\r\n\r\n\r\n    if(adultLabel){\r\n        adultLabel.textContent =\r\n        \"Adulte \" +\r\n        money(prices.standard.adult) +\r\n        \" \u00d7 \" +\r\n        adults;\r\n    }\r\n\r\n    if(childLabel){\r\n        childLabel.textContent =\r\n        \"Enfant \" +\r\n        money(prices.standard.child) +\r\n        \" \u00d7 \" +\r\n        children;\r\n    }\r\n\r\n    if(seniorLabel){\r\n        seniorLabel.textContent =\r\n        \"Senior \" +\r\n        money(prices.standard.senior) +\r\n        \" \u00d7 \" +\r\n        seniors;\r\n    }\r\n\r\n\r\n    if(adultTotal){\r\n        adultTotal.textContent =\r\n        money(adultValue);\r\n    }\r\n\r\n    if(childTotal){\r\n        childTotal.textContent =\r\n        money(childValue);\r\n    }\r\n\r\n    if(seniorTotal){\r\n        seniorTotal.textContent =\r\n        money(seniorValue);\r\n    }\r\n\r\n\r\n    if(originalTotalDisplay){\r\n        originalTotalDisplay.textContent =\r\n        money(originalTotal);\r\n    }\r\n\r\n    if(discountTotalDisplay){\r\n        discountTotalDisplay.textContent =\r\n        \"\u2212 \" +\r\n        money(discountValue);\r\n    }\r\n\r\n    if(totalDisplay){\r\n        totalDisplay.textContent =\r\n        money(total);\r\n    }\r\n\r\n    if(mobileTotal){\r\n        mobileTotal.textContent =\r\n        money(total);\r\n    }\r\n\r\n    syncBuyState();\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   COUNTERS\r\n============================================================ *\/\r\n\r\nfindAll(\".ev-counter button\")\r\n.forEach(function(button){\r\n\r\n    button.addEventListener(\r\n        \"click\",\r\n        function(event){\r\n\r\n            event.preventDefault();\r\n\r\n            var type =\r\n            this.getAttribute(\"data-type\");\r\n\r\n            var action =\r\n            this.getAttribute(\"data-action\");\r\n\r\n            var delta =\r\n            action === \"plus\" ? 1 : -1;\r\n\r\n\r\n            if(type === \"adult\"){\r\n                adults =\r\n                Math.max(\r\n                    0,\r\n                    Math.min(20, adults + delta)\r\n                );\r\n            }\r\n\r\n            if(type === \"child\"){\r\n                children =\r\n                Math.max(\r\n                    0,\r\n                    Math.min(20, children + delta)\r\n                );\r\n            }\r\n\r\n            if(type === \"senior\"){\r\n                seniors =\r\n                Math.max(\r\n                    0,\r\n                    Math.min(20, seniors + delta)\r\n                );\r\n            }\r\n\r\n            updateBooking();\r\n        }\r\n    );\r\n});\r\n\r\n\r\n\/* ============================================================\r\n   DATE\r\n============================================================ *\/\r\n\r\nvar dateInput = find(\"#evDate\");\r\n\r\nif(dateInput){\r\n\r\n    var now = new Date();\r\n\r\n    var local =\r\n    new Date(\r\n        now.getTime() -\r\n        now.getTimezoneOffset() * 60000\r\n    );\r\n\r\n    dateInput.min =\r\n    local.toISOString().split(\"T\")[0];\r\n\r\n    dateInput.addEventListener(\r\n        \"input\",\r\n        function(){\r\n            updateBooking();\r\n        }\r\n    );\r\n\r\n    dateInput.addEventListener(\r\n        \"change\",\r\n        function(){\r\n            updateBooking();\r\n        }\r\n    );\r\n\r\n}\r\n\r\n\r\nif(dateConfirm){\r\n\r\n    dateConfirm.addEventListener(\r\n        \"click\",\r\n        function(event){\r\n\r\n            event.preventDefault();\r\n\r\n            if(!dateInput || !dateInput.value){\r\n\r\n                if(dateStatus){\r\n                    dateStatus.className =\r\n                    \"ev-date-status show error\";\r\n\r\n                    dateStatus.textContent =\r\n                    \"Choisissez d\u2019abord une date de visite.\";\r\n                }\r\n\r\n                if(dateInput){\r\n                    try{\r\n                        if(typeof dateInput.showPicker === \"function\"){\r\n                            dateInput.showPicker();\r\n                        }else{\r\n                            dateInput.focus();\r\n                        }\r\n                    }catch(error){\r\n                        try{ dateInput.focus(); }catch(ignore){}\r\n                    }\r\n                }\r\n\r\n                return;\r\n            }\r\n\r\n            syncDateGuide();\r\n\r\n            if(visitorsStep){\r\n                visitorsStep.scrollIntoView({\r\n                    behavior:\"smooth\",\r\n                    block:\"center\"\r\n                });\r\n            }\r\n        }\r\n    );\r\n}\r\n\r\n\r\nupdateBooking();\r\n\r\n\r\n\r\n\/* ============================================================\r\n   FAQ\r\n============================================================ *\/\r\n\r\nfindAll(\r\n    \".ev-faq-question\"\r\n)\r\n.forEach(function(button){\r\n\r\n    button.addEventListener(\r\n        \"click\",\r\n        function(event){\r\n\r\n            event.preventDefault();\r\n\r\n\r\n            var item =\r\n            this.closest(\r\n                \".ev-faq-item\"\r\n            );\r\n\r\n\r\n            if(item){\r\n\r\n                item.classList.toggle(\r\n                    \"open\"\r\n                );\r\n\r\n            }\r\n\r\n        }\r\n    );\r\n\r\n});\r\n\r\n\r\n\r\n\/* ============================================================\r\n   MANUAL-AMOUNT STRIPE PAYMENT\r\n   ONE Stripe custom-amount link.\r\n   No EuroVoya reference, quantity, date or other parameter is sent.\r\n============================================================ *\/\r\n\r\nvar requestButton =\r\nfind(\"#evRequest\");\r\n\r\nvar message =\r\nfind(\"#evFormMessage\");\r\n\r\n\/* Replace ONLY this value when the Stripe link is ready. *\/\r\nvar stripeCustomAmountLink =\r\n\"PASTE_YOUR_STRIPE_CUSTOM_AMOUNT_LINK_HERE\";\r\n\r\n\r\nfunction showMessage(text,type){\r\n\r\n    if(!message){\r\n        return;\r\n    }\r\n\r\n    message.textContent =\r\n    text;\r\n\r\n    message.className =\r\n    \"ev-form-message \" +\r\n    type;\r\n}\r\n\r\n\r\nfunction isStripeLinkConfigured(){\r\n\r\n    return (\r\n        typeof stripeCustomAmountLink === \"string\" &&\r\n        \/^https:\\\/\\\/(buy|checkout)\\.stripe\\.com\\\/\/i.test(\r\n            stripeCustomAmountLink.trim()\r\n        )\r\n    );\r\n}\r\n\r\n\r\nfunction buildStripeUrl(){\r\n\r\n    if(!isStripeLinkConfigured()){\r\n        return \"\";\r\n    }\r\n\r\n    \/* EXACT link supplied by you \u2014 nothing appended. *\/\r\n    return stripeCustomAmountLink.trim();\r\n}\r\n\r\n\r\nfunction redirectNoReferrer(url){\r\n\r\n    var link =\r\n    document.createElement(\"a\");\r\n\r\n    link.href = url;\r\n    link.target = \"_self\";\r\n    link.rel = \"noreferrer noopener\";\r\n    link.referrerPolicy = \"no-referrer\";\r\n    link.setAttribute(\"referrerpolicy\",\"no-referrer\");\r\n    link.style.display = \"none\";\r\n\r\n    document.body.appendChild(link);\r\n    link.click();\r\n    link.remove();\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   PAYMENT CONFIRMATION PANEL\r\n============================================================ *\/\r\n\r\nvar payModal =\r\nfind(\"#evPayModal\");\r\n\r\nvar payClose =\r\nfind(\"#evPayClose\");\r\n\r\nvar payAmount =\r\nfind(\"#evPayAmount\");\r\n\r\nvar payAmountInline =\r\nfind(\"#evPayAmountInline\");\r\n\r\nvar payCopy =\r\nfind(\"#evPayCopy\");\r\n\r\nvar payContinue =\r\nfind(\"#evPayContinue\");\r\n\r\nvar payError =\r\nfind(\"#evPayError\");\r\n\r\nvar bookingCard =\r\nfind(\"#evBooking\");\r\n\r\n\r\nfunction closePayModal(){\r\n\r\n    if(!payModal){\r\n        return;\r\n    }\r\n\r\n    payModal.classList.remove(\"open\");\r\n    payModal.setAttribute(\"aria-hidden\",\"true\");\r\n    document.body.classList.remove(\"ev-pay-lock\");\r\n}\r\n\r\n\r\nfunction openPayModal(){\r\n\r\n    \/* Never use a stale total. *\/\r\n    updateBooking();\r\n\r\n    var date =\r\n    dateInput ? dateInput.value : \"\";\r\n\r\n    var totalTickets =\r\n    adults + children + seniors;\r\n\r\n    var total =\r\n    getTotal();\r\n\r\n    if(!date){\r\n\r\n        showMessage(\r\n            \"Choisissez votre date de visite.\",\r\n            \"error\"\r\n        );\r\n\r\n        if(dateStep){\r\n            dateStep.scrollIntoView({\r\n                behavior:\"smooth\",\r\n                block:\"center\"\r\n            });\r\n        }\r\n\r\n        if(dateInput){\r\n            try{\r\n                if(typeof dateInput.showPicker === \"function\"){\r\n                    dateInput.showPicker();\r\n                }else{\r\n                    dateInput.focus();\r\n                }\r\n            }catch(error){\r\n                try{ dateInput.focus(); }catch(ignore){}\r\n            }\r\n        }\r\n\r\n        return;\r\n    }\r\n\r\n    if(totalTickets < 1){\r\n\r\n        showMessage(\r\n            \"S\u00e9lectionnez au moins un billet.\",\r\n            \"error\"\r\n        );\r\n\r\n        if(visitorsStep){\r\n            visitorsStep.scrollIntoView({\r\n                behavior:\"smooth\",\r\n                block:\"center\"\r\n            });\r\n        }\r\n\r\n        return;\r\n    }\r\n\r\n    if(message){\r\n        message.className = \"ev-form-message\";\r\n        message.textContent = \"\";\r\n    }\r\n\r\n    if(payAmount){\r\n        payAmount.textContent = money(total);\r\n    }\r\n\r\n    if(payAmountInline){\r\n        payAmountInline.textContent = money(total);\r\n    }\r\n\r\n    if(payCopy){\r\n        payCopy.textContent =\r\n        \"Copier \" + money(total);\r\n    }\r\n\r\n    if(payError){\r\n        payError.classList.remove(\"show\");\r\n    }\r\n\r\n    if(payModal){\r\n        payModal.classList.add(\"open\");\r\n        payModal.setAttribute(\"aria-hidden\",\"false\");\r\n        document.body.classList.add(\"ev-pay-lock\");\r\n    }\r\n}\r\n\r\n\r\nif(requestButton){\r\n    requestButton.addEventListener(\r\n        \"click\",\r\n        function(event){\r\n            event.preventDefault();\r\n            openPayModal();\r\n        }\r\n    );\r\n}\r\n\r\n\r\nif(payClose){\r\n    payClose.addEventListener(\"click\",closePayModal);\r\n}\r\n\r\n\r\nif(payModal){\r\n    payModal.addEventListener(\r\n        \"click\",\r\n        function(event){\r\n            if(event.target === payModal){\r\n                closePayModal();\r\n            }\r\n        }\r\n    );\r\n}\r\n\r\n\r\ndocument.addEventListener(\r\n    \"keydown\",\r\n    function(event){\r\n        if(\r\n            event.key === \"Escape\" &&\r\n            payModal &&\r\n            payModal.classList.contains(\"open\")\r\n        ){\r\n            closePayModal();\r\n        }\r\n    }\r\n);\r\n\r\n\r\nif(payCopy){\r\n    payCopy.addEventListener(\r\n        \"click\",\r\n        async function(){\r\n\r\n            var rawAmount =\r\n            String(Math.round(getTotal()));\r\n\r\n            try{\r\n                await navigator.clipboard.writeText(rawAmount);\r\n                payCopy.textContent = \"Montant copi\u00e9 \u2713\";\r\n\r\n                setTimeout(\r\n                    function(){\r\n                        payCopy.textContent =\r\n                        \"Copier \" + money(getTotal());\r\n                    },\r\n                    1600\r\n                );\r\n            }catch(error){\r\n                payCopy.textContent =\r\n                \"Montant : \" + rawAmount + \" \u20ac\";\r\n            }\r\n        }\r\n    );\r\n}\r\n\r\n\r\nif(payContinue){\r\n    payContinue.addEventListener(\r\n        \"click\",\r\n        function(){\r\n\r\n            var url =\r\n            buildStripeUrl();\r\n\r\n            if(!url){\r\n                if(payError){\r\n                    payError.classList.add(\"show\");\r\n                }\r\n                return;\r\n            }\r\n\r\n            redirectNoReferrer(url);\r\n        }\r\n    );\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   MOBILE STICKY BUY BUTTON\r\n============================================================ *\/\r\n\r\nvar mobileButton =\r\nfind(\"#evMobileSelect\");\r\n\r\nif(mobileButton){\r\n    mobileButton.addEventListener(\r\n        \"click\",\r\n        function(event){\r\n\r\n            event.preventDefault();\r\n\r\n            var hasDate =\r\n            !!(dateInput && dateInput.value);\r\n\r\n            var hasTickets =\r\n            (adults + children + seniors) > 0;\r\n\r\n            if(!hasDate || !hasTickets){\r\n\r\n                if(!hasDate){\r\n\r\n                    if(dateStep){\r\n                        dateStep.scrollIntoView({\r\n                            behavior:\"smooth\",\r\n                            block:\"center\"\r\n                        });\r\n                    }\r\n\r\n                    if(dateInput){\r\n                        try{\r\n                            if(typeof dateInput.showPicker === \"function\"){\r\n                                dateInput.showPicker();\r\n                            }else{\r\n                                dateInput.focus();\r\n                            }\r\n                        }catch(error){\r\n                            try{ dateInput.focus(); }catch(ignore){}\r\n                        }\r\n                    }\r\n\r\n                }else if(!hasTickets && visitorsStep){\r\n\r\n                    visitorsStep.scrollIntoView({\r\n                        behavior:\"smooth\",\r\n                        block:\"center\"\r\n                    });\r\n                }\r\n\r\n                return;\r\n            }\r\n\r\n            openPayModal();\r\n        }\r\n    );\r\n}\r\n\r\n\r\n\/* ============================================================\r\n   REVIEW MARQUEE\r\n============================================================ *\/\r\n\r\nfindAll(\r\n    \"[data-review-track]\"\r\n)\r\n.forEach(function(track){\r\n\r\n    if(\r\n        track.dataset.cloned ===\r\n        \"1\"\r\n    ){\r\n        return;\r\n    }\r\n\r\n\r\n    track.innerHTML +=\r\n    track.innerHTML;\r\n\r\n\r\n    track.dataset.cloned =\r\n    \"1\";\r\n\r\n});\r\n\r\n\r\n\r\n\/* ============================================================\r\n   PHOTO LIGHTBOX\r\n============================================================ *\/\r\n\r\nvar modal =\r\nfind(\"#evModal\");\r\n\r\n\r\nvar modalImage =\r\nfind(\"#evModalImage\");\r\n\r\n\r\nvar modalCount =\r\nfind(\"#evModalCount\");\r\n\r\n\r\nvar currentPhoto =\r\n0;\r\n\r\n\r\nfunction showPhoto(index){\r\n\r\n    if(\r\n        !modal ||\r\n        !modalImage\r\n    ){\r\n        return;\r\n    }\r\n\r\n\r\n    if(index < 0){\r\n\r\n        index =\r\n        photos.length - 1;\r\n\r\n    }\r\n\r\n\r\n    if(\r\n        index >=\r\n        photos.length\r\n    ){\r\n\r\n        index = 0;\r\n\r\n    }\r\n\r\n\r\n    currentPhoto =\r\n    index;\r\n\r\n\r\n    modalImage.src =\r\n    photos[currentPhoto];\r\n\r\n\r\n    if(modalCount){\r\n\r\n        modalCount.textContent =\r\n        (\r\n            currentPhoto + 1\r\n        ) +\r\n        \" \/ \" +\r\n        photos.length;\r\n\r\n    }\r\n\r\n}\r\n\r\n\r\nfunction openGallery(index){\r\n\r\n    if(!modal){\r\n        return;\r\n    }\r\n\r\n\r\n    showPhoto(index);\r\n\r\n\r\n    modal.classList.add(\r\n        \"open\"\r\n    );\r\n\r\n\r\n    document.body.style.overflow =\r\n    \"hidden\";\r\n\r\n}\r\n\r\n\r\nfunction closeGallery(){\r\n\r\n    if(!modal){\r\n        return;\r\n    }\r\n\r\n\r\n    modal.classList.remove(\r\n        \"open\"\r\n    );\r\n\r\n\r\n    document.body.style.overflow =\r\n    \"\";\r\n\r\n}\r\n\r\n\r\nfindAll(\r\n    \".ev-gallery-item\"\r\n)\r\n.forEach(function(item){\r\n\r\n    item.addEventListener(\r\n        \"click\",\r\n        function(event){\r\n\r\n            if(\r\n                event.target.closest(\r\n                    \"#evViewAll\"\r\n                )\r\n            ){\r\n                return;\r\n            }\r\n\r\n\r\n            var index =\r\n            parseInt(\r\n                this.getAttribute(\r\n                    \"data-photo\"\r\n                ),\r\n                10\r\n            );\r\n\r\n\r\n            if(\r\n                isNaN(index)\r\n            ){\r\n\r\n                index = 0;\r\n\r\n            }\r\n\r\n\r\n            openGallery(index);\r\n\r\n        }\r\n    );\r\n\r\n});\r\n\r\n\r\nvar viewAll =\r\nfind(\"#evViewAll\");\r\n\r\n\r\nif(viewAll){\r\n\r\n    viewAll.addEventListener(\r\n        \"click\",\r\n        function(event){\r\n\r\n            event.preventDefault();\r\n\r\n            event.stopPropagation();\r\n\r\n\r\n            openGallery(0);\r\n\r\n        }\r\n    );\r\n\r\n}\r\n\r\n\r\nvar modalClose =\r\nfind(\"#evModalClose\");\r\n\r\n\r\nvar modalPrev =\r\nfind(\"#evModalPrev\");\r\n\r\n\r\nvar modalNext =\r\nfind(\"#evModalNext\");\r\n\r\n\r\nif(modalClose){\r\n\r\n    modalClose.addEventListener(\r\n        \"click\",\r\n        closeGallery\r\n    );\r\n\r\n}\r\n\r\n\r\nif(modalPrev){\r\n\r\n    modalPrev.addEventListener(\r\n        \"click\",\r\n        function(){\r\n\r\n            showPhoto(\r\n                currentPhoto - 1\r\n            );\r\n\r\n        }\r\n    );\r\n\r\n}\r\n\r\n\r\nif(modalNext){\r\n\r\n    modalNext.addEventListener(\r\n        \"click\",\r\n        function(){\r\n\r\n            showPhoto(\r\n                currentPhoto + 1\r\n            );\r\n\r\n        }\r\n    );\r\n\r\n}\r\n\r\n\r\nif(modal){\r\n\r\n    modal.addEventListener(\r\n        \"click\",\r\n        function(event){\r\n\r\n            if(\r\n                event.target ===\r\n                modal\r\n            ){\r\n\r\n                closeGallery();\r\n\r\n            }\r\n\r\n        }\r\n    );\r\n\r\n}\r\n\r\n\r\n\r\n\/* ============================================================\r\n   MOBILE PHOTO SWIPE\r\n============================================================ *\/\r\n\r\nvar mainPhoto =\r\nfind(\r\n    '.ev-gallery-image[data-image-index=\"0\"]'\r\n);\r\n\r\n\r\nvar touchStartX =\r\n0;\r\n\r\n\r\nvar mobilePhotoIndex =\r\n0;\r\n\r\n\r\nif(mainPhoto){\r\n\r\n    mainPhoto.addEventListener(\r\n        \"touchstart\",\r\n        function(event){\r\n\r\n            if(\r\n                event.touches &&\r\n                event.touches.length\r\n            ){\r\n\r\n                touchStartX =\r\n                event.touches[0]\r\n                .clientX;\r\n\r\n            }\r\n\r\n        },\r\n        {\r\n            passive:true\r\n        }\r\n    );\r\n\r\n\r\n    mainPhoto.addEventListener(\r\n        \"touchend\",\r\n        function(event){\r\n\r\n            if(\r\n                !event.changedTouches ||\r\n                !event.changedTouches.length\r\n            ){\r\n                return;\r\n            }\r\n\r\n\r\n            var endX =\r\n            event.changedTouches[0]\r\n            .clientX;\r\n\r\n\r\n            var difference =\r\n            endX -\r\n            touchStartX;\r\n\r\n\r\n            if(\r\n                Math.abs(\r\n                    difference\r\n                ) <\r\n                40\r\n            ){\r\n                return;\r\n            }\r\n\r\n\r\n            if(\r\n                difference <\r\n                0\r\n            ){\r\n\r\n                mobilePhotoIndex =\r\n                (\r\n                    mobilePhotoIndex +\r\n                    1\r\n                ) %\r\n                photos.length;\r\n\r\n            }else{\r\n\r\n                mobilePhotoIndex =\r\n                (\r\n                    mobilePhotoIndex -\r\n                    1 +\r\n                    photos.length\r\n                ) %\r\n                photos.length;\r\n\r\n            }\r\n\r\n\r\n            mainPhoto.src =\r\n            photos[\r\n                mobilePhotoIndex\r\n            ];\r\n\r\n        },\r\n        {\r\n            passive:true\r\n        }\r\n    );\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\/* ============================================================\r\n   AUTOMATIC MAIN PHOTO ROTATION\r\n   Soft fade every 4.8 seconds. Pauses while the gallery is open\r\n   or while the user is hovering over the desktop gallery.\r\n============================================================ *\/\r\n\r\nvar autoPhotoIndex =\r\nmobilePhotoIndex || 0;\r\n\r\nvar autoPhotoTimer =\r\nnull;\r\n\r\nvar autoPhotoPaused =\r\nfalse;\r\n\r\n\r\nfunction switchMainPhoto(index){\r\n\r\n    if(\r\n        !mainPhoto ||\r\n        !photos.length\r\n    ){\r\n        return;\r\n    }\r\n\r\n    autoPhotoIndex =\r\n    (\r\n        index +\r\n        photos.length\r\n    ) %\r\n    photos.length;\r\n\r\n    mainPhoto.classList.add(\r\n        \"ev-photo-switching\"\r\n    );\r\n\r\n    window.setTimeout(\r\n        function(){\r\n\r\n            mainPhoto.src =\r\n            photos[\r\n                autoPhotoIndex\r\n            ];\r\n\r\n            mainPhoto.setAttribute(\r\n                \"data-image-index\",\r\n                String(autoPhotoIndex)\r\n            );\r\n\r\n            var mainItem =\r\n            mainPhoto.closest(\r\n                \".ev-gallery-main\"\r\n            );\r\n\r\n            if(mainItem){\r\n\r\n                mainItem.setAttribute(\r\n                    \"data-photo\",\r\n                    String(autoPhotoIndex)\r\n                );\r\n            }\r\n\r\n            mobilePhotoIndex =\r\n            autoPhotoIndex;\r\n\r\n            window.requestAnimationFrame(\r\n                function(){\r\n\r\n                    mainPhoto.classList.remove(\r\n                        \"ev-photo-switching\"\r\n                    );\r\n                }\r\n            );\r\n\r\n        },\r\n        210\r\n    );\r\n}\r\n\r\n\r\nfunction rotateMainPhoto(){\r\n\r\n    if(\r\n        autoPhotoPaused ||\r\n        document.hidden ||\r\n        (\r\n            modal &&\r\n            modal.classList.contains(\r\n                \"open\"\r\n            )\r\n        )\r\n    ){\r\n        return;\r\n    }\r\n\r\n    switchMainPhoto(\r\n        autoPhotoIndex + 1\r\n    );\r\n}\r\n\r\n\r\nfunction startAutoPhotoRotation(){\r\n\r\n    if(\r\n        autoPhotoTimer ||\r\n        !mainPhoto ||\r\n        photos.length < 2\r\n    ){\r\n        return;\r\n    }\r\n\r\n    autoPhotoTimer =\r\n    window.setInterval(\r\n        rotateMainPhoto,\r\n        4800\r\n    );\r\n}\r\n\r\n\r\nfunction stopAutoPhotoRotation(){\r\n\r\n    if(autoPhotoTimer){\r\n\r\n        window.clearInterval(\r\n            autoPhotoTimer\r\n        );\r\n\r\n        autoPhotoTimer =\r\n        null;\r\n    }\r\n}\r\n\r\n\r\nvar galleryBox =\r\nfind(\".ev-gallery\");\r\n\r\n\r\nif(galleryBox){\r\n\r\n    galleryBox.addEventListener(\r\n        \"mouseenter\",\r\n        function(){\r\n            autoPhotoPaused = true;\r\n        }\r\n    );\r\n\r\n    galleryBox.addEventListener(\r\n        \"mouseleave\",\r\n        function(){\r\n            autoPhotoPaused = false;\r\n        }\r\n    );\r\n}\r\n\r\n\r\ndocument.addEventListener(\r\n    \"visibilitychange\",\r\n    function(){\r\n\r\n        if(document.hidden){\r\n            stopAutoPhotoRotation();\r\n        }else{\r\n            startAutoPhotoRotation();\r\n        }\r\n    }\r\n);\r\n\r\n\r\nstartAutoPhotoRotation();\r\n\r\n\r\n\r\n\/* ============================================================\r\n   INITIALISE\r\n============================================================ *\/\r\n\r\nupdateBooking();\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Voir les 5 photos Parcs &amp; famille \u00b7 Parcs \u00e0 th\u00e8me \u00b7 Belgique Bobbejaanland Lichtaart, Belgique Profitez d\u2019une journ\u00e9e \u00e0 Bobbejaanland, l\u2019un des grands parcs d\u2019attractions belges. Montagnes russes, attractions aquatiques et exp\u00e9riences familiales se r\u00e9partissent autour du lac du parc, avec des incontournables comme Fury, Typhoon et Dreamcatcher. Parc \u00e0 th\u00e8me Famille Sensations Attractions [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9011","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/eurovoya.com\/nl\/wp-json\/wp\/v2\/pages\/9011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eurovoya.com\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eurovoya.com\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eurovoya.com\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eurovoya.com\/nl\/wp-json\/wp\/v2\/comments?post=9011"}],"version-history":[{"count":10,"href":"https:\/\/eurovoya.com\/nl\/wp-json\/wp\/v2\/pages\/9011\/revisions"}],"predecessor-version":[{"id":9044,"href":"https:\/\/eurovoya.com\/nl\/wp-json\/wp\/v2\/pages\/9011\/revisions\/9044"}],"wp:attachment":[{"href":"https:\/\/eurovoya.com\/nl\/wp-json\/wp\/v2\/media?parent=9011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}