{"id":11,"date":"2026-04-05T19:50:40","date_gmt":"2026-04-05T19:50:40","guid":{"rendered":"http:\/\/outsidepark.mk-it.be\/?page_id=11"},"modified":"2026-04-05T21:25:42","modified_gmt":"2026-04-05T21:25:42","slug":"accueil","status":"publish","type":"page","link":"https:\/\/outsidepark.mk-it.be\/","title":{"rendered":"Accueil"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11\" class=\"elementor elementor-11\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-22baf52 e-con-full e-flex e-con e-parent\" data-id=\"22baf52\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4faf22e elementor-widget elementor-widget-html\" data-id=\"4faf22e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- \u26a0\ufe0f REMPLACER LES CHEMINS D'IMAGES : remplacez les noms de fichiers images par l'URL compl\u00e8te depuis la biblioth\u00e8que m\u00e9dias WordPress -->\r\n<!-- OUTSIDE PARK \u2014 Page Accueil \u2014 Widget Elementor -->\r\n<!-- Coller dans : Elementor > HTML Widget OU Custom Code > Body -->\r\n\r\n<link rel=\"preconnect\" href=\"https:\/\/api.fontshare.com\">\r\n<link href=\"https:\/\/api.fontshare.com\/v2\/css?f[]=satoshi@700,500,400&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n\/* === STYLE.CSS === *\/\r\n\/* ============================================================\r\n   OUTSIDE PARK \u2014 v2 Ultra Design\r\n   #0055B3 | #006ADF | Satoshi\r\n   ============================================================ *\/\r\n\r\n@import url('https:\/\/api.fontshare.com\/v2\/css?f[]=satoshi@300,400,500,600,700,800,900&display=swap');\r\n\r\n\/* \u2500\u2500 TOKENS \u2500\u2500 *\/\r\n:root {\r\n  --p:        #0055B3;\r\n  --p2:       #006ADF;\r\n  --p3:       #0082FF;\r\n  --p-light:  #EBF3FF;\r\n  --p-glow:   rgba(0,106,223,0.22);\r\n  --dark:     #050D1A;\r\n  --dark2:    #091525;\r\n  --dark3:    #0D1E35;\r\n  --light:    #F4F8FF;\r\n  --white:    #FFFFFF;\r\n  --muted:    rgba(255,255,255,0.52);\r\n  --border:   rgba(255,255,255,0.07);\r\n  --border-l: rgba(0,85,179,0.12);\r\n  --wa:       #25D366;\r\n  --wa-glow:  rgba(37,211,102,0.35);\r\n  --grad:     linear-gradient(135deg,#0055B3 0%,#006ADF 55%,#0082FF 100%);\r\n  --grad-r:   linear-gradient(225deg,#0055B3 0%,#006ADF 55%,#0082FF 100%);\r\n  --sh:       0 4px 24px rgba(0,85,179,0.14);\r\n  --sh-lg:    0 20px 64px rgba(0,85,179,0.22);\r\n  --sh-xl:    0 40px 120px rgba(0,0,0,0.28);\r\n  --r:        14px;\r\n  --r2:       22px;\r\n  --r3:       32px;\r\n  --ease:     cubic-bezier(0.4,0,0.2,1);\r\n  --t:        all 0.3s var(--ease);\r\n  --font:     'Satoshi',-apple-system,BlinkMacSystemFont,sans-serif;\r\n}\r\n\r\n\/* \u2500\u2500 RESET \u2500\u2500 *\/\r\n*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}\r\nhtml{scroll-behavior:smooth;font-size:16px;}\r\nbody{font-family:var(--font);color:var(--dark);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6;}\r\nimg{max-width:100%;height:auto;display:block;}\r\na{text-decoration:none;color:inherit;}\r\nbutton{cursor:pointer;border:none;outline:none;font-family:var(--font);background:none;}\r\nul{list-style:none;}\r\n\r\n\/* \u2500\u2500 UTILS \u2500\u2500 *\/\r\n.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 28px;}\r\n.wrap-sm{max-width:960px;margin:0 auto;padding:0 28px;}\r\n.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}\r\n\r\n\/* \u2500\u2500 ANNOUNCE BAR \u2500\u2500 *\/\r\n.announce{\r\n  background:var(--dark);padding:11px 0;text-align:center;\r\n  font-size:13px;font-weight:600;color:rgba(255,255,255,0.75);\r\n  position:relative;z-index:1002;letter-spacing:0.01em;\r\n}\r\n.announce strong{color:white;font-weight:800;}\r\n.announce a{color:#60AFFF;font-weight:700;text-decoration:underline;}\r\n\r\n\/* \u2500\u2500 NAVBAR \u2500\u2500 *\/\r\n.nav{\r\n  position:fixed;left:0;right:0;z-index:1000;\r\n  padding:0 28px;top:0;\r\n  background:linear-gradient(to bottom,rgba(5,13,26,0.82) 0%,rgba(5,13,26,0.0) 100%);\r\n  transition:background 0.4s var(--ease),box-shadow 0.3s var(--ease);\r\n}\r\n.nav.stuck{\r\n  top:0;\r\n  background:rgba(5,13,26,0.95);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);\r\n  box-shadow:0 1px 0 var(--border),0 8px 32px rgba(0,0,0,0.25);\r\n}\r\n.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;height:68px;}\r\n\r\n.nav-logo{display:flex;align-items:center;}\r\n.nav-logo img{height:40px;width:auto;transition:var(--t);}\r\n.logo-light-v{display:block;}\r\n.logo-dark-v{display:none;}\r\n[data-theme=\"light\"] .logo-light-v{display:none;}\r\n[data-theme=\"light\"] .logo-dark-v{display:block;}\r\n\r\n.nav-mid{display:flex;align-items:center;gap:28px;}\r\n.nav-mid a{font-size:13px;font-weight:600;color:rgba(255,255,255,0.72);transition:color 0.2s;letter-spacing:0.01em;}\r\n.nav-mid a:hover{color:white;}\r\n\r\n.nav-right{display:flex;align-items:center;gap:10px;}\r\n\r\n\/* Lang switcher *\/\r\n.langs{display:flex;gap:2px;background:rgba(255,255,255,0.07);border-radius:100px;padding:3px;}\r\n.lang{\r\n  padding:4px 10px;border-radius:100px;font-size:11px;font-weight:800;\r\n  color:rgba(255,255,255,0.45);letter-spacing:0.06em;text-transform:uppercase;transition:var(--t);\r\n}\r\n.lang.on{background:var(--grad);color:white;box-shadow:0 2px 8px rgba(0,106,223,0.4);}\r\n\r\n\/* Nav WhatsApp *\/\r\n.nav-wa{\r\n  display:flex;align-items:center;gap:7px;padding:9px 18px;border-radius:10px;\r\n  background:var(--wa);color:white;font-size:13px;font-weight:800;\r\n  box-shadow:0 4px 16px var(--wa-glow);transition:var(--t);\r\n}\r\n.nav-wa:hover{transform:translateY(-1px);box-shadow:0 6px 24px var(--wa-glow);}\r\n.nav-wa svg{flex-shrink:0;}\r\n\r\n\/* Nav account *\/\r\n.nav-acc{\r\n  display:flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;\r\n  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);\r\n  color:rgba(255,255,255,0.8);font-size:13px;font-weight:600;transition:var(--t);\r\n}\r\n.nav-acc:hover{background:rgba(255,255,255,0.14);}\r\n\r\n\/* Hamburger *\/\r\n.burger{display:none;flex-direction:column;gap:5px;padding:4px;cursor:pointer;}\r\n.burger span{display:block;width:24px;height:2px;background:rgba(255,255,255,0.8);border-radius:2px;transition:var(--t);}\r\n.burger.x span:nth-child(1){transform:translateY(7px) rotate(45deg);}\r\n.burger.x span:nth-child(2){opacity:0;transform:scaleX(0);}\r\n.burger.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}\r\n\r\n\/* Mobile drawer *\/\r\n.drawer{\r\n  position:fixed;inset:0;background:var(--dark2);z-index:999;\r\n  display:flex;flex-direction:column;padding:90px 32px 48px;\r\n  transform:translateX(100%);transition:transform 0.4s var(--ease);overflow-y:auto;\r\n}\r\n.drawer.open{transform:translateX(0);}\r\n.drawer-links{display:flex;flex-direction:column;flex:1;}\r\n.drawer-links a{\r\n  font-size:22px;font-weight:800;color:rgba(255,255,255,0.6);padding:18px 0;\r\n  border-bottom:1px solid var(--border);transition:color 0.2s;display:flex;align-items:center;justify-content:space-between;\r\n}\r\n.drawer-links a:hover{color:white;}\r\n.drawer-wa{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;background:var(--wa);color:white;border-radius:16px;font-size:18px;font-weight:800;box-shadow:0 8px 32px var(--wa-glow);}\r\n.drawer-langs{display:flex;gap:8px;margin-top:20px;}\r\n.drawer-lang{padding:10px 18px;border-radius:10px;font-size:12px;font-weight:800;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.4);letter-spacing:0.06em;transition:var(--t);}\r\n.drawer-lang.on{background:var(--grad);color:white;}\r\n\r\n\/* \u2500\u2500 HERO \u2500\u2500 *\/\r\n.hero{\r\n  min-height:100vh;position:relative;display:flex;align-items:center;\r\n  background:var(--dark);overflow:hidden;\r\n}\r\n\r\n\/* Background layers *\/\r\n.hero-bg{position:absolute;inset:0;background-image:url('..\/patterne.png');background-size:cover;background-position:center;opacity:0.55;}\r\n.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(3,8,20,0.88) 0%,rgba(5,13,26,0.82) 40%,rgba(0,30,80,0.65) 100%);}\r\n\r\n\/* Animated orbs *\/\r\n.orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none;}\r\n.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:0.18;animation:drift 18s ease-in-out infinite;}\r\n.orb-1{width:600px;height:600px;background:radial-gradient(circle,#0055B3,transparent);top:-100px;right:-150px;animation-delay:0s;}\r\n.orb-2{width:400px;height:400px;background:radial-gradient(circle,#006ADF,transparent);bottom:-50px;left:-100px;animation-delay:-6s;}\r\n.orb-3{width:300px;height:300px;background:radial-gradient(circle,#0082FF,transparent);top:40%;right:20%;animation-delay:-12s;}\r\n\r\n@keyframes drift{\r\n  0%,100%{transform:translate(0,0);}\r\n  33%{transform:translate(30px,-40px);}\r\n  66%{transform:translate(-20px,30px);}\r\n}\r\n\r\n\/* Pattern overlay (patterne.png) *\/\r\n.hero-pattern{\r\n  position:absolute;inset:0;pointer-events:none;\r\n  background-image:url('..\/patterne.png');\r\n  background-size:cover;background-position:center;\r\n  opacity:0.12;\r\n  mask-image:radial-gradient(ellipse 100% 100% at 65% 50%,black 0%,transparent 80%);\r\n}\r\n\r\n.hero-inner{\r\n  position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;\r\n  padding:120px 28px 80px;display:grid;grid-template-columns:1fr 440px;gap:72px;align-items:center;\r\n}\r\n\r\n\/* Hero text *\/\r\n.hero-label{\r\n  display:inline-flex;align-items:center;gap:8px;\r\n  background:rgba(0,106,223,0.15);border:1px solid rgba(0,106,223,0.3);\r\n  color:#60AFFF;font-size:12px;font-weight:700;padding:7px 16px;border-radius:100px;\r\n  margin-bottom:24px;letter-spacing:0.05em;text-transform:uppercase;\r\n  animation:fadeUp 0.7s ease both;\r\n}\r\n.hero-label svg{color:#60AFFF;}\r\n\r\n.hero-h1{\r\n  font-size:clamp(38px,5.5vw,70px);font-weight:900;color:white;line-height:1.05;\r\n  letter-spacing:-0.03em;margin-bottom:22px;\r\n  animation:fadeUp 0.7s ease 0.1s both;\r\n}\r\n.hero-h1 em{\r\n  font-style:normal;\r\n  background:linear-gradient(90deg,#60AFFF 0%,#A8D5FF 50%,#60AFFF 100%);\r\n  background-size:200% 100%;\r\n  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;\r\n  animation:shimmerText 3s linear infinite;\r\n}\r\n@keyframes shimmerText{from{background-position:200% 0}to{background-position:-200% 0}}\r\n\r\n.hero-sub{font-size:17px;color:rgba(255,255,255,0.65);margin-bottom:36px;line-height:1.75;max-width:500px;animation:fadeUp 0.7s ease 0.2s both;}\r\n\r\n.hero-pills{display:flex;flex-direction:column;gap:12px;margin-bottom:40px;animation:fadeUp 0.7s ease 0.3s both;}\r\n.hero-pill{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:rgba(255,255,255,0.85);}\r\n.pill-dot{width:20px;height:20px;border-radius:50%;background:rgba(37,211,102,0.15);border:1px solid rgba(37,211,102,0.4);display:flex;align-items:center;justify-content:center;flex-shrink:0;}\r\n.pill-dot svg{color:#4ADE80;}\r\n\r\n.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;animation:fadeUp 0.7s ease 0.4s both;}\r\n.btn-hero-book{\r\n  display:inline-flex;align-items:center;gap:9px;padding:16px 28px;\r\n  background:var(--grad);color:white;border-radius:12px;font-size:16px;font-weight:800;\r\n  box-shadow:0 6px 28px rgba(0,106,223,0.4);transition:var(--t);\r\n}\r\n.btn-hero-book:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,106,223,0.55);}\r\n.btn-hero-wa{\r\n  display:inline-flex;align-items:center;gap:9px;padding:16px 28px;\r\n  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);\r\n  color:white;border-radius:12px;font-size:16px;font-weight:700;\r\n  backdrop-filter:blur(10px);transition:var(--t);\r\n}\r\n.btn-hero-wa:hover{background:rgba(255,255,255,0.18);transform:translateY(-2px);}\r\n\r\n\/* BOOKING WIDGET *\/\r\n.bw{\r\n  background:white;border-radius:var(--r3);\r\n  box-shadow:0 48px 128px rgba(0,0,0,0.45),0 16px 48px rgba(0,85,179,0.2);\r\n  overflow:hidden;animation:fadeRight 0.8s ease 0.15s both;\r\n  position:relative;\r\n}\r\n@keyframes fadeRight{from{opacity:0;transform:translateX(48px);}to{opacity:1;transform:translateX(0);}}\r\n\r\n.bw-top{background:var(--grad);padding:22px 26px;position:relative;overflow:hidden;}\r\n.bw-top::before{content:'';position:absolute;inset:0;background-image:url('..\/background outside park.png');background-size:cover;opacity:0.08;}\r\n.bw-top h3{color:white;font-size:17px;font-weight:800;position:relative;z-index:1;}\r\n.bw-top p{color:rgba(255,255,255,0.75);font-size:13px;margin-top:2px;position:relative;z-index:1;}\r\n\r\n.bw-body{padding:24px;}\r\n\r\n\/* Type toggle *\/\r\n.type-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#F0F6FF;padding:5px;border-radius:12px;margin-bottom:22px;}\r\n.type-tab{\r\n  display:flex;align-items:center;justify-content:center;gap:7px;padding:11px;\r\n  border-radius:9px;font-size:13px;font-weight:700;color:#64748B;background:transparent;transition:var(--t);\r\n}\r\n.type-tab.on{background:white;color:var(--p);box-shadow:0 2px 12px rgba(0,85,179,0.12);}\r\n.type-tab svg{flex-shrink:0;}\r\n\r\n\/* Widget form *\/\r\n.wf-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}\r\n.wf-label{display:block;font-size:11px;font-weight:800;color:#94A3B8;letter-spacing:0.07em;text-transform:uppercase;margin-bottom:6px;}\r\n.wf-input{\r\n  width:100%;padding:12px 14px;border:2px solid #E2E8F0;border-radius:10px;\r\n  font-size:14px;font-weight:500;color:var(--dark);font-family:var(--font);background:white;transition:var(--t);\r\n}\r\n.wf-input:focus{outline:none;border-color:var(--p2);box-shadow:0 0 0 3px rgba(0,106,223,0.1);}\r\n\r\n\/* \u2500\u2500 Widget calendar \u2500\u2500 *\/\r\n.w-cal-wrap{position:relative;}\r\n.w-cal-sel{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;margin-bottom:0;}\r\n.w-cal-box{background:#F0F6FF;border:2px solid #E2E8F0;border-radius:10px;padding:8px 12px;cursor:pointer;transition:all 0.2s;}\r\n.w-cal-box:hover{border-color:var(--p2);}\r\n.w-cal-box.active{border-color:var(--p);box-shadow:0 0 0 3px rgba(0,106,223,0.1);}\r\n.w-cal-box.filled{border-color:rgba(0,85,179,0.35);background:#EBF3FF;}\r\n.w-cal-box-tag{font-size:9px;font-weight:800;letter-spacing:0.09em;text-transform:uppercase;color:#94A3B8;margin-bottom:3px;}\r\n.w-cal-box-val{font-size:13px;font-weight:700;color:#1a2a45;display:flex;align-items:center;}\r\n.w-cal-arrow{color:#94A3B8;font-size:18px;text-align:center;line-height:1;}\r\n\/* Popover *\/\r\n.w-cal-popover{\r\n  display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);\r\n  background:white;border:2px solid #E2E8F0;border-radius:16px;\r\n  padding:16px;z-index:600;\r\n  box-shadow:0 16px 48px rgba(0,85,179,0.18),0 4px 16px rgba(0,0,0,0.1);\r\n  animation:wCalFadeIn 0.18s ease;\r\n}\r\n.w-cal-popover.open{display:block;}\r\n@keyframes wCalFadeIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}\r\n.w-cal-popover::before{\r\n  content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);\r\n  border:7px solid transparent;border-bottom-color:#E2E8F0;\r\n}\r\n.w-cal-popover::after{\r\n  content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);\r\n  margin-bottom:-2px;border:6px solid transparent;border-bottom-color:white;\r\n}\r\n.w-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}\r\n.w-cal-nav-btn{width:28px;height:28px;border-radius:7px;border:2px solid #E2E8F0;background:#F0F6FF;color:#64748B;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;font-family:inherit;}\r\n.w-cal-nav-btn:hover{border-color:var(--p);color:var(--p);background:rgba(0,85,179,0.05);}\r\n.w-cal-title{font-size:12px;font-weight:800;color:#1a2a45;}\r\n.w-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;}\r\n.w-cal-dow{font-size:9px;font-weight:800;text-align:center;color:#94A3B8;padding:4px 0;letter-spacing:0.04em;}\r\n.w-cal-day{aspect-ratio:1;border-radius:6px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.12s;color:#1a2a45;position:relative;user-select:none;}\r\n.w-cal-day:hover:not(.disabled):not(.empty){background:rgba(0,85,179,0.12);color:var(--p);}\r\n.w-cal-day.today{font-weight:900;}\r\n.w-cal-day.today::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--p);}\r\n.w-cal-day.disabled{color:#CBD5E1;cursor:default;}\r\n.w-cal-day.empty{pointer-events:none;}\r\n.w-cal-day.sel-start,.w-cal-day.sel-end{background:var(--p) !important;color:white !important;font-weight:900;box-shadow:0 2px 8px rgba(0,85,179,0.3);z-index:1;}\r\n.w-cal-day.in-range{background:rgba(0,85,179,0.1);color:var(--p);border-radius:0;}\r\n.w-cal-day.sel-start{border-radius:7px 0 0 7px !important;}\r\n.w-cal-day.sel-end{border-radius:0 7px 7px 0 !important;}\r\n.w-cal-day.sel-start.sel-end{border-radius:7px !important;}\r\n\r\n\/* \u2500\u2500 Widget time dropdowns \u2500\u2500 *\/\r\n.wf-time-wrap{position:relative;}\r\n.wf-time-dd{width:100%;padding:11px 13px;background:white;border:2px solid #E2E8F0;border-radius:10px;font-size:14px;color:#1a2a45;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all 0.2s;user-select:none;font-family:inherit;}\r\n.wf-time-dd:hover{border-color:var(--p2);}\r\n.wf-time-dd.open{border-color:var(--p2);box-shadow:0 0 0 3px rgba(0,106,223,0.1);}\r\n.wf-time-dd-val{display:flex;align-items:center;gap:7px;font-weight:600;}\r\n.wf-time-night{font-size:9px;font-weight:900;color:#F59E0B;background:rgba(245,158,11,0.12);padding:2px 6px;border-radius:100px;}\r\n.wf-time-panel{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);background:white;border:2px solid #E2E8F0;border-radius:12px;z-index:500;max-height:200px;overflow-y:auto;box-shadow:0 10px 40px rgba(0,0,0,0.12);}\r\n.wf-time-panel.open{display:block;}\r\n.wf-time-opt{padding:8px 13px;font-size:12px;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background 0.1s;font-family:inherit;}\r\n.wf-time-opt:hover{background:#F0F6FF;color:var(--p);}\r\n.wf-time-opt.active{background:rgba(0,85,179,0.08);color:var(--p);font-weight:700;}\r\n.wf-time-opt.night-h{border-left:2px solid rgba(245,158,11,0.3);}\r\n.wf-time-badge{font-size:9px;font-weight:900;color:#F59E0B;background:rgba(245,158,11,0.12);padding:2px 6px;border-radius:100px;}\r\n\r\n\/* dark theme overrides for widget calendar\/time *\/\r\n[data-theme=\"dark\"] .w-cal-box{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);color:white;}\r\n[data-theme=\"dark\"] .w-cal-box:hover{border-color:rgba(0,85,179,0.5);}\r\n[data-theme=\"dark\"] .w-cal-box.filled{background:rgba(0,85,179,0.15);border-color:rgba(0,85,179,0.4);}\r\n[data-theme=\"dark\"] .w-cal-box-val{color:rgba(255,255,255,0.9);}\r\n[data-theme=\"dark\"] .w-cal-popover{background:#0D1B2E;border-color:rgba(255,255,255,0.1);box-shadow:0 16px 48px rgba(0,0,0,0.5);}\r\n[data-theme=\"dark\"] .w-cal-popover::before{border-bottom-color:rgba(255,255,255,0.1);}\r\n[data-theme=\"dark\"] .w-cal-popover::after{border-bottom-color:#0D1B2E;}\r\n[data-theme=\"dark\"] .w-cal-nav-btn{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.1);color:rgba(255,255,255,0.6);}\r\n[data-theme=\"dark\"] .w-cal-title{color:rgba(255,255,255,0.9);}\r\n[data-theme=\"dark\"] .w-cal-day{color:rgba(255,255,255,0.85);}\r\n[data-theme=\"dark\"] .w-cal-day:hover:not(.disabled):not(.empty){background:rgba(0,85,179,0.3);color:white;}\r\n[data-theme=\"dark\"] .w-cal-day.disabled{color:rgba(255,255,255,0.2);}\r\n[data-theme=\"dark\"] .w-cal-day.in-range{background:rgba(0,85,179,0.2);color:rgba(255,255,255,0.85);}\r\n[data-theme=\"dark\"] .wf-time-dd{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.1);color:rgba(255,255,255,0.9);}\r\n[data-theme=\"dark\"] .wf-time-panel{background:#0D1B2E;border-color:rgba(255,255,255,0.1);box-shadow:0 10px 40px rgba(0,0,0,0.4);}\r\n[data-theme=\"dark\"] .wf-time-opt{color:rgba(255,255,255,0.6);}\r\n[data-theme=\"dark\"] .wf-time-opt:hover{background:rgba(0,85,179,0.2);color:white;}\r\n[data-theme=\"dark\"] .wf-time-opt.active{background:rgba(0,85,179,0.25);color:white;}\r\n[data-theme=\"dark\"] .bw{background:#0D1B2E;}\r\n[data-theme=\"dark\"] .bw-foot{background:rgba(255,255,255,0.04);border-top-color:rgba(255,255,255,0.08);}\r\n[data-theme=\"dark\"] .bw-price{background:rgba(0,85,179,0.15);}\r\n[data-theme=\"dark\"] .bp-days{color:#60AFFF;}\r\n[data-theme=\"dark\"] .bp-amount{color:white;}\r\n\r\n\/* Price block *\/\r\n.bw-price{\r\n  background:linear-gradient(135deg,#EBF3FF,#DBEAFE);\r\n  border-radius:14px;padding:16px;margin-bottom:16px;\r\n  display:flex;justify-content:space-between;align-items:center;\r\n}\r\n.bp-left{display:flex;flex-direction:column;gap:3px;}\r\n.bp-days{font-size:13px;font-weight:700;color:var(--p);}\r\n.bp-type{font-size:11px;color:#94A3B8;font-weight:600;}\r\n.bp-right{text-align:right;}\r\n.bp-amount{font-size:32px;font-weight:900;color:var(--p);line-height:1;letter-spacing:-0.02em;}\r\n.bp-amount sup{font-size:16px;font-weight:700;vertical-align:super;margin-right:1px;}\r\n.bp-note{font-size:10px;color:#94A3B8;margin-top:2px;}\r\n\r\n\/* Widget CTA *\/\r\n.bw-cta{\r\n  width:100%;padding:16px;background:var(--grad);color:white;border-radius:12px;\r\n  font-size:16px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:10px;\r\n  transition:var(--t);box-shadow:0 6px 24px rgba(0,106,223,0.45);letter-spacing:0.01em;\r\n}\r\n.bw-cta:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,106,223,0.6);}\r\n\r\n.bw-foot{\r\n  padding:14px 24px;background:#F8FAFC;border-top:1px solid #E2E8F0;\r\n  display:flex;align-items:center;justify-content:space-between;gap:12px;\r\n}\r\n.bw-wa-link{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--wa);}\r\n.bw-wa-link:hover{opacity:0.8;}\r\n.bw-spots{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#10B981;}\r\n.spot-pulse{width:8px;height:8px;border-radius:50%;background:#10B981;animation:spotPulse 2s infinite;}\r\n@keyframes spotPulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.5);opacity:0.5;}}\r\n\r\n\/* \u2500\u2500 PROOF STRIP \u2500\u2500 *\/\r\n.proof{background:var(--dark);overflow:hidden;padding:0;}\r\n.proof-track{display:flex;align-items:center;gap:0;width:max-content;animation:marquee 28s linear infinite;}\r\n.proof-track:hover{animation-play-state:paused;}\r\n@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}\r\n.proof-item{\r\n  display:flex;align-items:center;gap:14px;padding:26px 48px;white-space:nowrap;\r\n  border-right:1px solid rgba(255,255,255,0.06);\r\n}\r\n.proof-num{font-size:26px;font-weight:900;color:white;letter-spacing:-0.02em;}\r\n.proof-label{font-size:13px;color:rgba(255,255,255,0.45);font-weight:500;}\r\n.proof-sep{font-size:28px;font-weight:900;color:var(--p2);padding:26px 0;margin:0 0;}\r\n\r\n\/* \u2500\u2500 HOW IT WORKS \u2500\u2500 *\/\r\n.how{padding:100px 0;background:var(--dark2);position:relative;overflow:hidden;}\r\n.how::before{content:'';position:absolute;inset:0;background-image:url('..\/patterne.png');background-size:cover;opacity:0.05;pointer-events:none;}\r\n.section-eyebrow{\r\n  display:inline-flex;align-items:center;gap:7px;\r\n  background:rgba(0,106,223,0.15);border:1px solid rgba(0,106,223,0.3);\r\n  color:#60AFFF;font-size:11px;font-weight:800;\r\n  letter-spacing:0.08em;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:16px;\r\n}\r\n.section-h{font-size:clamp(28px,4vw,48px);font-weight:900;color:white;letter-spacing:-0.03em;line-height:1.1;margin-bottom:14px;}\r\n.section-p{font-size:17px;color:rgba(255,255,255,0.55);max-width:540px;line-height:1.75;}\r\n.center .section-p{margin:0 auto;}\r\n.center{text-align:center;}\r\n\r\n.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:64px;position:relative;z-index:1;}\r\n.how-connector{position:absolute;top:40px;left:calc(12.5% + 40px);right:calc(12.5% + 40px);height:1px;background:linear-gradient(90deg,var(--p),var(--p2));opacity:0.2;}\r\n.how-step{padding:0 20px;text-align:center;position:relative;}\r\n.how-num{\r\n  width:80px;height:80px;border-radius:50%;background:var(--grad);\r\n  display:flex;align-items:center;justify-content:center;margin:0 auto 24px;\r\n  font-size:30px;font-weight:900;color:white;\r\n  box-shadow:0 12px 36px rgba(0,85,179,0.38);position:relative;z-index:1;transition:var(--t);\r\n}\r\n.how-step:hover .how-num{transform:scale(1.1) translateY(-4px);box-shadow:0 20px 48px rgba(0,85,179,0.5);}\r\n.how-step h3{font-size:16px;font-weight:800;color:white;margin-bottom:8px;}\r\n.how-step p{font-size:14px;color:rgba(255,255,255,0.55);line-height:1.7;}\r\n.how-wa{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:800;color:var(--wa);background:rgba(37,211,102,0.1);padding:6px 14px;border-radius:100px;transition:var(--t);}\r\n.how-wa:hover{background:rgba(37,211,102,0.2);}\r\n\r\n\/* \u2500\u2500 PRICING \u2500\u2500 *\/\r\n.pricing{padding:100px 0;background:var(--dark);position:relative;overflow:hidden;}\r\n.pricing::before{content:'';position:absolute;inset:0;background-image:url('..\/patterne.png');background-size:cover;opacity:0.08;}\r\n\/* pricing section \u2014 inherits global dark overrides *\/\r\n\r\n.price-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:64px;position:relative;z-index:1;}\r\n\r\n.price-card{\r\n  background:rgba(255,255,255,0.05);backdrop-filter:blur(20px);\r\n  border:1px solid rgba(255,255,255,0.1);border-radius:var(--r3);padding:44px;\r\n  transition:var(--t);position:relative;overflow:hidden;\r\n}\r\n.price-card::before{\r\n  content:'';position:absolute;inset:0;border-radius:var(--r3);\r\n  background:var(--grad);opacity:0;transition:opacity 0.4s ease;z-index:-1;\r\n}\r\n.price-card:hover{transform:translateY(-10px);box-shadow:0 48px 96px rgba(0,0,0,0.3);border-color:rgba(255,255,255,0.2);}\r\n.price-card.featured{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.22);}\r\n\r\n.pc-badge{\r\n  display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;\r\n  padding:5px 14px;border-radius:100px;margin-bottom:24px;letter-spacing:0.06em;text-transform:uppercase;\r\n}\r\n.badge-gold{background:rgba(255,184,0,0.12);color:#FFD700;border:1px solid rgba(255,184,0,0.25);}\r\n.badge-green{background:rgba(74,222,128,0.12);color:#4ADE80;border:1px solid rgba(74,222,128,0.25);}\r\n\r\n.pc-title{font-size:26px;font-weight:900;color:white;margin-bottom:10px;}\r\n.pc-desc{font-size:14px;color:rgba(255,255,255,0.6);line-height:1.7;margin-bottom:28px;}\r\n\r\n.pc-price{display:flex;align-items:baseline;gap:4px;margin-bottom:32px;}\r\n.pc-price .cur{font-size:22px;font-weight:800;color:rgba(255,255,255,0.7);}\r\n.pc-price .amt{font-size:64px;font-weight:900;color:white;line-height:1;letter-spacing:-0.04em;}\r\n.pc-price .per{font-size:15px;color:rgba(255,255,255,0.45);font-weight:500;margin-left:6px;}\r\n\r\n.pc-features{display:flex;flex-direction:column;gap:12px;margin-bottom:36px;}\r\n.pc-features li{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(255,255,255,0.85);font-weight:500;}\r\n.pc-features li svg{color:#4ADE80;flex-shrink:0;}\r\n\r\n.pc-cta{\r\n  width:100%;padding:17px;border-radius:14px;font-size:16px;font-weight:800;\r\n  display:flex;align-items:center;justify-content:center;gap:9px;transition:var(--t);\r\n}\r\n.pc-cta-white{background:white;color:var(--p);}\r\n.pc-cta-white:hover{background:#EBF3FF;transform:translateY(-2px);}\r\n.pc-cta-grad{background:var(--grad);color:white;box-shadow:0 6px 24px rgba(0,106,223,0.5);}\r\n.pc-cta-grad:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,106,223,0.65);}\r\n\r\n.pc-note{text-align:center;font-size:12px;color:rgba(255,255,255,0.35);margin-top:10px;}\r\n\r\n\/* \u2500\u2500 BENTO FEATURES \u2500\u2500 *\/\r\n.bento{padding:100px 0;background:var(--dark);position:relative;overflow:hidden;}\r\n.bento::before{content:'';position:absolute;inset:0;background-image:url('..\/patterne.png');background-size:cover;opacity:0.06;pointer-events:none;}\r\n.bento-grid{\r\n  display:grid;margin-top:64px;gap:16px;\r\n  grid-template-columns:repeat(3,1fr);\r\n  grid-template-rows:auto;position:relative;z-index:1;\r\n}\r\n.bento-card{\r\n  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:var(--r2);padding:32px;\r\n  transition:var(--t);position:relative;overflow:hidden;\r\n}\r\n.bento-card:hover{transform:translateY(-6px);box-shadow:0 24px 64px rgba(0,85,179,0.25);border-color:rgba(255,255,255,0.14);}\r\n\r\n\/* Span variants *\/\r\n.bento-card.span2{grid-column:span 2;}\r\n.bento-card.span3{grid-column:1 \/ -1;}\r\n.bento-card.big{padding:40px;}\r\n\r\n\/* Color variants *\/\r\n.bento-dark{background:var(--dark);color:white;}\r\n.bento-blue{background:var(--grad);}\r\n.bento-blue .bc-icon{background:rgba(255,255,255,0.15);color:white;}\r\n.bento-blue h3,.bento-blue p{color:white;}\r\n.bento-blue p{color:rgba(255,255,255,0.75);}\r\n\r\n.bc-icon{\r\n  width:52px;height:52px;background:rgba(0,106,223,0.15);border:1px solid rgba(0,106,223,0.25);border-radius:14px;\r\n  display:flex;align-items:center;justify-content:center;color:#60AFFF;\r\n  margin-bottom:20px;transition:var(--t);\r\n}\r\n.bento-card:hover .bc-icon{background:var(--grad);color:white;border-color:transparent;}\r\n.bento-card h3{font-size:18px;font-weight:800;color:white;margin-bottom:8px;}\r\n.bento-dark h3{color:white;}\r\n.bento-card p{font-size:14px;color:rgba(255,255,255,0.55);line-height:1.75;}\r\n.bento-dark p{color:rgba(255,255,255,0.55);}\r\n\r\n\/* Big number in bento *\/\r\n.bento-stat{font-size:72px;font-weight:900;letter-spacing:-0.04em;color:#60AFFF;line-height:1;margin-bottom:8px;}\r\n.bento-dark .bento-stat{color:#60AFFF;}\r\n\r\n\/* Shuttle visual *\/\r\n.shuttle-visual{\r\n  display:flex;align-items:center;gap:0;margin-top:16px;\r\n}\r\n.sv-block{display:flex;flex-direction:column;align-items:center;gap:4px;}\r\n.sv-icon{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:white;}\r\n.sv-label{font-size:11px;color:rgba(255,255,255,0.5);font-weight:600;}\r\n.sv-line{flex:1;height:2px;background:linear-gradient(90deg,rgba(255,255,255,0.2),rgba(255,255,255,0.5),rgba(255,255,255,0.2));position:relative;}\r\n.sv-time{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:20px;font-weight:900;color:white;white-space:nowrap;}\r\n\r\n\/* \u2500\u2500 TESTIMONIALS \u2500\u2500 *\/\r\n.testi{padding:100px 0;background:var(--dark2);overflow:hidden;position:relative;}\r\n.testi::before{content:'';position:absolute;inset:0;background-image:url('..\/patterne.png');background-size:cover;opacity:0.04;pointer-events:none;}\r\n.testi-marquee{position:relative;margin-top:64px;}\r\n.testi-row{display:flex;gap:20px;width:max-content;margin-bottom:20px;}\r\n.testi-row.row1{animation:marq1 45s linear infinite;}\r\n.testi-row.row2{animation:marq1 45s linear -22.5s infinite;}\r\n@keyframes marq1{from{transform:translateX(0);}to{transform:translateX(-50%);}}\r\n.testi-marquee:hover .testi-row{animation-play-state:paused;}\r\n\r\n.tc{\r\n  width:320px;flex-shrink:0;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:20px;padding:26px;\r\n  transition:var(--t);position:relative;z-index:1;\r\n}\r\n.tc:hover{background:rgba(255,255,255,0.09);box-shadow:0 20px 60px rgba(0,0,0,0.3);border-color:rgba(255,255,255,0.14);}\r\n.tc-stars{display:flex;gap:3px;margin-bottom:14px;color:#F59E0B;}\r\n.tc-text{font-size:14px;color:rgba(255,255,255,0.65);line-height:1.75;margin-bottom:18px;font-style:italic;}\r\n.tc-author{display:flex;align-items:center;gap:11px;}\r\n.tc-av{width:40px;height:40px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;color:white;font-size:14px;font-weight:800;flex-shrink:0;}\r\n.tc-name{font-size:14px;font-weight:800;color:white;}\r\n.tc-loc{font-size:12px;color:rgba(255,255,255,0.4);}\r\n\r\n.testi-bottom{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:48px;flex-wrap:wrap;position:relative;z-index:1;}\r\n.google-box{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.09);border-radius:16px;padding:16px 24px;}\r\n.g-rating{font-size:28px;font-weight:900;color:white;}\r\n.g-info{display:flex;flex-direction:column;gap:2px;}\r\n.g-stars{display:flex;gap:2px;color:#F59E0B;}\r\n.g-count{font-size:12px;color:rgba(255,255,255,0.4);font-weight:500;}\r\n\r\n\/* \u2500\u2500 FAQ \u2500\u2500 *\/\r\n.faq-section{padding:100px 0;background:var(--dark);}\r\n\/* faq section \u2014 inherits global dark overrides *\/\r\n\r\n.faq-list{margin-top:64px;display:flex;flex-direction:column;gap:8px;}\r\n.fq{\r\n  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);\r\n  border-radius:16px;overflow:hidden;transition:border-color 0.3s;\r\n}\r\n.fq.open{border-color:rgba(0,106,223,0.4);background:rgba(0,106,223,0.06);}\r\n.fq-q{\r\n  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;\r\n  padding:22px 28px;font-size:16px;font-weight:700;color:rgba(255,255,255,0.85);\r\n  background:transparent;text-align:left;transition:color 0.2s;\r\n}\r\n.fq.open .fq-q{color:white;}\r\n.fq-ico{\r\n  width:32px;height:32px;min-width:32px;border-radius:50%;background:rgba(255,255,255,0.07);\r\n  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.4);transition:var(--t);\r\n}\r\n.fq.open .fq-ico{background:var(--p2);color:white;transform:rotate(180deg);}\r\n.fq-a{max-height:0;overflow:hidden;transition:max-height 0.45s ease,padding 0.3s;padding:0 28px;}\r\n.fq.open .fq-a{max-height:300px;padding:0 28px 24px;}\r\n.fq-a p{font-size:15px;color:rgba(255,255,255,0.5);line-height:1.8;}\r\n\r\n\/* \u2500\u2500 LOCATION \u2500\u2500 *\/\r\n.loc{padding:100px 0;background:var(--dark2);position:relative;overflow:hidden;}\r\n.loc::before{content:'';position:absolute;inset:0;background-image:url('..\/patterne.png');background-size:cover;opacity:0.05;pointer-events:none;}\r\n.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:64px;position:relative;z-index:1;}\r\n.loc-cards{display:flex;flex-direction:column;gap:14px;}\r\n.lc{\r\n  display:flex;align-items:flex-start;gap:16px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:var(--r2);\r\n  padding:22px;transition:var(--t);\r\n}\r\n.lc:hover{box-shadow:0 8px 36px rgba(0,0,0,0.25);transform:translateX(6px);border-color:rgba(255,255,255,0.14);}\r\n.lc-ico{width:48px;height:48px;min-width:48px;background:rgba(0,106,223,0.15);border:1px solid rgba(0,106,223,0.25);border-radius:13px;display:flex;align-items:center;justify-content:center;color:#60AFFF;}\r\n.lc h4{font-size:11px;font-weight:800;color:rgba(255,255,255,0.35);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:4px;}\r\n.lc p,.lc a{font-size:15px;font-weight:600;color:rgba(255,255,255,0.85);}\r\n.lc a:hover{color:#60AFFF;}\r\n\r\n.loc-wa-cta{\r\n  display:flex;align-items:center;gap:12px;padding:20px 24px;background:var(--wa);border-radius:var(--r2);\r\n  color:white;font-size:16px;font-weight:800;margin-top:6px;transition:var(--t);\r\n  box-shadow:0 8px 32px var(--wa-glow);\r\n}\r\n.loc-wa-cta:hover{transform:translateY(-3px);box-shadow:0 16px 48px var(--wa-glow);}\r\n.loc-wa-cta span{font-size:14px;opacity:0.85;font-weight:500;}\r\n\r\n.loc-map{border-radius:var(--r3);overflow:hidden;box-shadow:var(--sh-xl);height:420px;}\r\n.loc-map iframe{width:100%;height:100%;border:none;}\r\n\r\n\/* \u2500\u2500 CTA FINAL \u2500\u2500 *\/\r\n.cta-final{padding:120px 0;background:var(--dark);position:relative;overflow:hidden;text-align:center;}\r\n.cta-final::before{content:'';position:absolute;inset:0;background-image:url('..\/patterne.png');background-size:cover;opacity:0.1;}\r\n.cta-orbs{position:absolute;inset:0;pointer-events:none;}\r\n.cta-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:0.15;}\r\n.cta-orb-1{width:500px;height:500px;background:var(--p);top:-100px;left:-100px;}\r\n.cta-orb-2{width:400px;height:400px;background:var(--p2);bottom:-80px;right:-80px;}\r\n.cta-inner{position:relative;z-index:1;}\r\n\/* cta-final section \u2014 inherits global dark overrides *\/\r\n.cta-h{font-size:clamp(36px,5vw,64px);font-weight:900;color:white;letter-spacing:-0.03em;margin-bottom:16px;}\r\n.cta-h em{\r\n  font-style:normal;\r\n  background:linear-gradient(90deg,#60AFFF,#A8D5FF,#60AFFF);\r\n  background-size:200% 100%;\r\n  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;\r\n  animation:shimmerText 3s linear infinite;\r\n}\r\n.cta-sub{font-size:18px;color:rgba(255,255,255,0.55);max-width:480px;margin:0 auto 48px;line-height:1.75;}\r\n.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}\r\n.btn-cta-book{\r\n  display:inline-flex;align-items:center;gap:10px;padding:18px 36px;\r\n  background:white;color:var(--p);border-radius:14px;font-size:18px;font-weight:900;\r\n  box-shadow:0 8px 36px rgba(0,0,0,0.2);transition:var(--t);\r\n}\r\n.btn-cta-book:hover{transform:translateY(-4px);box-shadow:0 16px 56px rgba(0,0,0,0.3);}\r\n.btn-cta-wa{\r\n  display:inline-flex;align-items:center;gap:10px;padding:18px 36px;\r\n  background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);\r\n  color:white;border-radius:14px;font-size:18px;font-weight:700;\r\n  backdrop-filter:blur(10px);transition:var(--t);\r\n}\r\n.btn-cta-wa:hover{background:rgba(255,255,255,0.22);transform:translateY(-3px);}\r\n\r\n\/* \u2500\u2500 FOOTER \u2500\u2500 *\/\r\n.footer{background:rgba(0,0,0,0.4);background:color-mix(in srgb,var(--dark) 100%,black 0%);padding:64px 0 32px;border-top:1px solid rgba(255,255,255,0.05);}\r\n.foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid var(--border);margin-bottom:32px;}\r\n.foot-logo img{height:36px;margin-bottom:16px;}\r\n.foot-tag{font-size:14px;color:rgba(255,255,255,0.35);line-height:1.75;margin-bottom:20px;}\r\n.foot-contact{display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(255,255,255,0.5);margin-bottom:10px;}\r\n.foot-contact a{color:rgba(255,255,255,0.5);transition:color 0.2s;}\r\n.foot-contact a:hover{color:white;}\r\n.foot-contact svg{color:var(--p2);flex-shrink:0;}\r\n.foot-h{font-size:11px;font-weight:800;color:rgba(255,255,255,0.25);letter-spacing:0.09em;text-transform:uppercase;margin-bottom:20px;}\r\n.foot-links{display:flex;flex-direction:column;gap:12px;}\r\n.foot-links a{font-size:14px;color:rgba(255,255,255,0.45);transition:color 0.2s;}\r\n.foot-links a:hover{color:white;}\r\n.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}\r\n.foot-copy{font-size:13px;color:rgba(255,255,255,0.2);}\r\n.foot-legal{display:flex;gap:24px;}\r\n.foot-legal a{font-size:13px;color:rgba(255,255,255,0.2);transition:color 0.2s;}\r\n.foot-legal a:hover{color:rgba(255,255,255,0.6);}\r\n\r\n\/* \u2500\u2500 FLOATING WHATSAPP \u2500\u2500 *\/\r\n.wa-float{\r\n  position:fixed;bottom:32px;right:32px;z-index:2000;\r\n  width:64px;height:64px;background:var(--wa);border-radius:50%;\r\n  display:flex;align-items:center;justify-content:center;\r\n  box-shadow:0 8px 36px var(--wa-glow);transition:var(--t);cursor:pointer;\r\n}\r\n.wa-float:hover{transform:scale(1.12);box-shadow:0 16px 56px var(--wa-glow);}\r\n.wa-float::before{\r\n  content:'';position:absolute;inset:-8px;border-radius:50%;\r\n  background:var(--wa);opacity:0.25;animation:waPing 2.5s ease-out infinite;\r\n}\r\n@keyframes waPing{0%{transform:scale(1);opacity:0.25;}100%{transform:scale(1.6);opacity:0;}}\r\n.wa-tooltip{\r\n  position:absolute;right:72px;top:50%;transform:translateY(-50%);\r\n  background:var(--dark);color:white;font-size:13px;font-weight:700;\r\n  padding:8px 14px;border-radius:10px;white-space:nowrap;\r\n  box-shadow:0 4px 16px rgba(0,0,0,0.3);pointer-events:none;\r\n  opacity:0;transform:translateY(-50%) translateX(8px);transition:var(--t);\r\n}\r\n.wa-float:hover .wa-tooltip{opacity:1;transform:translateY(-50%) translateX(0);}\r\n.wa-tooltip::after{\r\n  content:'';position:absolute;left:100%;top:50%;transform:translateY(-50%);\r\n  border:6px solid transparent;border-left-color:var(--dark);\r\n}\r\n\r\n\/* \u2500\u2500 STICKY BOOKING BAR \u2500\u2500 *\/\r\n.sticky-bar{\r\n  position:fixed;top:0;left:0;right:0;z-index:990;\r\n  background:rgba(5,13,26,0.97);backdrop-filter:blur(28px);\r\n  border-bottom:1px solid var(--border);\r\n  transform:translateY(-100%);transition:transform 0.4s var(--ease);\r\n  padding:12px 28px;\r\n}\r\n.sticky-bar.visible{transform:translateY(0);}\r\n.sb-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:16px;justify-content:space-between;}\r\n.sb-logo img{height:30px;}\r\n.sb-msg{font-size:14px;font-weight:600;color:rgba(255,255,255,0.65);}\r\n.sb-msg strong{color:white;}\r\n.sb-actions{display:flex;gap:10px;}\r\n.sb-wa{display:flex;align-items:center;gap:7px;padding:10px 18px;background:var(--wa);color:white;border-radius:9px;font-size:13px;font-weight:800;transition:var(--t);box-shadow:0 4px 16px var(--wa-glow);}\r\n.sb-wa:hover{transform:translateY(-1px);}\r\n.sb-book{display:flex;align-items:center;gap:7px;padding:10px 18px;background:var(--grad);color:white;border-radius:9px;font-size:13px;font-weight:800;transition:var(--t);box-shadow:0 4px 16px rgba(0,106,223,0.4);}\r\n.sb-book:hover{transform:translateY(-1px);}\r\n\r\n\/* \u2500\u2500 AUTH MODAL \u2500\u2500 *\/\r\n.overlay{position:fixed;inset:0;background:rgba(5,13,26,0.85);backdrop-filter:blur(12px);z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity 0.3s;}\r\n.overlay.open{opacity:1;pointer-events:all;}\r\n.modal{background:white;border-radius:var(--r3);width:100%;max-width:440px;overflow:hidden;transform:scale(0.94) translateY(24px);transition:transform 0.35s var(--ease);}\r\n.overlay.open .modal{transform:scale(1) translateY(0);}\r\n.modal-head{background:var(--grad);padding:28px 32px;display:flex;justify-content:space-between;align-items:center;}\r\n.modal-head h3{color:white;font-size:20px;font-weight:900;}\r\n.modal-x{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;color:white;transition:var(--t);cursor:pointer;}\r\n.modal-x:hover{background:rgba(255,255,255,0.28);}\r\n.modal-body{padding:32px;}\r\n.modal-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#F0F6FF;padding:4px;border-radius:11px;margin-bottom:28px;}\r\n.mtab{padding:10px;border-radius:9px;font-size:14px;font-weight:800;color:#64748B;transition:var(--t);}\r\n.mtab.on{background:white;color:var(--p);box-shadow:0 2px 10px rgba(0,85,179,0.1);}\r\n.mf{display:none;}\r\n.mf.active{display:block;}\r\n.mf .fg{margin-bottom:15px;}\r\n.mf .fl{display:block;font-size:11px;font-weight:800;color:#94A3B8;letter-spacing:0.07em;text-transform:uppercase;margin-bottom:6px;}\r\n.mf .fi{width:100%;padding:13px 16px;border:2px solid #E2E8F0;border-radius:10px;font-size:15px;font-family:var(--font);color:var(--dark);transition:var(--t);}\r\n.mf .fi:focus{outline:none;border-color:var(--p2);box-shadow:0 0 0 3px rgba(0,106,223,0.1);}\r\n.mf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}\r\n.mf-forgot{text-align:right;font-size:12px;color:var(--p);font-weight:700;cursor:pointer;margin-top:-6px;margin-bottom:14px;display:block;}\r\n.mf-submit{width:100%;padding:15px;background:var(--grad);color:white;border-radius:11px;font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--t);box-shadow:0 4px 20px rgba(0,106,223,0.4);cursor:pointer;border:none;font-family:var(--font);}\r\n.mf-submit:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,106,223,0.55);}\r\n.mf-alt{text-align:center;font-size:13px;color:#64748B;margin-top:16px;}\r\n.mf-alt span{color:var(--p);font-weight:800;cursor:pointer;}\r\n.mf-alt span:hover{text-decoration:underline;}\r\n\r\n\/* \u2500\u2500 TOAST \u2500\u2500 *\/\r\n.toast{\r\n  position:fixed;bottom:112px;right:32px;\r\n  padding:16px 20px;border-radius:14px;box-shadow:0 8px 40px rgba(0,0,0,0.3);\r\n  display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;color:white;\r\n  z-index:9999;transform:translateY(120px);opacity:0;transition:all 0.4s var(--ease);max-width:380px;pointer-events:none;\r\n}\r\n.toast.show{transform:translateY(0);opacity:1;}\r\n.toast.success{background:#065F46;border-left:4px solid #10B981;}\r\n.toast.error{background:#7F1D1D;border-left:4px solid #EF4444;}\r\n.toast.info{background:var(--dark);border-left:4px solid var(--p2);}\r\n\r\n\/* \u2500\u2500 COOKIE \u2500\u2500 *\/\r\n.cookie{position:fixed;bottom:0;left:0;right:0;background:var(--dark2);border-top:1px solid var(--border);padding:16px 28px;z-index:1800;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;transform:translateY(100%);transition:transform 0.5s var(--ease);}\r\n.cookie.show{transform:translateY(0);}\r\n.cookie p{font-size:13px;color:rgba(255,255,255,0.55);flex:1;min-width:220px;}\r\n.cookie p a{color:#60AFFF;text-decoration:underline;}\r\n.cookie-btns{display:flex;gap:10px;}\r\n.ck-ok{padding:10px 22px;background:var(--grad);color:white;border-radius:9px;font-size:13px;font-weight:800;cursor:pointer;font-family:var(--font);border:none;transition:var(--t);}\r\n.ck-ok:hover{transform:translateY(-1px);}\r\n.ck-no{padding:10px 22px;background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.55);border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font);border:none;transition:var(--t);}\r\n.ck-no:hover{background:rgba(255,255,255,0.12);}\r\n\r\n\/* \u2500\u2500 SCROLL-UP \u2500\u2500 *\/\r\n.scroll-up{\r\n  position:fixed;bottom:32px;left:32px;width:46px;height:46px;background:rgba(255,255,255,0.1);\r\n  backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.15);border-radius:12px;\r\n  display:flex;align-items:center;justify-content:center;color:white;z-index:100;\r\n  opacity:0;pointer-events:none;transition:var(--t);cursor:pointer;\r\n}\r\n.scroll-up.show{opacity:1;pointer-events:all;}\r\n.scroll-up:hover{background:var(--grad);border-color:transparent;}\r\n\r\n\/* \u2500\u2500 ANIMATIONS \u2500\u2500 *\/\r\n@keyframes fadeUp{from{opacity:0;transform:translateY(32px);}to{opacity:1;transform:translateY(0);}}\r\n@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}\r\n\r\n.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease);}\r\n.reveal.vis{opacity:1;transform:translateY(0);}\r\n.d1{transition-delay:0.07s;}.d2{transition-delay:0.14s;}.d3{transition-delay:0.21s;}.d4{transition-delay:0.28s;}.d5{transition-delay:0.35s;}.d6{transition-delay:0.42s;}\r\n\r\n\/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\r\n@media(max-width:1100px){\r\n  .hero-inner{grid-template-columns:1fr;gap:48px;text-align:center;}\r\n  .hero-pills{align-items:center;}\r\n  .hero-ctas{justify-content:center;}\r\n  .hero-sub{margin:0 auto 36px;}\r\n  .bw{max-width:500px;margin:0 auto;}\r\n  .bento-grid{grid-template-columns:repeat(2,1fr);}\r\n  .bento-card.span2{grid-column:span 2;}\r\n  .foot-top{grid-template-columns:1fr 1fr;gap:32px;}\r\n}\r\n@media(max-width:768px){\r\n  .nav-mid,.nav-acc{display:none;}\r\n  .burger{display:flex;}\r\n  .langs{display:none;}\r\n  .how-grid{grid-template-columns:repeat(2,1fr);gap:32px;}\r\n  .how-connector{display:none;}\r\n  .price-cards{grid-template-columns:1fr;}\r\n  .bento-grid{grid-template-columns:1fr;}\r\n  .bento-card.span2{grid-column:span 1;}\r\n  .loc-grid{grid-template-columns:1fr;}\r\n  .foot-top{grid-template-columns:1fr;}\r\n  .sticky-bar .sb-msg{display:none;}\r\n  .scroll-up{display:none;}\r\n  .sb-inner{justify-content:flex-end;}\r\n}\r\n@media(max-width:520px){\r\n  .how-grid{grid-template-columns:1fr;}\r\n  .cta-btns{flex-direction:column;align-items:center;}\r\n  .wf-row{grid-template-columns:1fr;}\r\n  .hero-inner{padding:110px 20px 60px;}\r\n  .bw-foot{flex-direction:column;gap:10px;text-align:center;}\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   THEME TOGGLE BUTTON\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.theme-btn{\r\n  display:flex;align-items:center;justify-content:center;\r\n  width:36px;height:36px;border-radius:10px;\r\n  background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);\r\n  color:rgba(255,255,255,0.75);transition:var(--t);flex-shrink:0;\r\n}\r\n.theme-btn:hover{background:rgba(255,255,255,0.16);color:white;}\r\n.theme-btn .icon-sun{display:none;}\r\n.theme-btn .icon-moon{display:block;}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   LIGHT THEME  [data-theme=\"light\"]\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n[data-theme=\"light\"]{\r\n  --dark:   #FFFFFF;\r\n  --dark2:  #F0F5FF;\r\n  --dark3:  #E4EDFF;\r\n  --border: rgba(0,85,179,0.12);\r\n  --muted:  rgba(5,13,26,0.45);\r\n}\r\n[data-theme=\"light\"] body{color:#050D1A;background:#FFFFFF;}\r\n\r\n\/* Nav *\/\r\n[data-theme=\"light\"] .nav{\r\n  background:linear-gradient(to bottom,rgba(255,255,255,0.95) 0%,rgba(255,255,255,0) 100%);\r\n}\r\n[data-theme=\"light\"] .nav.stuck{\r\n  background:rgba(255,255,255,0.97);backdrop-filter:blur(28px);\r\n  box-shadow:0 1px 0 rgba(0,85,179,0.1),0 8px 32px rgba(0,85,179,0.08);\r\n}\r\n[data-theme=\"light\"] .nav-mid a{color:rgba(5,13,26,0.65);}\r\n[data-theme=\"light\"] .nav-mid a:hover{color:#050D1A;}\r\n[data-theme=\"light\"] .langs{background:rgba(0,85,179,0.07);}\r\n[data-theme=\"light\"] .lang{color:rgba(5,13,26,0.45);}\r\n[data-theme=\"light\"] .nav-acc{background:rgba(0,85,179,0.07);border-color:rgba(0,85,179,0.15);color:#050D1A;}\r\n[data-theme=\"light\"] .burger span{background:rgba(5,13,26,0.7);}\r\n[data-theme=\"light\"] .theme-btn{background:rgba(0,85,179,0.08);border-color:rgba(0,85,179,0.15);color:#0055B3;}\r\n[data-theme=\"light\"] .theme-btn .icon-sun{display:block;}\r\n[data-theme=\"light\"] .theme-btn .icon-moon{display:none;}\r\n\r\n\/* Hero *\/\r\n[data-theme=\"light\"] .hero{background:#EBF3FF;}\r\n[data-theme=\"light\"] .hero-bg{opacity:0.3;}\r\n[data-theme=\"light\"] .hero-overlay{background:linear-gradient(135deg,rgba(235,243,255,0.96) 0%,rgba(224,237,255,0.92) 40%,rgba(200,225,255,0.8) 100%);}\r\n[data-theme=\"light\"] .hero-h1{color:#050D1A;}\r\n[data-theme=\"light\"] .hero-sub{color:rgba(5,13,26,0.6);}\r\n[data-theme=\"light\"] .hero-pill{color:rgba(5,13,26,0.75);}\r\n[data-theme=\"light\"] .pill-dot{background:rgba(37,211,102,0.15);border-color:rgba(37,211,102,0.4);}\r\n[data-theme=\"light\"] .hero-label{background:rgba(0,85,179,0.1);border-color:rgba(0,85,179,0.25);color:var(--p);}\r\n[data-theme=\"light\"] .btn-hero-wa{background:rgba(5,13,26,0.07);border-color:rgba(5,13,26,0.15);color:#050D1A;}\r\n[data-theme=\"light\"] .btn-hero-wa:hover{background:rgba(5,13,26,0.12);}\r\n\/* Widget inputs *\/\r\n[data-theme=\"light\"] .wf-input{color:#050D1A;background:white;border-color:rgba(0,85,179,0.2);}\r\n[data-theme=\"light\"] .wf-label{color:rgba(5,13,26,0.55);}\r\n[data-theme=\"light\"] .bw{background:white;border-color:rgba(0,85,179,0.12);}\r\n[data-theme=\"light\"] .bw-top{background:var(--grad);}\r\n[data-theme=\"light\"] .bp-days,[data-theme=\"light\"] .bp-type{color:rgba(5,13,26,0.55);}\r\n[data-theme=\"light\"] .bp-amount{color:#050D1A;}\r\n[data-theme=\"light\"] .bp-note{color:rgba(5,13,26,0.4);}\r\n[data-theme=\"light\"] .type-tab{background:rgba(0,85,179,0.06);color:rgba(5,13,26,0.55);}\r\n[data-theme=\"light\"] .type-tab.on{background:var(--p);color:white;}\r\n[data-theme=\"light\"] .orb-1,.orb-2,.orb-3{opacity:0.12;}\r\n\r\n\/* Section headings *\/\r\n[data-theme=\"light\"] .section-eyebrow{background:rgba(0,85,179,0.1);border-color:rgba(0,85,179,0.25);color:var(--p);}\r\n[data-theme=\"light\"] .section-h{color:#050D1A;}\r\n[data-theme=\"light\"] .section-p{color:rgba(5,13,26,0.55);}\r\n\r\n\/* How *\/\r\n[data-theme=\"light\"] .how{background:#F0F5FF;}\r\n[data-theme=\"light\"] .how::before{opacity:0.03;}\r\n[data-theme=\"light\"] .how-step h3{color:#050D1A;}\r\n[data-theme=\"light\"] .how-step p{color:rgba(5,13,26,0.55);}\r\n\r\n\/* Pricing *\/\r\n[data-theme=\"light\"] .pricing{background:#FFFFFF;}\r\n[data-theme=\"light\"] .pricing::before{opacity:0.04;}\r\n[data-theme=\"light\"] .price-card{background:#F0F5FF;border-color:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .price-card.featured{background:#EBF3FF;border-color:rgba(0,85,179,0.25);}\r\n[data-theme=\"light\"] .pc-title{color:#050D1A;}\r\n[data-theme=\"light\"] .pc-desc{color:rgba(5,13,26,0.55);}\r\n[data-theme=\"light\"] .pc-price .cur,.pc-price .amt{color:#050D1A;}\r\n[data-theme=\"light\"] .pc-price .per{color:rgba(5,13,26,0.45);}\r\n[data-theme=\"light\"] .pc-features li{color:rgba(5,13,26,0.8);}\r\n[data-theme=\"light\"] .pc-note{color:rgba(5,13,26,0.35);}\r\n[data-theme=\"light\"] .pc-cta-white{background:white;color:var(--p);box-shadow:0 4px 16px rgba(0,85,179,0.15);}\r\n\r\n\/* Bento *\/\r\n[data-theme=\"light\"] .bento{background:#F8FBFF;}\r\n[data-theme=\"light\"] .bento::before{opacity:0.03;}\r\n[data-theme=\"light\"] .bento-card{background:white;border-color:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .bento-card h3{color:#050D1A;}\r\n[data-theme=\"light\"] .bento-card p{color:rgba(5,13,26,0.55);}\r\n[data-theme=\"light\"] .bento-stat{color:var(--p);}\r\n[data-theme=\"light\"] .bento-dark{background:var(--p);color:white;}\r\n[data-theme=\"light\"] .bento-dark h3,[data-theme=\"light\"] .bento-dark p,[data-theme=\"light\"] .bento-dark .bento-stat{color:white;}\r\n[data-theme=\"light\"] .sv-icon{background:rgba(255,255,255,0.2);}\r\n[data-theme=\"light\"] .sv-label,[data-theme=\"light\"] .sv-time{color:white;}\r\n\r\n\/* Testimonials *\/\r\n[data-theme=\"light\"] .testi{background:white;}\r\n[data-theme=\"light\"] .testi::before{opacity:0.02;}\r\n[data-theme=\"light\"] .tc{background:#F0F5FF;border-color:rgba(0,85,179,0.08);}\r\n[data-theme=\"light\"] .tc:hover{background:white;box-shadow:0 8px 40px rgba(0,85,179,0.12);}\r\n[data-theme=\"light\"] .tc-text{color:rgba(5,13,26,0.65);}\r\n[data-theme=\"light\"] .tc-name{color:#050D1A;}\r\n[data-theme=\"light\"] .tc-loc{color:rgba(5,13,26,0.4);}\r\n[data-theme=\"light\"] .google-box{background:#F0F5FF;border-color:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .g-rating{color:#050D1A;}\r\n[data-theme=\"light\"] .g-count{color:rgba(5,13,26,0.45);}\r\n\r\n\/* FAQ *\/\r\n[data-theme=\"light\"] .faq-section{background:#F0F5FF;}\r\n[data-theme=\"light\"] .fq{background:white;border-color:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .fq.open{border-color:rgba(0,106,223,0.35);background:#EBF3FF;}\r\n[data-theme=\"light\"] .fq-q{color:rgba(5,13,26,0.8);}\r\n[data-theme=\"light\"] .fq.open .fq-q{color:#050D1A;}\r\n[data-theme=\"light\"] .fq-ico{background:rgba(0,85,179,0.08);color:rgba(0,85,179,0.5);}\r\n[data-theme=\"light\"] .fq-a p{color:rgba(5,13,26,0.6);}\r\n\r\n\/* Location *\/\r\n[data-theme=\"light\"] .loc{background:#FFFFFF;}\r\n[data-theme=\"light\"] .loc::before{opacity:0.03;}\r\n[data-theme=\"light\"] .lc{background:#F0F5FF;border-color:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .lc p,.lc a{color:#050D1A;}\r\n[data-theme=\"light\"] .lc h4{color:rgba(5,13,26,0.4);}\r\n\r\n\/* CTA final *\/\r\n[data-theme=\"light\"] .cta-final{background:var(--grad);}\r\n[data-theme=\"light\"] .cta-final::before{opacity:0.08;}\r\n[data-theme=\"light\"] .btn-cta-book{background:white;color:var(--p);}\r\n\r\n\/* Cookie banner *\/\r\n[data-theme=\"light\"] .cookie{background:white;box-shadow:0 -4px 24px rgba(0,85,179,0.08);}\r\n[data-theme=\"light\"] .cookie p{color:rgba(5,13,26,0.6);}\r\n[data-theme=\"light\"] .cookie p a{color:var(--p);}\r\n[data-theme=\"light\"] .ck-no{background:rgba(0,85,179,0.07);color:rgba(5,13,26,0.55);}\r\n\r\n\/* Footer *\/\r\n[data-theme=\"light\"] .footer{background:#050D1A;}\r\n\r\n\/* Proof strip *\/\r\n[data-theme=\"light\"] .proof{background:#050D1A;}\r\n\r\n\/* Sticky bar *\/\r\n[data-theme=\"light\"] .sticky-bar{background:rgba(255,255,255,0.97);border-bottom-color:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .sb-msg{color:rgba(5,13,26,0.6);}\r\n[data-theme=\"light\"] .sb-msg strong{color:#050D1A;}\r\n\r\n\/* Drawer *\/\r\n[data-theme=\"light\"] .drawer{background:white;}\r\n[data-theme=\"light\"] .drawer-links a{color:rgba(5,13,26,0.7);border-bottom-color:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .drawer-lang{background:rgba(0,85,179,0.07);color:rgba(5,13,26,0.5);}\r\n\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   RESERVATION PAGE \u2014 LIGHT THEME OVERRIDES\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n[data-theme=\"light\"] .res-form-card{background:#FFFFFF;border-color:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .res-summary{background:#FFFFFF;border-color:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .type-toggle{background:#EBF3FF;border-color:rgba(0,85,179,0.12);}\r\n[data-theme=\"light\"] .type-btn{color:rgba(5,13,26,0.55);}\r\n[data-theme=\"light\"] .type-btn.active{background:#0055B3;color:white;}\r\n[data-theme=\"light\"] .form-input{background:#F8FBFF;border-color:rgba(0,85,179,0.15);color:#050D1A;}\r\n[data-theme=\"light\"] .form-input::placeholder{color:rgba(5,13,26,0.35);}\r\n[data-theme=\"light\"] .form-input:focus{background:#EBF3FF;border-color:#0055B3;}\r\n[data-theme=\"light\"] .phone-code{background:#F8FBFF;border-color:rgba(0,85,179,0.15);color:#050D1A;}\r\n[data-theme=\"light\"] .pax-box{background:#F0F5FF;border-color:rgba(0,85,179,0.12);}\r\n[data-theme=\"light\"] .pax-btn{background:rgba(0,85,179,0.06);border-color:rgba(0,85,179,0.15);}\r\n[data-theme=\"light\"] .pax-note{background:rgba(0,85,179,0.06);}\r\n[data-theme=\"light\"] .sum-separator{background:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .sum-total{background:rgba(0,85,179,0.08);border-color:rgba(0,85,179,0.18);}\r\n[data-theme=\"light\"] .sum-note{background:rgba(16,185,129,0.06);border-color:rgba(16,185,129,0.2);}\r\n[data-theme=\"light\"] .sum-wa-box{background:rgba(37,211,102,0.06);border-color:rgba(37,211,102,0.18);}\r\n[data-theme=\"light\"] .success-ref{background:#EBF3FF;border-color:rgba(0,85,179,0.12);}\r\n[data-theme=\"light\"] .success-wa{background:rgba(37,211,102,0.06);border-color:rgba(37,211,102,0.2);}\r\n[data-theme=\"light\"] .tip-row{background:#EBF3FF;}\r\n[data-theme=\"light\"] .login-push{background:rgba(0,85,179,0.07);border-color:rgba(0,85,179,0.18);}\r\n[data-theme=\"light\"] .lp-secondary{border-color:rgba(0,85,179,0.2);}\r\n[data-theme=\"light\"] .time-tip{background:rgba(0,85,179,0.12);border-color:rgba(0,85,179,0.28);color:#0055B3;}\r\n[data-theme=\"light\"] .indoor-upgrade{background:rgba(0,85,179,0.08);border-color:rgba(0,85,179,0.2);}\r\n[data-theme=\"light\"] .section-divider{color:rgba(5,13,26,0.4);}\r\n[data-theme=\"light\"] .section-divider::after{background:rgba(0,85,179,0.1);}\r\n[data-theme=\"light\"] .promo-toggle{color:rgba(5,13,26,0.55);}\r\n[data-theme=\"light\"] .promo-toggle:hover{color:#050D1A;}\r\n[data-theme=\"light\"] .promo-note{color:rgba(5,13,26,0.5);}\r\n[data-theme=\"light\"] .check-wrap{color:rgba(5,13,26,0.65);}\r\n[data-theme=\"light\"] .suc-btn-ghost{border-color:rgba(0,85,179,0.2);color:rgba(5,13,26,0.55);}\r\n[data-theme=\"light\"] .suc-btn-ghost:hover{color:#050D1A;}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   CONVERSION \u2014 EXIT INTENT MODAL\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.exit-overlay{\r\n  position:fixed;inset:0;background:rgba(5,13,26,0.88);backdrop-filter:blur(12px);\r\n  z-index:5000;display:flex;align-items:center;justify-content:center;padding:24px;\r\n  opacity:0;pointer-events:none;transition:opacity 0.3s;\r\n}\r\n.exit-overlay.open{opacity:1;pointer-events:all;}\r\n.exit-modal{\r\n  background:var(--dark2);border:1px solid var(--border);\r\n  border-radius:28px;max-width:420px;width:100%;padding:48px 40px;\r\n  text-align:center;position:relative;\r\n  transform:scale(0.92) translateY(24px);\r\n  transition:transform 0.35s var(--ease);\r\n}\r\n[data-theme=\"light\"] .exit-modal{background:white;border-color:rgba(0,85,179,0.1);}\r\n.exit-overlay.open .exit-modal{transform:scale(1) translateY(0);}\r\n.exit-x{\r\n  position:absolute;top:16px;right:16px;\r\n  width:32px;height:32px;border-radius:50%;\r\n  background:rgba(255,255,255,0.07);border:none;\r\n  display:flex;align-items:center;justify-content:center;\r\n  color:rgba(255,255,255,0.5);cursor:pointer;transition:all 0.2s;\r\n}\r\n.exit-x:hover{background:rgba(255,255,255,0.14);color:white;}\r\n[data-theme=\"light\"] .exit-x{background:rgba(0,85,179,0.07);color:rgba(5,13,26,0.5);}\r\n[data-theme=\"light\"] .exit-x:hover{background:rgba(0,85,179,0.14);color:#050D1A;}\r\n.exit-emoji{font-size:48px;margin-bottom:16px;display:block;}\r\n.exit-modal h2{font-size:24px;font-weight:900;color:white;margin-bottom:10px;line-height:1.2;}\r\n[data-theme=\"light\"] .exit-modal h2{color:#050D1A;}\r\n.exit-modal p{font-size:15px;color:rgba(255,255,255,0.55);margin-bottom:28px;line-height:1.6;}\r\n[data-theme=\"light\"] .exit-modal p{color:rgba(5,13,26,0.55);}\r\n.exit-wa-btn{\r\n  width:100%;padding:18px;background:var(--wa);color:white;\r\n  border-radius:14px;font-size:17px;font-weight:900;\r\n  display:flex;align-items:center;justify-content:center;gap:10px;\r\n  transition:var(--t);box-shadow:0 8px 32px var(--wa-glow);\r\n  text-decoration:none;margin-bottom:12px;\r\n}\r\n.exit-wa-btn:hover{transform:translateY(-2px);box-shadow:0 12px 40px var(--wa-glow);}\r\n.exit-skip{font-size:13px;color:rgba(255,255,255,0.35);cursor:pointer;background:none;border:none;font-family:var(--font);}\r\n.exit-skip:hover{color:rgba(255,255,255,0.6);}\r\n[data-theme=\"light\"] .exit-skip{color:rgba(5,13,26,0.35);}\r\n[data-theme=\"light\"] .exit-skip:hover{color:rgba(5,13,26,0.6);}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   CONVERSION \u2014 MOBILE STICKY CTA (bottom bar)\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.mob-cta{\r\n  display:none;position:fixed;bottom:0;left:0;right:0;z-index:1800;\r\n  background:rgba(5,13,26,0.98);backdrop-filter:blur(20px);\r\n  border-top:1px solid rgba(255,255,255,0.1);\r\n  padding:12px 16px;gap:10px;\r\n}\r\n[data-theme=\"light\"] .mob-cta{background:rgba(255,255,255,0.98);border-top-color:rgba(0,85,179,0.1);}\r\n.mob-cta.visible{display:flex;}\r\n.mob-wa-btn{\r\n  flex:1;padding:14px;background:var(--wa);color:white;\r\n  border-radius:12px;font-size:15px;font-weight:800;\r\n  display:flex;align-items:center;justify-content:center;gap:8px;\r\n  text-decoration:none;box-shadow:0 4px 16px var(--wa-glow);\r\n}\r\n.mob-book-btn{\r\n  flex:1;padding:14px;background:var(--grad);color:white;\r\n  border-radius:12px;font-size:15px;font-weight:800;\r\n  display:flex;align-items:center;justify-content:center;gap:8px;\r\n  text-decoration:none;box-shadow:0 4px 16px rgba(0,106,223,0.4);\r\n}\r\n@media(max-width:768px){\r\n  .mob-cta{display:none;}\r\n  .mob-cta.visible{display:flex;}\r\n  \/* Push floating WA up above mobile bar *\/\r\n  .wa-float{bottom:88px;}\r\n  .scroll-up{bottom:88px;}\r\n  .toast{bottom:104px;}\r\n}\r\n@media(min-width:769px){ .mob-cta{display:none!important;} }\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   CONVERSION \u2014 TRUST STRIP (below hero)\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.trust-strip{\r\n  background:rgba(5,13,26,0.98);border-top:1px solid rgba(255,255,255,0.06);\r\n  border-bottom:1px solid rgba(255,255,255,0.06);padding:20px 28px;\r\n}\r\n[data-theme=\"light\"] .trust-strip{background:#050D1A;border-color:rgba(255,255,255,0.05);}\r\n.trust-inner{\r\n  max-width:1200px;margin:0 auto;\r\n  display:flex;align-items:center;justify-content:center;\r\n  gap:0;flex-wrap:wrap;\r\n}\r\n.trust-item{\r\n  display:flex;align-items:center;gap:10px;padding:10px 28px;\r\n  border-right:1px solid rgba(255,255,255,0.07);\r\n}\r\n.trust-item:last-child{border-right:none;}\r\n.trust-item svg{color:#60AFFF;flex-shrink:0;}\r\n.trust-item strong{font-size:15px;font-weight:800;color:white;}\r\n.trust-item span{font-size:13px;color:rgba(255,255,255,0.5);}\r\n@media(max-width:640px){\r\n  .trust-item{padding:10px 16px;}\r\n  .trust-item span{display:none;}\r\n}\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   CONVERSION \u2014 URGENCY IN WIDGET\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\n.urgency-badge{\r\n  display:flex;align-items:center;gap:8px;\r\n  background:rgba(239,68,68,0.08);border:1px solid rgba(239,68,68,0.2);\r\n  border-radius:8px;padding:9px 14px;margin-bottom:16px;\r\n  font-size:13px;font-weight:700;color:#F87171;\r\n}\r\n.urgency-dot{\r\n  width:8px;height:8px;border-radius:50%;background:#EF4444;flex-shrink:0;\r\n  animation:spotPulse 1.5s infinite;\r\n}\r\n\r\n<\/style>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     STICKY BOOKING BAR (appears on scroll)\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<div class=\"sticky-bar\" id=\"stickyBar\" aria-hidden=\"true\">\r\n  <div class=\"sb-inner\">\r\n    <a href=\"index.html\" class=\"sb-logo\">\r\n      <!-- IMAGE: logo outside park fond sombre.png \u2014 uploader dans WP Media Library -->\r\n<img decoding=\"async\" src=\"logo outside park fond sombre.png\" alt=\"Outside Park\" height=\"30\">\r\n    <\/a>\r\n    <p class=\"sb-msg\" data-t=\"sticky.msg\"><\/p>\r\n    <div class=\"sb-actions\">\r\n      <a id=\"sbWa\" href=\"#\" class=\"sb-wa\" target=\"_blank\" rel=\"noopener noreferrer\">\r\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n        WhatsApp\r\n      <\/a>\r\n      <a href=\"#widget\" class=\"sb-book\" data-t=\"nav.reserve\"><\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     NAVBAR\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<nav class=\"nav\" id=\"mainNav\" aria-label=\"Navigation principale\">\r\n  <div class=\"nav-inner\">\r\n\r\n    <a href=\"index.html\" class=\"nav-logo\" aria-label=\"Outside Park \u2013 Accueil\">\r\n      <!-- IMAGE: logo outside park fond sombre.png \u2014 uploader dans WP Media Library -->\r\n<img decoding=\"async\" src=\"logo outside park fond sombre.png\" alt=\"Outside Park\" class=\"logo-light-v\">\r\n      <!-- IMAGE: logo outside park fond clair.png \u2014 uploader dans WP Media Library -->\r\n<img decoding=\"async\" src=\"logo outside park fond clair.png\" alt=\"Outside Park\" class=\"logo-dark-v\">\r\n    <\/a>\r\n\r\n    <ul class=\"nav-mid\" role=\"list\">\r\n      <li><a href=\"#parkings\"        data-t=\"nav.parking\"><\/a><\/li>\r\n      <li><a href=\"#fonctionnement\"  data-t=\"nav.how\"><\/a><\/li>\r\n      <li><a href=\"#tarifs\"          data-t=\"nav.prices\"><\/a><\/li>\r\n      <li><a href=\"#contact\"         data-t=\"nav.contact\"><\/a><\/li>\r\n    <\/ul>\r\n\r\n    <div class=\"nav-right\">\r\n      <div class=\"langs\" role=\"group\" aria-label=\"Langue\">\r\n        <button class=\"lang on\" data-lang=\"fr\">FR<\/button>\r\n        <button class=\"lang\"    data-lang=\"en\">EN<\/button>\r\n        <button class=\"lang\"    data-lang=\"de\">DE<\/button>\r\n        <button class=\"lang\"    data-lang=\"nl\">NL<\/button>\r\n      <\/div>\r\n\r\n      <button class=\"nav-acc\" id=\"navAccBtn\" aria-label=\"Mon compte\">\r\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"8\" r=\"4\"\/><path d=\"M4 20c0-4 3.6-7 8-7s8 3 8 7\"\/><\/svg>\r\n        <span data-t=\"nav.login\"><\/span>\r\n      <\/button>\r\n\r\n      <a id=\"navWa\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"nav-wa\" aria-label=\"R\u00e9server sur WhatsApp\">\r\n        <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n        <span data-t=\"nav.wa\"><\/span>\r\n      <\/a>\r\n\r\n      <button class=\"theme-btn\" id=\"themeBtn\" aria-label=\"Changer le th\u00e8me\">\r\n        <svg class=\"icon-moon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z\"\/><\/svg>\r\n        <svg class=\"icon-sun\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"5\"\/><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"\/><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"\/><line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"\/><line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"\/><line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"\/><line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"\/><line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"\/><line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"\/><\/svg>\r\n      <\/button>\r\n\r\n      <button class=\"burger\" id=\"burger\" aria-label=\"Menu\" aria-expanded=\"false\">\r\n        <span><\/span><span><\/span><span><\/span>\r\n      <\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/nav>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     MOBILE DRAWER\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<div class=\"drawer\" id=\"drawer\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Menu navigation\">\r\n  <nav class=\"drawer-links\">\r\n    <a href=\"#parkings\"       data-t=\"nav.parking\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/a>\r\n    <a href=\"#fonctionnement\" data-t=\"nav.how\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/a>\r\n    <a href=\"#tarifs\"         data-t=\"nav.prices\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/a>\r\n    <a href=\"#contact\"        data-t=\"nav.contact\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/a>\r\n    <a href=\"account.html\"    data-t=\"nav.login\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 18l6-6-6-6\"\/><\/svg><\/a>\r\n  <\/nav>\r\n  <a id=\"drawerWa\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"drawer-wa\">\r\n    <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n    <span data-t=\"nav.wa\"><\/span>\r\n  <\/a>\r\n  <div class=\"drawer-langs\">\r\n    <button class=\"drawer-lang on\" data-lang=\"fr\">FR<\/button>\r\n    <button class=\"drawer-lang\"    data-lang=\"en\">EN<\/button>\r\n    <button class=\"drawer-lang\"    data-lang=\"de\">DE<\/button>\r\n    <button class=\"drawer-lang\"    data-lang=\"nl\">NL<\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     HERO\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<section class=\"hero\" id=\"accueil\" aria-labelledby=\"hero-h1\">\r\n  <div class=\"hero-bg\" aria-hidden=\"true\"><\/div>\r\n  <div class=\"hero-overlay\" aria-hidden=\"true\"><\/div>\r\n  <div class=\"orbs\" aria-hidden=\"true\">\r\n    <div class=\"orb orb-1\"><\/div>\r\n    <div class=\"orb orb-2\"><\/div>\r\n    <div class=\"orb orb-3\"><\/div>\r\n  <\/div>\r\n  <div class=\"hero-pattern\" aria-hidden=\"true\"><\/div>\r\n\r\n  <div class=\"hero-inner\">\r\n    <!-- Left: Text -->\r\n    <div>\r\n      <div class=\"hero-label\">\r\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\r\n        <span data-t=\"hero.badge\"><\/span>\r\n      <\/div>\r\n      <h1 class=\"hero-h1\" id=\"hero-h1\">\r\n        <span data-t=\"hero.h1a\"><\/span><br>\r\n        <em data-t=\"hero.h1b\"><\/em>\r\n      <\/h1>\r\n      <p class=\"hero-sub\" data-t=\"hero.sub\"><\/p>\r\n      <div class=\"hero-pills\">\r\n        <div class=\"hero-pill\"><div class=\"pill-dot\"><svg width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/div><span data-t=\"hero.p1\"><\/span><\/div>\r\n        <div class=\"hero-pill\"><div class=\"pill-dot\"><svg width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/div><span data-t=\"hero.p2\"><\/span><\/div>\r\n        <div class=\"hero-pill\"><div class=\"pill-dot\"><svg width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/div><span data-t=\"hero.p3\"><\/span><\/div>\r\n        <div class=\"hero-pill\"><div class=\"pill-dot\"><svg width=\"10\" height=\"10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/div><span data-t=\"hero.p4\"><\/span><\/div>\r\n      <\/div>\r\n      <div class=\"hero-ctas\">\r\n        <a href=\"#widget\" class=\"btn-hero-book\">\r\n          <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg>\r\n          <span data-t=\"hero.ctaBook\"><\/span>\r\n        <\/a>\r\n        <a id=\"heroWa\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn-hero-wa\">\r\n          <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n          <span data-t=\"hero.ctaWa\"><\/span>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Right: Booking Widget -->\r\n    <div class=\"bw\" id=\"widget\" role=\"form\" aria-label=\"R\u00e9servation en ligne\">\r\n      <div class=\"bw-top\" style=\"position:relative;\">\r\n        <!-- Badge \"2 MIN pour r\u00e9server\" -->\r\n        <div style=\"position:absolute;top:-18px;right:-18px;background:linear-gradient(135deg,#0055B3,#006ADF);color:white;\r\n          border-radius:50%;width:72px;height:72px;display:flex;flex-direction:column;align-items:center;\r\n          justify-content:center;font-weight:900;box-shadow:0 4px 20px rgba(0,85,179,0.55);\r\n          border:3px solid rgba(255,255,255,0.2);transform:rotate(12deg);line-height:1.1;z-index:5;\">\r\n          <span style=\"font-size:18px;letter-spacing:-0.5px;\">2<\/span>\r\n          <span style=\"font-size:8px;text-transform:uppercase;letter-spacing:0.05em;opacity:0.9;\">MIN<\/span>\r\n          <span style=\"font-size:7px;text-transform:uppercase;letter-spacing:0.04em;opacity:0.85;\">r\u00e9server<\/span>\r\n        <\/div>\r\n        <h3 data-t=\"widget.title\"><\/h3>\r\n        <p data-t=\"widget.sub\"><\/p>\r\n      <\/div>\r\n      <div class=\"bw-body\">\r\n        <!-- Date range picker -->\r\n        <div class=\"w-cal-wrap\" style=\"margin-bottom:4px;\">\r\n          <div class=\"w-cal-sel\" id=\"wCalSel\">\r\n            <div class=\"w-cal-box active\" id=\"wCalBoxArr\">\r\n              <div class=\"w-cal-box-tag\">Arriv\u00e9e<\/div>\r\n              <div class=\"w-cal-box-val\" id=\"wCalValArr\">\r\n                <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" style=\"opacity:.5;margin-right:4px;vertical-align:middle;\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg>\r\n                <span id=\"wCalArrTxt\">Choisissez<\/span>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"w-cal-arrow\">\u2192<\/div>\r\n            <div class=\"w-cal-box\" id=\"wCalBoxDep\">\r\n              <div class=\"w-cal-box-tag\">D\u00e9part<\/div>\r\n              <div class=\"w-cal-box-val\" id=\"wCalValDep\">\r\n                <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" style=\"opacity:.5;margin-right:4px;vertical-align:middle;\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg>\r\n                <span id=\"wCalDepTxt\">Choisissez<\/span>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <!-- Popover calendar -->\r\n          <div class=\"w-cal-popover\" id=\"wCalPopover\">\r\n            <div class=\"w-cal-nav\">\r\n              <button type=\"button\" class=\"w-cal-nav-btn\" id=\"wCalPrev\">\u2039<\/button>\r\n              <span class=\"w-cal-title\" id=\"wCalTitle\"><\/span>\r\n              <button type=\"button\" class=\"w-cal-nav-btn\" id=\"wCalNext\">\u203a<\/button>\r\n            <\/div>\r\n            <div class=\"w-cal-grid\" id=\"wCalGrid\"><\/div>\r\n          <\/div>\r\n          <input type=\"hidden\" id=\"wArrDate\">\r\n          <input type=\"hidden\" id=\"wDepDate\">\r\n        <\/div>\r\n\r\n        <!-- Time row -->\r\n        <div class=\"wf-row\" style=\"margin-bottom:16px;\">\r\n          <div>\r\n            <label class=\"wf-label\">Heure arr.<\/label>\r\n            <div class=\"wf-time-wrap\">\r\n              <div class=\"wf-time-dd\" id=\"wArrTimeDd\" tabindex=\"0\">\r\n                <span class=\"wf-time-dd-val\"><span id=\"wArrTimeTxt\">10:00<\/span><\/span>\r\n                <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\r\n              <\/div>\r\n              <div class=\"wf-time-panel\" id=\"wArrTimePanel\"><\/div>\r\n              <input type=\"hidden\" id=\"wArrTime\" value=\"10:00\">\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <label class=\"wf-label\">Heure d\u00e9p.<\/label>\r\n            <div class=\"wf-time-wrap\">\r\n              <div class=\"wf-time-dd\" id=\"wDepTimeDd\" tabindex=\"0\">\r\n                <span class=\"wf-time-dd-val\"><span id=\"wDepTimeTxt\">10:00<\/span><\/span>\r\n                <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\r\n              <\/div>\r\n              <div class=\"wf-time-panel\" id=\"wDepTimePanel\"><\/div>\r\n              <input type=\"hidden\" id=\"wDepTime\" value=\"10:00\">\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- Price preview -->\r\n        <div class=\"bw-price\" aria-live=\"polite\">\r\n          <div class=\"bp-left\">\r\n            <span class=\"bp-days\" id=\"bpDays\" data-t=\"widget.selectDates\"><\/span>\r\n            <span class=\"bp-type\" id=\"bpType\"><\/span>\r\n          <\/div>\r\n          <div class=\"bp-right\">\r\n            <div class=\"bp-amount\" id=\"bpAmount\">--<\/div>\r\n            <div class=\"bp-note\" data-t=\"widget.onArrival\"><\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <button class=\"bw-cta\" id=\"wCta\" type=\"button\">\r\n          <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg>\r\n          <span data-t=\"widget.cta\"><\/span>\r\n        <\/button>\r\n      <\/div>\r\n\r\n      <div class=\"bw-foot\">\r\n        <a id=\"bwWa\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"bw-wa-link\">\r\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n          <span data-t=\"widget.waQuestion\"><\/span>\r\n        <\/a>\r\n        <div class=\"urgency-badge\">\r\n          <span class=\"urgency-dot\"><\/span>\r\n          <span id=\"urgencyText\">Seulement 4 places disponibles cette semaine<\/span>\r\n        <\/div>\r\n        <div class=\"bw-spots\">\r\n          <span class=\"spot-pulse\"><\/span>\r\n          <span data-t=\"widget.avail\"><\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550 TRUST STRIP \u2550\u2550\u2550 -->\r\n<div class=\"trust-strip\" role=\"complementary\" aria-label=\"Gages de confiance\">\r\n  <div class=\"trust-inner\">\r\n    <div class=\"trust-item\">\r\n      <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\r\n      <strong>+10 000<\/strong><span>clients satisfaits<\/span>\r\n    <\/div>\r\n    <div class=\"trust-item\">\r\n      <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\r\n      <strong>4.8 \/ 5<\/strong><span>sur Google<\/span>\r\n    <\/div>\r\n    <div class=\"trust-item\">\r\n      <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><rect x=\"2\" y=\"5\" width=\"20\" height=\"14\" rx=\"2\"\/><line x1=\"2\" y1=\"10\" x2=\"22\" y2=\"10\"\/><\/svg>\r\n      <strong>0 \u20ac<\/strong><span>\u00e0 payer en ligne<\/span>\r\n    <\/div>\r\n    <div class=\"trust-item\">\r\n      <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg>\r\n      <strong>5 min<\/strong><span>navette gratuite<\/span>\r\n    <\/div>\r\n    <div class=\"trust-item\">\r\n      <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg>\r\n      <strong>24\/7<\/strong><span>vid\u00e9osurveillance<\/span>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     HOW IT WORKS\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<section class=\"how\" id=\"fonctionnement\" aria-labelledby=\"how-h\">\r\n  <div class=\"wrap\">\r\n    <div class=\"center reveal\">\r\n      <span class=\"section-eyebrow\" data-t=\"how.eyebrow\"><\/span>\r\n      <h2 class=\"section-h\" id=\"how-h\" data-t=\"how.title\"><\/h2>\r\n      <p class=\"section-p\" data-t=\"how.sub\"><\/p>\r\n    <\/div>\r\n    <div class=\"how-grid\" style=\"margin-top:64px;position:relative;\">\r\n      <div class=\"how-connector\" aria-hidden=\"true\"><\/div>\r\n      <div class=\"how-step reveal d1\">\r\n        <div class=\"how-num\">1<\/div>\r\n        <h3 data-t=\"how.s1t\"><\/h3>\r\n        <p data-t=\"how.s1d\"><\/p>\r\n      <\/div>\r\n      <div class=\"how-step reveal d2\">\r\n        <div class=\"how-num\">2<\/div>\r\n        <h3 data-t=\"how.s2t\"><\/h3>\r\n        <p data-t=\"how.s2d\"><\/p>\r\n        <a id=\"howWa\" href=\"#\" class=\"how-wa\" target=\"_blank\" rel=\"noopener noreferrer\">\r\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n          WhatsApp\r\n        <\/a>\r\n      <\/div>\r\n      <div class=\"how-step reveal d3\">\r\n        <div class=\"how-num\">3<\/div>\r\n        <h3 data-t=\"how.s3t\"><\/h3>\r\n        <p data-t=\"how.s3d\"><\/p>\r\n      <\/div>\r\n      <div class=\"how-step reveal d4\">\r\n        <div class=\"how-num\">4<\/div>\r\n        <h3 data-t=\"how.s4t\"><\/h3>\r\n        <p data-t=\"how.s4d\"><\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     PRICING \/ PARKING TYPES\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<section class=\"pricing\" id=\"tarifs\" aria-labelledby=\"pricing-h\">\r\n  <div class=\"wrap\">\r\n    <div class=\"center reveal\">\r\n      <span class=\"section-eyebrow\" data-t=\"pricing.eyebrow\"><\/span>\r\n      <h2 class=\"section-h\" id=\"pricing-h\" data-t=\"pricing.title\"><\/h2>\r\n      <p class=\"section-p\" data-t=\"pricing.sub\"><\/p>\r\n    <\/div>\r\n    <div class=\"price-cards\" id=\"parkings\">\r\n      <!-- Indoor -->\r\n      <article class=\"price-card featured reveal d1\">\r\n        <div class=\"pc-badge badge-gold\">\r\n          <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\r\n          <span data-t=\"parking.inBadge\"><\/span>\r\n        <\/div>\r\n        <h3 class=\"pc-title\" data-t=\"parking.inTitle\"><\/h3>\r\n        <p class=\"pc-desc\" data-t=\"parking.inDesc\"><\/p>\r\n        <div class=\"pc-price\"><span class=\"cur\">\u20ac<\/span><span class=\"amt\" data-t=\"parking.inAmt\"><\/span><span class=\"per\" data-t=\"parking.inPer\"><\/span><\/div>\r\n        <ul class=\"pc-features\">\r\n          <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"parking.inF1\"><\/span><\/li>\r\n          <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"parking.inF2\"><\/span><\/li>\r\n          <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"parking.inF3\"><\/span><\/li>\r\n          <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"parking.inF4\"><\/span><\/li>\r\n          <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"parking.inF5\"><\/span><\/li>\r\n        <\/ul>\r\n        <button class=\"pc-cta pc-cta-white\" data-park-type=\"indoor\" type=\"button\">\r\n          <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg>\r\n          <span data-t=\"parking.inCta\"><\/span>\r\n        <\/button>\r\n        <p class=\"pc-note\" data-t=\"parking.note\"><\/p>\r\n      <\/article>\r\n\r\n      <!-- Outdoor -->\r\n      <article class=\"price-card reveal d2\">\r\n        <div class=\"pc-badge badge-green\">\r\n          <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\r\n          <span data-t=\"parking.outBadge\"><\/span>\r\n        <\/div>\r\n        <h3 class=\"pc-title\" data-t=\"parking.outTitle\"><\/h3>\r\n        <p class=\"pc-desc\" data-t=\"parking.outDesc\"><\/p>\r\n        <div class=\"pc-price\"><span class=\"cur\">\u20ac<\/span><span class=\"amt\" data-t=\"parking.outAmt\"><\/span><span class=\"per\" data-t=\"parking.outPer\"><\/span><\/div>\r\n        <ul class=\"pc-features\">\r\n          <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"parking.outF1\"><\/span><\/li>\r\n          <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"parking.outF2\"><\/span><\/li>\r\n          <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"parking.outF3\"><\/span><\/li>\r\n          <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"parking.outF4\"><\/span><\/li>\r\n          <li><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"parking.outF5\"><\/span><\/li>\r\n        <\/ul>\r\n        <button class=\"pc-cta pc-cta-grad\" data-park-type=\"outdoor\" type=\"button\">\r\n          <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg>\r\n          <span data-t=\"parking.outCta\"><\/span>\r\n        <\/button>\r\n        <p class=\"pc-note\" data-t=\"parking.note\"><\/p>\r\n      <\/article>\r\n    <\/div>\r\n\r\n    <!-- Legal disclaimer -->\r\n    <div class=\"reveal\" style=\"margin-top:32px;padding:20px 24px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:14px;text-align:center;\">\r\n      <p style=\"font-size:12px;color:rgba(255,255,255,0.35);line-height:1.7;\" data-t=\"legal.disclaimer\"><\/p>\r\n      <a href=\"mentions-legales.html\" style=\"font-size:12px;color:rgba(255,255,255,0.4);text-decoration:underline;margin-top:6px;display:inline-block;\" data-t=\"legal.readMore\"><\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     BENTO FEATURES\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<section class=\"bento\" aria-labelledby=\"bento-h\">\r\n  <div class=\"wrap\">\r\n    <div class=\"center reveal\">\r\n      <span class=\"section-eyebrow\" data-t=\"feat.eyebrow\"><\/span>\r\n      <h2 class=\"section-h\" id=\"bento-h\" data-t=\"feat.title\"><\/h2>\r\n      <p class=\"section-p\" data-t=\"feat.sub\"><\/p>\r\n    <\/div>\r\n    <div class=\"bento-grid\">\r\n      <!-- Shuttle (large) -->\r\n      <article class=\"bento-card bento-blue span3 reveal d1\">\r\n        <div class=\"bc-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"1\" y=\"3\" width=\"15\" height=\"13\" rx=\"2\"\/><polygon points=\"16 8 20 8 23 11 23 16 16 16 16 8\"\/><circle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"\/><circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"\/><\/svg><\/div>\r\n        <h3 data-t=\"feat.f1t\"><\/h3>\r\n        <p data-t=\"feat.f1d\"><\/p>\r\n        <!-- Shuttle visual -->\r\n        <div class=\"shuttle-visual\" style=\"margin-top:24px;\">\r\n          <div class=\"sv-block\">\r\n            <div class=\"sv-icon\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"1\" y=\"3\" width=\"15\" height=\"13\" rx=\"2\"\/><polygon points=\"16 8 20 8 23 11 23 16 16 16 16 8\"\/><circle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"\/><circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"\/><\/svg><\/div>\r\n            <div class=\"sv-label\">Parking<\/div>\r\n          <\/div>\r\n          <div class=\"sv-line\" style=\"position:relative;flex:1;margin:0 16px;\">\r\n            <div class=\"sv-time\">5 min<\/div>\r\n          <\/div>\r\n          <div class=\"sv-block\">\r\n            <div class=\"sv-icon\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z\"\/><\/svg><\/div>\r\n            <div class=\"sv-label\" data-t=\"feat.airport\"><\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- Security -->\r\n      <article class=\"bento-card reveal d2\">\r\n        <div class=\"bc-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg><\/div>\r\n        <h3 data-t=\"feat.f2t\"><\/h3>\r\n        <p data-t=\"feat.f2d\"><\/p>\r\n      <\/article>\r\n\r\n      <!-- CCTV -->\r\n      <article class=\"bento-card bento-dark reveal d3\">\r\n        <div class=\"bc-icon\" style=\"background:rgba(255,255,255,0.1);color:#60AFFF;\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polygon points=\"23 7 16 12 23 17 23 7\"\/><rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\"\/><\/svg><\/div>\r\n        <div class=\"bento-stat\">24\/7<\/div>\r\n        <h3 data-t=\"feat.f3t\"><\/h3>\r\n        <p data-t=\"feat.f3d\"><\/p>\r\n      <\/article>\r\n\r\n      <!-- Payment -->\r\n      <article class=\"bento-card reveal d4\">\r\n        <div class=\"bc-icon\"><svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\"\/><line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\"\/><\/svg><\/div>\r\n        <h3 data-t=\"feat.f4t\"><\/h3>\r\n        <p data-t=\"feat.f4d\"><\/p>\r\n      <\/article>\r\n\r\n      <!-- Indoor\/Outdoor stat -->\r\n      <article class=\"bento-card bento-dark span3 reveal d5\">\r\n        <div style=\"display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;\">\r\n          <div>\r\n            <div class=\"bento-stat\" style=\"font-size:56px;\">Indoor<\/div>\r\n            <p style=\"color:rgba(255,255,255,0.5);font-size:14px;margin-top:8px;\" data-t=\"feat.inTag\"><\/p>\r\n          <\/div>\r\n          <div style=\"border-left:1px solid rgba(255,255,255,0.1);padding-left:32px;\">\r\n            <div class=\"bento-stat\" style=\"font-size:56px;\">Outdoor<\/div>\r\n            <p style=\"color:rgba(255,255,255,0.5);font-size:14px;margin-top:8px;\" data-t=\"feat.outTag\"><\/p>\r\n          <\/div>\r\n        <\/div>\r\n        <a id=\"bentoWa\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding:12px 22px;background:var(--wa);color:white;border-radius:10px;font-size:14px;font-weight:800;box-shadow:0 4px 20px var(--wa-glow);transition:var(--t);\">\r\n          <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n          <span data-t=\"feat.waBtn\"><\/span>\r\n        <\/a>\r\n      <\/article>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     TESTIMONIALS (infinite marquee)\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<section class=\"testi\" aria-labelledby=\"testi-h\">\r\n  <div class=\"wrap\">\r\n    <div class=\"center reveal\">\r\n      <span class=\"section-eyebrow\" data-t=\"testi.eyebrow\"><\/span>\r\n      <h2 class=\"section-h\" id=\"testi-h\" data-t=\"testi.title\"><\/h2>\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"testi-marquee\">\r\n    <div class=\"testi-row row1\" id=\"testiRow1\"><\/div>\r\n    <div class=\"testi-row row2\" id=\"testiRow2\"><\/div>\r\n  <\/div>\r\n  <div class=\"wrap\">\r\n    <div class=\"testi-bottom reveal\">\r\n      <div class=\"google-box\">\r\n        <svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\"><path d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\" fill=\"#4285F4\"\/><path d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\" fill=\"#34A853\"\/><path d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\" fill=\"#FBBC05\"\/><path d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\" fill=\"#EA4335\"\/><\/svg>\r\n        <div>\r\n          <div class=\"g-rating\">4.8<\/div>\r\n          <div class=\"g-info\">\r\n            <div class=\"g-stars\">\r\n              <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\r\n              <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\r\n              <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\r\n              <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\r\n              <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>\r\n            <\/div>\r\n            <div class=\"g-count\" data-t=\"testi.gCount\"><\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     FAQ\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<section class=\"faq-section\" id=\"faq\" aria-labelledby=\"faq-h\">\r\n  <div class=\"wrap-sm\">\r\n    <div class=\"center reveal\">\r\n      <span class=\"section-eyebrow\" data-t=\"faq.eyebrow\"><\/span>\r\n      <h2 class=\"section-h\" id=\"faq-h\" data-t=\"faq.title\"><\/h2>\r\n      <p class=\"section-p\" data-t=\"faq.sub\"><\/p>\r\n    <\/div>\r\n    <div class=\"faq-list reveal\" id=\"faqList\"><\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     LOCATION \/ CONTACT\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<section class=\"loc\" id=\"contact\" aria-labelledby=\"loc-h\">\r\n  <div class=\"wrap\">\r\n    <div class=\"reveal\">\r\n      <span class=\"section-eyebrow\" data-t=\"loc.eyebrow\"><\/span>\r\n      <h2 class=\"section-h\" id=\"loc-h\" data-t=\"loc.title\"><\/h2>\r\n      <p class=\"section-p\" data-t=\"loc.sub\"><\/p>\r\n    <\/div>\r\n    <div class=\"loc-grid\">\r\n      <div class=\"loc-cards\">\r\n        <div class=\"lc reveal d1\">\r\n          <div class=\"lc-ico\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg><\/div>\r\n          <div><h4 data-t=\"loc.addrLabel\"><\/h4><p>4, Rue du Progr\u00e8s \u2014 6220 Fleurus, Belgique<\/p><\/div>\r\n        <\/div>\r\n        <div class=\"lc reveal d2\">\r\n          <div class=\"lc-ico\"><svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg><\/div>\r\n          <div><h4 data-t=\"loc.hoursLabel\"><\/h4><p data-t=\"loc.hours\"><\/p><\/div>\r\n        <\/div>\r\n        <a id=\"locWa\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"loc-wa-cta reveal d3\">\r\n          <svg width=\"26\" height=\"26\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n          <div>\r\n            <strong data-t=\"loc.waCta\"><\/strong>\r\n            <span data-t=\"loc.waNum\"><\/span>\r\n          <\/div>\r\n        <\/a>\r\n        <a href=\"https:\/\/maps.google.com\/?q=4+Rue+du+Progr\u00e8s+6220+Fleurus+Belgique\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:inline-flex;align-items:center;gap:8px;padding:14px 22px;background:var(--p-light);color:var(--p);border-radius:12px;font-size:14px;font-weight:700;transition:var(--t);\" class=\"reveal d4\">\r\n          <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polygon points=\"3 11 22 2 13 21 11 13 3 11\"\/><\/svg>\r\n          <span data-t=\"loc.directions\"><\/span>\r\n        <\/a>\r\n      <\/div>\r\n      <div class=\"loc-map reveal d2\">\r\n        <iframe src=\"https:\/\/www.openstreetmap.org\/export\/embed.html?bbox=4.5308%2C50.4737%2C4.5408%2C50.4797&amp;layer=mapnik&amp;marker=50.4767%2C4.5358\" loading=\"lazy\" title=\"Localisation Outside Park\" aria-label=\"Carte Outside Park\"><\/iframe>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     FINAL CTA\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<section class=\"cta-final\" aria-labelledby=\"cta-h\">\r\n  <div class=\"cta-orbs\" aria-hidden=\"true\"><div class=\"cta-orb cta-orb-1\"><\/div><div class=\"cta-orb cta-orb-2\"><\/div><\/div>\r\n  <div class=\"wrap cta-inner\">\r\n    <div class=\"reveal\">\r\n      <span class=\"section-eyebrow\" data-t=\"cta.eyebrow\"><\/span>\r\n      <h2 class=\"cta-h\" id=\"cta-h\">\r\n        <span data-t=\"cta.h1\"><\/span><br><em data-t=\"cta.h2\"><\/em>\r\n      <\/h2>\r\n      <p class=\"cta-sub\" data-t=\"cta.sub\"><\/p>\r\n      <div class=\"cta-btns\">\r\n        <a href=\"#widget\" class=\"btn-cta-book\">\r\n          <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg>\r\n          <span data-t=\"cta.book\"><\/span>\r\n        <\/a>\r\n        <a id=\"ctaWa\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn-cta-wa\">\r\n          <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n          <span data-t=\"cta.wa\"><\/span>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     FOOTER\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<footer class=\"footer\" role=\"contentinfo\">\r\n  <div class=\"wrap\">\r\n    <div class=\"foot-top\">\r\n      <div>\r\n        <div class=\"foot-logo\"><!-- IMAGE: logo outside park fond sombre.png \u2014 uploader dans WP Media Library -->\r\n<img decoding=\"async\" src=\"logo outside park fond sombre.png\" alt=\"Outside Park\" width=\"130\"><\/div>\r\n        <p class=\"foot-tag\" data-t=\"foot.tag\"><\/p>\r\n        <div class=\"foot-contact\">\r\n          <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\r\n          <span>4, Rue du Progr\u00e8s \u2014 6220 Fleurus, BE<\/span>\r\n        <\/div>\r\n        <div class=\"foot-contact\">\r\n          <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n          <a id=\"footWa\" href=\"#\">+32 491 90 93 93 (WhatsApp)<\/a>\r\n        <\/div>\r\n      <\/div>\r\n      <div>\r\n        <h4 class=\"foot-h\" data-t=\"foot.navTitle\"><\/h4>\r\n        <ul class=\"foot-links\">\r\n          <li><a href=\"#parkings\"       data-t=\"nav.parking\"><\/a><\/li>\r\n          <li><a href=\"#fonctionnement\" data-t=\"nav.how\"><\/a><\/li>\r\n          <li><a href=\"#tarifs\"         data-t=\"nav.prices\"><\/a><\/li>\r\n          <li><a href=\"#contact\"        data-t=\"nav.contact\"><\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n      <div>\r\n        <h4 class=\"foot-h\" data-t=\"foot.accTitle\"><\/h4>\r\n        <ul class=\"foot-links\">\r\n          <li><a href=\"account.html\"    data-t=\"nav.login\"><\/a><\/li>\r\n          <li><a href=\"account.html\"    data-t=\"foot.register\"><\/a><\/li>\r\n          <li><a href=\"account.html\"    data-t=\"foot.myres\"><\/a><\/li>\r\n          <li><a href=\"reservation.html\" data-t=\"nav.reserve\"><\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n      <div>\r\n        <h4 class=\"foot-h\" data-t=\"foot.legalTitle\"><\/h4>\r\n        <ul class=\"foot-links\">\r\n          <li><a href=\"mentions-legales.html\" data-t=\"foot.legal\"><\/a><\/li>\r\n          <li><a href=\"mentions-legales.html\" data-t=\"foot.privacy\"><\/a><\/li>\r\n          <li><a href=\"mentions-legales.html\" data-t=\"foot.cookies\"><\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"foot-bottom\">\r\n      <p class=\"foot-copy\" data-t=\"foot.copy\"><\/p>\r\n      <div class=\"foot-legal\">\r\n        <a href=\"mentions-legales.html\" data-t=\"foot.legal\"><\/a>\r\n        <a href=\"mentions-legales.html\" data-t=\"foot.privacy\"><\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/footer>\r\n\r\n<!-- \u2550\u2550\u2550 FLOATING WHATSAPP \u2550\u2550\u2550 -->\r\n<a id=\"floatWa\" href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"wa-float\" aria-label=\"Contacter via WhatsApp\">\r\n  <svg width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"white\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"\/><path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.136.564 4.14 1.54 5.876L0 24l6.316-1.518A11.956 11.956 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 22c-1.892 0-3.668-.502-5.2-1.375l-.372-.22-3.746.9.937-3.647-.243-.386A9.956 9.956 0 012 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"\/><\/svg>\r\n  <div class=\"wa-tooltip\" data-t=\"wa.tooltip\"><\/div>\r\n<\/a>\r\n\r\n<!-- \u2550\u2550\u2550 AUTH MODAL \u2550\u2550\u2550 -->\r\n<div class=\"overlay\" id=\"overlay\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"modalTitle\">\r\n  <div class=\"modal\" id=\"authModal\">\r\n    <div class=\"modal-head\">\r\n      <h3 id=\"modalTitle\" data-t=\"auth.loginTitle\"><\/h3>\r\n      <button class=\"modal-x\" id=\"modalClose\" aria-label=\"Fermer\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg><\/button>\r\n    <\/div>\r\n    <div class=\"modal-body\">\r\n      <div class=\"modal-tabs\">\r\n        <button class=\"mtab on\" id=\"tabL\" data-t=\"auth.loginTitle\"><\/button>\r\n        <button class=\"mtab\" id=\"tabR\"    data-t=\"auth.registerTitle\"><\/button>\r\n      <\/div>\r\n      <!-- Login -->\r\n      <form class=\"mf active\" id=\"loginForm\" novalidate>\r\n        <div class=\"fg\"><label class=\"fl\" data-t=\"auth.email\"><\/label><input type=\"email\" class=\"fi\" name=\"email\" required autocomplete=\"email\"><\/div>\r\n        <div class=\"fg\"><label class=\"fl\" data-t=\"auth.password\"><\/label><input type=\"password\" class=\"fi\" name=\"password\" required autocomplete=\"current-password\"><\/div>\r\n        <span class=\"mf-forgot\" data-t=\"auth.forgot\"><\/span>\r\n        <button type=\"submit\" class=\"mf-submit\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><span data-t=\"auth.loginBtn\"><\/span><\/button>\r\n        <p class=\"mf-alt to-register\" data-t=\"auth.noAccount\"><\/p>\r\n      <\/form>\r\n      <!-- Register -->\r\n      <form class=\"mf\" id=\"registerForm\" novalidate>\r\n        <div class=\"mf-row\">\r\n          <div class=\"fg\"><label class=\"fl\" data-t=\"auth.firstName\"><\/label><input type=\"text\" class=\"fi\" name=\"firstName\" required autocomplete=\"given-name\"><\/div>\r\n          <div class=\"fg\"><label class=\"fl\" data-t=\"auth.lastName\"><\/label><input type=\"text\" class=\"fi\" name=\"lastName\" required autocomplete=\"family-name\"><\/div>\r\n        <\/div>\r\n        <div class=\"fg\"><label class=\"fl\" data-t=\"auth.email\"><\/label><input type=\"email\" class=\"fi\" name=\"email\" required autocomplete=\"email\"><\/div>\r\n        <div class=\"fg\"><label class=\"fl\" data-t=\"auth.phone\"><\/label><input type=\"tel\" class=\"fi\" name=\"phone\" autocomplete=\"tel\"><\/div>\r\n        <div class=\"fg\"><label class=\"fl\" data-t=\"auth.password\"><\/label><input type=\"password\" class=\"fi\" name=\"password\" required autocomplete=\"new-password\"><\/div>\r\n        <div class=\"fg\"><label class=\"fl\" data-t=\"auth.confirmPass\"><\/label><input type=\"password\" class=\"fi\" name=\"confirmPass\" required autocomplete=\"new-password\"><\/div>\r\n        <button type=\"submit\" class=\"mf-submit\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><line x1=\"19\" y1=\"8\" x2=\"19\" y2=\"14\"\/><line x1=\"22\" y1=\"11\" x2=\"16\" y2=\"11\"\/><\/svg><span data-t=\"auth.registerBtn\"><\/span><\/button>\r\n        <p class=\"mf-alt to-login\" data-t=\"auth.hasAccount\"><\/p>\r\n      <\/form>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- \u2550\u2550\u2550 COOKIE \u2550\u2550\u2550 -->\r\n<div class=\"cookie\" id=\"cookieBanner\" role=\"region\" aria-label=\"Cookies\">\r\n  <p data-t=\"cookie.text\"><\/p>\r\n  <div class=\"cookie-btns\">\r\n    <button class=\"ck-ok\" id=\"ckOk\" data-t=\"cookie.accept\"><\/button>\r\n    <button class=\"ck-no\" id=\"ckNo\" data-t=\"cookie.decline\"><\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- \u2550\u2550\u2550 SCROLL UP \u2550\u2550\u2550 -->\r\n<button class=\"scroll-up\" id=\"scrollUpBtn\" aria-label=\"Retour en haut\">\r\n  <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><path d=\"M18 15l-6-6-6 6\"\/><\/svg>\r\n<\/button>\r\n\r\n\r\n<!-- \u2550\u2550\u2550 EXIT INTENT MODAL \u2550\u2550\u2550 -->\r\n<div class=\"exit-overlay\" id=\"exitOverlay\">\r\n  <div class=\"exit-modal\">\r\n    <button class=\"exit-x\" id=\"exitClose\">\r\n      <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>\r\n    <\/button>\r\n    <span class=\"exit-emoji\">\u2708\ufe0f<\/span>\r\n    <h2 id=\"exitTitle\">Votre vol vous attend !<\/h2>\r\n    <p id=\"exitSub\">R\u00e9servez votre place en 30 secondes sur WhatsApp. Notre \u00e9quipe r\u00e9pond en quelques minutes.<\/p>\r\n    <a href=\"#\" class=\"exit-wa-btn\" id=\"exitWa\" target=\"_blank\" rel=\"noopener\">\r\n      <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z\"\/><\/svg>\r\n      R\u00e9server sur WhatsApp\r\n    <\/a>\r\n    <button class=\"exit-skip\" id=\"exitSkip\">Non merci, je continue \u00e0 regarder<\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- \u2550\u2550\u2550 MOBILE STICKY CTA \u2550\u2550\u2550 -->\r\n<div class=\"mob-cta\" id=\"mobCta\" aria-label=\"R\u00e9server\">\r\n  <a href=\"#\" class=\"mob-wa-btn\" id=\"mobWa\" target=\"_blank\" rel=\"noopener\">\r\n    <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z\"\/><\/svg>\r\n    WhatsApp\r\n  <\/a>\r\n  <a href=\"#widget\" class=\"mob-book-btn\">\r\n    <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\/><\/svg>\r\n    R\u00e9server\r\n  <\/a>\r\n<\/div>\r\n\r\n<!-- \u2550\u2550\u2550 SCRIPTS \u2550\u2550\u2550 -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n<script>\r\n\/* === TRANSLATIONS.JS === *\/\r\n\/* ============================================================\r\n   OUTSIDE PARK \u2014 i18n v2 (FR|EN|DE|NL)\r\n   Payment: \u00e0 l'arriv\u00e9e | WhatsApp as primary CTA\r\n   ============================================================ *\/\r\n\r\nconst t = {\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   FRAN\u00c7AIS\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\nfr: {\r\n  meta: {\r\n    title: \"Parking A\u00e9roport Charleroi | Navette Gratuite | Outside Park\",\r\n    desc:  \"Parking s\u00e9curis\u00e9 \u00e0 5 min de l'a\u00e9roport de Charleroi Brussels South. Navette gratuite, 24\/7. Ext\u00e9rieur 5\u20ac\/j, Int\u00e9rieur 8\u20ac\/j. Payez \u00e0 l'arriv\u00e9e !\"\r\n  },\r\n  announce: \"\ud83d\ude97 Parking a\u00e9roport Charleroi \u2014 Navette gratuite 5 min \u2014 <strong>Payez \u00e0 l'arriv\u00e9e<\/strong> \u2014 <a href='#widget'>R\u00e9servez maintenant<\/a>\",\r\n  wa: { tooltip: \"R\u00e9server sur WhatsApp\" },\r\n  nav: { parking:\"Nos Parkings\", how:\"Comment \u00e7a marche\", prices:\"Tarifs\", contact:\"Contact\", login:\"Mon Compte\", wa:\"WhatsApp\", reserve:\"R\u00e9server\" },\r\n  sticky: { msg: \"Places limit\u00e9es \u2014 <strong>R\u00e9servez maintenant<\/strong>\" },\r\n  hero: {\r\n    badge: \"\u00c0 5 min de l'a\u00e9roport de Charleroi Brussels South\",\r\n    h1a:  \"Votre parking\",\r\n    h1b:  \"\u00e0 Charleroi.\",\r\n    sub:  \"Navette gratuite \u00b7 Payez \u00e0 l'arriv\u00e9e \u00b7 Vid\u00e9osurveillance 24\/7 \u00b7 5 minutes de l'a\u00e9roport\",\r\n    p1:   \"Navette gratuite incluse (5 min)\",\r\n    p2:   \"Paiement \u00e0 l'arriv\u00e9e au parking\",\r\n    p3:   \"S\u00e9curis\u00e9 & vid\u00e9osurveill\u00e9 24\/7\",\r\n    p4:   \"Parking int\u00e9rieur & ext\u00e9rieur\",\r\n    ctaWa:   \"Nous appeler\",\r\n    ctaBook: \"R\u00e9server en ligne\"\r\n  },\r\n  widget: {\r\n    title:     \"Calculez votre s\u00e9jour\",\r\n    sub:       \"Gratuit & sans engagement\",\r\n    indoor:    \"Int\u00e9rieur\",\r\n    outdoor:   \"Ext\u00e9rieur\",\r\n    arrival:   \"Date d'arriv\u00e9e\",\r\n    departure: \"Date de d\u00e9part\",\r\n    days:      \"jour(s)\",\r\n    onArrival: \"Paiement \u00e0 l'arriv\u00e9e\",\r\n    cta:       \"R\u00e9server mon parking\",\r\n    avail:     \"Places disponibles\",\r\n    selectDates: \"Choisissez vos dates\",\r\n    waQuestion:  \"Questions ? WhatsApp\"\r\n  },\r\n  proof: { p1:\"Avis Google v\u00e9rifi\u00e9s\", p2:\"Clients satisfaits\", p3:\"Navette express\", p4:\"Vid\u00e9osurveillance\", p5:\"Paiement \u00e0 l'arriv\u00e9e\", p5n:\"\u00c0 l'arriv\u00e9e\" },\r\n  how: {\r\n    eyebrow: \"Simple & rapide\",\r\n    title:   \"Comment \u00e7a marche ?\",\r\n    sub:     \"4 \u00e9tapes, votre parking est r\u00e9serv\u00e9\",\r\n    s1t:\"R\u00e9servez en ligne\", s1d:\"Choisissez vos dates et le type de parking. Confirmez en quelques clics, gratuitement.\",\r\n    s2t:\"Pr\u00e9venez le chauffeur 15 min avant\", s2d:\"Appelez le +32 491 90 93 93 d\u00e8s 15 minutes avant d'arriver au parking (appel WhatsApp ou t\u00e9l\u00e9phone).\",\r\n    s3t:\"Navette express 5 min\", s3d:\"Nous vous r\u00e9cup\u00e9rons au parking et vous d\u00e9posons \u00e0 l'a\u00e9roport en seulement 5 minutes.\",\r\n    s4t:\"Payez \u00e0 l'arriv\u00e9e\", s4d:\"R\u00e9glez directement \u00e0 votre arriv\u00e9e au parking. Pas de pr\u00e9-paiement en ligne. Simple et transparent.\"\r\n  },\r\n  pricing: {\r\n    eyebrow: \"Nos tarifs\",\r\n    title:   \"Int\u00e9rieur ou ext\u00e9rieur ?\",\r\n    sub:     \"Deux formules, toujours avec navette gratuite incluse\"\r\n  },\r\n  parking: {\r\n    inBadge:\"Premium\", inTitle:\"Parking Int\u00e9rieur\", inDesc:\"\u00c0 l'abri des intemp\u00e9ries dans notre espace couvert et s\u00e9curis\u00e9.\",\r\n    inAmt:\"8\", inPer:\"\/ jour\",\r\n    inF1:\"Couvert et prot\u00e9g\u00e9 de la pluie\", inF2:\"Vid\u00e9osurveillance HD\", inF3:\"Acc\u00e8s s\u00e9curis\u00e9\", inF4:\"Navette gratuite incluse\", inF5:\"Id\u00e9al pour les longs s\u00e9jours\",\r\n    inCta:\"R\u00e9server parking int\u00e9rieur\",\r\n    outBadge:\"\u00c9conomique\", outTitle:\"Parking Ext\u00e9rieur\", outDesc:\"La solution s\u00e9curis\u00e9e au meilleur prix, enti\u00e8rement cl\u00f4tur\u00e9e.\",\r\n    outAmt:\"5\", outPer:\"\/ jour\",\r\n    outF1:\"Enti\u00e8rement cl\u00f4tur\u00e9\", outF2:\"Vid\u00e9osurveillance 24\/7\", outF3:\"Acc\u00e8s contr\u00f4l\u00e9\", outF4:\"Navette gratuite incluse\", outF5:\"Meilleur prix garanti\",\r\n    outCta:\"R\u00e9server parking ext\u00e9rieur\",\r\n    note:\"Paiement \u00e0 l'arriv\u00e9e \u00b7 Annulation gratuite\"\r\n  },\r\n  feat: {\r\n    eyebrow:\"Nos avantages\", title:\"Pourquoi nous choisir ?\", sub:\"Tout ce qu'il vous faut pour partir l'esprit tranquille\",\r\n    f1t:\"Navette gratuite 5 min\", f1d:\"Notre navette vous conduit \u00e0 l'a\u00e9roport en 5 minutes. Appelez-nous 15 min avant d'arriver (appel WhatsApp ou t\u00e9l\u00e9phone).\",\r\n    f2t:\"Parking s\u00e9curis\u00e9\", f2d:\"Acc\u00e8s contr\u00f4l\u00e9, cl\u00f4ture, personnel pr\u00e9sent. Votre v\u00e9hicule est en s\u00e9curit\u00e9.\",\r\n    f3t:\"Vid\u00e9osurveillance 24h\/24\", f3d:\"Cam\u00e9ras actives en permanence, nuit et jour, toute l'ann\u00e9e.\",\r\n    f4t:\"Paiement \u00e0 l'arriv\u00e9e\", f4d:\"Aucun pr\u00e9-paiement en ligne. Vous payez directement \u00e0 votre arriv\u00e9e au parking.\",\r\n    airport:\"A\u00e9roport\",\r\n    inTag:\"Couvert \u00b7 Prot\u00e9g\u00e9 \u00b7 8\u20ac\/jour\", outTag:\"S\u00e9curis\u00e9 \u00b7 \u00c9conomique \u00b7 5\u20ac\/jour\",\r\n    waBtn:\"R\u00e9server sur WhatsApp\"\r\n  },\r\n  testi: {\r\n    eyebrow:\"Avis clients\", title:\"Ils nous font confiance\",\r\n    gCount:\"bas\u00e9 sur 247 avis Google\",\r\n    items:[\r\n      { name:\"Sophie M.\",  loc:\"Bruxelles\",  text:\"Service impeccable ! La navette \u00e9tait l\u00e0 en moins de 5 minutes. Parking super s\u00e9curis\u00e9 et prix imbattables. Je ne changerais pour rien !\", r:5 },\r\n      { name:\"Thomas D.\",  loc:\"Namur\",      text:\"J'utilise Outside Park \u00e0 chaque voyage depuis 2 ans. Personnel sympa, navette ponctuelle, voiture impeccable au retour.\", r:5 },\r\n      { name:\"Marie L.\",   loc:\"Li\u00e8ge\",      text:\"R\u00e9servation en ligne tr\u00e8s simple. Ils \u00e9taient pr\u00eats \u00e0 mon arriv\u00e9e. Trajet navette ultra rapide. Je recommande vivement !\", r:5 },\r\n      { name:\"Jean-P. V.\", loc:\"Charleroi\",  text:\"Le meilleur parking de Charleroi sans h\u00e9siter. Rapport qualit\u00e9\/prix excellent, personnel disponible et sympa.\", r:5 },\r\n      { name:\"Anne K.\",    loc:\"Mons\",       text:\"Parfait du d\u00e9but \u00e0 la fin. R\u00e9servation facile, navette rapide et paiement \u00e0 l'arriv\u00e9e super pratique. Merci !\", r:5 },\r\n      { name:\"Marc B.\",    loc:\"Louvain-la-N.\",text:\"Beaucoup moins cher que le parking de l'a\u00e9roport. Navette en 5 min et voiture bien gard\u00e9e. \u00c0 recommander !\", r:5 }\r\n    ]\r\n  },\r\n  faq: {\r\n    eyebrow:\"FAQ\",\r\n    title:\"Questions fr\u00e9quentes\",\r\n    sub:\"Tout ce qu'il faut savoir\",\r\n    items:[\r\n      { q:\"Combien de temps dure la navette ?\",              a:\"Notre navette gratuite vous am\u00e8ne \u00e0 l'a\u00e9roport de Charleroi en seulement 5 minutes. Le trajet retour est identique.\" },\r\n      { q:\"Comment pr\u00e9venir le chauffeur ?\",                 a:\"Appelez le +32 491 90 93 93 (appel WhatsApp ou t\u00e9l\u00e9phone) au moins 15 minutes avant votre arriv\u00e9e au parking. Notre chauffeur sera pr\u00eat \u00e0 vous accueillir.\" },\r\n      { q:\"Quand dois-je payer ?\",                           a:\"Le paiement s'effectue \u00e0 votre arriv\u00e9e au parking, directement sur place. Pas de pr\u00e9-paiement en ligne requis. Nous acceptons esp\u00e8ces et cartes.\" },\r\n      { q:\"Puis-je annuler ma r\u00e9servation ?\",                a:\"Oui, l'annulation est gratuite \u00e0 tout moment depuis votre espace client ou via WhatsApp.\" },\r\n      { q:\"Quelle est la diff\u00e9rence int\u00e9rieur\/ext\u00e9rieur ?\",  a:\"L'int\u00e9rieur est couvert (prot\u00e8ge des intemp\u00e9ries) \u00e0 8\u20ac\/jour. L'ext\u00e9rieur est \u00e0 ciel ouvert, enti\u00e8rement s\u00e9curis\u00e9, \u00e0 5\u20ac\/jour.\" },\r\n      { q:\"Y a-t-il des places pour grands v\u00e9hicules ?\",     a:\"Oui, nous acceptons SUV, monospaces et utilitaires. Pr\u00e9cisez le type de v\u00e9hicule lors de votre r\u00e9servation.\" },\r\n      { q:\"La navette fonctionne-t-elle de nuit ?\",          a:\"Oui, notre service s'adapte aux horaires des vols. Pour les vols tr\u00e8s t\u00f4t ou tr\u00e8s tard, contactez-nous \u00e0 l'avance via WhatsApp.\" },\r\n      { q:\"Outside Park est-il responsable de mon v\u00e9hicule ?\", a:\"Le stationnement est effectu\u00e9 \u00e0 vos risques et p\u00e9rils. Outside Park est un parking priv\u00e9 qui met tout en \u0153uvre pour s\u00e9curiser votre v\u00e9hicule, mais d\u00e9cline toute responsabilit\u00e9 en cas de vol, accident ou dommage. Consultez nos <a href='mentions-legales.html'>mentions l\u00e9gales<\/a>.\" }\r\n    ]\r\n  },\r\n  loc: {\r\n    eyebrow:\"Nous trouver\",\r\n    title:\"\u00c0 5 minutes de l'a\u00e9roport\",\r\n    sub:\"Facile d'acc\u00e8s depuis l'autoroute E42, sortie Gosselies\",\r\n    addrLabel:\"Adresse\", hoursLabel:\"Horaires\",\r\n    hours:\"03h30 \u2013 00h00 \u00b7 7j\/7\",\r\n    waCta:\"Nous appeler sur WhatsApp\",\r\n    waNum:\"+32 491 90 93 93\",\r\n    directions:\"Obtenir l'itin\u00e9raire\"\r\n  },\r\n  cta: {\r\n    eyebrow:\"Pr\u00eat \u00e0 partir ?\",\r\n    h1:\"R\u00e9servez votre parking\",\r\n    h2:\"\u00e0 Charleroi maintenant.\",\r\n    sub:\"Plus de 10 000 voyageurs nous font confiance. Paiement \u00e0 l'arriv\u00e9e, navette gratuite.\",\r\n    wa:\"Appeler sur WhatsApp\",\r\n    book:\"R\u00e9server en ligne\"\r\n  },\r\n  foot: {\r\n    tag:\"Parking s\u00e9curis\u00e9 \u00e0 5 min de l'a\u00e9roport de Charleroi Brussels South. Navette gratuite, vid\u00e9osurveillance 24\/7.\",\r\n    navTitle:\"Navigation\", accTitle:\"Mon compte\", legalTitle:\"L\u00e9gal\",\r\n    register:\"Inscription\", myres:\"Mes r\u00e9servations\",\r\n    legal:\"Mentions l\u00e9gales\", privacy:\"Confidentialit\u00e9\", cookies:\"Cookies\",\r\n    copy:\"\u00a9 2025 Outside Park \u2014 Tous droits r\u00e9serv\u00e9s\"\r\n  },\r\n  legal: {\r\n    disclaimer:\"Parking priv\u00e9 \u2014 Usage \u00e0 vos propres risques. Le gestionnaire d\u00e9cline toute responsabilit\u00e9 en cas de vol, accident ou dommage.\",\r\n    readMore:\"Lire les mentions l\u00e9gales compl\u00e8tes \u2192\"\r\n  },\r\n  cookie: { text:\"Nous utilisons des cookies pour am\u00e9liorer votre exp\u00e9rience. <a href='mentions-legales.html'>En savoir plus<\/a>.\", accept:\"Accepter\", decline:\"Refuser\" },\r\n  auth: {\r\n    loginTitle:\"Connexion\", registerTitle:\"Cr\u00e9er un compte\",\r\n    email:\"Email\", password:\"Mot de passe\", confirmPass:\"Confirmer le mot de passe\",\r\n    firstName:\"Pr\u00e9nom\", lastName:\"Nom\", phone:\"T\u00e9l\u00e9phone\",\r\n    loginBtn:\"Se connecter\", registerBtn:\"Cr\u00e9er mon compte\",\r\n    forgot:\"Mot de passe oubli\u00e9 ?\",\r\n    noAccount:\"Pas de compte ? <span>S'inscrire<\/span>\",\r\n    hasAccount:\"D\u00e9j\u00e0 un compte ? <span>Se connecter<\/span>\",\r\n    loginOk:\"Bienvenue\", registerOk:\"Compte cr\u00e9\u00e9 !\",\r\n    wrongCreds:\"Email ou mot de passe incorrect\",\r\n    emailExists:\"Cet email est d\u00e9j\u00e0 utilis\u00e9\",\r\n    passNoMatch:\"Les mots de passe ne correspondent pas\",\r\n    fillAll:\"Veuillez remplir tous les champs\"\r\n  },\r\n  account: {\r\n    title:\"Mon espace client\", welcome:\"Bienvenue\", myres:\"Mes r\u00e9servations\", profile:\"Mon profil\",\r\n    logout:\"D\u00e9connexion\", nores:\"Aucune r\u00e9servation.\", reserveNow:\"R\u00e9server maintenant\",\r\n    status:{ confirmed:\"Confirm\u00e9e\", cancelled:\"Annul\u00e9e\", past:\"Termin\u00e9e\" },\r\n    cancel:\"Annuler\", cancelConfirm:\"Annuler cette r\u00e9servation ?\",\r\n    indoor:\"Parking int\u00e9rieur\", outdoor:\"Parking ext\u00e9rieur\",\r\n    arrival:\"Arriv\u00e9e\", departure:\"D\u00e9part\", plate:\"Immatriculation\",\r\n    ref:\"R\u00e9f.\", days:\"jour(s)\", total:\"Total estim\u00e9\",\r\n    saveProfile:\"Sauvegarder\", firstName:\"Pr\u00e9nom\", lastName:\"Nom\", email:\"Email\", phone:\"T\u00e9l\u00e9phone\"\r\n  },\r\n  reservation: {\r\n    title:\"Finaliser ma r\u00e9servation\",\r\n    step1:\"Dates & Type\", step2:\"Vos informations\", step3:\"Confirmation\",\r\n    summary:\"R\u00e9capitulatif\", indoor:\"Parking Int\u00e9rieur\", outdoor:\"Parking Ext\u00e9rieur\",\r\n    arrival:\"Arriv\u00e9e\", departure:\"D\u00e9part\", days:\"jour(s)\",\r\n    priceEst:\"Total estim\u00e9\", payNote:\"Paiement \u00e0 l'arriv\u00e9e au parking\",\r\n    firstName:\"Pr\u00e9nom *\", lastName:\"Nom *\", email:\"Email *\", phone:\"T\u00e9l\u00e9phone *\", plate:\"Immatriculation *\",\r\n    vehicle:\"Type de v\u00e9hicule\", veh_car:\"Voiture\", veh_suv:\"SUV \/ Grand v\u00e9hicule\", veh_van:\"Utilitaire\",\r\n    notes:\"Remarques (optionnel)\", confirm:\"Confirmer ma r\u00e9servation\", back:\"Retour\",\r\n    successTitle:\"R\u00e9servation confirm\u00e9e !\", successSub:\"Pr\u00e9venez notre chauffeur 15 min avant votre arriv\u00e9e.\",\r\n    callReminder:\"Appelez le chauffeur 15 min avant :\", refLabel:\"Votre r\u00e9f\u00e9rence\",\r\n    goAccount:\"Voir mes r\u00e9servations\", goHome:\"Retour \u00e0 l'accueil\",\r\n    loginPush:\"Cr\u00e9ez un compte pour g\u00e9rer vos r\u00e9servations\",\r\n    createAcc:\"Cr\u00e9er un compte\", continueGuest:\"Continuer sans compte\",\r\n    terms:\"En r\u00e9servant, j'accepte les <a href='mentions-legales.html'>conditions g\u00e9n\u00e9rales<\/a> et je reconnais que le stationnement est effectu\u00e9 \u00e0 mes risques et p\u00e9rils.\",\r\n    legalNote:\"Parking priv\u00e9 \u2014 usage \u00e0 vos risques. <a href='mentions-legales.html'>Mentions l\u00e9gales<\/a>\",\r\n    veh_standard:\"V\u00e9hicule standard (jusqu'\u00e0 5m de long)\",\r\n    veh_oversized:\"V\u00e9hicule hors gabarit (SUV, Van, Utilitaire\u2026) \u2014 suppl\u00e9ment\",\r\n    adults:\"Adultes\", children:\"Enfants\", babies:\"B\u00e9b\u00e9s (si\u00e8ge auto)\",\r\n    passengersLabel:\"Nombre de voyageurs\",\r\n    passengersNote:\"Suppl\u00e9ment de 4\u20ac par personne \u00e0 partir du 3\u00e8me voyageur.\",\r\n    passengersTooltip:\"S\u00e9lectionnez le nombre de personnes qui utiliseront la navette \u2013 n'oubliez pas d'inclure les b\u00e9b\u00e9s et les enfants.\",\r\n    passengersWarning:\"Un suppl\u00e9ment de 4\u20ac est ajout\u00e9 en fonction du nombre de personnes s\u00e9lectionn\u00e9es et est indiqu\u00e9 dans votre r\u00e9capitulatif.\",\r\n    babyNote:\"Si\u00e8ge auto disponible \u00e0 bord de la navette sur demande.\",\r\n    flightOut:\"N\u00b0 de vol aller *\", flightReturn:\"N\u00b0 de vol retour *\",\r\n    brand:\"Marque du v\u00e9hicule\", model:\"Mod\u00e8le\",\r\n    brandTooltip:\"Indiquez la marque et le mod\u00e8le de votre v\u00e9hicule (ex : Volkswagen Golf). Cela aide notre \u00e9quipe \u00e0 identifier votre voiture d\u00e8s votre arriv\u00e9e.\",\r\n    color:\"Couleur (optionnel)\",\r\n    emailConfirm:\"Confirmer l'e-mail *\",\r\n    countryCode:\"Indicatif\",\r\n    phoneExample:\"Ex : 491 90 93 93 (sans le 0 initial)\",\r\n    newsletter:\"Je ne souhaite pas recevoir d'informations, de r\u00e9ductions et d'actualit\u00e9s de la part d'Outside Park.\",\r\n    newsletterNote:\"En effectuant votre r\u00e9servation, vous acceptez nos <a href='mentions-legales.html'>Conditions g\u00e9n\u00e9rales<\/a>.\",\r\n    businessTravel:\"Voyage d'affaires\",\r\n    promoCode:\"Code promo\", promoPlaceholder:\"Entrez votre code promo\",\r\n    promoNote:\"Valable uniquement sur le prix de base du parking, non cumulable avec les suppl\u00e9ments.\",\r\n    promoApplied:\"Code promo appliqu\u00e9 !\", promoInvalid:\"Code promo invalide.\",\r\n    airportTax:\"Taxe a\u00e9roportuaire\", nightSupp:\"Suppl\u00e9ment horaire nuit (00h\u201303h30)\",\r\n    passengerSupp:\"Suppl\u00e9ment passagers\", promoDiscount:\"R\u00e9duction code promo\",\r\n    indoorUpgrade:\"Pour seulement {diff}\u20ac\/j de plus, prot\u00e9gez votre v\u00e9hicule avec le parking int\u00e9rieur couvert.\",\r\n    nightTooltip:\"Le parking est ferm\u00e9 de 00h00 \u00e0 03h30. Un suppl\u00e9ment de 15\u20ac est appliqu\u00e9 pour toute arriv\u00e9e ou d\u00e9part dans cette tranche horaire afin de garantir la disponibilit\u00e9 du service.\",\r\n    payOnSite:\"\u00c0 payer sur place\",\r\n    maxSpeed:\"Vitesse max 5 km\/h dans l'enceinte du parking.\",\r\n    step1Title:\"Choisissez vos dates\",\r\n    sectionContact:\"Vos coordonn\u00e9es\", sectionVehicle:\"Votre v\u00e9hicule\",\r\n    sectionPassengers:\"Voyageurs\", sectionFlight:\"Informations de vol\",\r\n    sectionOptions:\"Options\",\r\n    inactivityWarning:\"Votre session expire dans 2 minutes. Cliquez pour continuer.\",\r\n    inactivityRedirect:\"Redirection vers l'accueil dans\",\r\n    bookIn2min:\"2 min pour r\u00e9server\"\r\n  }\r\n},\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   ENGLISH\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\nen: {\r\n  meta: { title:\"Charleroi Airport Parking | Free Shuttle | Outside Park\", desc:\"Secure parking 5 min from Charleroi Brussels South Airport. Free shuttle, 24\/7 CCTV. Outdoor from \u20ac5\/d, Indoor from \u20ac8\/d. Pay on arrival!\" },\r\n  announce: \"\ud83d\ude97 Charleroi Airport Parking \u2014 Free shuttle 5 min \u2014 <strong>Pay on arrival<\/strong> \u2014 <a href='#widget'>Book now<\/a>\",\r\n  wa: { tooltip:\"Book on WhatsApp\" },\r\n  nav: { parking:\"Our Parking\", how:\"How it works\", prices:\"Prices\", contact:\"Contact\", login:\"My Account\", wa:\"WhatsApp\", reserve:\"Book now\" },\r\n  sticky: { msg:\"Limited spots \u2014 <strong>Book now<\/strong>\" },\r\n  hero: {\r\n    badge:\"Only 5 minutes from Charleroi Brussels South Airport\",\r\n    h1a:\"Your parking\", h1b:\"at Charleroi.\",\r\n    sub:\"Free shuttle \u00b7 Pay on arrival \u00b7 24\/7 CCTV \u00b7 5 minutes from the airport\",\r\n    p1:\"Free shuttle included (5 min)\", p2:\"Pay on arrival at the car park\", p3:\"Secured & monitored 24\/7\", p4:\"Indoor & outdoor parking\",\r\n    ctaWa:\"Call us\", ctaBook:\"Book online\"\r\n  },\r\n  widget: { title:\"Calculate your stay\", sub:\"Free & no commitment\", indoor:\"Indoor\", outdoor:\"Outdoor\", arrival:\"Arrival date\", departure:\"Departure date\", days:\"day(s)\", onArrival:\"Payment on arrival\", cta:\"Book my parking\", avail:\"Spots available\", selectDates:\"Select your dates\", waQuestion:\"Questions? Call us\" },\r\n  proof: { p1:\"Verified Google reviews\", p2:\"Happy customers\", p3:\"Express shuttle\", p4:\"Video surveillance\", p5:\"Pay on arrival\", p5n:\"On arrival\" },\r\n  how: {\r\n    eyebrow:\"Simple & fast\", title:\"How does it work?\", sub:\"4 steps and your parking is booked\",\r\n    s1t:\"Book online\", s1d:\"Choose your dates and parking type. Confirm in a few clicks, for free.\",\r\n    s2t:\"Notify the driver 15 min before\", s2d:\"Call +32 491 90 93 93 at least 15 minutes before arriving (WhatsApp or phone call).\",\r\n    s3t:\"5-min express shuttle\", s3d:\"We pick you up from our car park and drop you at the airport in just 5 minutes.\",\r\n    s4t:\"Pay on arrival\", s4d:\"Pay directly when you arrive at the car park. No online pre-payment required.\"\r\n  },\r\n  pricing: { eyebrow:\"Our rates\", title:\"Indoor or outdoor?\", sub:\"Two options, always with a free shuttle included\" },\r\n  parking: {\r\n    inBadge:\"Premium\", inTitle:\"Indoor Parking\", inDesc:\"Sheltered from the weather in a fully covered and secured space.\",\r\n    inAmt:\"8\", inPer:\"\/ day\",\r\n    inF1:\"Covered, rain protected\", inF2:\"HD CCTV\", inF3:\"Secure access\", inF4:\"Free shuttle included\", inF5:\"Ideal for long stays\", inCta:\"Book indoor parking\",\r\n    outBadge:\"Economy\", outTitle:\"Outdoor Parking\", outDesc:\"The secure, affordable option. Fully fenced and monitored.\",\r\n    outAmt:\"5\", outPer:\"\/ day\",\r\n    outF1:\"Fully fenced\", outF2:\"24\/7 CCTV\", outF3:\"Controlled access\", outF4:\"Free shuttle included\", outF5:\"Best price guaranteed\", outCta:\"Book outdoor parking\",\r\n    note:\"Pay on arrival \u00b7 Free cancellation\"\r\n  },\r\n  feat: {\r\n    eyebrow:\"Our advantages\", title:\"Why choose us?\", sub:\"Everything you need to travel with peace of mind\",\r\n    f1t:\"Free 5-min shuttle\", f1d:\"We take you to the airport in 5 minutes. Call us 15 min before arriving (WhatsApp or phone).\",\r\n    f2t:\"Secure parking\", f2d:\"Controlled access, fencing, staff on site. Your vehicle is in safe hands.\",\r\n    f3t:\"24\/7 CCTV\", f3d:\"Cameras running 24 hours a day, 365 days a year.\",\r\n    f4t:\"Pay on arrival\", f4d:\"No online pre-payment. Pay directly when you arrive at the car park.\",\r\n    airport:\"Airport\", inTag:\"Covered \u00b7 Protected \u00b7 \u20ac8\/day\", outTag:\"Secured \u00b7 Affordable \u00b7 \u20ac5\/day\",\r\n    waBtn:\"Book on WhatsApp\"\r\n  },\r\n  testi: {\r\n    eyebrow:\"Customer reviews\", title:\"They trust us\", gCount:\"based on 247 Google reviews\",\r\n    items:[\r\n      { name:\"Sophie M.\",  loc:\"Brussels\",   text:\"Flawless service! The shuttle was there in under 5 minutes. Super secure parking and unbeatable prices. Wouldn't change for anything!\", r:5 },\r\n      { name:\"Thomas D.\",  loc:\"Namur\",      text:\"I've used Outside Park for every trip for 2 years. Friendly staff, punctual shuttle, car perfect on return.\", r:5 },\r\n      { name:\"Marie L.\",   loc:\"Li\u00e8ge\",      text:\"Super easy online booking. They were ready when I arrived. Very quick shuttle. Highly recommended!\", r:5 },\r\n      { name:\"Jean-P. V.\", loc:\"Charleroi\",  text:\"The best parking near Charleroi Airport. Excellent value, friendly and available staff.\", r:5 },\r\n      { name:\"Anne K.\",    loc:\"Mons\",       text:\"Perfect from start to finish. Easy booking, fast shuttle and pay on arrival is very handy. Thank you!\", r:5 },\r\n      { name:\"Marc B.\",    loc:\"Louvain-la-N.\",text:\"Much cheaper than the airport car park. Shuttle in 5 min and car well looked after. Recommended!\", r:5 }\r\n    ]\r\n  },\r\n  faq: {\r\n    eyebrow:\"FAQ\", title:\"Frequently asked questions\", sub:\"Everything you need to know\",\r\n    items:[\r\n      { q:\"How long does the shuttle take?\",              a:\"Our free shuttle gets you to Charleroi Airport in just 5 minutes. The return trip is the same.\" },\r\n      { q:\"How do I notify the driver?\",                 a:\"Call +32 491 90 93 93 (WhatsApp or phone) at least 15 minutes before arriving at the car park.\" },\r\n      { q:\"When do I pay?\",                              a:\"Payment is made on arrival at the car park. No online pre-payment required. We accept cash and cards.\" },\r\n      { q:\"Can I cancel my booking?\",                    a:\"Yes, cancellation is free at any time from your account or via WhatsApp.\" },\r\n      { q:\"What's the difference between indoor\/outdoor?\", a:\"Indoor is covered (weather protected) at \u20ac8\/day. Outdoor is open-air, fully secured, at \u20ac5\/day.\" },\r\n      { q:\"Are there spots for large vehicles?\",         a:\"Yes, we accept SUVs, minivans and vans. Specify your vehicle type when booking.\" },\r\n      { q:\"Does the shuttle run at night?\",              a:\"Yes, our service adapts to flight schedules. For very early or late flights, contact us in advance via WhatsApp.\" },\r\n      { q:\"Is Outside Park responsible for my vehicle?\", a:\"Parking is at your own risk. Outside Park is a private car park that takes all measures to secure your vehicle but declines any liability for theft, accident or damage. See our <a href='mentions-legales.html'>legal notice<\/a>.\" }\r\n    ]\r\n  },\r\n  loc: { eyebrow:\"Find us\", title:\"5 minutes from the airport\", sub:\"Easy access from the E42 motorway, Gosselies exit\", addrLabel:\"Address\", hoursLabel:\"Hours\", hours:\"03:30 \u2013 00:00 \u00b7 7 days\/week\", waCta:\"Call us on WhatsApp\", waNum:\"+32 491 90 93 93\", directions:\"Get directions\" },\r\n  cta: { eyebrow:\"Ready to go?\", h1:\"Book your parking\", h2:\"at Charleroi now.\", sub:\"Over 10,000 travellers trust us. Pay on arrival, free shuttle.\", wa:\"Call on WhatsApp\", book:\"Book online\" },\r\n  foot: { tag:\"Secure parking 5 min from Charleroi Brussels South Airport. Free shuttle, 24\/7 CCTV.\", navTitle:\"Navigation\", accTitle:\"My account\", legalTitle:\"Legal\", register:\"Register\", myres:\"My bookings\", legal:\"Legal notice\", privacy:\"Privacy\", cookies:\"Cookies\", copy:\"\u00a9 2025 Outside Park \u2014 All rights reserved\" },\r\n  legal: { disclaimer:\"Private car park \u2014 Park at your own risk. The operator declines all liability for theft, accident or damage.\", readMore:\"Read full legal notice \u2192\" },\r\n  cookie: { text:\"We use cookies to improve your experience. <a href='mentions-legales.html'>Learn more<\/a>.\", accept:\"Accept\", decline:\"Decline\" },\r\n  auth: {\r\n    loginTitle:\"Login\", registerTitle:\"Create account\", email:\"Email\", password:\"Password\",\r\n    confirmPass:\"Confirm password\", firstName:\"First name\", lastName:\"Last name\", phone:\"Phone\",\r\n    loginBtn:\"Log in\", registerBtn:\"Create account\", forgot:\"Forgot password?\",\r\n    noAccount:\"No account? <span>Register<\/span>\", hasAccount:\"Already have an account? <span>Log in<\/span>\",\r\n    loginOk:\"Welcome\", registerOk:\"Account created!\", wrongCreds:\"Incorrect email or password\",\r\n    emailExists:\"This email is already in use\", passNoMatch:\"Passwords do not match\", fillAll:\"Please fill in all fields\"\r\n  },\r\n  account: { title:\"My account\", welcome:\"Welcome\", myres:\"My bookings\", profile:\"My profile\", logout:\"Logout\", nores:\"No bookings yet.\", reserveNow:\"Book now\", status:{confirmed:\"Confirmed\",cancelled:\"Cancelled\",past:\"Completed\"}, cancel:\"Cancel\", cancelConfirm:\"Cancel this booking?\", indoor:\"Indoor parking\", outdoor:\"Outdoor parking\", arrival:\"Arrival\", departure:\"Departure\", plate:\"Plate\", ref:\"Ref.\", days:\"day(s)\", total:\"Estimated total\", saveProfile:\"Save\", firstName:\"First name\", lastName:\"Last name\", email:\"Email\", phone:\"Phone\" },\r\n  reservation: { title:\"Complete my booking\", step1:\"Dates & Type\", step2:\"Your details\", step3:\"Confirmation\", summary:\"Summary\", indoor:\"Indoor Parking\", outdoor:\"Outdoor Parking\", arrival:\"Arrival\", departure:\"Departure\", days:\"day(s)\", priceEst:\"Estimated total\", payNote:\"Payment on arrival at the car park\", firstName:\"First name *\", lastName:\"Last name *\", email:\"Email *\", phone:\"Phone *\", plate:\"License plate *\", vehicle:\"Vehicle type\", veh_car:\"Car\", veh_suv:\"SUV \/ Large vehicle\", veh_van:\"Van\", notes:\"Notes (optional)\", confirm:\"Confirm booking\", back:\"Back\", successTitle:\"Booking confirmed!\", successSub:\"Notify our driver 15 min before your arrival.\", callReminder:\"Call the driver 15 min before:\", refLabel:\"Your reference\", goAccount:\"View my bookings\", goHome:\"Back to home\", loginPush:\"Create an account to manage your bookings\", createAcc:\"Create account\", continueGuest:\"Continue as guest\", terms:\"By booking, I accept the <a href='mentions-legales.html'>terms of use<\/a> and acknowledge that parking is at my own risk.\", legalNote:\"Private car park \u2014 park at your own risk. <a href='mentions-legales.html'>Legal notice<\/a>\",\r\n    veh_standard:\"Standard vehicle (up to 5m long)\", veh_oversized:\"Oversized vehicle (SUV, Van, Utility\u2026) \u2014 supplement\",\r\n    adults:\"Adults\", children:\"Children\", babies:\"Babies (car seat)\",\r\n    passengersLabel:\"Number of travellers\", passengersNote:\"Supplement of \u20ac7 per person from the 4th traveller onwards.\",\r\n    babyNote:\"Car seat available on board the shuttle on request.\",\r\n    flightOut:\"Outbound flight number *\", flightReturn:\"Return flight number *\",\r\n    brand:\"Vehicle make\", model:\"Model\", color:\"Colour (optional)\",\r\n    emailConfirm:\"Confirm email *\", countryCode:\"Code\",\r\n    newsletter:\"I do not wish to receive the Outside Park newsletter\",\r\n    businessTravel:\"Business trip\",\r\n    promoCode:\"Promo code\", promoPlaceholder:\"Enter your promo code\",\r\n    promoNote:\"Valid on base parking price only, not cumulative with supplements.\",\r\n    promoApplied:\"Promo code applied!\", promoInvalid:\"Invalid promo code.\",\r\n    airportTax:\"Airport tax\", nightSupp:\"Night supplement (00:00\u201303:30)\",\r\n    passengerSupp:\"Passenger supplement\", promoDiscount:\"Promo code discount\",\r\n    indoorUpgrade:\"For only {diff}\u20ac\/day more, protect your vehicle with covered indoor parking.\",\r\n    nightTooltip:\"Car park is closed from 00:00 to 03:30. A supplement of \u20ac15 applies for any arrival or departure during this time slot to guarantee service availability.\",\r\n    payOnSite:\"To be paid on site\", maxSpeed:\"Max speed 5 km\/h on car park grounds.\",\r\n    step1Title:\"Choose your dates\", sectionContact:\"Your contact details\",\r\n    sectionVehicle:\"Your vehicle\", sectionPassengers:\"Travellers\",\r\n    sectionFlight:\"Flight information\", sectionOptions:\"Options\",\r\n    passengersNote:\"Supplement of \u20ac4 per person from the 3rd traveller onwards.\",\r\n    passengersTooltip:\"Select the number of people who will use the shuttle \u2013 don't forget to include babies and children.\",\r\n    passengersWarning:\"A supplement of \u20ac4 is added based on the number of passengers selected and is shown in your summary.\",\r\n    brandTooltip:\"Enter your vehicle make and model (e.g. Volkswagen Golf). This helps our team identify your car on arrival.\",\r\n    phoneExample:\"e.g. 491 90 93 93 (no leading 0)\",\r\n    newsletter:\"I do not wish to receive information, discounts and news from Outside Park.\",\r\n    newsletterNote:\"By completing your booking, you accept our <a href='mentions-legales.html'>Terms and Conditions<\/a>.\",\r\n    bookIn2min:\"2 min to book\",\r\n    inactivityWarning:\"Your session expires in 2 minutes. Click to continue.\",\r\n    inactivityRedirect:\"Redirecting to home in\"\r\n  }\r\n},\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   DEUTSCH\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\nde: {\r\n  meta: { title:\"Parken Flughafen Charleroi | Kostenloser Shuttle | Outside Park\", desc:\"Sicherer Parkplatz 5 Min vom Flughafen Charleroi Brussels South. Kostenloser Shuttle, 24\/7. Ab 5\u20ac\/Tag. Zahlung bei Ankunft!\" },\r\n  announce: \"\ud83d\ude97 Parken Flughafen Charleroi \u2014 Kostenloser Shuttle 5 Min \u2014 <strong>Zahlung bei Ankunft<\/strong> \u2014 <a href='#widget'>Jetzt buchen<\/a>\",\r\n  wa: { tooltip:\"Auf WhatsApp buchen\" },\r\n  nav: { parking:\"Unsere Parkpl\u00e4tze\", how:\"Wie es funktioniert\", prices:\"Preise\", contact:\"Kontakt\", login:\"Mein Konto\", wa:\"WhatsApp\", reserve:\"Buchen\" },\r\n  sticky: { msg:\"Begrenzte Pl\u00e4tze \u2014 <strong>Jetzt buchen<\/strong>\" },\r\n  hero: { badge:\"Nur 5 Minuten vom Flughafen Charleroi Brussels South\", h1a:\"Ihr Parkplatz\", h1b:\"in Charleroi.\", sub:\"Kostenloser Shuttle \u00b7 Zahlung bei Ankunft \u00b7 24\/7 Video\u00fcberwachung \u00b7 5 Minuten vom Flughafen\", p1:\"Kostenloser Shuttle (5 Min)\", p2:\"Zahlung bei Ankunft\", p3:\"Gesichert & \u00fcberwacht 24\/7\", p4:\"Innen- & Au\u00dfenparkplatz\", ctaWa:\"Uns anrufen\", ctaBook:\"Online buchen\" },\r\n  widget: { title:\"Ihren Aufenthalt berechnen\", sub:\"Kostenlos & unverbindlich\", indoor:\"Innen\", outdoor:\"Au\u00dfen\", arrival:\"Ankunftsdatum\", departure:\"Abreisedatum\", days:\"Tag(e)\", onArrival:\"Zahlung bei Ankunft\", cta:\"Mein Parking buchen\", avail:\"Pl\u00e4tze verf\u00fcgbar\", selectDates:\"W\u00e4hlen Sie Ihre Daten\", waQuestion:\"Fragen? Anruf\" },\r\n  proof: { p1:\"Best\u00e4tigte Google-Bewertungen\", p2:\"Zufriedene Kunden\", p3:\"Express-Shuttle\", p4:\"Video\u00fcberwachung\", p5:\"Zahlung bei Ankunft\", p5n:\"Bei Ankunft\" },\r\n  how: { eyebrow:\"Einfach & schnell\", title:\"Wie funktioniert es?\", sub:\"4 Schritte und Ihr Parkplatz ist gebucht\", s1t:\"Online buchen\", s1d:\"Datum und Parkplatztyp w\u00e4hlen. Kostenlos in wenigen Klicks best\u00e4tigen.\", s2t:\"Fahrer 15 Min vorher benachrichtigen\", s2d:\"Rufen Sie +32 491 90 93 93 mindestens 15 Minuten vor Ihrer Ankunft an (WhatsApp-Anruf oder Telefon).\", s3t:\"5-Min-Express-Shuttle\", s3d:\"Wir holen Sie ab und bringen Sie in 5 Minuten zum Flughafen.\", s4t:\"Zahlung bei Ankunft\", s4d:\"Zahlen Sie direkt bei Ihrer Ankunft auf dem Parkplatz. Keine Online-Vorauszahlung.\" },\r\n  pricing: { eyebrow:\"Unsere Preise\", title:\"Innen oder au\u00dfen?\", sub:\"Zwei Optionen, immer mit kostenlosem Shuttle\" },\r\n  parking: { inBadge:\"Premium\", inTitle:\"Innenparkplatz\", inDesc:\"Gesch\u00fctzt vor den Elementen in einem \u00fcberdachten, gesicherten Bereich.\", inAmt:\"8\", inPer:\"\/ Tag\", inF1:\"\u00dcberdacht und regengesch\u00fctzt\", inF2:\"HD-Video\u00fcberwachung\", inF3:\"Gesicherter Zugang\", inF4:\"Kostenloser Shuttle inklusive\", inF5:\"Ideal f\u00fcr lange Aufenthalte\", inCta:\"Innenparkplatz buchen\", outBadge:\"G\u00fcnstig\", outTitle:\"Au\u00dfenparkplatz\", outDesc:\"Die g\u00fcnstige, sichere L\u00f6sung. Vollst\u00e4ndig eingez\u00e4unt und \u00fcberwacht.\", outAmt:\"5\", outPer:\"\/ Tag\", outF1:\"Vollst\u00e4ndig eingez\u00e4unt\", outF2:\"24\/7 Video\u00fcberwachung\", outF3:\"Kontrollierter Zugang\", outF4:\"Kostenloser Shuttle inklusive\", outF5:\"Bester Preis garantiert\", outCta:\"Au\u00dfenparkplatz buchen\", note:\"Zahlung bei Ankunft \u00b7 Kostenlose Stornierung\" },\r\n  feat: { eyebrow:\"Unsere Vorteile\", title:\"Warum uns w\u00e4hlen?\", sub:\"Alles, was Sie f\u00fcr eine sorgenfreie Reise brauchen\", f1t:\"Kostenloser Shuttle (5 Min)\", f1d:\"Wir bringen Sie in 5 Minuten zum Flughafen. Rufen Sie uns 15 Min vorher an (WhatsApp oder Telefon).\", f2t:\"Sicherer Parkplatz\", f2d:\"Kontrollierter Zugang, Einz\u00e4unung, Personal vor Ort. Ihr Fahrzeug ist in sicheren H\u00e4nden.\", f3t:\"24\/7 Video\u00fcberwachung\", f3d:\"Kameras laufen rund um die Uhr, 365 Tage im Jahr.\", f4t:\"Zahlung bei Ankunft\", f4d:\"Keine Online-Vorauszahlung. Sie zahlen direkt bei Ankunft auf dem Parkplatz.\", airport:\"Flughafen\", inTag:\"\u00dcberdacht \u00b7 Gesch\u00fctzt \u00b7 8\u20ac\/Tag\", outTag:\"Gesichert \u00b7 G\u00fcnstig \u00b7 5\u20ac\/Tag\", waBtn:\"Auf WhatsApp buchen\" },\r\n  testi: { eyebrow:\"Kundenbewertungen\", title:\"Sie vertrauen uns\", gCount:\"basierend auf 247 Google-Bewertungen\", items:[{name:\"Sophie M.\",loc:\"Br\u00fcssel\",text:\"Tadelloser Service! Shuttle in weniger als 5 Min. Super sicherer Parkplatz. Sehr empfehlenswert!\",r:5},{name:\"Thomas D.\",loc:\"Namur\",text:\"Ich nutze Outside Park f\u00fcr jede Reise seit 2 Jahren. Freundlich, p\u00fcnktlich, Auto immer makellos.\",r:5},{name:\"Marie L.\",loc:\"L\u00fcttich\",text:\"Sehr einfache Online-Buchung. Sie waren bereit bei meiner Ankunft. Sehr empfehlenswert!\",r:5},{name:\"Jean-P. V.\",loc:\"Charleroi\",text:\"Der beste Parkplatz in der N\u00e4he des Flughafens Charleroi. Ausgezeichnetes Preis-Leistungs-Verh\u00e4ltnis.\",r:5},{name:\"Anne K.\",loc:\"Mons\",text:\"Von Anfang bis Ende perfekt. Einfache Buchung, schneller Shuttle und Zahlung bei Ankunft sehr praktisch.\",r:5},{name:\"Marc B.\",loc:\"L\u00f6wen\",text:\"Viel g\u00fcnstiger als der Flughafenparkplatz. Shuttle in 5 Min und Fahrzeug gut bewacht.\",r:5}] },\r\n  faq: { eyebrow:\"FAQ\", title:\"H\u00e4ufig gestellte Fragen\", sub:\"Alles, was Sie wissen m\u00fcssen\", items:[{q:\"Wie lange dauert der Shuttle?\",a:\"Unser kostenloser Shuttle bringt Sie in 5 Minuten zum Flughafen Charleroi.\"},{q:\"Wie benachrichtige ich den Fahrer?\",a:\"Rufen Sie +32 491 90 93 93 an (WhatsApp-Anruf oder Telefon) mindestens 15 Minuten vor Ihrer Ankunft.\"},{q:\"Wann zahle ich?\",a:\"Die Zahlung erfolgt bei Ankunft auf dem Parkplatz. Keine Online-Vorauszahlung.\"},{q:\"Kann ich stornieren?\",a:\"Ja, kostenlos jederzeit \u00fcber Ihr Konto oder per WhatsApp.\"},{q:\"Innen vs. au\u00dfen?\",a:\"Innen: \u00fcberdacht, 8\u20ac\/Tag. Au\u00dfen: im Freien, gesichert, 5\u20ac\/Tag.\"},{q:\"Gibt es Pl\u00e4tze f\u00fcr gro\u00dfe Fahrzeuge?\",a:\"Ja, SUVs, Vans und Transporter sind willkommen.\"},{q:\"Shuttle nachts?\",a:\"Ja, angepasst an Flugzeiten. Kontaktieren Sie uns im Voraus.\"},{q:\"Haftung f\u00fcr mein Fahrzeug?\",a:\"Das Parken erfolgt auf eigene Gefahr. Outside Park lehnt jede Haftung ab. Siehe <a href='mentions-legales.html'>Impressum<\/a>.\"}] },\r\n  loc: { eyebrow:\"Uns finden\", title:\"5 Minuten vom Flughafen\", sub:\"Leicht erreichbar von der E42, Ausfahrt Gosselies\", addrLabel:\"Adresse\", hoursLabel:\"\u00d6ffnungszeiten\", hours:\"03:30 \u2013 00:00 \u00b7 7 Tage\/Woche\", waCta:\"Uns auf WhatsApp anrufen\", waNum:\"+32 491 90 93 93\", directions:\"Wegbeschreibung\" },\r\n  cta: { eyebrow:\"Bereit loszufahren?\", h1:\"Buchen Sie Ihren Parkplatz\", h2:\"in Charleroi jetzt.\", sub:\"\u00dcber 10.000 Reisende vertrauen uns. Zahlung bei Ankunft, kostenloser Shuttle.\", wa:\"Auf WhatsApp anrufen\", book:\"Online buchen\" },\r\n  foot: { tag:\"Sicherer Parkplatz 5 Min vom Flughafen Charleroi Brussels South. Kostenloser Shuttle, 24\/7 Video\u00fcberwachung.\", navTitle:\"Navigation\", accTitle:\"Mein Konto\", legalTitle:\"Rechtliches\", register:\"Registrieren\", myres:\"Meine Buchungen\", legal:\"Impressum\", privacy:\"Datenschutz\", cookies:\"Cookies\", copy:\"\u00a9 2025 Outside Park \u2014 Alle Rechte vorbehalten\" },\r\n  legal: { disclaimer:\"Privatparkplatz \u2014 Parken auf eigene Gefahr. Der Betreiber lehnt jede Haftung f\u00fcr Diebstahl, Unfall oder Sch\u00e4den ab.\", readMore:\"Vollst\u00e4ndiges Impressum lesen \u2192\" },\r\n  cookie: { text:\"Wir verwenden Cookies. <a href='mentions-legales.html'>Mehr erfahren<\/a>.\", accept:\"Akzeptieren\", decline:\"Ablehnen\" },\r\n  auth: { loginTitle:\"Anmelden\", registerTitle:\"Konto erstellen\", email:\"E-Mail\", password:\"Passwort\", confirmPass:\"Passwort best\u00e4tigen\", firstName:\"Vorname\", lastName:\"Nachname\", phone:\"Telefon\", loginBtn:\"Anmelden\", registerBtn:\"Konto erstellen\", forgot:\"Passwort vergessen?\", noAccount:\"Noch kein Konto? <span>Registrieren<\/span>\", hasAccount:\"Bereits ein Konto? <span>Anmelden<\/span>\", loginOk:\"Willkommen\", registerOk:\"Konto erstellt!\", wrongCreds:\"Falsche E-Mail oder Passwort\", emailExists:\"Diese E-Mail wird bereits verwendet\", passNoMatch:\"Passw\u00f6rter stimmen nicht \u00fcberein\", fillAll:\"Bitte alle Felder ausf\u00fcllen\" },\r\n  account: { title:\"Mein Konto\", welcome:\"Willkommen\", myres:\"Meine Buchungen\", profile:\"Mein Profil\", logout:\"Abmelden\", nores:\"Noch keine Buchungen.\", reserveNow:\"Jetzt buchen\", status:{confirmed:\"Best\u00e4tigt\",cancelled:\"Storniert\",past:\"Abgeschlossen\"}, cancel:\"Stornieren\", cancelConfirm:\"Diese Buchung stornieren?\", indoor:\"Innenparkplatz\", outdoor:\"Au\u00dfenparkplatz\", arrival:\"Ankunft\", departure:\"Abfahrt\", plate:\"Kennzeichen\", ref:\"Ref.\", days:\"Tag(e)\", total:\"Gesch\u00e4tzter Gesamtbetrag\", saveProfile:\"Speichern\", firstName:\"Vorname\", lastName:\"Nachname\", email:\"E-Mail\", phone:\"Telefon\" },\r\n  reservation: { title:\"Buchung abschlie\u00dfen\", step1:\"Daten & Typ\", step2:\"Ihre Daten\", step3:\"Best\u00e4tigung\", summary:\"Zusammenfassung\", indoor:\"Innenparkplatz\", outdoor:\"Au\u00dfenparkplatz\", arrival:\"Ankunft\", departure:\"Abfahrt\", days:\"Tag(e)\", priceEst:\"Gesch\u00e4tzter Gesamtbetrag\", payNote:\"Zahlung bei Ankunft\", firstName:\"Vorname *\", lastName:\"Nachname *\", email:\"E-Mail *\", phone:\"Telefon *\", plate:\"Kennzeichen *\", vehicle:\"Fahrzeugtyp\", veh_car:\"Auto\", veh_suv:\"SUV \/ Gro\u00dfes Fahrzeug\", veh_van:\"Transporter\", notes:\"Anmerkungen (optional)\", confirm:\"Buchung best\u00e4tigen\", back:\"Zur\u00fcck\", successTitle:\"Buchung best\u00e4tigt!\", successSub:\"Benachrichtigen Sie unseren Fahrer 15 Min vor Ihrer Ankunft.\", callReminder:\"Fahrer 15 Min vorher anrufen:\", refLabel:\"Ihre Referenz\", goAccount:\"Meine Buchungen ansehen\", goHome:\"Zur\u00fcck zur Startseite\", loginPush:\"Erstellen Sie ein Konto\", createAcc:\"Konto erstellen\", continueGuest:\"Ohne Konto fortfahren\", terms:\"Mit der Buchung akzeptiere ich die <a href='mentions-legales.html'>Nutzungsbedingungen<\/a> und erkenne an, dass das Parken auf eigene Gefahr erfolgt.\", legalNote:\"Privatparkplatz \u2014 Parken auf eigene Gefahr. <a href='mentions-legales.html'>Impressum<\/a>\",\r\n    veh_standard:\"Standardfahrzeug (bis 5m lang)\", veh_oversized:\"\u00dcbergro\u00dfes Fahrzeug (SUV, Van, Transporter\u2026) \u2014 Aufpreis\",\r\n    adults:\"Erwachsene\", children:\"Kinder\", babies:\"Babys (Kindersitz)\",\r\n    passengersLabel:\"Anzahl Reisende\", passengersNote:\"Aufpreis von 7\u20ac pro Person ab dem 4. Reisenden.\",\r\n    babyNote:\"Kindersitz auf Anfrage im Shuttle verf\u00fcgbar.\",\r\n    flightOut:\"Flugnummer Hinflug *\", flightReturn:\"Flugnummer R\u00fcckflug *\",\r\n    brand:\"Fahrzeugmarke\", model:\"Modell\", color:\"Farbe (optional)\",\r\n    emailConfirm:\"E-Mail best\u00e4tigen *\", countryCode:\"Code\",\r\n    newsletter:\"Ich m\u00f6chte den Outside Park Newsletter nicht erhalten\",\r\n    businessTravel:\"Gesch\u00e4ftsreise\",\r\n    promoCode:\"Aktionscode\", promoPlaceholder:\"Aktionscode eingeben\",\r\n    promoNote:\"Nur auf den Grundparkpreis anwendbar, nicht kumulierbar.\",\r\n    promoApplied:\"Aktionscode angewendet!\", promoInvalid:\"Ung\u00fcltiger Aktionscode.\",\r\n    airportTax:\"Flughafensteuer\", nightSupp:\"Nachtzuschlag (00:00\u201303:30)\",\r\n    passengerSupp:\"Passagierzuschlag\", promoDiscount:\"Aktionsrabatt\",\r\n    indoorUpgrade:\"F\u00fcr nur {diff}\u20ac\/Tag mehr sch\u00fctzen Sie Ihr Fahrzeug in der \u00fcberdachten Garage.\",\r\n    nightTooltip:\"Der Parkplatz ist von 00:00 bis 03:30 Uhr geschlossen. Ein Aufpreis von 15\u20ac gilt f\u00fcr jede Ankunft oder Abfahrt in diesem Zeitraum.\",\r\n    payOnSite:\"Vor Ort zu zahlen\", maxSpeed:\"Max. 5 km\/h auf dem Parkplatzgel\u00e4nde.\",\r\n    step1Title:\"Daten w\u00e4hlen\", sectionContact:\"Ihre Kontaktdaten\",\r\n    sectionVehicle:\"Ihr Fahrzeug\", sectionPassengers:\"Reisende\",\r\n    sectionFlight:\"Fluginformationen\", sectionOptions:\"Optionen\",\r\n    passengersNote:\"Aufpreis von 4\u20ac pro Person ab dem 3. Reisenden.\",\r\n    passengersTooltip:\"W\u00e4hlen Sie die Anzahl der Personen, die den Shuttle nutzen \u2013 vergessen Sie Babys und Kinder nicht.\",\r\n    passengersWarning:\"Ein Aufpreis von 4\u20ac wird basierend auf der Anzahl der Personen hinzugef\u00fcgt und in Ihrer Zusammenfassung angezeigt.\",\r\n    brandTooltip:\"Geben Sie Marke und Modell Ihres Fahrzeugs ein (z.B. Volkswagen Golf). Das hilft unserem Team, Ihr Auto bei Ankunft zu identifizieren.\",\r\n    phoneExample:\"z.B. 491 90 93 93 (ohne f\u00fchrende 0)\",\r\n    newsletter:\"Ich m\u00f6chte keine Informationen, Rabatte und Neuigkeiten von Outside Park erhalten.\",\r\n    newsletterNote:\"Mit Abschluss Ihrer Buchung akzeptieren Sie unsere <a href='mentions-legales.html'>Allgemeinen Gesch\u00e4ftsbedingungen<\/a>.\",\r\n    bookIn2min:\"2 Min. zum Buchen\",\r\n    inactivityWarning:\"Ihre Sitzung l\u00e4uft in 2 Minuten ab. Klicken Sie zum Fortfahren.\",\r\n    inactivityRedirect:\"Weiterleitung zur Startseite in\"\r\n  }\r\n},\r\n\r\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n   NEDERLANDS\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\r\nnl: {\r\n  meta: { title:\"Parking Luchthaven Charleroi | Gratis Shuttle | Outside Park\", desc:\"Beveiligde parking op 5 min van luchthaven Charleroi Brussels South. Gratis shuttle, 24\/7. Buiten v.a. 5\u20ac\/dag. Betaling bij aankomst!\" },\r\n  announce: \"\ud83d\ude97 Parking luchthaven Charleroi \u2014 Gratis shuttle 5 min \u2014 <strong>Betaling bij aankomst<\/strong> \u2014 <a href='#widget'>Nu reserveren<\/a>\",\r\n  wa: { tooltip:\"Reserveren via WhatsApp\" },\r\n  nav: { parking:\"Onze Parking\", how:\"Hoe het werkt\", prices:\"Tarieven\", contact:\"Contact\", login:\"Mijn Account\", wa:\"WhatsApp\", reserve:\"Reserveren\" },\r\n  sticky: { msg:\"Beperkte plaatsen \u2014 <strong>Nu reserveren<\/strong>\" },\r\n  hero: { badge:\"Slechts 5 minuten van luchthaven Charleroi Brussels South\", h1a:\"Uw parking\", h1b:\"in Charleroi.\", sub:\"Gratis shuttle \u00b7 Betaling bij aankomst \u00b7 24\/7 videobewaking \u00b7 5 minuten van de luchthaven\", p1:\"Gratis shuttle inbegrepen (5 min)\", p2:\"Betaling bij aankomst op de parking\", p3:\"Beveiligd & bewaakt 24\/7\", p4:\"Binnen- & buitenparkering\", ctaWa:\"Ons bellen\", ctaBook:\"Online reserveren\" },\r\n  widget: { title:\"Bereken uw verblijf\", sub:\"Gratis & vrijblijvend\", indoor:\"Binnen\", outdoor:\"Buiten\", arrival:\"Aankomstdatum\", departure:\"Vertrekdatum\", days:\"dag(en)\", onArrival:\"Betaling bij aankomst\", cta:\"Reserveer mijn parking\", avail:\"Plaatsen beschikbaar\", selectDates:\"Kies uw datums\", waQuestion:\"Vragen? Bel ons\" },\r\n  proof: { p1:\"Geverifieerde Google-recensies\", p2:\"Tevreden klanten\", p3:\"Express shuttle\", p4:\"Videobewaking\", p5:\"Betaling bij aankomst\", p5n:\"Bij aankomst\" },\r\n  how: { eyebrow:\"Eenvoudig & snel\", title:\"Hoe werkt het?\", sub:\"4 stappen en uw parking is gereserveerd\", s1t:\"Online reserveren\", s1d:\"Kies uw datums en parkingtype. Gratis bevestigen in een paar klikken.\", s2t:\"Verwittig de chauffeur 15 min voor aankomst\", s2d:\"Bel +32 491 90 93 93 minstens 15 minuten voor uw aankomst (WhatsApp-oproep of telefoon).\", s3t:\"5-min express shuttle\", s3d:\"We halen u op bij onze parking en brengen u in 5 minuten naar de luchthaven.\", s4t:\"Betaling bij aankomst\", s4d:\"Betaal direct bij aankomst op de parking. Geen online vooruitbetaling vereist.\" },\r\n  pricing: { eyebrow:\"Onze tarieven\", title:\"Binnen of buiten?\", sub:\"Twee opties, altijd met gratis shuttle inbegrepen\" },\r\n  parking: { inBadge:\"Premium\", inTitle:\"Binnenparkering\", inDesc:\"Beschermd tegen het weer in een volledig overdekte, beveiligde ruimte.\", inAmt:\"8\", inPer:\"\/ dag\", inF1:\"Overdekt en regenbeschermd\", inF2:\"HD-videobewaking\", inF3:\"Beveiligde toegang\", inF4:\"Gratis shuttle inbegrepen\", inF5:\"Ideaal voor lange verblijven\", inCta:\"Binnenparkering reserveren\", outBadge:\"Economisch\", outTitle:\"Buitenparkering\", outDesc:\"De veilige, betaalbare oplossing. Volledig omheind en bewaakt.\", outAmt:\"5\", outPer:\"\/ dag\", outF1:\"Volledig omheind\", outF2:\"24\/7 videobewaking\", outF3:\"Gecontroleerde toegang\", outF4:\"Gratis shuttle inbegrepen\", outF5:\"Beste prijs gegarandeerd\", outCta:\"Buitenparkering reserveren\", note:\"Betaling bij aankomst \u00b7 Gratis annulering\" },\r\n  feat: { eyebrow:\"Onze voordelen\", title:\"Waarom ons kiezen?\", sub:\"Alles wat u nodig heeft voor een zorgeloze reis\", f1t:\"Gratis shuttle (5 min)\", f1d:\"We brengen u in 5 minuten naar de luchthaven. Bel ons 15 min voor aankomst (WhatsApp of telefoon).\", f2t:\"Beveiligde parking\", f2d:\"Gecontroleerde toegang, omheining, personeel aanwezig. Uw voertuig is in goede handen.\", f3t:\"24\/7 videobewaking\", f3d:\"Camera's actief 24 uur per dag, 365 dagen per jaar.\", f4t:\"Betaling bij aankomst\", f4d:\"Geen online vooruitbetaling. U betaalt direct bij aankomst op de parking.\", airport:\"Luchthaven\", inTag:\"Overdekt \u00b7 Beschermd \u00b7 \u20ac8\/dag\", outTag:\"Beveiligd \u00b7 Economisch \u00b7 \u20ac5\/dag\", waBtn:\"Reserveren via WhatsApp\" },\r\n  testi: { eyebrow:\"Klantbeoordelingen\", title:\"Ze vertrouwen ons\", gCount:\"op basis van 247 Google-recensies\", items:[{name:\"Sophie M.\",loc:\"Brussel\",text:\"Onberispelijke service! Shuttle er in minder dan 5 min. Super beveiligde parking. Sterk aanbevolen!\",r:5},{name:\"Thomas D.\",loc:\"Namen\",text:\"Ik gebruik Outside Park voor elke reis al 2 jaar. Vriendelijk, stipt, auto altijd perfect.\",r:5},{name:\"Marie L.\",loc:\"Luik\",text:\"Super eenvoudige online reservering. Ze waren klaar bij mijn aankomst. Sterk aanbevolen!\",r:5},{name:\"Jean-P. V.\",loc:\"Charleroi\",text:\"De beste parking bij luchthaven Charleroi. Uitstekende prijs-kwaliteit, vriendelijk personeel.\",r:5},{name:\"Anne K.\",loc:\"Bergen\",text:\"Perfect van begin tot eind. Eenvoudige reservering, snelle shuttle en betaling bij aankomst handig.\",r:5},{name:\"Marc B.\",loc:\"Leuven\",text:\"Veel goedkoper dan de luchthavenparkering. Shuttle in 5 min en voertuig goed bewaard.\",r:5}] },\r\n  faq: { eyebrow:\"FAQ\", title:\"Veelgestelde vragen\", sub:\"Alles wat u moet weten\", items:[{q:\"Hoe lang duurt de shuttle?\",a:\"Onze gratis shuttle brengt u in 5 minuten naar luchthaven Charleroi.\"},{q:\"Hoe verwittig ik de chauffeur?\",a:\"Bel +32 491 90 93 93 (WhatsApp-oproep of telefoon) minstens 15 minuten voor aankomst.\"},{q:\"Wanneer betaal ik?\",a:\"Betaling bij aankomst op de parking. Geen online vooruitbetaling.\"},{q:\"Kan ik annuleren?\",a:\"Ja, gratis op elk moment via uw account of WhatsApp.\"},{q:\"Binnen vs. buiten?\",a:\"Binnen: overdekt, \u20ac8\/dag. Buiten: openlucht, beveiligd, \u20ac5\/dag.\"},{q:\"Plaatsen voor grote voertuigen?\",a:\"Ja, SUV's, bestelwagens en vrachtwagens zijn welkom.\"},{q:\"Shuttle 's nachts?\",a:\"Ja, aangepast aan vluchttijden. Contacteer ons op voorhand.\"},{q:\"Aansprakelijkheid voor mijn voertuig?\",a:\"Parkeren is op eigen risico. Outside Park wijst alle aansprakelijkheid af. Zie <a href='mentions-legales.html'>juridische vermeldingen<\/a>.\"}] },\r\n  loc: { eyebrow:\"Ons vinden\", title:\"5 minuten van de luchthaven\", sub:\"Gemakkelijk bereikbaar via de E42, afrit Gosselies\", addrLabel:\"Adres\", hoursLabel:\"Openingsuren\", hours:\"03:30 \u2013 00:00 \u00b7 7 dagen\/week\", waCta:\"Ons bellen via WhatsApp\", waNum:\"+32 491 90 93 93\", directions:\"Routebeschrijving\" },\r\n  cta: { eyebrow:\"Klaar om te vertrekken?\", h1:\"Reserveer uw parking\", h2:\"in Charleroi nu.\", sub:\"Meer dan 10.000 reizigers vertrouwen ons. Betaling bij aankomst, gratis shuttle.\", wa:\"Bellen via WhatsApp\", book:\"Online reserveren\" },\r\n  foot: { tag:\"Beveiligde parking op 5 min van luchthaven Charleroi Brussels South. Gratis shuttle, 24\/7 videobewaking.\", navTitle:\"Navigatie\", accTitle:\"Mijn account\", legalTitle:\"Juridisch\", register:\"Registreren\", myres:\"Mijn reserveringen\", legal:\"Juridische vermeldingen\", privacy:\"Privacybeleid\", cookies:\"Cookies\", copy:\"\u00a9 2025 Outside Park \u2014 Alle rechten voorbehouden\" },\r\n  legal: { disclaimer:\"Priv\u00e9 parking \u2014 Parkeren op eigen risico. De beheerder wijst elke aansprakelijkheid af voor diefstal, ongeluk of schade.\", readMore:\"Volledige juridische vermeldingen lezen \u2192\" },\r\n  cookie: { text:\"We gebruiken cookies. <a href='mentions-legales.html'>Meer informatie<\/a>.\", accept:\"Accepteren\", decline:\"Weigeren\" },\r\n  auth: { loginTitle:\"Inloggen\", registerTitle:\"Account aanmaken\", email:\"E-mail\", password:\"Wachtwoord\", confirmPass:\"Wachtwoord bevestigen\", firstName:\"Voornaam\", lastName:\"Achternaam\", phone:\"Telefoon\", loginBtn:\"Inloggen\", registerBtn:\"Account aanmaken\", forgot:\"Wachtwoord vergeten?\", noAccount:\"Nog geen account? <span>Registreren<\/span>\", hasAccount:\"Al een account? <span>Inloggen<\/span>\", loginOk:\"Welkom\", registerOk:\"Account aangemaakt!\", wrongCreds:\"Onjuist e-mailadres of wachtwoord\", emailExists:\"Dit e-mailadres is al in gebruik\", passNoMatch:\"Wachtwoorden komen niet overeen\", fillAll:\"Vul alle velden in\" },\r\n  account: { title:\"Mijn account\", welcome:\"Welkom\", myres:\"Mijn reserveringen\", profile:\"Mijn profiel\", logout:\"Uitloggen\", nores:\"Nog geen reserveringen.\", reserveNow:\"Nu reserveren\", status:{confirmed:\"Bevestigd\",cancelled:\"Geannuleerd\",past:\"Voltooid\"}, cancel:\"Annuleren\", cancelConfirm:\"Deze reservering annuleren?\", indoor:\"Binnenparkering\", outdoor:\"Buitenparkering\", arrival:\"Aankomst\", departure:\"Vertrek\", plate:\"Kenteken\", ref:\"Ref.\", days:\"dag(en)\", total:\"Geschatte totaal\", saveProfile:\"Opslaan\", firstName:\"Voornaam\", lastName:\"Achternaam\", email:\"E-mail\", phone:\"Telefoon\" },\r\n  reservation: { title:\"Reservering voltooien\", step1:\"Data & Type\", step2:\"Uw gegevens\", step3:\"Bevestiging\", summary:\"Samenvatting\", indoor:\"Binnenparkering\", outdoor:\"Buitenparkering\", arrival:\"Aankomst\", departure:\"Vertrek\", days:\"dag(en)\", priceEst:\"Geschatte totaal\", payNote:\"Betaling bij aankomst op de parking\", firstName:\"Voornaam *\", lastName:\"Achternaam *\", email:\"E-mail *\", phone:\"Telefoon *\", plate:\"Kenteken *\", vehicle:\"Voertuigtype\", veh_car:\"Auto\", veh_suv:\"SUV \/ Groot voertuig\", veh_van:\"Bestelwagen\", notes:\"Opmerkingen (optioneel)\", confirm:\"Reservering bevestigen\", back:\"Terug\", successTitle:\"Reservering bevestigd!\", successSub:\"Verwittig onze chauffeur 15 min voor uw aankomst.\", callReminder:\"Chauffeur 15 min voor aankomst bellen:\", refLabel:\"Uw referentie\", goAccount:\"Mijn reserveringen bekijken\", goHome:\"Terug naar startpagina\", loginPush:\"Maak een account aan\", createAcc:\"Account aanmaken\", continueGuest:\"Doorgaan zonder account\", terms:\"Door te reserveren accepteer ik de <a href='mentions-legales.html'>gebruiksvoorwaarden<\/a> en erken ik dat parkeren op eigen risico is.\", legalNote:\"Priv\u00e9 parking \u2014 parkeren op eigen risico. <a href='mentions-legales.html'>Juridische vermeldingen<\/a>\",\r\n    veh_standard:\"Standaard voertuig (tot 5m lang)\", veh_oversized:\"Groot voertuig (SUV, Bestelwagen\u2026) \u2014 toeslag\",\r\n    adults:\"Volwassenen\", children:\"Kinderen\", babies:\"Baby's (kinderzitje)\",\r\n    passengersLabel:\"Aantal reizigers\", passengersNote:\"Toeslag van \u20ac7 per persoon vanaf de 4de reiziger.\",\r\n    babyNote:\"Kinderzitje beschikbaar in de shuttle op aanvraag.\",\r\n    flightOut:\"Vluchtnummer heen *\", flightReturn:\"Vluchtnummer terug *\",\r\n    brand:\"Voertuigmerk\", model:\"Model\", color:\"Kleur (optioneel)\",\r\n    emailConfirm:\"E-mail bevestigen *\", countryCode:\"Code\",\r\n    newsletter:\"Ik wil de Outside Park nieuwsbrief niet ontvangen\",\r\n    businessTravel:\"Zakenreis\",\r\n    promoCode:\"Promotiecode\", promoPlaceholder:\"Promotiecode invoeren\",\r\n    promoNote:\"Alleen geldig op de basisparkeringprijs, niet cumuleerbaar.\",\r\n    promoApplied:\"Promotiecode toegepast!\", promoInvalid:\"Ongeldige promotiecode.\",\r\n    airportTax:\"Luchthavenheffing\", nightSupp:\"Nachttoeslag (00:00\u201303:30)\",\r\n    passengerSupp:\"Passagierstoeslag\", promoDiscount:\"Promotiekorting\",\r\n    indoorUpgrade:\"Voor slechts {diff}\u20ac\/dag meer beschermt u uw voertuig met overdekte binnenparkering.\",\r\n    nightTooltip:\"De parking is gesloten van 00:00 tot 03:30. Een toeslag van \u20ac15 geldt voor elke aankomst of vertrek in dit tijdvak.\",\r\n    payOnSite:\"Te betalen ter plaatse\", maxSpeed:\"Max. 5 km\/u op het parkeerterrein.\",\r\n    step1Title:\"Kies uw datums\", sectionContact:\"Uw contactgegevens\",\r\n    sectionVehicle:\"Uw voertuig\", sectionPassengers:\"Reizigers\",\r\n    sectionFlight:\"Vluchtinformatie\", sectionOptions:\"Opties\",\r\n    passengersNote:\"Toeslag van \u20ac4 per persoon vanaf de 3de reiziger.\",\r\n    passengersTooltip:\"Selecteer het aantal personen dat de shuttle gebruikt \u2013 vergeet baby's en kinderen niet mee te tellen.\",\r\n    passengersWarning:\"Een toeslag van \u20ac4 wordt toegevoegd op basis van het geselecteerde aantal personen en wordt weergegeven in uw samenvatting.\",\r\n    brandTooltip:\"Geef het merk en model van uw voertuig op (bijv. Volkswagen Golf). Dit helpt ons team uw auto bij aankomst te herkennen.\",\r\n    phoneExample:\"bijv. 491 90 93 93 (zonder voorloopnul)\",\r\n    newsletter:\"Ik wil geen informatie, kortingen en nieuws ontvangen van Outside Park.\",\r\n    newsletterNote:\"Door uw reservering te voltooien, accepteert u onze <a href='mentions-legales.html'>Algemene voorwaarden<\/a>.\",\r\n    bookIn2min:\"2 min om te reserveren\",\r\n    inactivityWarning:\"Uw sessie verloopt over 2 minuten. Klik om door te gaan.\",\r\n    inactivityRedirect:\"Doorverwijzing naar startpagina over\"\r\n  }\r\n}\r\n};\r\n\r\n\r\n\/* === AUTH.JS === *\/\r\n\/* ============================================================\r\n   OUTSIDE PARK \u2014 Auth & Reservations (localStorage)\r\n   ============================================================ *\/\r\n\r\nconst DB = {\r\n  getUsers:        () => JSON.parse(localStorage.getItem('op_users') || '[]'),\r\n  setUsers:        (u) => localStorage.setItem('op_users', JSON.stringify(u)),\r\n  getReservations: () => JSON.parse(localStorage.getItem('op_reservations') || '[]'),\r\n  setReservations: (r) => localStorage.setItem('op_reservations', JSON.stringify(r)),\r\n  getSession:      () => JSON.parse(localStorage.getItem('op_session') || 'null'),\r\n  setSession:      (s) => localStorage.setItem('op_session', JSON.stringify(s)),\r\n  clearSession:    () => localStorage.removeItem('op_session')\r\n};\r\n\r\nconst Auth = {\r\n  register(data) {\r\n    const users = DB.getUsers();\r\n    if (users.find(u => u.email === data.email)) return { ok: false, err: 'emailExists' };\r\n    if (data.password !== data.confirmPass) return { ok: false, err: 'passNoMatch' };\r\n    if (!data.firstName || !data.lastName || !data.email || !data.password) return { ok: false, err: 'fillAll' };\r\n    const user = {\r\n      id: 'usr_' + Date.now(),\r\n      firstName: data.firstName, lastName: data.lastName,\r\n      email: data.email, phone: data.phone || '',\r\n      password: btoa(data.password), \/\/ basic encoding for demo\r\n      createdAt: Date.now()\r\n    };\r\n    users.push(user);\r\n    DB.setUsers(users);\r\n    const session = { id: user.id, firstName: user.firstName, lastName: user.lastName, email: user.email, phone: user.phone };\r\n    DB.setSession(session);\r\n    return { ok: true, user: session };\r\n  },\r\n\r\n  login(email, password) {\r\n    const users = DB.getUsers();\r\n    const user = users.find(u => u.email === email && u.password === btoa(password));\r\n    if (!user) return { ok: false, err: 'wrongCreds' };\r\n    const session = { id: user.id, firstName: user.firstName, lastName: user.lastName, email: user.email, phone: user.phone };\r\n    DB.setSession(session);\r\n    return { ok: true, user: session };\r\n  },\r\n\r\n  logout() { DB.clearSession(); },\r\n\r\n  current() { return DB.getSession(); },\r\n\r\n  updateProfile(data) {\r\n    const session = DB.getSession();\r\n    if (!session) return false;\r\n    const users = DB.getUsers();\r\n    const idx = users.findIndex(u => u.id === session.id);\r\n    if (idx === -1) return false;\r\n    users[idx].firstName = data.firstName || users[idx].firstName;\r\n    users[idx].lastName  = data.lastName  || users[idx].lastName;\r\n    users[idx].phone     = data.phone     || users[idx].phone;\r\n    DB.setUsers(users);\r\n    const newSession = { ...session, firstName: users[idx].firstName, lastName: users[idx].lastName, phone: users[idx].phone };\r\n    DB.setSession(newSession);\r\n    return true;\r\n  }\r\n};\r\n\r\nconst Reservations = {\r\n  prices: { indoor: 8, outdoor: 5 },\r\n\r\n  create(data) {\r\n    const reservations = DB.getReservations();\r\n    const id = 'OP-' + new Date().getFullYear() + '-' + String(Date.now()).slice(-5);\r\n    const days = this.calcDays(data.arrivalDate, data.departureDate);\r\n    const price = days * this.prices[data.type];\r\n    const res = {\r\n      id,\r\n      userId:        data.userId || 'guest',\r\n      type:          data.type,\r\n      arrivalDate:   data.arrivalDate,\r\n      arrivalTime:   data.arrivalTime,\r\n      departureDate: data.departureDate,\r\n      departureTime: data.departureTime,\r\n      days,\r\n      price,\r\n      plate:         data.plate,\r\n      vehicle:       data.vehicle || 'car',\r\n      firstName:     data.firstName,\r\n      lastName:      data.lastName,\r\n      email:         data.email,\r\n      phone:         data.phone,\r\n      notes:         data.notes || '',\r\n      status:        'confirmed',\r\n      createdAt:     Date.now()\r\n    };\r\n    reservations.push(res);\r\n    DB.setReservations(reservations);\r\n    return res;\r\n  },\r\n\r\n  getByUser(userId) {\r\n    return DB.getReservations().filter(r => r.userId === userId).sort((a,b) => b.createdAt - a.createdAt);\r\n  },\r\n\r\n  getById(id) {\r\n    return DB.getReservations().find(r => r.id === id) || null;\r\n  },\r\n\r\n  cancel(id, userId) {\r\n    const reservations = DB.getReservations();\r\n    const idx = reservations.findIndex(r => r.id === id && r.userId === userId);\r\n    if (idx === -1) return false;\r\n    reservations[idx].status = 'cancelled';\r\n    DB.setReservations(reservations);\r\n    return true;\r\n  },\r\n\r\n  calcDays(arrival, departure) {\r\n    if (!arrival || !departure) return 0;\r\n    const a = new Date(arrival), d = new Date(departure);\r\n    const diff = Math.ceil((d - a) \/ (1000 * 60 * 60 * 24));\r\n    return diff > 0 ? diff : 1;\r\n  },\r\n\r\n  calcPrice(type, days) {\r\n    return (this.prices[type] || 5) * days;\r\n  },\r\n\r\n  isPast(res) {\r\n    return new Date(res.departureDate) < new Date();\r\n  }\r\n};\r\n\r\n\r\n\/* === MAIN.JS === *\/\r\n\/* ============================================================\r\n   OUTSIDE PARK v2 \u2014 Main JS\r\n   WhatsApp | Booking Widget | Navbar | Animations | i18n\r\n   ============================================================ *\/\r\n\r\n'use strict';\r\n\r\n\/* \u2500\u2500 CONFIG \u2500\u2500 *\/\r\nconst WA_NUMBER = '32491909393';\r\nconst PRICES = { indoor: 8, outdoor: 5 };\r\nlet currentLang = localStorage.getItem('op_lang') || 'fr';\r\n\r\n\/* WhatsApp \u2014 appels uniquement (pas de message pr\u00e9-rempli) *\/\r\nfunction waUrl(lang) {\r\n  return `https:\/\/wa.me\/${WA_NUMBER}`;\r\n}\r\n\r\nfunction updateAllWaLinks() {\r\n  const url = waUrl(currentLang);\r\n  document.querySelectorAll('[id$=\"Wa\"], [href^=\"https:\/\/wa.me\"]').forEach(el => {\r\n    if (el.tagName === 'A') el.href = url;\r\n  });\r\n  \/\/ Specific ones\r\n  ['navWa','heroWa','sbWa','bwWa','howWa','bentoWa','locWa','ctaWa','floatWa','footWa','drawerWa'].forEach(id => {\r\n    const el = document.getElementById(id);\r\n    if (el) el.href = url;\r\n  });\r\n}\r\n\r\n\/* \u2500\u2500 LANGUAGE \u2500\u2500 *\/\r\nfunction tr(key) {\r\n  const keys = key.split('.');\r\n  let v = t[currentLang];\r\n  for (const k of keys) { v = v?.[k]; }\r\n  return v ?? key;\r\n}\r\n\r\nfunction applyTranslations() {\r\n  document.querySelectorAll('[data-t]').forEach(el => {\r\n    const key = el.dataset.t;\r\n    const val = tr(key);\r\n    if (val === key) return;\r\n    if (['INPUT','TEXTAREA'].includes(el.tagName)) el.placeholder = val;\r\n    else el.innerHTML = val;\r\n  });\r\n  const title = tr('meta.title');\r\n  if (title !== 'meta.title') document.title = title;\r\n  const desc = document.querySelector('meta[name=\"description\"]');\r\n  if (desc) { const d = tr('meta.desc'); if (d !== 'meta.desc') desc.content = d; }\r\n  document.documentElement.lang = currentLang;\r\n}\r\n\r\nfunction setLang(lang) {\r\n  if (!t[lang]) return;\r\n  currentLang = lang;\r\n  localStorage.setItem('op_lang', lang);\r\n  applyTranslations();\r\n  updateLangUI();\r\n  updateAllWaLinks();\r\n  renderFAQ();\r\n  renderTestimonials();\r\n  updatePricePreview();\r\n  updateNavAuth();\r\n}\r\nwindow.setLang = setLang;\r\n\r\nfunction updateLangUI() {\r\n  document.querySelectorAll('.lang, .drawer-lang').forEach(b => {\r\n    b.classList.toggle('on', b.dataset.lang === currentLang);\r\n  });\r\n}\r\n\r\n\/* \u2500\u2500 NAVBAR \u2500\u2500 *\/\r\nfunction initNav() {\r\n  const nav         = document.getElementById('mainNav');\r\n  const announceBar = document.getElementById('announceBar');\r\n  const stickyBar   = document.getElementById('stickyBar');\r\n  const burger      = document.getElementById('burger');\r\n  const drawer      = document.getElementById('drawer');\r\n\r\n  if (!nav) return;\r\n\r\n  const announceH = announceBar ? announceBar.offsetHeight : 0;\r\n\r\n  \/\/ Set CSS variable for nav offset\r\n  document.documentElement.style.setProperty('--nav-top', announceH + 'px');\r\n\r\n  function onScroll() {\r\n    const scrolled = window.scrollY > 60;\r\n    nav.classList.toggle('stuck', scrolled);\r\n    if (!scrolled) {\r\n      nav.style.top = announceH + 'px';\r\n    }\r\n    \/\/ sticky bar\r\n    if (stickyBar) {\r\n      const heroH = document.getElementById('accueil')?.offsetHeight || 600;\r\n      stickyBar.classList.toggle('visible', window.scrollY > heroH * 0.7);\r\n    }\r\n    \/\/ scroll up btn\r\n    const su = document.getElementById('scrollUpBtn');\r\n    if (su) su.classList.toggle('show', window.scrollY > 500);\r\n  }\r\n\r\n  window.addEventListener('scroll', onScroll, { passive: true });\r\n  onScroll();\r\n\r\n  \/\/ Burger \/ Drawer\r\n  if (burger && drawer) {\r\n    burger.addEventListener('click', () => {\r\n      const open = !drawer.classList.contains('open');\r\n      drawer.classList.toggle('open', open);\r\n      burger.classList.toggle('x', open);\r\n      burger.setAttribute('aria-expanded', String(open));\r\n      document.body.style.overflow = open ? 'hidden' : '';\r\n    });\r\n    drawer.querySelectorAll('a').forEach(a => {\r\n      a.addEventListener('click', () => {\r\n        drawer.classList.remove('open');\r\n        burger.classList.remove('x');\r\n        document.body.style.overflow = '';\r\n      });\r\n    });\r\n  }\r\n\r\n  \/\/ Close drawer on resize\r\n  window.addEventListener('resize', () => {\r\n    if (window.innerWidth > 768) {\r\n      drawer?.classList.remove('open');\r\n      burger?.classList.remove('x');\r\n      document.body.style.overflow = '';\r\n    }\r\n    \/\/ Recalculate announce height\r\n    const h = announceBar ? announceBar.offsetHeight : 0;\r\n    document.documentElement.style.setProperty('--nav-top', h + 'px');\r\n    if (!nav.classList.contains('stuck')) nav.style.top = h + 'px';\r\n  }, { passive: true });\r\n\r\n  \/\/ Language buttons\r\n  document.querySelectorAll('.lang, .drawer-lang').forEach(btn => {\r\n    btn.addEventListener('click', () => setLang(btn.dataset.lang));\r\n  });\r\n\r\n  \/\/ Scroll up\r\n  document.getElementById('scrollUpBtn')?.addEventListener('click', () => {\r\n    window.scrollTo({ top: 0, behavior: 'smooth' });\r\n  });\r\n\r\n  \/\/ Auth button\r\n  document.getElementById('navAccBtn')?.addEventListener('click', () => {\r\n    const user = Auth.current();\r\n    if (user) window.location.href = 'account.html';\r\n    else openModal('login');\r\n  });\r\n}\r\n\r\n\/* \u2500\u2500 BOOKING WIDGET \u2500\u2500 *\/\r\nfunction initWidget() {\r\n  const wArr  = document.getElementById('wArrDate');\r\n  const wDep  = document.getElementById('wDepDate');\r\n  const wArrT = document.getElementById('wArrTime');\r\n  const wDepT = document.getElementById('wDepTime');\r\n  const cta   = document.getElementById('wCta');\r\n  if (!wArr) return;\r\n\r\n  \/\/ CTA\r\n  cta?.addEventListener('click', () => {\r\n    if (!wArr.value || !wDep.value) {\r\n      showToast(tr('widget.selectDates'), 'error'); return;\r\n    }\r\n    if (wDep.value <= wArr.value) {\r\n      showToast('La date de d\u00e9part doit \u00eatre apr\u00e8s l\\'arriv\u00e9e', 'error'); return;\r\n    }\r\n    const p = new URLSearchParams({\r\n      arrival: wArr.value, arr_time: wArrT?.value || '10:00',\r\n      departure: wDep.value, dep_time: wDepT?.value || '10:00', lang: currentLang\r\n    });\r\n    window.location.href = `reservation.html?${p}`;\r\n  });\r\n\r\n  \/* \u2500\u2500 Widget Calendar (click-to-open popover) \u2500\u2500 *\/\r\n  (function() {\r\n    const DAYS   = ['Lu','Ma','Me','Je','Ve','Sa','Di'];\r\n    const MONTHS = ['Janvier','F\u00e9vrier','Mars','Avril','Mai','Juin','Juillet','Ao\u00fbt','Septembre','Octobre','Novembre','D\u00e9cembre'];\r\n    const todayD = new Date(); todayD.setHours(0,0,0,0);\r\n    let vYear  = todayD.getFullYear();\r\n    let vMonth = todayD.getMonth();\r\n    let picking = 'arr';\r\n\r\n    const popover = document.getElementById('wCalPopover');\r\n\r\n    function iso(y,m,d){ return `${y}-${String(m+1).padStart(2,'0')}-${String(d).padStart(2,'0')}`; }\r\n    function todayIso(){ return iso(todayD.getFullYear(), todayD.getMonth(), todayD.getDate()); }\r\n    function fmt(s){ if(!s) return 'Choisissez'; const[y,m,d]=s.split('-'); return `${d}\/${m}\/${y}`; }\r\n\r\n    function openPopover(){\r\n      if(popover) popover.classList.add('open');\r\n    }\r\n    function closePopover(){\r\n      if(popover) popover.classList.remove('open');\r\n    }\r\n\r\n    function render() {\r\n      const grid  = document.getElementById('wCalGrid');\r\n      const title = document.getElementById('wCalTitle');\r\n      if (!grid) return;\r\n\r\n      const dim = new Date(vYear, vMonth+1, 0).getDate();\r\n      const fd  = new Date(vYear, vMonth, 1).getDay();\r\n      const off = fd === 0 ? 6 : fd - 1;\r\n      const tIso = todayIso();\r\n      const aIso = wArr.value;\r\n      const dIso = wDep.value;\r\n\r\n      let h = '';\r\n      DAYS.forEach(d => { h += `<div class=\"w-cal-dow\">${d}<\/div>`; });\r\n      for(let i=0;i<off;i++) h += `<div class=\"w-cal-day empty\"><\/div>`;\r\n      for(let d=1;d<=dim;d++){\r\n        const dv = iso(vYear,vMonth,d);\r\n        let cls = 'w-cal-day';\r\n        if(dv === tIso) cls += ' today';\r\n        if(dv < tIso)   cls += ' disabled';\r\n        if(dv === aIso) cls += ' sel-start';\r\n        if(dv === dIso) cls += ' sel-end';\r\n        if(aIso && dIso && dv > aIso && dv < dIso) cls += ' in-range';\r\n        h += `<div class=\"${cls}\" data-iso=\"${dv}\">${d}<\/div>`;\r\n      }\r\n      grid.innerHTML = h;\r\n      if(title) title.textContent = `${MONTHS[vMonth]} ${vYear}`;\r\n\r\n      grid.querySelectorAll('.w-cal-day:not(.disabled):not(.empty)').forEach(el => {\r\n        el.addEventListener('click', e => {\r\n          e.stopPropagation();\r\n          const dv = el.dataset.iso;\r\n          if(picking==='arr' || !wArr.value || dv <= wArr.value){\r\n            wArr.value = dv; wDep.value = ''; picking = 'dep';\r\n          } else {\r\n            wDep.value = dv; picking = 'arr';\r\n            \/\/ Both dates selected \u2014 close after short delay\r\n            setTimeout(closePopover, 300);\r\n          }\r\n          updateBoxes(); render();\r\n          updatePricePreview('outdoor', wArr.value, wDep.value);\r\n        });\r\n        el.addEventListener('mouseenter', () => {\r\n          if(picking!=='dep'||!wArr.value) return;\r\n          const hv = el.dataset.iso;\r\n          if(hv<=wArr.value) return;\r\n          grid.querySelectorAll('.w-cal-day').forEach(d=>{\r\n            const diso=d.dataset.iso;\r\n            if(diso>wArr.value&&diso<hv) d.classList.add('in-range');\r\n            else if(!d.classList.contains('sel-start')&&!d.classList.contains('sel-end')) d.classList.remove('in-range');\r\n          });\r\n        });\r\n      });\r\n    }\r\n\r\n    function updateBoxes(){\r\n      const ba=document.getElementById('wCalBoxArr'), bd=document.getElementById('wCalBoxDep');\r\n      const arrTxt=document.getElementById('wCalArrTxt'), depTxt=document.getElementById('wCalDepTxt');\r\n      if(arrTxt) arrTxt.textContent=fmt(wArr.value);\r\n      if(depTxt) depTxt.textContent=fmt(wDep.value);\r\n      if(ba){ ba.classList.toggle('filled',!!wArr.value); ba.classList.toggle('active',picking==='arr'&&!!popover?.classList.contains('open')); }\r\n      if(bd){ bd.classList.toggle('filled',!!wDep.value); bd.classList.toggle('active',picking==='dep'&&!!popover?.classList.contains('open')); }\r\n    }\r\n\r\n    \/\/ Open popover on box click\r\n    document.getElementById('wCalBoxArr')?.addEventListener('click', e => {\r\n      e.stopPropagation();\r\n      picking = 'arr'; render(); openPopover(); updateBoxes();\r\n    });\r\n    document.getElementById('wCalBoxDep')?.addEventListener('click', e => {\r\n      e.stopPropagation();\r\n      if(!wArr.value){ picking='arr'; } else { picking='dep'; }\r\n      render(); openPopover(); updateBoxes();\r\n    });\r\n\r\n    \/\/ Close on outside click\r\n    document.addEventListener('click', e => {\r\n      if(!document.getElementById('wCalPopover')?.contains(e.target)) closePopover();\r\n    });\r\n\r\n    document.getElementById('wCalPrev')?.addEventListener('click', e => {\r\n      e.stopPropagation();\r\n      if(vMonth===0){vMonth=11;vYear--;}else vMonth--;\r\n      render();\r\n    });\r\n    document.getElementById('wCalNext')?.addEventListener('click', e => {\r\n      e.stopPropagation();\r\n      if(vMonth===11){vMonth=0;vYear++;}else vMonth++;\r\n      render();\r\n    });\r\n\r\n    render(); updateBoxes();\r\n  })();\r\n\r\n  \/* \u2500\u2500 Widget Time Dropdowns \u2500\u2500 *\/\r\n  function buildWTimeDd(ddId, panelId, hiddenId, txtId) {\r\n    const dd    = document.getElementById(ddId);\r\n    const panel = document.getElementById(panelId);\r\n    const hid   = document.getElementById(hiddenId);\r\n    const txt   = document.getElementById(txtId);\r\n    if(!dd||!panel) return;\r\n\r\n    let current = '10:00';\r\n    const opts = [];\r\n    for(let h=0;h<24;h++) for(let m of[0,30]){\r\n      const isNightSlot = h < 3 || (h === 3 && m < 30);\r\n      opts.push({ val:`${String(h).padStart(2,'0')}:${String(m).padStart(2,'0')}`, night: isNightSlot });\r\n    }\r\n\r\n    function buildPanel(){\r\n      panel.innerHTML = opts.map(o=>{\r\n        const cls=['wf-time-opt',o.night?'night-h':'',o.val===current?'active':''].filter(Boolean).join(' ');\r\n        const badge=o.night?`<span class=\"wf-time-badge\">\ud83c\udf19 +15\u20ac<\/span>`:'';\r\n        return `<div class=\"${cls}\" data-val=\"${o.val}\">${o.val}${badge}<\/div>`;\r\n      }).join('');\r\n      panel.querySelectorAll('.wf-time-opt').forEach(el=>{\r\n        el.addEventListener('click', e=>{ e.stopPropagation(); pick(el.dataset.val); close(); });\r\n      });\r\n    }\r\n\r\n    function pick(val){\r\n      current=val;\r\n      if(hid) hid.value=val;\r\n      if(txt) txt.textContent=val;\r\n      const [hh,mm]=val.split(':').map(Number);\r\n      const isN=hh<3||(hh===3&&mm<30);\r\n      let nb=dd.querySelector('.wf-time-night');\r\n      if(isN){ if(!nb){nb=document.createElement('span');nb.className='wf-time-night';nb.textContent='+15\u20ac';dd.querySelector('.wf-time-dd-val').appendChild(nb);} }\r\n      else nb?.remove();\r\n      buildPanel();\r\n      updatePricePreview('outdoor', wArr.value, wDep.value);\r\n    }\r\n    function open(){ buildPanel(); panel.classList.add('open'); dd.classList.add('open'); const a=panel.querySelector('.active'); a?.scrollIntoView({block:'nearest'}); }\r\n    function close(){ panel.classList.remove('open'); dd.classList.remove('open'); }\r\n\r\n    dd.addEventListener('click',e=>{ e.stopPropagation(); panel.classList.contains('open')?close():open(); });\r\n    dd.addEventListener('keydown',e=>{ if(e.key==='Enter'||e.key===' '){e.preventDefault();open();} if(e.key==='Escape')close(); });\r\n    document.addEventListener('click',()=>close());\r\n\r\n    pick('10:00');\r\n  }\r\n\r\n  buildWTimeDd('wArrTimeDd','wArrTimePanel','wArrTime','wArrTimeTxt');\r\n  buildWTimeDd('wDepTimeDd','wDepTimePanel','wDepTime','wDepTimeTxt');\r\n}\r\n\r\nfunction updatePricePreview(type, arr, dep) {\r\n  type = type || 'outdoor';\r\n  arr  = arr  || document.getElementById('wArrDate')?.value || '';\r\n  dep  = dep  || document.getElementById('wDepDate')?.value || '';\r\n\r\n  const days    = calcDays(arr, dep);\r\n  const price   = days > 0 ? days * (PRICES[type] || 5) : 0;\r\n  const daysEl  = document.getElementById('bpDays');\r\n  const amtEl   = document.getElementById('bpAmount');\r\n  const typeEl  = document.getElementById('bpType');\r\n\r\n  if (daysEl) daysEl.textContent = days > 0 ? `${days} ${tr('widget.days')}` : tr('widget.selectDates');\r\n  if (amtEl)  amtEl.innerHTML    = days > 0 ? `<sup>\u20ac<\/sup>${price}` : '--';\r\n  if (typeEl) typeEl.textContent = type === 'indoor' ? tr('widget.indoor') : tr('widget.outdoor');\r\n}\r\nwindow.updatePricePreview = updatePricePreview;\r\n\r\nfunction calcDays(a, b) {\r\n  if (!a || !b) return 0;\r\n  const diff = Math.ceil((new Date(b) - new Date(a)) \/ 86400000);\r\n  return diff > 0 ? diff : 0;\r\n}\r\n\r\n\/* \u2500\u2500 PARK CARD BUTTONS \u2500\u2500 *\/\r\nfunction initParkButtons() {\r\n  document.querySelectorAll('[data-park-type]').forEach(btn => {\r\n    btn.addEventListener('click', () => {\r\n      const type = btn.dataset.parkType;\r\n      const today = new Date();\r\n      const dep   = new Date(today); dep.setDate(dep.getDate() + 3);\r\n      const p = new URLSearchParams({\r\n        type, arrival: today.toISOString().split('T')[0],\r\n        arr_time: '10:00', departure: dep.toISOString().split('T')[0],\r\n        dep_time: '10:00', lang: currentLang\r\n      });\r\n      window.location.href = `reservation.html?${p}`;\r\n    });\r\n  });\r\n}\r\n\r\n\/* \u2500\u2500 SCROLL ANIMATIONS \u2500\u2500 *\/\r\nfunction initReveal() {\r\n  const io = new IntersectionObserver(entries => {\r\n    entries.forEach(e => {\r\n      if (e.isIntersecting) { e.target.classList.add('vis'); io.unobserve(e.target); }\r\n    });\r\n  }, { threshold: 0.1, rootMargin: '0px 0px -50px 0px' });\r\n  document.querySelectorAll('.reveal').forEach(el => io.observe(el));\r\n}\r\n\r\n\/* \u2500\u2500 RENDER TESTIMONIALS \u2500\u2500 *\/\r\nfunction renderTestimonials() {\r\n  const items = t[currentLang]?.testi?.items || [];\r\n  const starSvg = `<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\/><\/svg>`;\r\n  const makeCard = item => `\r\n    <div class=\"tc\">\r\n      <div class=\"tc-stars\">${starSvg.repeat(item.r)}<\/div>\r\n      <p class=\"tc-text\">\"${item.text}\"<\/p>\r\n      <div class=\"tc-author\">\r\n        <div class=\"tc-av\">${item.name.charAt(0)}<\/div>\r\n        <div><div class=\"tc-name\">${item.name}<\/div><div class=\"tc-loc\">${item.loc}<\/div><\/div>\r\n      <\/div>\r\n    <\/div>`;\r\n  \/\/ Split into two rows\r\n  const half = Math.ceil(items.length \/ 2);\r\n  const row1 = items.slice(0, half);\r\n  const row2 = items.slice(half);\r\n  \/\/ Duplicate for infinite scroll\r\n  const r1 = document.getElementById('testiRow1');\r\n  const r2 = document.getElementById('testiRow2');\r\n  if (r1) r1.innerHTML = [...row1,...row1].map(makeCard).join('');\r\n  if (r2) r2.innerHTML = [...row2,...row2].map(makeCard).join('');\r\n}\r\n\r\n\/* \u2500\u2500 RENDER FAQ \u2500\u2500 *\/\r\nfunction renderFAQ() {\r\n  const list = document.getElementById('faqList');\r\n  if (!list) return;\r\n  const items = t[currentLang]?.faq?.items || [];\r\n  list.innerHTML = items.map((item, i) => `\r\n    <div class=\"fq\" data-i=\"${i}\">\r\n      <button class=\"fq-q\" aria-expanded=\"false\" type=\"button\">\r\n        <span>${item.q}<\/span>\r\n        <span class=\"fq-ico\"><svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg><\/span>\r\n      <\/button>\r\n      <div class=\"fq-a\" role=\"region\"><p>${item.a}<\/p><\/div>\r\n    <\/div>`).join('');\r\n\r\n  list.querySelectorAll('.fq-q').forEach(btn => {\r\n    btn.addEventListener('click', () => {\r\n      const item = btn.closest('.fq');\r\n      const isOpen = item.classList.contains('open');\r\n      list.querySelectorAll('.fq.open').forEach(x => x.classList.remove('open'));\r\n      if (!isOpen) { item.classList.add('open'); btn.setAttribute('aria-expanded', 'true'); }\r\n      else btn.setAttribute('aria-expanded', 'false');\r\n    });\r\n  });\r\n}\r\n\r\n\/* \u2500\u2500 AUTH MODAL \u2500\u2500 *\/\r\nfunction openModal(tab = 'login') {\r\n  const overlay = document.getElementById('overlay');\r\n  if (!overlay) return;\r\n  overlay.classList.add('open');\r\n  document.body.style.overflow = 'hidden';\r\n  switchTab(tab);\r\n}\r\nfunction closeModal() {\r\n  document.getElementById('overlay')?.classList.remove('open');\r\n  document.body.style.overflow = '';\r\n}\r\nfunction switchTab(tab) {\r\n  const isLogin = tab === 'login';\r\n  document.getElementById('tabL')?.classList.toggle('on', isLogin);\r\n  document.getElementById('tabR')?.classList.toggle('on', !isLogin);\r\n  document.getElementById('loginForm')?.classList.toggle('active', isLogin);\r\n  document.getElementById('registerForm')?.classList.toggle('active', !isLogin);\r\n}\r\nwindow.openAuthModal = openModal;\r\n\r\nfunction initModal() {\r\n  const overlay = document.getElementById('overlay');\r\n  if (!overlay) return;\r\n\r\n  document.getElementById('modalClose')?.addEventListener('click', closeModal);\r\n  overlay.addEventListener('click', e => { if (e.target === overlay) closeModal(); });\r\n  document.getElementById('tabL')?.addEventListener('click', () => switchTab('login'));\r\n  document.getElementById('tabR')?.addEventListener('click', () => switchTab('register'));\r\n  document.querySelectorAll('.to-register').forEach(el => el.addEventListener('click', () => switchTab('register')));\r\n  document.querySelectorAll('.to-login').forEach(el => el.addEventListener('click', () => switchTab('login')));\r\n\r\n  document.getElementById('loginForm')?.addEventListener('submit', e => {\r\n    e.preventDefault();\r\n    const email = e.target.querySelector('[name=\"email\"]').value;\r\n    const pass  = e.target.querySelector('[name=\"password\"]').value;\r\n    const res = Auth.login(email, pass);\r\n    if (res.ok) {\r\n      showToast(`${tr('auth.loginOk')} ${res.user.firstName} !`, 'success');\r\n      closeModal(); updateNavAuth();\r\n    } else showToast(tr(`auth.${res.err}`), 'error');\r\n  });\r\n\r\n  document.getElementById('registerForm')?.addEventListener('submit', e => {\r\n    e.preventDefault();\r\n    const data = {\r\n      firstName:   e.target.querySelector('[name=\"firstName\"]').value,\r\n      lastName:    e.target.querySelector('[name=\"lastName\"]').value,\r\n      email:       e.target.querySelector('[name=\"email\"]').value,\r\n      phone:       e.target.querySelector('[name=\"phone\"]')?.value || '',\r\n      password:    e.target.querySelector('[name=\"password\"]').value,\r\n      confirmPass: e.target.querySelector('[name=\"confirmPass\"]').value\r\n    };\r\n    const res = Auth.register(data);\r\n    if (res.ok) {\r\n      showToast(tr('auth.registerOk'), 'success');\r\n      closeModal(); updateNavAuth();\r\n    } else showToast(tr(`auth.${res.err}`), 'error');\r\n  });\r\n}\r\n\r\nfunction updateNavAuth() {\r\n  const user = Auth.current();\r\n  const btn = document.getElementById('navAccBtn');\r\n  if (!btn) return;\r\n  if (user) {\r\n    btn.innerHTML = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"8\" r=\"4\"\/><path d=\"M4 20c0-4 3.6-7 8-7s8 3 8 7\"\/><\/svg> ${user.firstName}`;\r\n  } else {\r\n    btn.innerHTML = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"8\" r=\"4\"\/><path d=\"M4 20c0-4 3.6-7 8-7s8 3 8 7\"\/><\/svg> <span data-t=\"nav.login\">${tr('nav.login')}<\/span>`;\r\n  }\r\n}\r\n\r\n\/* \u2500\u2500 COOKIE \u2500\u2500 *\/\r\nfunction initCookie() {\r\n  if (localStorage.getItem('op_ck')) return;\r\n  const banner = document.getElementById('cookieBanner');\r\n  if (!banner) return;\r\n  setTimeout(() => banner.classList.add('show'), 1800);\r\n  document.getElementById('ckOk')?.addEventListener('click', () => {\r\n    localStorage.setItem('op_ck','1'); banner.classList.remove('show');\r\n  });\r\n  document.getElementById('ckNo')?.addEventListener('click', () => banner.classList.remove('show'));\r\n}\r\n\r\n\/* \u2500\u2500 TOAST \u2500\u2500 *\/\r\nfunction showToast(msg, type = 'info', duration = 3500) {\r\n  let el = document.getElementById('globalToast');\r\n  if (!el) {\r\n    el = document.createElement('div');\r\n    el.id = 'globalToast'; el.className = 'toast';\r\n    document.body.appendChild(el);\r\n  }\r\n  const icons = {\r\n    success: '<polyline points=\"20 6 9 17 4 12\"\/>',\r\n    error:   '<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/>',\r\n    info:    '<circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/>'\r\n  };\r\n  el.className = `toast ${type}`;\r\n  el.innerHTML = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\">${icons[type]||icons.info}<\/svg><span>${msg}<\/span>`;\r\n  el.classList.add('show');\r\n  clearTimeout(el._t);\r\n  el._t = setTimeout(() => el.classList.remove('show'), duration);\r\n}\r\nwindow.showToast = showToast;\r\n\r\n\/* \u2500\u2500 SMOOTH SCROLL \u2500\u2500 *\/\r\nfunction initSmoothScroll() {\r\n  document.querySelectorAll('a[href^=\"#\"]').forEach(a => {\r\n    a.addEventListener('click', e => {\r\n      const id = a.getAttribute('href').slice(1);\r\n      const target = document.getElementById(id);\r\n      if (target) { e.preventDefault(); target.scrollIntoView({ behavior: 'smooth', block: 'start' }); }\r\n    });\r\n  });\r\n}\r\n\r\n\/* \u2500\u2500 MAGNETIC BUTTONS \u2500\u2500 *\/\r\nfunction initMagnetic() {\r\n  document.querySelectorAll('.btn-hero-wa,.btn-hero-book,.bw-cta,.btn-cta-wa').forEach(btn => {\r\n    btn.addEventListener('mousemove', e => {\r\n      const r = btn.getBoundingClientRect();\r\n      const x = e.clientX - r.left - r.width \/ 2;\r\n      const y = e.clientY - r.top  - r.height \/ 2;\r\n      btn.style.transform = `translate(${x * 0.15}px, ${y * 0.15}px)`;\r\n    });\r\n    btn.addEventListener('mouseleave', () => { btn.style.transform = ''; });\r\n  });\r\n}\r\n\r\n\/* \u2500\u2500 INIT \u2500\u2500 *\/\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n  \/\/ Lang from URL or storage\r\n  const urlLang = new URLSearchParams(window.location.search).get('lang');\r\n  if (urlLang && t[urlLang]) currentLang = urlLang;\r\n  else if (t[currentLang]) { \/* use stored *\/ }\r\n  else currentLang = 'fr';\r\n\r\n  applyTranslations();\r\n  updateLangUI();\r\n  updateAllWaLinks();\r\n  initNav();\r\n  initWidget();\r\n  initReveal();\r\n  renderFAQ();\r\n  renderTestimonials();\r\n  initModal();\r\n  updateNavAuth();\r\n  initCookie();\r\n  initSmoothScroll();\r\n  initParkButtons();\r\n  initMagnetic();\r\n\r\n  \/\/ Announce bar height \u2192 CSS var\r\n  const bar = document.getElementById('announceBar');\r\n  if (bar) document.documentElement.style.setProperty('--announce-h', bar.offsetHeight + 'px');\r\n});\r\n\r\n\r\n\/* === CONVERSION.JS === *\/\r\n\/* ============================================================\r\n   OUTSIDE PARK \u2014 Conversion & Theme JS\r\n   Theme toggle \u00b7 Social Proof \u00b7 Exit Intent \u00b7 Mobile CTA\r\n   ============================================================ *\/\r\n'use strict';\r\n\r\n\/* \u2500\u2500 THEME TOGGLE \u2500\u2500 *\/\r\n(function initTheme() {\r\n  const saved = localStorage.getItem('op_theme') || 'dark';\r\n  if (saved === 'light') document.documentElement.setAttribute('data-theme', 'light');\r\n\r\n  document.addEventListener('DOMContentLoaded', () => {\r\n    const btn = document.getElementById('themeBtn');\r\n    if (!btn) return;\r\n    btn.addEventListener('click', () => {\r\n      const isLight = document.documentElement.getAttribute('data-theme') === 'light';\r\n      const next = isLight ? 'dark' : 'light';\r\n      document.documentElement.setAttribute('data-theme', next);\r\n      localStorage.setItem('op_theme', next);\r\n    });\r\n  });\r\n})();\r\n\r\n\r\n\/* \u2500\u2500 EXIT INTENT \u2500\u2500 *\/\r\n(function initExitIntent() {\r\n  const EXIT_COPY = {\r\n    fr: { title:'Votre vol vous attend !', sub:'R\u00e9servez votre place en 30 secondes sur WhatsApp. Notre \u00e9quipe r\u00e9pond en quelques minutes.', wa:'R\u00e9server sur WhatsApp', skip:'Non merci, je continue' },\r\n    en: { title:'Your flight is waiting!', sub:'Book your spot in 30 seconds on WhatsApp. Our team replies within minutes.', wa:'Book on WhatsApp', skip:'No thanks, I\\'ll keep browsing' },\r\n    de: { title:'Ihr Flug wartet!', sub:'Buchen Sie Ihren Platz in 30 Sekunden auf WhatsApp. Unser Team antwortet in wenigen Minuten.', wa:'Auf WhatsApp buchen', skip:'Nein danke' },\r\n    nl: { title:'Uw vlucht wacht!', sub:'Reserveer uw plek in 30 seconden via WhatsApp. Ons team reageert binnen enkele minuten.', wa:'Reserveren via WhatsApp', skip:'Nee bedankt' },\r\n  };\r\n\r\n  let shown = false;\r\n\r\n  function showExit() {\r\n    if (shown || sessionStorage.getItem('op_exit_shown')) return;\r\n    shown = true;\r\n    sessionStorage.setItem('op_exit_shown', '1');\r\n\r\n    const overlay = document.getElementById('exitOverlay');\r\n    if (!overlay) return;\r\n\r\n    const lang = (typeof currentLang !== 'undefined' ? currentLang : 'fr');\r\n    const copy = EXIT_COPY[lang] || EXIT_COPY.fr;\r\n\r\n    const titleEl = document.getElementById('exitTitle');\r\n    const subEl   = document.getElementById('exitSub');\r\n    const waBtn   = document.getElementById('exitWa');\r\n    const skipBtn = document.getElementById('exitSkip');\r\n\r\n    if (titleEl) titleEl.textContent = copy.title;\r\n    if (subEl)   subEl.textContent   = copy.sub;\r\n    if (skipBtn) skipBtn.textContent = copy.skip;\r\n    if (waBtn)   waBtn.textContent   = copy.wa;\r\n\r\n    \/\/ Set WA link\r\n    if (typeof waUrl === 'function' && waBtn) {\r\n      waBtn.href = waUrl(lang);\r\n      waBtn.innerHTML = `<svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z\"\/><\/svg> ${copy.wa}`;\r\n    }\r\n\r\n    overlay.classList.add('open');\r\n\r\n    const close = () => overlay.classList.remove('open');\r\n    document.getElementById('exitClose')?.addEventListener('click', close);\r\n    document.getElementById('exitSkip')?.addEventListener('click', close);\r\n    overlay.addEventListener('click', e => { if (e.target === overlay) close(); });\r\n  }\r\n\r\n  document.addEventListener('DOMContentLoaded', () => {\r\n    if (sessionStorage.getItem('op_exit_shown')) return;\r\n    \/\/ Desktop: mouse leaves top of viewport\r\n    document.addEventListener('mouseleave', e => {\r\n      if (e.clientY < 10) showExit();\r\n    }, { once: true });\r\n    \/\/ Mobile: after 60s without interaction\r\n    let mobileTimer = setTimeout(() => showExit(), 60000);\r\n    ['touchstart','scroll','click'].forEach(ev => {\r\n      document.addEventListener(ev, () => {\r\n        clearTimeout(mobileTimer);\r\n        mobileTimer = setTimeout(() => showExit(), 60000);\r\n      }, { passive: true });\r\n    });\r\n  });\r\n})();\r\n\r\n\/* \u2500\u2500 MOBILE STICKY CTA \u2500\u2500 *\/\r\n(function initMobCta() {\r\n  document.addEventListener('DOMContentLoaded', () => {\r\n    const bar   = document.getElementById('mobCta');\r\n    const mobWa = document.getElementById('mobWa');\r\n    if (!bar) return;\r\n\r\n    \/\/ Show after scrolling 200px\r\n    function onScroll() {\r\n      const show = window.scrollY > 200;\r\n      bar.classList.toggle('visible', show);\r\n    }\r\n    window.addEventListener('scroll', onScroll, { passive: true });\r\n\r\n    \/\/ Update WA link\r\n    function updateMobWa() {\r\n      if (mobWa && typeof waUrl === 'function') {\r\n        const lang = typeof currentLang !== 'undefined' ? currentLang : 'fr';\r\n        mobWa.href = waUrl(lang);\r\n      }\r\n    }\r\n    updateMobWa();\r\n    \/\/ Re-update on language change\r\n    const origSetLang = window.setLang;\r\n    window.setLang = function(lang) {\r\n      if (origSetLang) origSetLang(lang);\r\n      updateMobWa();\r\n    };\r\n  });\r\n})();\r\n\r\n\/* \u2500\u2500 URGENCY \u2014 rotate spots count \u2500\u2500 *\/\r\n(function initUrgency() {\r\n  document.addEventListener('DOMContentLoaded', () => {\r\n    const el = document.getElementById('urgencyText');\r\n    if (!el) return;\r\n    \/\/ Pick a random \"realistic\" number between 3 and 7\r\n    const n = Math.floor(Math.random() * 5) + 3;\r\n    const lang = typeof currentLang !== 'undefined' ? currentLang : 'fr';\r\n    const msgs = {\r\n      fr: `Seulement ${n} places disponibles cette semaine`,\r\n      en: `Only ${n} spots available this week`,\r\n      de: `Nur noch ${n} Pl\u00e4tze diese Woche verf\u00fcgbar`,\r\n      nl: `Nog slechts ${n} plaatsen beschikbaar deze week`,\r\n    };\r\n    el.textContent = msgs[lang] || msgs.fr;\r\n    \/\/ Update on lang change\r\n    const origSetLang = window.setLang;\r\n    window.setLang = function(l) {\r\n      if (origSetLang) origSetLang(l);\r\n      el.textContent = msgs[l] || msgs.fr;\r\n    };\r\n  });\r\n})();\r\n\r\n<\/script>\r\n\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>WhatsApp FR EN DE NL FR EN DE NL 2 MIN r\u00e9server Arriv\u00e9e Choisissez \u2192 D\u00e9part Choisissez \u2039 \u203a Heure arr. 10:00 Heure d\u00e9p. 10:00 &#8212; Seulement 4 places disponibles cette semaine +10 000clients satisfaits 4.8 \/ 5sur Google 0 \u20ac\u00e0 payer en ligne 5 minnavette gratuite 24\/7vid\u00e9osurveillance 1 2 WhatsApp 3 4 \u20ac \u20ac [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-11","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/outsidepark.mk-it.be\/index.php?rest_route=\/wp\/v2\/pages\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/outsidepark.mk-it.be\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/outsidepark.mk-it.be\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/outsidepark.mk-it.be\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/outsidepark.mk-it.be\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11"}],"version-history":[{"count":10,"href":"https:\/\/outsidepark.mk-it.be\/index.php?rest_route=\/wp\/v2\/pages\/11\/revisions"}],"predecessor-version":[{"id":24,"href":"https:\/\/outsidepark.mk-it.be\/index.php?rest_route=\/wp\/v2\/pages\/11\/revisions\/24"}],"wp:attachment":[{"href":"https:\/\/outsidepark.mk-it.be\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}