{"id":58100,"date":"2026-05-25T10:45:25","date_gmt":"2026-05-25T08:45:25","guid":{"rendered":"https:\/\/swiss-limousinenservice.ch\/demander-un-trajet\/"},"modified":"2026-07-17T12:40:39","modified_gmt":"2026-07-17T10:40:39","slug":"demander-un-trajet","status":"publish","type":"page","link":"https:\/\/swiss-limousinenservice.ch\/fr\/demander-un-trajet\/","title":{"rendered":"Demander un trajet"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"58100\" class=\"elementor elementor-58100 elementor-56858\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-56942f0 lte-background-black e-flex e-con-boxed e-con e-parent\" data-id=\"56942f0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-9614932 e-con-full e-flex e-con e-child\" data-id=\"9614932\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4646250 lte-heading-align-tablet-center lte-heading-align-center elementor-widget elementor-widget-lte-header\" data-id=\"4646250\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"lte-header.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"lte-heading lte-style-subheader-italic heading-tag-h3 heading-subtag-h6\"><div class=\"lte-heading-content\"><h3 class=\"lte-header\">Demander un trajet<\/h3><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3324ab1 elementor-widget elementor-widget-text-editor\" data-id=\"3324ab1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"text-white\/60 text-base leading-relaxed mb-10\" data-loc=\"client\/src\/pages\/Home.tsx:337\">Communiquez-nous vos donn\u00e9es de voyage \u2014 nous vous recontacterons dans les plus brefs d\u00e9lais.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5c332ed elementor-widget elementor-widget-text-editor\" data-id=\"5c332ed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Toujours inclus<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7f6a27 elementor-icon-list--layout-inline elementor-align-center elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"e7f6a27\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Chauffeur professionnel<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Eau min\u00e9rale en bouteilles en verre<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Wi-Fi &amp; tous les c\u00e2bles de chargement courants<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Service de bagages inclus<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Service de parapluie en cas de pluie<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-check\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Parfum discret &amp; r\u00e9glage de si\u00e8ge premium<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-08efdda e-flex e-con-boxed e-con e-parent\" data-id=\"08efdda\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-263b70d elementor-widget elementor-widget-html\" data-id=\"263b70d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ============================================================\n     Swiss Limousinen-Service \u2013 Anfrage-Rechner (4-Schritt, Elementor-ready)\n     -> in ein \"HTML-Code\"-Widget einfuegen. Cache inkl. Minify danach leeren.\n     CONFIG (Key\/API_URL) + ABPREIS oben im Skript-Bereich anpassen.\n     ============================================================ -->\n<style>\n  .sls-rechner{--gold:#C39A60;--gold-d:#b2884e;--ink:#2b2b2b;--label:#3a3a3a;--muted:#9a958c;--line:#e6e3dd;--field:#ffffff;--soft:#f6f4f0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;}\n  .sls-rechner *{box-sizing:border-box;margin:0;padding:0;}\n  .sls-rechner .widget{max-width:1180px;margin:0 auto;background:#fff;border-radius:16px;overflow:visible;box-shadow:0 30px 70px -30px rgba(0,0,0,.5);}\n\n  \/* Schrittleiste *\/\n  .sls-rechner .steps{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;background:var(--soft);padding:22px 6% 18px;position:relative;border-radius:16px 16px 0 0;}\n  .sls-rechner .step{flex:1;text-align:center;position:relative;z-index:2;cursor:default;}\n  .sls-rechner .step .num{width:40px;height:40px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;background:#fff;border:2px solid var(--gold);color:var(--gold);transition:.2s;}\n  .sls-rechner .step.active .num,.sls-rechner .step.done .num{background:var(--gold);color:#fff;}\n  .sls-rechner .step.done{cursor:pointer;}\n  .sls-rechner .step .lbl{font-size:13px;color:var(--gold-d);}\n  .sls-rechner .step.active .lbl{font-weight:600;}\n  .sls-rechner .steps .bar{position:absolute;top:43px;left:14%;right:14%;height:2px;background:var(--gold);opacity:.45;z-index:1;}\n\n  .sls-rechner .body{padding:26px 28px 30px;}\n  .sls-rechner .pane{display:none;}\n  .sls-rechner .pane.on{display:block;animation:slsfade .25s ease;}\n  @keyframes slsfade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}\n  .sls-rechner .pane-h{font-size:20px;font-weight:600;color:var(--ink);}\n  .sls-rechner .pane-sub{font-size:13px;color:var(--muted);margin:3px 0 18px;}\n\n  .sls-rechner .row{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 26px;}\n  .sls-rechner .row.two{grid-template-columns:1fr 1fr auto;gap:22px 26px;align-items:end;margin-top:22px;}\n  .sls-rechner .f{position:relative;}\n  .sls-rechner .f label{display:block;font-size:14px;color:var(--label);margin-bottom:8px;font-weight:500;}\n  .sls-rechner .ctrl{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--field);}\n  .sls-rechner .ctrl:focus-within{border-color:var(--gold);}\n  .sls-rechner .ctrl svg{flex:0 0 auto;color:var(--gold);}\n  .sls-rechner .ctrl input{border:none;outline:none;font-size:16px;color:var(--ink);width:100%;background:transparent;font-family:inherit;}\n  .sls-rechner .ctrl input[readonly]{cursor:pointer;}\n  .sls-rechner .ctrl input::placeholder{color:var(--muted);}\n  .sls-rechner .selectbox{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--field);}\n  .sls-rechner .selectbox svg.lead{color:var(--gold);flex:0 0 auto;}\n  .sls-rechner .selectbox select{appearance:none;border:none;outline:none;background:transparent;font-size:16px;color:var(--ink);width:100%;font-family:inherit;cursor:pointer;}\n  .sls-rechner .selectbox .chev{position:absolute;right:12px;color:#b9b9b9;pointer-events:none;}\n\n  .sls-rechner .btn{border:none;cursor:pointer;background:var(--gold);color:#fff;font-size:16px;font-weight:600;border-radius:10px;padding:14px 26px;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,transform .1s;font-family:inherit;white-space:nowrap;}\n  .sls-rechner .btn:hover{background:var(--gold-d);}\n  .sls-rechner .btn:active{transform:translateY(1px);}\n  .sls-rechner .btn[disabled]{opacity:.5;cursor:default;}\n  .sls-rechner .btn.ghost{background:#fff;color:var(--gold-d);border:1px solid var(--gold);}\n  .sls-rechner .btn.ghost:hover{background:var(--soft);}\n\n  .sls-rechner .nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;}\n\n  \/* Adress-Autocomplete *\/\n  .sls-rechner .ac-list{position:absolute;left:0;right:0;top:100%;z-index:50;margin-top:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 30px -12px rgba(0,0,0,.25);max-height:270px;overflow:auto;padding:4px;}\n  .sls-rechner .ac-item{padding:9px 12px;border-radius:8px;cursor:pointer;}\n  .sls-rechner .ac-item:hover,.sls-rechner .ac-item.on{background:rgba(195,154,96,.12);}\n  .sls-rechner .ac-item .ac-main{font-size:14px;font-weight:600;color:var(--ink);display:block;}\n  .sls-rechner .ac-item .ac-sec{font-size:12px;color:var(--muted);display:block;margin-top:1px;}\n  .sls-rechner .ac-foot{padding:6px 12px 4px;font-size:10px;letter-spacing:.5px;color:#b8b3aa;text-transform:uppercase;text-align:right;}\n\n  \/* Datums-Picker *\/\n  .sls-rechner .pick{position:absolute;left:0;top:100%;z-index:60;margin-top:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -14px rgba(0,0,0,.3);padding:12px;width:320px;max-width:100%;}\n  .sls-rechner .cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}\n  .sls-rechner .cal-head button{border:none;background:transparent;cursor:pointer;color:var(--gold-d);font-size:20px;line-height:1;width:34px;height:34px;border-radius:8px;font-family:inherit;}\n  .sls-rechner .cal-head button:hover{background:rgba(195,154,96,.14);}\n  .sls-rechner .cal-title{font-weight:600;color:var(--ink);font-size:14px;}\n  .sls-rechner .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}\n  .sls-rechner .cal-grid .dow{font-size:11px;color:var(--muted);text-align:center;padding:5px 0;}\n  .sls-rechner .cal-grid .day{text-align:center;padding:8px 0;font-size:13px;border-radius:8px;cursor:pointer;color:var(--ink);}\n  .sls-rechner .cal-grid .day:hover{background:rgba(195,154,96,.14);}\n  .sls-rechner .cal-grid .day.muted{cursor:default;}\n  .sls-rechner .cal-grid .day.today{box-shadow:inset 0 0 0 1px var(--gold);}\n  .sls-rechner .cal-grid .day.sel{background:var(--gold);color:#fff;}\n  .sls-rechner .cal-grid .day.disabled{color:#dcd8d0;cursor:not-allowed;}\n  .sls-rechner .cal-grid .day.disabled:hover{background:transparent;}\n\n  \/* Karte + Route *\/\n  .sls-rechner .mapwrap{margin-top:26px;border-radius:12px;overflow:hidden;border:1px solid var(--line);}\n  .sls-rechner #map{width:100%;height:300px;display:block;background:#eceae5;}\n  .sls-rechner .routeinfo{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;}\n  .sls-rechner .routeinfo .b{flex:1 1 0;min-width:180px;display:flex;align-items:center;gap:14px;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:16px 18px;}\n  .sls-rechner .routeinfo .ic{width:38px;height:38px;border-radius:50%;background:rgba(195,154,96,.14);display:flex;align-items:center;justify-content:center;color:var(--gold);flex:0 0 auto;}\n  .sls-rechner .routeinfo .k{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--gold-d);}\n  .sls-rechner .routeinfo .v{font-size:22px;font-weight:600;color:var(--ink);}\n  .sls-rechner .routeinfo .v small{font-size:13px;color:var(--muted);font-weight:400;}\n  .sls-rechner .routeinfo .empty{font-size:14px;color:var(--muted);font-style:italic;font-weight:400;}\n\n  \/* Fahrzeuge *\/\n  .sls-rechner .sec-h{margin-top:30px;font-size:19px;font-weight:600;color:var(--ink);}\n  .sls-rechner .sec-sub{font-size:13px;color:var(--muted);margin-top:3px;}\n  .sls-rechner .cars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;}\n  .sls-rechner .car{position:relative;border:1.5px solid var(--line);border-radius:14px;padding:20px;text-align:center;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s;}\n  .sls-rechner .car:hover{border-color:var(--gold);}\n  .sls-rechner .car.sel{border-color:var(--gold);box-shadow:0 0 0 3px rgba(195,154,96,.18);}\n  .sls-rechner .car.disabled{opacity:.45;pointer-events:none;filter:grayscale(.35);}\n  .sls-rechner .car .tick{position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#fff;display:none;align-items:center;justify-content:center;font-size:14px;font-weight:700;}\n  .sls-rechner .car.sel .tick{display:flex;}\n  .sls-rechner .car .nm{font-size:18px;font-weight:600;color:var(--ink);}\n  .sls-rechner .car .ab{font-size:13px;color:var(--muted);margin-top:10px;}\n  .sls-rechner .car .pr{font-size:26px;font-weight:700;color:var(--gold);}\n  .sls-rechner .car .un{font-size:12px;color:var(--muted);}\n  .sls-rechner .car .km{display:inline-block;margin-top:10px;font-size:12px;color:var(--gold-d);background:rgba(195,154,96,.10);border:1px solid var(--line);border-radius:999px;padding:4px 11px;}\n  .sls-rechner .hint{font-size:12px;color:var(--muted);text-align:center;margin-top:14px;}\n\n  \/* Checkboxen *\/\n  .sls-rechner .checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;}\n  .sls-rechner .chk{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--line);border-radius:10px;padding:13px 15px;cursor:pointer;transition:border-color .15s;}\n  .sls-rechner .chk:hover{border-color:var(--gold);}\n  .sls-rechner .chk input{flex:0 0 auto;margin-top:1px;width:18px;height:18px;accent-color:var(--gold);cursor:pointer;}\n  .sls-rechner .chk span{font-size:14px;color:var(--ink);}\n\n  \/* Kontakt \/ Freitext *\/\n  .sls-rechner .contact{display:grid;grid-template-columns:1fr 1fr;gap:20px 26px;}\n  .sls-rechner .contact .full{grid-column:1 \/ -1;}\n  .sls-rechner .contact label{display:block;font-size:14px;color:var(--label);margin-bottom:8px;font-weight:500;}\n  .sls-rechner .contact input,.sls-rechner .contact textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:16px;color:var(--ink);font-family:inherit;background:#fff;}\n  .sls-rechner .contact input:focus,.sls-rechner .contact textarea:focus{outline:none;border-color:var(--gold);}\n  .sls-rechner .contact textarea{min-height:96px;resize:vertical;}\n  .sls-rechner .hp{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden;}\n\n  \/* Zusammenfassung *\/\n  .sls-rechner .summary{margin-top:6px;border:1px solid var(--line);border-radius:12px;overflow:hidden;}\n  .sls-rechner .summary .srow{display:flex;justify-content:space-between;gap:16px;padding:11px 16px;border-bottom:1px solid var(--soft);font-size:14px;}\n  .sls-rechner .summary .srow:last-child{border-bottom:none;}\n  .sls-rechner .summary .sk{color:var(--muted);}\n  .sls-rechner .summary .sv{color:var(--ink);font-weight:600;text-align:right;}\n\n  .sls-rechner .errorbox{display:none;margin:0 0 18px;background:#fdeceb;border:1px solid #f0b8b3;border-radius:12px;padding:14px;color:#a23c33;text-align:center;font-size:14px;}\n  .sls-rechner .success{display:none;margin-top:18px;background:#eef7f0;border:1px solid #bcdcc4;border-radius:12px;padding:18px;color:#2e6b43;text-align:center;}\n\n  \/* Theme-Schutz *\/\n  .sls-rechner input,.sls-rechner select,.sls-rechner textarea{color:var(--ink) !important;-webkit-text-fill-color:var(--ink) !important;font-family:inherit;box-shadow:none;}\n  .sls-rechner ::placeholder{color:var(--muted) !important;-webkit-text-fill-color:var(--muted) !important;opacity:1;}\n  .sls-rechner #anfrage .contact input,.sls-rechner #anfrage .contact textarea{-webkit-appearance:none !important;appearance:none !important;border:1px solid var(--line) !important;border-radius:10px !important;background:#fff !important;color:var(--ink) !important;-webkit-text-fill-color:var(--ink) !important;padding:12px 14px !important;box-shadow:none !important;}\n  .sls-rechner #anfrage .contact textarea{min-height:96px !important;}\n  .sls-rechner #anfrage .contact input:focus,.sls-rechner #anfrage .contact textarea:focus{border-color:var(--gold) !important;outline:none !important;}\n  .sls-rechner #anfrage .ctrl{border:1px solid var(--line) !important;background:var(--field) !important;border-radius:10px !important;}\n  .sls-rechner #anfrage .selectbox{border:1px solid var(--line) !important;background:var(--field) !important;border-radius:10px !important;}\n  .sls-rechner #anfrage .chk input{-webkit-appearance:checkbox !important;appearance:checkbox !important;accent-color:var(--gold) !important;width:18px !important;height:18px !important;}\n\n  @media(max-width:1024px){\n  .sls-rechner .row{grid-template-columns:1fr 1fr;}\n  }\n  @media(max-width:640px){\n  .sls-rechner .body{padding:20px 15px 24px;}\n  .sls-rechner .steps{padding:18px 4% 14px;}\n  .sls-rechner .step .lbl{font-size:11px;}\n  .sls-rechner .row{grid-template-columns:1fr;}\n  .sls-rechner .row.two{grid-template-columns:1fr;}\n  .sls-rechner .row.two .btn{width:100%;}\n  .sls-rechner .cars{grid-template-columns:1fr;}\n  .sls-rechner .checks{grid-template-columns:1fr;}\n  .sls-rechner .contact{grid-template-columns:1fr;}\n  .sls-rechner #map{height:240px;}\n  .sls-rechner .routeinfo .b{min-width:0;flex:1 1 100%;}\n  .sls-rechner .pick{width:100%;}\n  }\n<\/style>\n\n<div class=\"sls-rechner\">\n<div class=\"widget\">\n\n  <div class=\"steps\">\n    <div class=\"bar\"><\/div>\n    <div class=\"step active\" data-step=\"1\"><div class=\"num\">1<\/div><div class=\"lbl\">Donn\u00e9es<\/div><\/div>\n    <div class=\"step\" data-step=\"2\"><div class=\"num\">2<\/div><div class=\"lbl\">Trajet<\/div><\/div>\n    <div class=\"step\" data-step=\"3\"><div class=\"num\">3<\/div><div class=\"lbl\">Options<\/div><\/div>\n    <div class=\"step\" data-step=\"4\"><div class=\"num\">4<\/div><div class=\"lbl\">R\u00e9capitulatif<\/div><\/div>\n  <\/div>\n\n  <form class=\"body\" id=\"anfrage\" novalidate=\"\">\n\n    <div class=\"errorbox\" id=\"errorbox\"><\/div>\n\n    <!-- SCHRITT 1 -->\n    <div class=\"pane on\" data-step=\"1\">\n      <div class=\"pane-h\">Donn\u00e9es personnelles<\/div>\n      <div class=\"pane-sub\">Afin que nous puissions vous joindre pour la confirmation.<\/div>\n      <div class=\"contact\">\n        <div><label>Nom *<\/label><input type=\"text\" id=\"name\" placeholder=\"Pr\u00e9nom et nom\"><\/div>\n        <div><label>T\u00e9l\u00e9phone *<\/label><input type=\"tel\" id=\"tel\" placeholder=\"+41 ...\"><\/div>\n        <div class=\"full\"><label>E-mail *<\/label><input type=\"email\" id=\"mail\" placeholder=\"nom@exemple.ch\"><\/div>\n      <\/div>\n      <div class=\"hp\"><label>Site web<\/label><input type=\"text\" id=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/div>\n      <div class=\"nav\">\n        <span><\/span>\n        <button type=\"button\" class=\"btn\" data-next=\"1\" disabled>Continuer<\/button>\n      <\/div>\n    <\/div>\n\n    <!-- SCHRITT 2 -->\n    <div class=\"pane\" data-step=\"2\">\n      <div class=\"pane-h\">D\u00e9tails du trajet<\/div>\n      <div class=\"pane-sub\">La distance et la dur\u00e9e du trajet sont calcul\u00e9es via Google Maps.<\/div>\n      <div class=\"row\">\n        <div class=\"f\">\n          <label>Adresse de d\u00e9part<\/label>\n          <div class=\"ctrl\">\n            <svg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 21s-7-6.2-7-11a7 7 0 0114 0c0 4.8-7 11-7 11z\"><\/path><circle cx=\"12\" cy=\"10\" r=\"2.5\"><\/circle><\/svg>\n            <input type=\"text\" id=\"abhol\" placeholder=\"Saisir l'adresse de d\u00e9part\">\n          <\/div>\n        <\/div>\n        <div class=\"f\">\n          <label>Adresse de destination<\/label>\n          <div class=\"ctrl\">\n            <svg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 21s-7-6.2-7-11a7 7 0 0114 0c0 4.8-7 11-7 11z\"><\/path><circle cx=\"12\" cy=\"10\" r=\"2.5\"><\/circle><\/svg>\n            <input type=\"text\" id=\"ziel\" placeholder=\"Saisir l'adresse de destination\">\n          <\/div>\n        <\/div>\n        <div class=\"f\">\n          <label>Date<\/label>\n          <div class=\"ctrl\">\n            <svg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"17\" rx=\"2\"><\/rect><path d=\"M3 9h18M8 2v4M16 2v4\"><\/path><\/svg>\n            <input type=\"text\" id=\"datum\" placeholder=\"S\u00e9lectionner la date\" readonly>\n          <\/div>\n        <\/div>\n        <div class=\"f\">\n          <label>Heure (24 h)<\/label>\n          <div class=\"ctrl\">\n            <svg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><path d=\"M12 7v5l3 2\"><\/path><\/svg>\n            <input type=\"text\" id=\"zeit\" placeholder=\"p. ex. 14:30\" inputmode=\"numeric\" maxlength=\"5\" autocomplete=\"off\">\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"row two\">\n        <div class=\"f\">\n          <label>Type de transfert<\/label>\n          <div class=\"selectbox\">\n            <svg class=\"lead\" width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M7 7h13l-3-3M17 17H4l3 3\"><\/path><\/svg>\n            <select id=\"art\"><option>Aller simple<\/option><option>Aller-retour<\/option><option>R\u00e9servation \u00e0 l'heure<\/option><\/select>\n            <svg class=\"chev\" width=\"14\" height=\"9\" viewbox=\"0 0 14 9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M1 1l6 6 6-6\"><\/path><\/svg>\n          <\/div>\n        <\/div>\n        <div class=\"f\">\n          <label>Personnes<\/label>\n          <div class=\"selectbox\">\n            <svg class=\"lead\" width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"9\" cy=\"8\" r=\"3.2\"><\/circle><path d=\"M2.5 20c0-3.4 2.9-6 6.5-6s6.5 2.6 6.5 6\"><\/path><path d=\"M16.5 5.2a3 3 0 010 5.6\"><\/path><path d=\"M21.5 20c0-2.6-1.3-4.8-3.3-5.7\"><\/path><\/svg>\n            <select id=\"personen\">\n              <option value=\"1\">1 personne<\/option>\n              <option value=\"2\">2 personnes<\/option>\n              <option value=\"3\">3 personnes<\/option>\n              <option value=\"4\">4 personnes<\/option>\n              <option value=\"5\">5 personnes<\/option>\n              <option value=\"6\">6 personnes<\/option>\n            <\/select>\n            <svg class=\"chev\" width=\"14\" height=\"9\" viewbox=\"0 0 14 9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M1 1l6 6 6-6\"><\/path><\/svg>\n          <\/div>\n        <\/div>\n        <button type=\"button\" class=\"btn\" id=\"searchBtn\">\n          <svg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"7\"><\/circle><path d=\"M21 21l-4.3-4.3\"><\/path><\/svg>\n  Afficher la distance et la dur\u00e9e du trajet\n        <\/button>\n      <\/div>\n\n      <div class=\"mapwrap\"><div id=\"map\"><\/div><\/div>\n\n      <div class=\"routeinfo\">\n        <div class=\"b\">\n          <div class=\"ic\"><svg width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 21s-7-6.2-7-11a7 7 0 0114 0c0 4.8-7 11-7 11z\"><\/path><circle cx=\"12\" cy=\"10\" r=\"2.5\"><\/circle><\/svg><\/div>\n          <div><div class=\"k\">Distance<\/div><div class=\"v\" id=\"strecke\"><span class=\"empty\">pas encore calcul\u00e9e<\/span><\/div><\/div>\n        <\/div>\n        <div class=\"b\">\n          <div class=\"ic\"><svg width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><path d=\"M12 7v5l3 2\"><\/path><\/svg><\/div>\n          <div><div class=\"k\">Dur\u00e9e du trajet (env.)<\/div><div class=\"v\" id=\"fahrzeit\"><span class=\"empty\">pas encore calcul\u00e9e<\/span><\/div><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"sec-h\">S\u00e9lectionner le v\u00e9hicule<\/div>\n      <div class=\"sec-sub\">Prix \u00ab \u00e0 partir de \u00bb \u2014 le prix final d\u00e9pend du temps et de la distance et sera confirm\u00e9 individuellement.<\/div>\n      <div class=\"cars\">\n        <div class=\"car\" data-car=\"Mercedes-Maybach\">\n          <div class=\"tick\">\u2713<\/div><div class=\"nm\">Mercedes-Maybach<\/div>\n          <div class=\"ab\">\u00e0 partir de<\/div><div class=\"pr\">CHF 150.\u2013<\/div><div class=\"un\">par heure<\/div><div class=\"km\">25 km inclus <\/div>\n        <\/div>\n        <div class=\"car\" data-car=\"BMW i7\">\n          <div class=\"tick\">\u2713<\/div><div class=\"nm\">BMW i7<\/div>\n          <div class=\"ab\">\u00e0 partir de<\/div><div class=\"pr\">CHF 150.\u2013<\/div><div class=\"un\">par heure<\/div><div class=\"km\">25 km inclus <\/div>\n        <\/div>\n        <div class=\"car\" data-car=\"Mercedes EQV\">\n          <div class=\"tick\">\u2713<\/div><div class=\"nm\">Mercedes EQV<\/div>\n          <div class=\"ab\">\u00e0 partir de<\/div><div class=\"pr\">CHF 150.\u2013<\/div><div class=\"un\">par heure<\/div><div class=\"km\">30 km inclus <\/div>\n        <\/div>\n      <\/div>\n      <input type=\"hidden\" id=\"fahrzeug\">\n      <div class=\"hint\" id=\"vklasseHint\" style=\"display:none;color:var(--gold-d);font-weight:600;\">\u00c0 partir de 5 personnes, seule la Mercedes EQV est disponible.<\/div>\n\n      <div class=\"nav\">\n        <button type=\"button\" class=\"btn ghost\" data-prev=\"2\">Retour<\/button>\n        <button type=\"button\" class=\"btn\" data-next=\"2\">Continuer<\/button>\n      <\/div>\n    <\/div>\n\n    <!-- SCHRITT 3 -->\n    <div class=\"pane\" data-step=\"3\">\n      <div class=\"pane-h\">Options et souhaits<\/div>\n      <div class=\"pane-sub\">Facultatif \u2014 tout sera pris en compte individuellement.<\/div>\n\n      <div class=\"f\" style=\"max-width:420px;margin-bottom:20px;\">\n        <label>Temps d'attente suppl\u00e9mentaires<\/label>\n        <div class=\"selectbox\">\n          <svg class=\"lead\" width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><path d=\"M12 7v5l3 2\"><\/path><\/svg>\n          <select id=\"warten\"><option>Pas d'attente<\/option><option>30 minutes<\/option><option>1 heure<\/option><option>Plus d'1 heure<\/option><\/select>\n          <svg class=\"chev\" width=\"14\" height=\"9\" viewbox=\"0 0 14 9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M1 1l6 6 6-6\"><\/path><\/svg>\n        <\/div>\n      <\/div>\n\n      <div class=\"f\" style=\"max-width:420px;margin-bottom:20px;\"><label>Mode de paiement souhait\u00e9<\/label><div class=\"selectbox\"><svg class=\"lead\" width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"2\" y=\"5\" width=\"20\" height=\"14\" rx=\"2\"><\/rect><path d=\"M2 10h20\"><\/path><\/svg><select id=\"zahlung\"><option value=\"\" hidden=\"\" disabled selected>Veuillez s\u00e9lectionner (facultatif)<\/option><option>Carte de cr\u00e9dit \/ carte de d\u00e9bit<\/option><option>Esp\u00e8ces<\/option><option>Twint<\/option><option>Bulletin de versement (uniquement pour les clients r\u00e9guliers)<\/option><option>Paiement anticip\u00e9 avec lien de paiement<\/option><\/select><svg class=\"chev\" width=\"14\" height=\"9\" viewbox=\"0 0 14 9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M1 1l6 6 6-6\"><\/path><\/svg><\/div><\/div><label style=\"display:block;font-size:14px;color:var(--label);margin-bottom:8px;font-weight:500;\">Options suppl\u00e9mentaires<\/label>\n      <div class=\"checks\">\n        <label class=\"chk\"><input type=\"checkbox\" data-opt=\"Diskretion gew\u00fcnscht\"><span>Discr\u00e9tion souhait\u00e9e<\/span><\/label>\n        <label class=\"chk\"><input type=\"checkbox\" data-opt=\"Hilfe beim Gep\u00e4ck \/ Ein- & Aussteigen\"><span>Aide pour les bagages \/ mont\u00e9e et descente<\/span><\/label>\n        <label class=\"chk\"><input type=\"checkbox\" data-opt=\"Kindersitz ben\u00f6tigt\"><span>Si\u00e8ge enfant n\u00e9cessaire<\/span><\/label>\n        <label class=\"chk\"><input type=\"checkbox\" data-opt=\"Namensschild bei Abholung\"><span>Panneau nominatif lors de la prise en charge<\/span><\/label>\n      <\/div>\n\n      <div class=\"contact\" style=\"margin-top:20px;\">\n        <div class=\"full\"><label>Remarques<\/label><textarea id=\"bemerkung\" placeholder=\"Num\u00e9ro de vol, arr\u00eats interm\u00e9diaires, souhaits particuliers\u2026\"><\/textarea><\/div>\n      <\/div>\n\n      <div class=\"nav\">\n        <button type=\"button\" class=\"btn ghost\" data-prev=\"3\">Retour<\/button>\n        <button type=\"button\" class=\"btn\" data-next=\"3\">Continuer<\/button>\n      <\/div>\n    <\/div>\n\n    <!-- SCHRITT 4 -->\n    <div class=\"pane\" data-step=\"4\">\n      <div class=\"pane-h\">R\u00e9capitulatif<\/div>\n      <div class=\"pane-sub\">Veuillez v\u00e9rifier vos informations et envoyer la demande.<\/div>\n      <div class=\"summary\" id=\"summary\"><\/div>\n      <div class=\"nav\">\n        <button type=\"button\" class=\"btn ghost\" data-prev=\"4\">Retour<\/button>\n        <button type=\"submit\" class=\"btn\" id=\"submitBtn\">Envoyer la demande<\/button>\n      <\/div>\n      <div class=\"success\" id=\"success\">\u2713 Merci ! Votre demande a \u00e9t\u00e9 transmise \u2014 nous vous contacterons sous peu. <\/div>\n    <\/div>\n\n  <\/form>\n<\/div>\n<\/div>\n\n<script>\n(function(){\n  'use strict';\n\n  \/* ===== SLS i18n (selbstuebersetzend, 2026-07-13) \u2014 Woerterbuch DE->EN\/FR\/IT ===== *\/\n  var SLS_LANG = (document.documentElement.lang || 'de').toLowerCase().slice(0,2);\n  var SLS_I18N = {\"en\":{\"Daten\":\"Details\",\"Fahrt\":\"Trip\",\"Optionen\":\"Options\",\"\u00dcbersicht\":\"Summary\",\"Pers\u00f6nliche Daten\":\"Personal details\",\"Fahrtdetails\":\"Trip details\",\"Optionen & W\u00fcnsche\":\"Options & requests\",\"Zusammenfassung\":\"Summary\",\"Damit wir Sie f\u00fcr die Best\u00e4tigung erreichen k\u00f6nnen.\":\"So we can reach you to confirm your booking.\",\"Name *\":\"Name *\",\"Telefon *\":\"Phone *\",\"E-Mail *\":\"E-mail *\",\"Weiter\":\"Next\",\"Zur\u00fcck\":\"Back\",\"Strecke & Fahrzeit werden \u00fcber Google Maps berechnet.\":\"Route & travel time are calculated via Google Maps.\",\"Startadresse\":\"Pick-up address\",\"Zieladresse\":\"Drop-off address\",\"Datum\":\"Date\",\"Uhrzeit (24 Std.)\":\"Time (24 h)\",\"Transferart\":\"Transfer type\",\"Nur Hin\":\"One way\",\"Hin & Zur\u00fcck\":\"Round trip\",\"Stundenbuchung\":\"Hourly booking\",\"Personen\":\"Passengers\",\"1 Person\":\"1 person\",\"2 Personen\":\"2 people\",\"3 Personen\":\"3 people\",\"4 Personen\":\"4 people\",\"5 Personen\":\"5 people\",\"6 Personen\":\"6 people\",\"Strecke & Fahrzeit anzeigen\":\"Show route & travel time\",\"Strecke\":\"Route\",\"noch nicht berechnet\":\"not calculated yet\",\"Fahrzeit (ca.)\":\"Travel time (approx.)\",\"Fahrzeug ausw\u00e4hlen\":\"Select vehicle\",\"pro Stunde\":\"per hour\",\"inkl. 25 km\":\"incl. 25 km\",\"inkl. 30 km\":\"incl. 30 km\",\"Ab 5 Personen steht nur der Mercedes EQV zur Verf\u00fcgung.\":\"For 5 or more passengers, only the Mercedes EQV is available.\",\"ab\":\"from\",\"Optional \u2014 alles wird individuell ber\u00fccksichtigt.\":\"Optional \u2014 everything is taken into account individually.\",\"Zus\u00e4tzliche Wartezeiten\":\"Additional waiting time\",\"Kein Warten\":\"No waiting\",\"30 Minuten\":\"30 minutes\",\"1 Stunde\":\"1 hour\",\"Mehr als 1 Stunde\":\"More than 1 hour\",\"Gew\u00fcnschte Zahlungsart\":\"Preferred payment method\",\"Bitte w\u00e4hlen (optional)\":\"Please select (optional)\",\"Bar\":\"Cash\",\"Kreditkarte \/ Debitkarte\":\"Credit \/ debit card\",\"Einzahlungsschein (nur f\u00fcr Stammkunden)\":\"Invoice (regular clients only)\",\"Vorauszahlung mit Zahlungslink\":\"Prepayment via payment link\",\"Zus\u00e4tzliche Optionen\":\"Additional options\",\"Diskretion gew\u00fcnscht\":\"Discretion requested\",\"Kindersitz ben\u00f6tigt\":\"Child seat required\",\"Hilfe beim Gep\u00e4ck \/ Ein- & Aussteigen\":\"Assistance with luggage \/ boarding & exiting\",\"Namensschild bei Abholung\":\"Name sign at pick-up\",\"Bemerkungen\":\"Remarks\",\"Bitte pr\u00fcfen Sie Ihre Angaben und senden Sie die Anfrage ab.\":\"Please review your details and submit your request.\",\"Anfrage senden\":\"Send request\",\"\u2713 Vielen Dank! Ihre Anfrage wurde \u00fcbermittelt \u2013 wir melden uns in K\u00fcrze bei Ihnen.\":\"\u2713 Thank you! Your request has been sent \u2013 we will get back to you shortly.\",\"BMW i7\":\"BMW i7\",\"Mercedes EQV\":\"Mercedes EQV\",\"\u201eab\u201c-Preise \u2014 der Endpreis h\u00e4ngt von Zeit & Distanz ab und wird individuell best\u00e4tigt.\":\"\u201cFrom\u201d prices \u2014 the final price depends on time & distance and will be confirmed individually.\",\"Vor- und Nachname\":\"First and last name\",\"name@beispiel.ch\":\"name@example.com\",\"Startadresse eintragen\":\"Enter pick-up address\",\"Zieladresse eintragen\":\"Enter drop-off address\",\"Datum ausw\u00e4hlen\":\"Select date\",\"Flugnummer, Zwischenstopps, Sonderw\u00fcnsche \u2026\":\"Flight number, stopovers, special requests \u2026\",\"Bitte eine g\u00fcltige E-Mail-Adresse angeben.\":\"Please enter a valid e-mail address.\",\"Bitte alle Pflichtfelder ausf\u00fcllen.\":\"Please fill in all required fields.\",\"Bitte die Uhrzeit im Format HH:MM angeben (z. B. 14:30).\":\"Please enter the time in HH:MM format (e.g. 14:30).\",\"Bitte Pflichtfelder ausf\u00fcllen und ein Fahrzeug w\u00e4hlen.\":\"Please fill in the required fields and select a vehicle.\",\"Google Maps konnte nicht geladen werden. Bitte API-Key & aktivierte APIs pr\u00fcfen.\":\"Google Maps could not be loaded. Please check the API key & enabled APIs.\",\"Google Maps wurde nicht rechtzeitig geladen.\":\"Google Maps did not load in time.\",\"Bitte Start- und Zieladresse eintragen.\":\"Please enter pick-up and drop-off address.\",\"Karte l\u00e4dt noch \u2013 bitte einen Moment warten.\":\"Map is still loading \u2013 please wait a moment.\",\"). Bitte Adressen pr\u00e4zisieren.\":\"). Please refine the addresses.\",\"Vorschl\u00e4ge von Google\":\"Suggestions from Google\",\"Es ist ein Fehler aufgetreten. Bitte sp\u00e4ter erneut versuchen oder anrufen.\":\"An error occurred. Please try again later or call us.\",\"Verbindung fehlgeschlagen. Bitte Internetverbindung pr\u00fcfen oder telefonisch anfragen.\":\"Connection failed. Please check your internet connection or contact us by phone.\",\"ab CHF 150.\u2013 \/ Std. (inkl. 25 km)\":\"from CHF 150.\u2013 \/ h (incl. 25 km)\",\"ab CHF 150.\u2013 \/ Std. (inkl. 30 km)\":\"from CHF 150.\u2013 \/ h (incl. 30 km)\",\" Std. \":\" h \",\" Min.\":\" min.\",\"auf Anfrage\":\"on request\",\"Wird gesendet \u2026\":\"Sending \u2026\",\"Zahlungsart: \":\"Payment method: \",\"Route konnte nicht berechnet werden (Status: \":\"The route could not be calculated (status: \",\"Name\":\"Name\",\"Telefon\":\"Phone\",\"E-Mail\":\"E-mail\",\"Uhrzeit\":\"Time\",\"Wartezeiten\":\"Waiting time\",\"Zahlungsart\":\"Payment method\",\"Fahrzeit\":\"Travel time\",\"Fahrzeug\":\"Vehicle\",\"Tarif\":\"Rate\",\"__MONTHS\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"__DOWS\":[\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\",\"Su\"]},\"fr\":{\"Daten\":\"Coordonn\u00e9es\",\"Fahrt\":\"Trajet\",\"Optionen\":\"Options\",\"\u00dcbersicht\":\"R\u00e9sum\u00e9\",\"Pers\u00f6nliche Daten\":\"Donn\u00e9es personnelles\",\"Fahrtdetails\":\"D\u00e9tails du trajet\",\"Optionen & W\u00fcnsche\":\"Options & souhaits\",\"Zusammenfassung\":\"R\u00e9sum\u00e9\",\"Damit wir Sie f\u00fcr die Best\u00e4tigung erreichen k\u00f6nnen.\":\"Pour que nous puissions vous joindre pour la confirmation.\",\"Name *\":\"Nom *\",\"Telefon *\":\"T\u00e9l\u00e9phone *\",\"E-Mail *\":\"E-mail *\",\"Weiter\":\"Suivant\",\"Zur\u00fcck\":\"Retour\",\"Strecke & Fahrzeit werden \u00fcber Google Maps berechnet.\":\"L\u2019itin\u00e9raire et la dur\u00e9e sont calcul\u00e9s via Google Maps.\",\"Startadresse\":\"Adresse de d\u00e9part\",\"Zieladresse\":\"Adresse de destination\",\"Datum\":\"Date\",\"Uhrzeit (24 Std.)\":\"Heure (24 h)\",\"Transferart\":\"Type de transfert\",\"Nur Hin\":\"Aller simple\",\"Hin & Zur\u00fcck\":\"Aller-retour\",\"Stundenbuchung\":\"R\u00e9servation \u00e0 l\u2019heure\",\"Personen\":\"Personnes\",\"1 Person\":\"1 personne\",\"2 Personen\":\"2 personnes\",\"3 Personen\":\"3 personnes\",\"4 Personen\":\"4 personnes\",\"5 Personen\":\"5 personnes\",\"6 Personen\":\"6 personnes\",\"Strecke & Fahrzeit anzeigen\":\"Afficher l\u2019itin\u00e9raire et la dur\u00e9e\",\"Strecke\":\"Itin\u00e9raire\",\"noch nicht berechnet\":\"pas encore calcul\u00e9\",\"Fahrzeit (ca.)\":\"Dur\u00e9e (env.)\",\"Fahrzeug ausw\u00e4hlen\":\"Choisir un v\u00e9hicule\",\"pro Stunde\":\"par heure\",\"inkl. 25 km\":\"25 km inclus\",\"inkl. 30 km\":\"30 km inclus\",\"Ab 5 Personen steht nur der Mercedes EQV zur Verf\u00fcgung.\":\"\u00c0 partir de 5 personnes, seul le Mercedes EQV est disponible.\",\"ab\":\"d\u00e8s\",\"Optional \u2014 alles wird individuell ber\u00fccksichtigt.\":\"Facultatif \u2014 tout est pris en compte individuellement.\",\"Zus\u00e4tzliche Wartezeiten\":\"Temps d\u2019attente suppl\u00e9mentaire\",\"Kein Warten\":\"Pas d\u2019attente\",\"30 Minuten\":\"30 minutes\",\"1 Stunde\":\"1 heure\",\"Mehr als 1 Stunde\":\"Plus d\u2019une heure\",\"Gew\u00fcnschte Zahlungsart\":\"Mode de paiement souhait\u00e9\",\"Bitte w\u00e4hlen (optional)\":\"Veuillez choisir (facultatif)\",\"Bar\":\"Esp\u00e8ces\",\"Kreditkarte \/ Debitkarte\":\"Carte de cr\u00e9dit \/ d\u00e9bit\",\"Einzahlungsschein (nur f\u00fcr Stammkunden)\":\"Bulletin de versement (clients r\u00e9guliers uniquement)\",\"Vorauszahlung mit Zahlungslink\":\"Pr\u00e9paiement par lien de paiement\",\"Zus\u00e4tzliche Optionen\":\"Options suppl\u00e9mentaires\",\"Diskretion gew\u00fcnscht\":\"Discr\u00e9tion souhait\u00e9e\",\"Kindersitz ben\u00f6tigt\":\"Si\u00e8ge enfant requis\",\"Hilfe beim Gep\u00e4ck \/ Ein- & Aussteigen\":\"Aide pour les bagages \/ monter & descendre\",\"Namensschild bei Abholung\":\"Panneau nominatif \u00e0 l\u2019arriv\u00e9e\",\"Bemerkungen\":\"Remarques\",\"Bitte pr\u00fcfen Sie Ihre Angaben und senden Sie die Anfrage ab.\":\"Veuillez v\u00e9rifier vos informations et envoyer votre demande.\",\"Anfrage senden\":\"Envoyer la demande\",\"\u2713 Vielen Dank! Ihre Anfrage wurde \u00fcbermittelt \u2013 wir melden uns in K\u00fcrze bei Ihnen.\":\"\u2713 Merci ! Votre demande a \u00e9t\u00e9 transmise \u2013 nous vous r\u00e9pondrons sous peu.\",\"BMW i7\":\"BMW i7\",\"Mercedes EQV\":\"Mercedes EQV\",\"\u201eab\u201c-Preise \u2014 der Endpreis h\u00e4ngt von Zeit & Distanz ab und wird individuell best\u00e4tigt.\":\"Prix \u00ab \u00e0 partir de \u00bb \u2014 le prix final d\u00e9pend du temps et de la distance et sera confirm\u00e9 individuellement.\",\"Vor- und Nachname\":\"Pr\u00e9nom et nom\",\"name@beispiel.ch\":\"nom@exemple.ch\",\"Startadresse eintragen\":\"Saisir l\u2019adresse de d\u00e9part\",\"Zieladresse eintragen\":\"Saisir l\u2019adresse de destination\",\"Datum ausw\u00e4hlen\":\"Choisir la date\",\"Flugnummer, Zwischenstopps, Sonderw\u00fcnsche \u2026\":\"Num\u00e9ro de vol, arr\u00eats interm\u00e9diaires, demandes particuli\u00e8res \u2026\",\"Bitte eine g\u00fcltige E-Mail-Adresse angeben.\":\"Veuillez saisir une adresse e-mail valide.\",\"Bitte alle Pflichtfelder ausf\u00fcllen.\":\"Veuillez remplir tous les champs obligatoires.\",\"Bitte die Uhrzeit im Format HH:MM angeben (z. B. 14:30).\":\"Veuillez indiquer l\u2019heure au format HH:MM (p. ex. 14:30).\",\"Bitte Pflichtfelder ausf\u00fcllen und ein Fahrzeug w\u00e4hlen.\":\"Veuillez remplir les champs obligatoires et choisir un v\u00e9hicule.\",\"Google Maps konnte nicht geladen werden. Bitte API-Key & aktivierte APIs pr\u00fcfen.\":\"Google Maps n\u2019a pas pu \u00eatre charg\u00e9. Veuillez v\u00e9rifier la cl\u00e9 API.\",\"Google Maps wurde nicht rechtzeitig geladen.\":\"Google Maps n\u2019a pas \u00e9t\u00e9 charg\u00e9 \u00e0 temps.\",\"Bitte Start- und Zieladresse eintragen.\":\"Veuillez saisir les adresses de d\u00e9part et de destination.\",\"Karte l\u00e4dt noch \u2013 bitte einen Moment warten.\":\"La carte se charge \u2013 veuillez patienter un instant.\",\"). Bitte Adressen pr\u00e4zisieren.\":\"). Veuillez pr\u00e9ciser les adresses.\",\"Vorschl\u00e4ge von Google\":\"Suggestions de Google\",\"Es ist ein Fehler aufgetreten. Bitte sp\u00e4ter erneut versuchen oder anrufen.\":\"Une erreur s\u2019est produite. Veuillez r\u00e9essayer plus tard ou nous appeler.\",\"Verbindung fehlgeschlagen. Bitte Internetverbindung pr\u00fcfen oder telefonisch anfragen.\":\"\u00c9chec de la connexion. Veuillez v\u00e9rifier votre connexion Internet ou nous contacter par t\u00e9l\u00e9phone.\",\"ab CHF 150.\u2013 \/ Std. (inkl. 25 km)\":\"d\u00e8s CHF 150.\u2013 \/ h (25 km inclus)\",\"ab CHF 150.\u2013 \/ Std. (inkl. 30 km)\":\"d\u00e8s CHF 150.\u2013 \/ h (30 km inclus)\",\" Std. \":\" h \",\" Min.\":\" min.\",\"auf Anfrage\":\"sur demande\",\"Wird gesendet \u2026\":\"Envoi en cours \u2026\",\"Zahlungsart: \":\"Mode de paiement : \",\"Route konnte nicht berechnet werden (Status: \":\"L\u2019itin\u00e9raire n\u2019a pas pu \u00eatre calcul\u00e9 (statut : \",\"Name\":\"Nom\",\"Telefon\":\"T\u00e9l\u00e9phone\",\"E-Mail\":\"E-mail\",\"Uhrzeit\":\"Heure\",\"Wartezeiten\":\"Temps d\u2019attente\",\"Zahlungsart\":\"Mode de paiement\",\"Fahrzeit\":\"Dur\u00e9e\",\"Fahrzeug\":\"V\u00e9hicule\",\"Tarif\":\"Tarif\",\"__MONTHS\":[\"Janvier\",\"F\u00e9vrier\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\"Juillet\",\"Ao\u00fbt\",\"Septembre\",\"Octobre\",\"Novembre\",\"D\u00e9cembre\"],\"__DOWS\":[\"Lu\",\"Ma\",\"Me\",\"Je\",\"Ve\",\"Sa\",\"Di\"]},\"it\":{\"Daten\":\"Dati\",\"Fahrt\":\"Viaggio\",\"Optionen\":\"Opzioni\",\"\u00dcbersicht\":\"Riepilogo\",\"Pers\u00f6nliche Daten\":\"Dati personali\",\"Fahrtdetails\":\"Dettagli del viaggio\",\"Optionen & W\u00fcnsche\":\"Opzioni e desideri\",\"Zusammenfassung\":\"Riepilogo\",\"Damit wir Sie f\u00fcr die Best\u00e4tigung erreichen k\u00f6nnen.\":\"Per poterla contattare per la conferma.\",\"Name *\":\"Nome *\",\"Telefon *\":\"Telefono *\",\"E-Mail *\":\"E-mail *\",\"Weiter\":\"Avanti\",\"Zur\u00fcck\":\"Indietro\",\"Strecke & Fahrzeit werden \u00fcber Google Maps berechnet.\":\"Percorso e durata vengono calcolati tramite Google Maps.\",\"Startadresse\":\"Indirizzo di partenza\",\"Zieladresse\":\"Indirizzo di destinazione\",\"Datum\":\"Data\",\"Uhrzeit (24 Std.)\":\"Ora (24 h)\",\"Transferart\":\"Tipo di trasferimento\",\"Nur Hin\":\"Solo andata\",\"Hin & Zur\u00fcck\":\"Andata e ritorno\",\"Stundenbuchung\":\"Prenotazione a ore\",\"Personen\":\"Persone\",\"1 Person\":\"1 persona\",\"2 Personen\":\"2 persone\",\"3 Personen\":\"3 persone\",\"4 Personen\":\"4 persone\",\"5 Personen\":\"5 persone\",\"6 Personen\":\"6 persone\",\"Strecke & Fahrzeit anzeigen\":\"Mostra percorso e durata\",\"Strecke\":\"Percorso\",\"noch nicht berechnet\":\"non ancora calcolato\",\"Fahrzeit (ca.)\":\"Durata (ca.)\",\"Fahrzeug ausw\u00e4hlen\":\"Scegliere il veicolo\",\"pro Stunde\":\"all\u2019ora\",\"inkl. 25 km\":\"incl. 25 km\",\"inkl. 30 km\":\"incl. 30 km\",\"Ab 5 Personen steht nur der Mercedes EQV zur Verf\u00fcgung.\":\"A partire da 5 persone \u00e8 disponibile solo il Mercedes EQV.\",\"ab\":\"da\",\"Optional \u2014 alles wird individuell ber\u00fccksichtigt.\":\"Facoltativo \u2014 tutto viene considerato individualmente.\",\"Zus\u00e4tzliche Wartezeiten\":\"Tempi di attesa aggiuntivi\",\"Kein Warten\":\"Nessuna attesa\",\"30 Minuten\":\"30 minuti\",\"1 Stunde\":\"1 ora\",\"Mehr als 1 Stunde\":\"Pi\u00f9 di 1 ora\",\"Gew\u00fcnschte Zahlungsart\":\"Metodo di pagamento preferito\",\"Bitte w\u00e4hlen (optional)\":\"Selezionare (facoltativo)\",\"Bar\":\"Contanti\",\"Kreditkarte \/ Debitkarte\":\"Carta di credito \/ debito\",\"Einzahlungsschein (nur f\u00fcr Stammkunden)\":\"Polizza di versamento (solo clienti abituali)\",\"Vorauszahlung mit Zahlungslink\":\"Pagamento anticipato tramite link\",\"Zus\u00e4tzliche Optionen\":\"Opzioni aggiuntive\",\"Diskretion gew\u00fcnscht\":\"Discrezione richiesta\",\"Kindersitz ben\u00f6tigt\":\"Seggiolino per bambini richiesto\",\"Hilfe beim Gep\u00e4ck \/ Ein- & Aussteigen\":\"Aiuto con i bagagli \/ salita e discesa\",\"Namensschild bei Abholung\":\"Cartello con nome al ritiro\",\"Bemerkungen\":\"Osservazioni\",\"Bitte pr\u00fcfen Sie Ihre Angaben und senden Sie die Anfrage ab.\":\"Verifichi i suoi dati e invii la richiesta.\",\"Anfrage senden\":\"Invia richiesta\",\"\u2713 Vielen Dank! Ihre Anfrage wurde \u00fcbermittelt \u2013 wir melden uns in K\u00fcrze bei Ihnen.\":\"\u2713 Grazie! La sua richiesta \u00e8 stata inviata \u2013 la contatteremo a breve.\",\"BMW i7\":\"BMW i7\",\"Mercedes EQV\":\"Mercedes EQV\",\"\u201eab\u201c-Preise \u2014 der Endpreis h\u00e4ngt von Zeit & Distanz ab und wird individuell best\u00e4tigt.\":\"Prezzi \u201ca partire da\u201d \u2014 il prezzo finale dipende da tempo e distanza e sar\u00e0 confermato individualmente.\",\"Vor- und Nachname\":\"Nome e cognome\",\"name@beispiel.ch\":\"nome@esempio.ch\",\"Startadresse eintragen\":\"Inserire l\u2019indirizzo di partenza\",\"Zieladresse eintragen\":\"Inserire l\u2019indirizzo di destinazione\",\"Datum ausw\u00e4hlen\":\"Selezionare la data\",\"Flugnummer, Zwischenstopps, Sonderw\u00fcnsche \u2026\":\"Numero di volo, soste intermedie, richieste speciali \u2026\",\"Bitte eine g\u00fcltige E-Mail-Adresse angeben.\":\"Inserire un indirizzo e-mail valido.\",\"Bitte alle Pflichtfelder ausf\u00fcllen.\":\"Compilare tutti i campi obbligatori.\",\"Bitte die Uhrzeit im Format HH:MM angeben (z. B. 14:30).\":\"Indicare l\u2019ora nel formato HH:MM (es. 14:30).\",\"Bitte Pflichtfelder ausf\u00fcllen und ein Fahrzeug w\u00e4hlen.\":\"Compilare i campi obbligatori e scegliere un veicolo.\",\"Google Maps konnte nicht geladen werden. Bitte API-Key & aktivierte APIs pr\u00fcfen.\":\"Impossibile caricare Google Maps. Verificare la chiave API.\",\"Google Maps wurde nicht rechtzeitig geladen.\":\"Google Maps non \u00e8 stato caricato in tempo.\",\"Bitte Start- und Zieladresse eintragen.\":\"Inserire l\u2019indirizzo di partenza e di destinazione.\",\"Karte l\u00e4dt noch \u2013 bitte einen Moment warten.\":\"La mappa si sta caricando \u2013 attendere un momento.\",\"). Bitte Adressen pr\u00e4zisieren.\":\"). Precisare gli indirizzi.\",\"Vorschl\u00e4ge von Google\":\"Suggerimenti di Google\",\"Es ist ein Fehler aufgetreten. Bitte sp\u00e4ter erneut versuchen oder anrufen.\":\"Si \u00e8 verificato un errore. Riprovare pi\u00f9 tardi o chiamarci.\",\"Verbindung fehlgeschlagen. Bitte Internetverbindung pr\u00fcfen oder telefonisch anfragen.\":\"Connessione non riuscita. Verificare la connessione Internet o contattarci telefonicamente.\",\"ab CHF 150.\u2013 \/ Std. (inkl. 25 km)\":\"da CHF 150.\u2013 \/ h (incl. 25 km)\",\"ab CHF 150.\u2013 \/ Std. (inkl. 30 km)\":\"da CHF 150.\u2013 \/ h (incl. 30 km)\",\" Std. \":\" h \",\" Min.\":\" min.\",\"auf Anfrage\":\"su richiesta\",\"Wird gesendet \u2026\":\"Invio in corso \u2026\",\"Zahlungsart: \":\"Metodo di pagamento: \",\"Route konnte nicht berechnet werden (Status: \":\"Impossibile calcolare il percorso (stato: \",\"Name\":\"Nome\",\"Telefon\":\"Telefono\",\"E-Mail\":\"E-mail\",\"Uhrzeit\":\"Ora\",\"Wartezeiten\":\"Tempi di attesa\",\"Zahlungsart\":\"Metodo di pagamento\",\"Fahrzeit\":\"Durata\",\"Fahrzeug\":\"Veicolo\",\"Tarif\":\"Tariffa\",\"__MONTHS\":[\"Gennaio\",\"Febbraio\",\"Marzo\",\"Aprile\",\"Maggio\",\"Giugno\",\"Luglio\",\"Agosto\",\"Settembre\",\"Ottobre\",\"Novembre\",\"Dicembre\"],\"__DOWS\":[\"Lu\",\"Ma\",\"Me\",\"Gi\",\"Ve\",\"Sa\",\"Do\"]}};\n  var SLS_T = SLS_I18N[SLS_LANG] || null;\n  function sls_tr(s){ return (SLS_T && Object.prototype.hasOwnProperty.call(SLS_T, s)) ? SLS_T[s] : s; }\n  (function slsDomSwap(){\n    if (!SLS_T) return;\n    var scope = document.querySelector('.sls-rechner'); if (!scope) return;\n    var w = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, null, false), tn;\n    var nodes = []; while ((tn = w.nextNode())) nodes.push(tn);\n    nodes.forEach(function(n){\n      var raw = n.textContent, t = raw.trim();\n      if (t && Object.prototype.hasOwnProperty.call(SLS_T, t)) n.textContent = raw.replace(t, SLS_T[t]);\n    });\n    scope.querySelectorAll('[placeholder]').forEach(function(el){\n      var v = el.getAttribute('placeholder');\n      if (Object.prototype.hasOwnProperty.call(SLS_T, v)) el.setAttribute('placeholder', SLS_T[v]);\n    });\n    scope.querySelectorAll('[data-opt]').forEach(function(el){\n      var v = el.getAttribute('data-opt');\n      if (Object.prototype.hasOwnProperty.call(SLS_T, v)) el.setAttribute('data-opt', SLS_T[v]);\n    });\n  })();\n\n\n  var CONFIG = {\n    GOOGLE_MAPS_API_KEY: 'AIzaSyBgtFxECmSJ4PhFMWrFcIE5Y5PSoeLZjzE',\n    API_URL: '\/wp-json\/swisslimo\/v1\/anfrage',\n    MAP_CENTER: { lat: 47.0502, lng: 8.3093 },\n    REGION: 'CH',\n    AC_REGIONS: ['ch','de','at','li']\n  };\n  var ABPREIS = {\n    'Mercedes-Maybach':  'ab CHF 150.\u2013 \/ Std. (inkl. 25 km)',\n    'BMW i7':           'ab CHF 150.\u2013 \/ Std. (inkl. 25 km)',\n    'Mercedes EQV': 'ab CHF 150.\u2013 \/ Std. (inkl. 30 km)'\n  };\n\n  var root = document.querySelector('.sls-rechner');\n  if (!root) return;\n  function $(id){ return root.querySelector('#' + id) || document.getElementById(id); }\n  function pad(n){ return (n < 10 ? '0' : '') + n; }\n  function fieldBox(el){ return el.closest('.ctrl') || el.closest('.selectbox') || el; }\n  function clearBox(el){ var b = fieldBox(el); if (b) b.style.borderColor = ''; el.style.borderColor = ''; }\n\n  var map, directionsService, directionsRenderer, placesLib = null;\n  var routeKm = null, routeMin = null;\n  var step = 1, maxReached = 1;\n\n  function showError(msg){ var e = $('errorbox'); if (e){ e.textContent = sls_tr(msg); e.style.display = 'block'; } }\n  function hideError(){ var e = $('errorbox'); if (e) e.style.display = 'none'; }\n\n  window.slsInitMap = initMap;\n  window.gm_authFailure = function(){\n    showError('Google Maps Authentifizierung fehlgeschlagen \u2013 bitte API-Key, erlaubte Domain (Referrer) und Abrechnung in der Google Cloud Console pr\u00fcfen.');\n  };\n\n  \/* ===== Schritt-Navigation ===== *\/\n  function showStep(n){\n    step = n; if (n > maxReached) maxReached = n;\n    hideError();\n    root.querySelectorAll('.pane').forEach(function(p){ p.classList.toggle('on', parseInt(p.dataset.step,10) === n); });\n    root.querySelectorAll('.step').forEach(function(s){\n      var sn = parseInt(s.dataset.step,10);\n      s.classList.toggle('active', sn === n);\n      s.classList.toggle('done', sn < maxReached && sn !== n);\n    });\n    if (n === 4) buildSummary();\n    if (n === 2 && map && window.google){\n      setTimeout(function(){ google.maps.event.trigger(map, 'resize'); if (routeKm == null) map.setCenter(CONFIG.MAP_CENTER); }, 180);\n    }\n    var w = root.querySelector('.widget'); if (w && w.scrollIntoView) w.scrollIntoView({ behavior:'smooth', block:'start' });\n  }\n\n  function markRequired(ids){\n    var ok = true;\n    ids.forEach(function(id){\n      var el = $(id);\n      var val = (id === 'datum') ? (el.dataset.iso || '') : el.value.trim();\n      var box = fieldBox(el);\n      if (!val){ box.style.borderColor = '#cf6b61'; ok = false; } else { box.style.borderColor = ''; }\n    });\n    return ok;\n  }\n\n  var RE_MAIL = \/^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$\/;\n  var RE_TIME = \/^([01]?\\d|2[0-3]):[0-5]\\d$\/;\n\n  function validateStep(n){\n    if (n === 1){\n      var ok = markRequired(['name','tel','mail']);\n      var m = $('mail');\n      if (m.value.trim() && !RE_MAIL.test(m.value.trim())){ fieldBox(m).style.borderColor = '#cf6b61'; showError('Bitte eine g\u00fcltige E-Mail-Adresse angeben.'); return false; }\n      if (!ok) showError('Bitte alle Pflichtfelder ausf\u00fcllen.');\n      return ok;\n    }\n    if (n === 2){\n      var ok2 = markRequired(['abhol','ziel','datum','zeit']);\n      var z = $('zeit');\n      if (z.value.trim() && !RE_TIME.test(z.value.trim())){ fieldBox(z).style.borderColor = '#cf6b61'; showError('Bitte die Uhrzeit im Format HH:MM angeben (z. B. 14:30).'); return false; }\n      if (!$('fahrzeug').value){ var cs = root.querySelector('.cars'); if (cs){ cs.style.outline = '2px solid #cf6b61'; cs.style.outlineOffset = '6px'; } ok2 = false; }\n      else { var cs2 = root.querySelector('.cars'); if (cs2) cs2.style.outline = ''; }\n      if (!ok2) showError('Bitte Pflichtfelder ausf\u00fcllen und ein Fahrzeug w\u00e4hlen.');\n      return ok2;\n    }\n    return true;\n  }\n\n  \/* Schritt 1: \"Weiter\" nur aktiv, wenn alles ausgef\u00fcllt *\/\n  function refreshStep1(){\n    var ok = ['name','tel','mail'].every(function(id){ return $(id).value.trim() !== ''; });\n    var b = null, bl = root.querySelectorAll('[data-next]'); for (var qi = 0; qi < bl.length; qi++){ if (bl[qi].getAttribute('data-next') === '1'){ b = bl[qi]; break; } } if (b) b.disabled = !ok;\n  }\n\n  \/* ===== Uhrzeit frei eintippbar (24h) \u2013 sanfte Normalisierung ===== *\/\n  function normalizeTime(){\n    var z = $('zeit'); var v = z.value.trim(); if (!v) return;\n    v = v.replace(\/[.\\-,h ]\/g, ':').replace(\/::+\/g, ':');\n    var m = v.match(\/^(\\d{1,2}):?(\\d{1,2})?$\/);\n    if (!m){ return; }\n    var h = Math.min(23, parseInt(m[1], 10) || 0);\n    var mi = m[2] ? Math.min(59, parseInt(m[2], 10)) : 0;\n    z.value = pad(h) + ':' + pad(mi);\n    clearBox(z);\n  }\n\n  \/* ===== Maps \/ Route ===== *\/\n  function mapsReady(){ return window.google && window.google.maps; }\n  function loadMaps(){\n    if (mapsReady()){ initMap(); return; }\n    var existing = null, scl = document.getElementsByTagName('script'); for (var qj = 0; qj < scl.length; qj++){ if ((scl[qj].src || '').indexOf('maps.googleapis.com\/maps\/api\/js') !== -1){ existing = scl[qj]; break; } }\n    if (existing || window.__slsMapsLoading){\n      var n = 0, t = setInterval(function(){\n        if (mapsReady()){ clearInterval(t); initMap(); }\n        else if (++n > 150){ clearInterval(t); showError('Google Maps wurde nicht rechtzeitig geladen.'); }\n      }, 100);\n      return;\n    }\n    window.__slsMapsLoading = true;\n    var s = document.createElement('script');\n    s.src = 'https:\/\/maps.googleapis.com\/maps\/api\/js?key=' + CONFIG.GOOGLE_MAPS_API_KEY +\n            '&libraries=places&v=weekly&loading=async&region=' + CONFIG.REGION +\n            '&language='+SLS_LANG+'&callback=slsInitMap';\n    s.async = true; s.defer = true;\n    s.onerror = function(){ showError('Google Maps konnte nicht geladen werden. Bitte API-Key & aktivierte APIs pr\u00fcfen.'); };\n    document.head.appendChild(s);\n  }\n  function initMap(){\n    var el = $('map'); if (!el) return;\n    try {\n      map = new google.maps.Map(el, { center: CONFIG.MAP_CENTER, zoom: 9, mapTypeControl: false, streetViewControl: false });\n      directionsService = new google.maps.DirectionsService();\n      directionsRenderer = new google.maps.DirectionsRenderer({ map: map, polylineOptions: { strokeColor: '#C39A60', strokeWeight: 5, strokeOpacity: .9 } });\n    } catch(e){ showError('Karte konnte nicht initialisiert werden.'); return; }\n    setupAutocomplete();\n  }\n  function fmtDauer(min){ var h = Math.floor(min\/60), m = Math.round(min%60); return (h>0 ? h+sls_tr(' Std. ') : '') + m + sls_tr(' Min.'); }\n  function berechneRoute(){\n    var a = $('abhol').value.trim(), b = $('ziel').value.trim();\n    if (a.length < 2 || b.length < 2){ showError('Bitte Start- und Zieladresse eintragen.'); return; }\n    if (!directionsService){ showError('Karte l\u00e4dt noch \u2013 bitte einen Moment warten.'); return; }\n    hideError();\n    directionsService.route({ origin: a, destination: b, travelMode: google.maps.TravelMode.DRIVING, region: CONFIG.REGION },\n      function(res, status){\n        if (status === 'OK' && res.routes[0]){\n          directionsRenderer.setDirections(res);\n          var leg = res.routes[0].legs[0];\n          routeKm = leg.distance.value \/ 1000; routeMin = leg.duration.value \/ 60;\n          $('strecke').innerHTML = Math.round(routeKm) + ' <small>km<\/small>';\n          $('fahrzeit').innerHTML = fmtDauer(routeMin);\n        } else {\n          routeKm = routeMin = null;\n          showError(sls_tr('Route konnte nicht berechnet werden (Status: ') + status + sls_tr('). Bitte Adressen pr\u00e4zisieren.'));\n        }\n      });\n  }\n\n  \/* ===== Personen-Regel: ab 5 nur EQV ===== *\/\n  function applyPersonenRegel(){\n    var sel = $('personen');\n    var n = parseInt((sel && sel.value) || '1', 10);\n    var cars = root.querySelectorAll('.car');\n    var hint = $('vklasseHint');\n    if (n >= 5){\n      cars.forEach(function(c){\n        var isV = c.getAttribute('data-car') === 'Mercedes EQV';\n        c.classList.toggle('disabled', !isV);\n        if (!isV) c.classList.remove('sel');\n      });\n      var v = null, cl = root.querySelectorAll('.car'); for (var qk = 0; qk < cl.length; qk++){ if (cl[qk].getAttribute('data-car') === 'Mercedes EQV'){ v = cl[qk]; break; } }\n      if (v){ v.classList.add('sel'); $('fahrzeug').value = 'Mercedes EQV'; }\n      if (hint) hint.style.display = 'block';\n    } else {\n      cars.forEach(function(c){ c.classList.remove('disabled'); });\n      if (hint) hint.style.display = 'none';\n    }\n  }\n\n  \/* ===== Datums-Picker ===== *\/\n  function buildDatePicker(input){\n    if (!input) return;\n    var f = input.closest('.f');\n    var pop = document.createElement('div'); pop.className = 'pick'; pop.style.display = 'none';\n    f.appendChild(pop);\n    var MON = (SLS_T && SLS_T.__MONTHS) || ['Januar','Februar','M\u00e4rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];\n    var DOW = (SLS_T && SLS_T.__DOWS) || ['Mo','Di','Mi','Do','Fr','Sa','So'];\n    var today = new Date(); today.setHours(0,0,0,0);\n    var view = new Date(today.getFullYear(), today.getMonth(), 1);\n    var sel = null;\n    function build(){\n      pop.innerHTML = '';\n      var head = document.createElement('div'); head.className = 'cal-head';\n      var prev = document.createElement('button'); prev.type = 'button'; prev.textContent = '\u2039';\n      var title = document.createElement('div'); title.className = 'cal-title'; title.textContent = MON[view.getMonth()] + ' ' + view.getFullYear();\n      var next = document.createElement('button'); next.type = 'button'; next.textContent = '\u203a';\n      prev.addEventListener('click', function(e){ e.stopPropagation(); view.setMonth(view.getMonth()-1); build(); });\n      next.addEventListener('click', function(e){ e.stopPropagation(); view.setMonth(view.getMonth()+1); build(); });\n      head.appendChild(prev); head.appendChild(title); head.appendChild(next);\n      pop.appendChild(head);\n      var grid = document.createElement('div'); grid.className = 'cal-grid';\n      DOW.forEach(function(d){ var c = document.createElement('div'); c.className = 'dow'; c.textContent = d; grid.appendChild(c); });\n      var startDow = (new Date(view.getFullYear(), view.getMonth(), 1).getDay() + 6) % 7;\n      var dim = new Date(view.getFullYear(), view.getMonth()+1, 0).getDate();\n      for (var i = 0; i < startDow; i++){ var em = document.createElement('div'); em.className = 'day muted'; grid.appendChild(em); }\n      for (var d = 1; d <= dim; d++){\n        var cell = document.createElement('div'); cell.className = 'day'; cell.textContent = d;\n        var dd = new Date(view.getFullYear(), view.getMonth(), d);\n        if (dd.getTime() === today.getTime()) cell.classList.add('today');\n        if (sel && dd.getTime() === sel.getTime()) cell.classList.add('sel');\n        if (dd < today){ cell.classList.add('disabled'); }\n        else { (function(dateObj){ cell.addEventListener('click', function(ev){\n          ev.stopPropagation(); sel = dateObj;\n          input.value = pad(dateObj.getDate()) + '.' + pad(dateObj.getMonth()+1) + '.' + dateObj.getFullYear();\n          input.dataset.iso = dateObj.getFullYear() + '-' + pad(dateObj.getMonth()+1) + '-' + pad(dateObj.getDate());\n          clearBox(input); close();\n        }); })(dd); }\n        grid.appendChild(cell);\n      }\n      pop.appendChild(grid);\n    }\n    function open(){ build(); pop.style.display = 'block'; }\n    function close(){ pop.style.display = 'none'; }\n    input.addEventListener('click', function(e){ e.stopPropagation(); open(); });\n    input.addEventListener('focus', open);\n    document.addEventListener('click', function(e){ if (!f.contains(e.target)) close(); });\n  }\n\n  \/* ===== Adress-Autocomplete ===== *\/\n  function setupAutocomplete(){\n    google.maps.importLibrary('places').then(function(lib){\n      placesLib = lib;\n      attachAutocomplete($('abhol'));\n      attachAutocomplete($('ziel'));\n    }).catch(function(){ \/* Places (New) evtl. nicht aktiviert *\/ });\n  }\n  function attachAutocomplete(input){\n    if (!input) return;\n    var cell = input.closest('.f');\n    var list = document.createElement('ul');\n    list.className = 'ac-list'; list.style.display = 'none';\n    cell.appendChild(list);\n    var items = [], active = -1, timer = null;\n    var token = new placesLib.AutocompleteSessionToken();\n    function close(){ list.style.display = 'none'; list.innerHTML = ''; items = []; active = -1; }\n    function choose(text){ input.value = text; clearBox(input); close(); token = new placesLib.AutocompleteSessionToken(); routeKm = routeMin = null; }\n    function paint(){ Array.prototype.slice.call(list.querySelectorAll('.ac-item')).forEach(function(el,i){ el.classList.toggle('on', i === active); }); }\n    function query(){\n      var val = input.value.trim();\n      if (val.length < 3){ close(); return; }\n      placesLib.AutocompleteSuggestion.fetchAutocompleteSuggestions({\n        input: val, sessionToken: token, includedRegionCodes: CONFIG.AC_REGIONS, language: 'de'\n      }).then(function(res){\n        items = (res.suggestions || []).map(function(s){ return s.placePrediction; }).filter(Boolean);\n        if (!items.length){ close(); return; }\n        list.innerHTML = '';\n        items.forEach(function(p){\n          var li = document.createElement('li'); li.className = 'ac-item';\n          var main = p.mainText ? p.mainText.text : p.text.text;\n          var sec = p.secondaryText ? p.secondaryText.text : '';\n          var mm = document.createElement('span'); mm.className = 'ac-main'; mm.textContent = main; li.appendChild(mm);\n          if (sec){ var s2 = document.createElement('span'); s2.className = 'ac-sec'; s2.textContent = sec; li.appendChild(s2); }\n          li.addEventListener('mousedown', function(ev){ ev.preventDefault(); choose(p.text.text); });\n          list.appendChild(li);\n        });\n        var foot = document.createElement('li'); foot.className = 'ac-foot'; foot.textContent = sls_tr('Vorschl\u00e4ge von Google');\n        list.appendChild(foot);\n        active = -1; list.style.display = 'block';\n      }).catch(function(){ close(); });\n    }\n    input.addEventListener('input', function(){ clearTimeout(timer); timer = setTimeout(query, 250); });\n    input.addEventListener('keydown', function(e){\n      if (list.style.display === 'none') return;\n      if (e.key === 'ArrowDown'){ e.preventDefault(); active = Math.min(active+1, items.length-1); paint(); }\n      else if (e.key === 'ArrowUp'){ e.preventDefault(); active = Math.max(active-1, 0); paint(); }\n      else if (e.key === 'Enter' && active >= 0){ e.preventDefault(); choose(items[active].text.text); }\n      else if (e.key === 'Escape'){ close(); }\n    });\n    input.addEventListener('blur', function(){ setTimeout(close, 150); });\n  }\n\n  \/* ===== Optionen einsammeln ===== *\/\n  function gatherOptionen(){\n    var out = [];\n    root.querySelectorAll('.chk input:checked').forEach(function(c){ out.push(c.getAttribute('data-opt')); });\n    return out;\n  }\n\n  \/* ===== Zusammenfassung ===== *\/\n  function srow(k, v){ k = sls_tr(k);\n    if (!v || v === '\u2014') return '';\n    var d = document.createElement('div'); d.className = 'srow';\n    var a = document.createElement('div'); a.className = 'sk'; a.textContent = k;\n    var b = document.createElement('div'); b.className = 'sv'; b.textContent = v;\n    d.appendChild(a); d.appendChild(b); return d.outerHTML;\n  }\n  function buildSummary(){\n    var fz = $('fahrzeug').value;\n    var html = '';\n    html += srow('Name', $('name').value.trim());\n    html += srow('Telefon', $('tel').value.trim());\n    html += srow('E-Mail', $('mail').value.trim());\n    html += srow('Startadresse', $('abhol').value.trim());\n    html += srow('Zieladresse', $('ziel').value.trim());\n    html += srow('Datum', $('datum').value.trim());\n    html += srow('Uhrzeit', $('zeit').value.trim());\n    html += srow('Transferart', $('art').value);\n    html += srow('Personen', $('personen').value);\n    html += srow('Wartezeiten', $('warten').value);\n    html += srow('Zahlungsart', ($('zahlung') ? $('zahlung').value : ''));\n    html += srow('Strecke', routeKm != null ? Math.round(routeKm) + ' km' : '');\n    html += srow('Fahrzeit', routeMin != null ? fmtDauer(routeMin) : '');\n    html += srow('Fahrzeug', sls_tr(fz));\n    html += srow('Tarif', sls_tr(fz ? (ABPREIS[fz] || '') : ''));\n    html += srow('Optionen', gatherOptionen().join(', '));\n    html += srow('Bemerkungen', $('bemerkung').value.trim());\n    $('summary').innerHTML = html;\n  }\n\n  \/* ===== Absenden ===== *\/\n  function onSubmit(e){\n    e.preventDefault(); hideError();\n    if (!validateStep(1)){ showStep(1); return; }\n    if (!validateStep(2)){ showStep(2); return; }\n    var fz = $('fahrzeug').value;\n    var payload = { lang: SLS_LANG,\n      datum: ($('datum').dataset.iso || ''), zeit: $('zeit').value.trim(),\n      abhol: $('abhol').value.trim(), ziel: $('ziel').value.trim(),\n      art: $('art').value, personen: $('personen').value, warten: $('warten').value,\n      fahrzeug: sls_tr(fz),\n      strecke: (routeKm != null ? Math.round(routeKm) + ' km' : '\u2014'),\n      fahrzeit: (routeMin != null ? fmtDauer(routeMin) : '\u2014'),\n      preis: sls_tr(ABPREIS[fz] || 'auf Anfrage'),\n      optionen: (function(){ var o = gatherOptionen(); var z = ($('zahlung') && $('zahlung').value) ? (sls_tr('Zahlungsart: ') + $('zahlung').value) : ''; if (z) o.push(z); return o.join(', '); })(),\n      name: $('name').value.trim(), tel: $('tel').value.trim(), mail: $('mail').value.trim(),\n      bemerkung: $('bemerkung').value.trim(), website: $('website').value\n    };\n    var btn = $('submitBtn'); btn.disabled = true; var label = btn.textContent; btn.textContent = sls_tr('Wird gesendet \u2026');\n    fetch(CONFIG.API_URL, { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify(payload) })\n      .then(function(r){ return r.json().then(function(d){ return { ok: r.ok, d: d }; }).catch(function(){ return { ok: r.ok, d: {} }; }); })\n      .then(function(out){\n        if (out.ok && out.d.ok){\n          $('anfrage').querySelectorAll('input,select,textarea,button').forEach(function(el){ el.disabled = true; });\n          root.querySelectorAll('.nav').forEach(function(n){ n.style.display = 'none'; });\n          var s = $('success'); s.style.display = 'block'; s.scrollIntoView({ behavior: 'smooth', block: 'center' });\n        } else { btn.disabled = false; btn.textContent = label; showError((out.d && out.d.error) || 'Es ist ein Fehler aufgetreten. Bitte sp\u00e4ter erneut versuchen oder anrufen.'); }\n      })\n      .catch(function(){ btn.disabled = false; btn.textContent = label; showError('Verbindung fehlgeschlagen. Bitte Internetverbindung pr\u00fcfen oder telefonisch anfragen.'); });\n  }\n\n  \/* ===== Verdrahtung ===== *\/\n  function wire(){\n    buildDatePicker($('datum'));\n\n    var z = $('zeit');\n    if (z){\n      z.addEventListener('blur', normalizeTime);\n      z.addEventListener('input', function(){ clearBox(z); });\n    }\n\n    ['name','tel','mail'].forEach(function(id){ var el = $(id); if (el) el.addEventListener('input', function(){ clearBox(el); refreshStep1(); }); });\n    refreshStep1();\n\n    var sb = $('searchBtn'); if (sb) sb.addEventListener('click', berechneRoute);\n    var pers = $('personen'); if (pers) pers.addEventListener('change', applyPersonenRegel);\n\n    var cars = root.querySelectorAll('.car');\n    cars.forEach(function(c){\n      c.addEventListener('click', function(){\n        if (c.classList.contains('disabled')) return;\n        cars.forEach(function(x){ x.classList.remove('sel'); });\n        c.classList.add('sel'); $('fahrzeug').value = c.getAttribute('data-car');\n        var cs = root.querySelector('.cars'); if (cs) cs.style.outline = '';\n      });\n    });\n    applyPersonenRegel();\n\n    root.querySelectorAll('[data-next]').forEach(function(b){\n      b.addEventListener('click', function(){ var n = parseInt(b.dataset.next,10); if (validateStep(n)) showStep(n + 1); });\n    });\n    root.querySelectorAll('[data-prev]').forEach(function(b){\n      b.addEventListener('click', function(){ showStep(parseInt(b.dataset.prev,10) - 1); });\n    });\n    root.querySelectorAll('.step').forEach(function(s){\n      s.addEventListener('click', function(){ var sn = parseInt(s.dataset.step,10); if (sn < step) showStep(sn); });\n    });\n\n    var form = $('anfrage'); if (form) form.addEventListener('submit', onSubmit);\n  }\n\n  if (document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', function(){ wire(); loadMaps(); }); }\n  else { wire(); loadMaps(); }\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Demander un trajet Communiquez-nous vos donn\u00e9es de voyage \u2014 nous vous recontacterons dans les plus brefs d\u00e9lais. Toujours inclus Chauffeur professionnel Eau min\u00e9rale en bouteilles en verre Wi-Fi &amp; tous les c\u00e2bles de chargement courants Service de bagages inclus Service de parapluie en cas de pluie Parfum discret &amp; r\u00e9glage de si\u00e8ge premium 1Donn\u00e9es 2Trajet [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":58072,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-58100","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/swiss-limousinenservice.ch\/fr\/wp-json\/wp\/v2\/pages\/58100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swiss-limousinenservice.ch\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/swiss-limousinenservice.ch\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/swiss-limousinenservice.ch\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swiss-limousinenservice.ch\/fr\/wp-json\/wp\/v2\/comments?post=58100"}],"version-history":[{"count":7,"href":"https:\/\/swiss-limousinenservice.ch\/fr\/wp-json\/wp\/v2\/pages\/58100\/revisions"}],"predecessor-version":[{"id":58807,"href":"https:\/\/swiss-limousinenservice.ch\/fr\/wp-json\/wp\/v2\/pages\/58100\/revisions\/58807"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/swiss-limousinenservice.ch\/fr\/wp-json\/wp\/v2\/media\/58072"}],"wp:attachment":[{"href":"https:\/\/swiss-limousinenservice.ch\/fr\/wp-json\/wp\/v2\/media?parent=58100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}