{"id":786,"date":"2026-08-27T16:54:51","date_gmt":"2026-08-27T14:54:51","guid":{"rendered":"https:\/\/www.starline-france.fr\/?page_id=786"},"modified":"2026-08-28T02:34:28","modified_gmt":"2026-08-28T00:34:28","slug":"demande-personnalisee","status":"publish","type":"page","link":"https:\/\/www.starline-france.fr\/index.php\/demande-personnalisee\/","title":{"rendered":"Demande personnalis\u00e9e"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"786\" class=\"elementor elementor-786\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-404c013 e-con e-atomic-element e-flexbox-base e-68b7a35 \" data-id=\"404c013\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"404c013\" data-e-type=\"e-flexbox\" data-id=\"404c013\">\n    \t\t<div class=\"elementor-element elementor-element-a4b15b1 elementor-widget elementor-widget-html\" data-id=\"a4b15b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"sl-request-v2\">\r\n\r\n    <section class=\"sl-request-hero\">\r\n        <span>\u00c9TUDE PERSONNALIS\u00c9E STARLINE<\/span>\r\n        <h1>Finalisez votre demande<\/h1>\r\n        <p>\r\n            Retrouvez votre recommandation, puis identifiez votre v\u00e9hicule\r\n            par son immatriculation ou par une saisie manuelle.\r\n        <\/p>\r\n    <\/section>\r\n\r\n    <section class=\"sl-request-section\">\r\n\r\n        <div class=\"sl-request-title\">\r\n            <span>01<\/span>\r\n            <div>\r\n                <h2>Votre recommandation<\/h2>\r\n                <p>\r\n                    Informations transmises directement par le simulateur StarLine.\r\n                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"sl-request-solution\">\r\n            <small>SOLUTION RECOMMAND\u00c9E<\/small>\r\n            <strong id=\"sl-request-solution\">\u00c9tude \u00e0 confirmer<\/strong>\r\n            <p id=\"sl-request-subtitle\"><\/p>\r\n        <\/div>\r\n\r\n        <div class=\"sl-request-summary-grid\">\r\n\r\n            <div class=\"sl-request-summary\">\r\n                <span>Type de v\u00e9hicule<\/span>\r\n                <strong id=\"sl-request-vehicle\">\u00c0 confirmer<\/strong>\r\n            <\/div>\r\n\r\n            <div class=\"sl-request-summary\">\r\n                <span>Niveau de protection<\/span>\r\n                <strong id=\"sl-request-protection\">\u00c0 confirmer<\/strong>\r\n            <\/div>\r\n\r\n            <div class=\"sl-request-summary\">\r\n                <span>G\u00e9olocalisation<\/span>\r\n                <strong id=\"sl-request-geolocation\">\u00c0 confirmer<\/strong>\r\n            <\/div>\r\n\r\n            <div class=\"sl-request-summary\">\r\n                <span>Fonctions connect\u00e9es<\/span>\r\n                <strong id=\"sl-request-connected\">\u00c0 confirmer<\/strong>\r\n            <\/div>\r\n\r\n            <div class=\"sl-request-summary sl-request-summary-wide\">\r\n                <span>Priorit\u00e9<\/span>\r\n                <strong id=\"sl-request-priority\">\u00c0 confirmer<\/strong>\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n        <a\r\n            class=\"sl-request-edit\"\r\n            href=\"\/index.php\/trouver-ma-solution-starline\/#simulateur-starline\"\r\n        >\r\n            \u21bb Modifier mes r\u00e9ponses\r\n        <\/a>\r\n\r\n    <\/section>\r\n\r\n    <section class=\"sl-request-section\">\r\n\r\n        <div class=\"sl-request-title\">\r\n            <span>02<\/span>\r\n            <div>\r\n                <h2>Identification du v\u00e9hicule<\/h2>\r\n                <p>Choisissez la m\u00e9thode qui vous convient.<\/p>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"sl-request-methods\">\r\n\r\n            <button\r\n                type=\"button\"\r\n                class=\"sl-request-method is-selected\"\r\n                data-method=\"plate\"\r\n            >\r\n                <i>\u25a3<\/i>\r\n                <strong>Avec la plaque d\u2019immatriculation<\/strong>\r\n                <small>Recherche rapide des informations du v\u00e9hicule.<\/small>\r\n                <b>\u2713<\/b>\r\n            <\/button>\r\n\r\n            <button\r\n                type=\"button\"\r\n                class=\"sl-request-method\"\r\n                data-method=\"manual\"\r\n            >\r\n                <i>\u270e<\/i>\r\n                <strong>Saisie manuelle<\/strong>\r\n                <small>Marque, mod\u00e8le, ann\u00e9e et motorisation.<\/small>\r\n                <b>\u2713<\/b>\r\n            <\/button>\r\n\r\n        <\/div>\r\n\r\n        <div id=\"sl-request-plate-panel\" class=\"sl-request-panel\">\r\n\r\n            <label for=\"sl-request-plate\">\r\n                Plaque d\u2019immatriculation\r\n            <\/label>\r\n\r\n            <div class=\"sl-request-plate-row\">\r\n                <span>F<\/span>\r\n\r\n                <input\r\n                    id=\"sl-request-plate\"\r\n                    type=\"text\"\r\n                    maxlength=\"12\"\r\n                    placeholder=\"AB-123-CD\"\r\n                    autocomplete=\"off\"\r\n                >\r\n\r\n                <button\r\n                    id=\"sl-request-lookup\"\r\n                    type=\"button\"\r\n                >\r\n                    Identifier mon v\u00e9hicule\r\n                <\/button>\r\n            <\/div>\r\n\r\n            <p class=\"sl-request-help\">\r\n                La connexion au service Autoways sera branch\u00e9e sur ce bouton\r\n                lors de la prochaine \u00e9tape.\r\n            <\/p>\r\n\r\n        <\/div>\r\n\r\n        <div\r\n            id=\"sl-request-manual-panel\"\r\n            class=\"sl-request-panel is-hidden\"\r\n        >\r\n\r\n            <div class=\"sl-request-fields\">\r\n\r\n                <label>\r\n                    <span>Marque du v\u00e9hicule *<\/span>\r\n                    <input\r\n                        id=\"sl-request-make\"\r\n                        type=\"text\"\r\n                        placeholder=\"Ex. Peugeot, Mercedes, BMW\u2026\"\r\n                    >\r\n                <\/label>\r\n\r\n                <label>\r\n                    <span>Mod\u00e8le du v\u00e9hicule *<\/span>\r\n                    <input\r\n                        id=\"sl-request-model\"\r\n                        type=\"text\"\r\n                        placeholder=\"Ex. 3008, Classe V, RAV4\u2026\"\r\n                    >\r\n                <\/label>\r\n\r\n                <label>\r\n                    <span>Ann\u00e9e du v\u00e9hicule *<\/span>\r\n                    <input\r\n                        id=\"sl-request-year\"\r\n                        type=\"number\"\r\n                        min=\"1950\"\r\n                        max=\"2100\"\r\n                        placeholder=\"2024\"\r\n                    >\r\n                <\/label>\r\n\r\n                <label>\r\n                    <span>Motorisation *<\/span>\r\n                    <input\r\n                        id=\"sl-request-engine\"\r\n                        type=\"text\"\r\n                        placeholder=\"Ex. 2.0 TDI, hybride, \u00e9lectrique\u2026\"\r\n                    >\r\n                <\/label>\r\n\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n    <\/section>\r\n\r\n    <section class=\"sl-request-section\">\r\n\r\n        <div class=\"sl-request-title\">\r\n            <span>03<\/span>\r\n            <div>\r\n                <h2>Vos coordonn\u00e9es<\/h2>\r\n                <p>\r\n                    Nous vous recontactons pour confirmer la compatibilit\u00e9.\r\n                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <form id=\"sl-request-form\" novalidate>\r\n\r\n            <input\r\n                id=\"sl-request-payload\"\r\n                type=\"hidden\"\r\n                name=\"starline_payload\"\r\n            >\r\n\r\n            <div class=\"sl-request-fields\">\r\n\r\n                <label>\r\n                    <span>Pr\u00e9nom *<\/span>\r\n                    <input\r\n                        id=\"sl-request-firstname\"\r\n                        name=\"firstname\"\r\n                        type=\"text\"\r\n                        autocomplete=\"given-name\"\r\n                        required\r\n                    >\r\n                <\/label>\r\n\r\n                <label>\r\n                    <span>Nom *<\/span>\r\n                    <input\r\n                        id=\"sl-request-lastname\"\r\n                        name=\"lastname\"\r\n                        type=\"text\"\r\n                        autocomplete=\"family-name\"\r\n                        required\r\n                    >\r\n                <\/label>\r\n\r\n                <label>\r\n                    <span>Adresse e-mail *<\/span>\r\n                    <input\r\n                        id=\"sl-request-email\"\r\n                        name=\"email\"\r\n                        type=\"email\"\r\n                        autocomplete=\"email\"\r\n                        required\r\n                    >\r\n                <\/label>\r\n\r\n                <label>\r\n                    <span>T\u00e9l\u00e9phone *<\/span>\r\n                    <input\r\n                        id=\"sl-request-phone\"\r\n                        name=\"phone\"\r\n                        type=\"tel\"\r\n                        autocomplete=\"tel\"\r\n                        required\r\n                    >\r\n                <\/label>\r\n\r\n                <label class=\"sl-request-full\">\r\n                    <span>Votre demande<\/span>\r\n                    <textarea\r\n                        id=\"sl-request-message\"\r\n                        name=\"message\"\r\n                        rows=\"5\"\r\n                        placeholder=\"Pr\u00e9cisez vos attentes ou les particularit\u00e9s du v\u00e9hicule\u2026\"\r\n                    ><\/textarea>\r\n                <\/label>\r\n\r\n            <\/div>\r\n\r\n            <label class=\"sl-request-consent\">\r\n                <input\r\n                    id=\"sl-request-consent\"\r\n                    type=\"checkbox\"\r\n                    required\r\n                >\r\n                <span>\r\n                    J\u2019accepte que StarLine France utilise ces informations\r\n                    pour traiter ma demande.\r\n                <\/span>\r\n            <\/label>\r\n\r\n            <button\r\n                class=\"sl-request-submit\"\r\n                type=\"submit\"\r\n            >\r\n                Valider ma demande \u2192\r\n            <\/button>\r\n\r\n            <div\r\n                id=\"sl-request-status\"\r\n                class=\"sl-request-status\"\r\n                aria-live=\"polite\"\r\n            ><\/div>\r\n\r\n        <\/form>\r\n\r\n    <\/section>\r\n\r\n<\/div>\r\n\r\n<style>\r\n#sl-request-v2,\r\n#sl-request-v2 * {\r\n    box-sizing: border-box;\r\n}\r\n\r\n#sl-request-v2 {\r\n    --sl-navy: #0b3157;\r\n    --sl-blue: #009fe3;\r\n    --sl-green: #95d600;\r\n    --sl-green-dark: #84c000;\r\n    --sl-light: #f4f9fc;\r\n    --sl-border: #d3e1ec;\r\n    --sl-text: #102d4d;\r\n    --sl-muted: #617285;\r\n\r\n    width: 100%;\r\n    max-width: 960px;\r\n    margin: 45px auto;\r\n    color: var(--sl-text);\r\n    font-family: Arial, Helvetica, sans-serif;\r\n}\r\n\r\n#sl-request-v2 button,\r\n#sl-request-v2 input,\r\n#sl-request-v2 textarea {\r\n    font: inherit;\r\n}\r\n\r\n#sl-request-v2 .sl-request-hero {\r\n    margin-bottom: 22px;\r\n    padding: 38px 30px;\r\n    text-align: center;\r\n    color: #ffffff;\r\n    background:\r\n        radial-gradient(circle at 85% 0%, rgba(0,159,227,.18), transparent 35%),\r\n        var(--sl-navy);\r\n    border-radius: 14px;\r\n    box-shadow: 0 18px 45px rgba(11,49,87,.14);\r\n}\r\n\r\n#sl-request-v2 .sl-request-hero span {\r\n    display: block;\r\n    margin-bottom: 10px;\r\n    color: var(--sl-green);\r\n    font-size: 13px;\r\n    font-weight: 900;\r\n    letter-spacing: 1px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-hero h1 {\r\n    margin: 0 0 12px;\r\n    color: #ffffff;\r\n    font-size: clamp(30px, 5vw, 43px);\r\n}\r\n\r\n#sl-request-v2 .sl-request-hero p {\r\n    max-width: 690px;\r\n    margin: 0 auto;\r\n    color: #ffffff;\r\n    font-size: 14px;\r\n    line-height: 1.65;\r\n}\r\n\r\n#sl-request-v2 .sl-request-section {\r\n    margin-bottom: 18px;\r\n    padding: 26px 25px;\r\n    background: #ffffff;\r\n    border: 1px solid var(--sl-border);\r\n    border-radius: 13px;\r\n    box-shadow: 0 10px 30px rgba(11,49,87,.06);\r\n}\r\n\r\n#sl-request-v2 .sl-request-title {\r\n    display: flex;\r\n    gap: 13px;\r\n    align-items: flex-start;\r\n    margin-bottom: 22px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-title > span {\r\n    display: flex;\r\n    width: 34px;\r\n    height: 34px;\r\n    flex: 0 0 34px;\r\n    align-items: center;\r\n    justify-content: center;\r\n    color: #ffffff;\r\n    background: var(--sl-green);\r\n    border-radius: 50%;\r\n    font-size: 12px;\r\n    font-weight: 900;\r\n}\r\n\r\n#sl-request-v2 .sl-request-title h2 {\r\n    margin: 0 0 4px;\r\n    color: var(--sl-blue);\r\n    font-size: 23px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-title p {\r\n    margin: 0;\r\n    color: var(--sl-muted);\r\n    font-size: 12px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-solution {\r\n    margin-bottom: 15px;\r\n    padding: 20px;\r\n    color: #ffffff;\r\n    background: var(--sl-navy);\r\n    border-left: 5px solid var(--sl-green);\r\n    border-radius: 9px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-solution small {\r\n    display: block;\r\n    margin-bottom: 8px;\r\n    color: var(--sl-green);\r\n    font-size: 10px;\r\n    font-weight: 900;\r\n    letter-spacing: .6px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-solution strong {\r\n    display: block;\r\n    color: #ffffff;\r\n    font-size: 27px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-solution p {\r\n    margin: 6px 0 0;\r\n    color: #75d8ff;\r\n    font-size: 13px;\r\n    font-weight: 700;\r\n}\r\n\r\n#sl-request-v2 .sl-request-summary-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    gap: 10px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-summary {\r\n    min-height: 72px;\r\n    padding: 15px 16px;\r\n    background: var(--sl-light);\r\n    border-left: 3px solid var(--sl-blue);\r\n    border-radius: 8px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-summary-wide {\r\n    grid-column: 1 \/ -1;\r\n}\r\n\r\n#sl-request-v2 .sl-request-summary span {\r\n    display: block;\r\n    margin-bottom: 7px;\r\n    color: var(--sl-muted);\r\n    font-size: 10px;\r\n    font-weight: 900;\r\n    letter-spacing: .6px;\r\n    text-transform: uppercase;\r\n}\r\n\r\n#sl-request-v2 .sl-request-summary strong {\r\n    color: var(--sl-navy);\r\n    font-size: 13px;\r\n    line-height: 1.45;\r\n}\r\n\r\n#sl-request-v2 .sl-request-edit {\r\n    display: inline-block;\r\n    margin-top: 15px;\r\n    color: var(--sl-blue);\r\n    font-size: 12px;\r\n    font-weight: 800;\r\n    text-decoration: none;\r\n}\r\n\r\n#sl-request-v2 .sl-request-methods {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    gap: 12px;\r\n    margin-bottom: 16px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-method {\r\n    position: relative;\r\n    min-height: 102px;\r\n    padding: 17px 38px 17px 58px;\r\n    text-align: left;\r\n    cursor: pointer;\r\n    background: #ffffff;\r\n    border: 2px solid var(--sl-border);\r\n    border-radius: 10px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-method.is-selected {\r\n    background: var(--sl-light);\r\n    border-color: var(--sl-green);\r\n}\r\n\r\n#sl-request-v2 .sl-request-method i {\r\n    position: absolute;\r\n    top: 18px;\r\n    left: 15px;\r\n    display: flex;\r\n    width: 30px;\r\n    height: 30px;\r\n    align-items: center;\r\n    justify-content: center;\r\n    color: var(--sl-green);\r\n    background: var(--sl-navy);\r\n    border-radius: 7px;\r\n    font-style: normal;\r\n}\r\n\r\n#sl-request-v2 .sl-request-method strong,\r\n#sl-request-v2 .sl-request-method small {\r\n    display: block;\r\n}\r\n\r\n#sl-request-v2 .sl-request-method strong {\r\n    margin-bottom: 6px;\r\n    color: var(--sl-navy);\r\n    font-size: 13px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-method small {\r\n    color: var(--sl-muted);\r\n    font-size: 11px;\r\n    line-height: 1.45;\r\n}\r\n\r\n#sl-request-v2 .sl-request-method b {\r\n    display: none;\r\n    position: absolute;\r\n    top: 13px;\r\n    right: 14px;\r\n    color: var(--sl-green);\r\n}\r\n\r\n#sl-request-v2 .sl-request-method.is-selected b {\r\n    display: block;\r\n}\r\n\r\n#sl-request-v2 .sl-request-panel {\r\n    padding: 17px;\r\n    background: var(--sl-light);\r\n    border-radius: 9px;\r\n}\r\n\r\n#sl-request-v2 .is-hidden {\r\n    display: none !important;\r\n}\r\n\r\n#sl-request-v2 .sl-request-panel > label {\r\n    display: block;\r\n    margin-bottom: 8px;\r\n    color: var(--sl-navy);\r\n    font-size: 12px;\r\n    font-weight: 800;\r\n}\r\n\r\n#sl-request-v2 .sl-request-plate-row {\r\n    display: grid;\r\n    grid-template-columns: 38px minmax(0, 1fr) auto;\r\n}\r\n\r\n#sl-request-v2 .sl-request-plate-row > span {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    color: #ffffff;\r\n    background: #003da5;\r\n    border-radius: 6px 0 0 6px;\r\n    font-weight: 900;\r\n}\r\n\r\n#sl-request-v2 .sl-request-plate-row input {\r\n    min-width: 0;\r\n    height: 48px;\r\n    padding: 10px 14px;\r\n    text-align: center;\r\n    color: var(--sl-navy);\r\n    background: #ffffff;\r\n    border: 2px solid var(--sl-navy);\r\n    border-radius: 0;\r\n    font-size: 18px;\r\n    font-weight: 900;\r\n    letter-spacing: 2px;\r\n    text-transform: uppercase;\r\n}\r\n\r\n#sl-request-v2 .sl-request-plate-row button {\r\n    padding: 0 19px;\r\n    cursor: pointer;\r\n    color: #ffffff;\r\n    background: var(--sl-green);\r\n    border: 0;\r\n    border-radius: 0 6px 6px 0;\r\n    font-size: 12px;\r\n    font-weight: 900;\r\n    text-transform: uppercase;\r\n}\r\n\r\n#sl-request-v2 .sl-request-help {\r\n    margin: 8px 0 0;\r\n    color: var(--sl-muted);\r\n    font-size: 10px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-fields {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    gap: 15px;\r\n}\r\n\r\n#sl-request-v2 .sl-request-fields label {\r\n    display: block;\r\n}\r\n\r\n#sl-request-v2 .sl-request-fields label > span {\r\n    display: block;\r\n    margin-bottom: 7px;\r\n    color: var(--sl-navy);\r\n    font-size: 12px;\r\n    font-weight: 800;\r\n}\r\n\r\n#sl-request-v2 .sl-request-fields input,\r\n#sl-request-v2 .sl-request-fields textarea {\r\n    width: 100%;\r\n    padding: 12px 13px;\r\n    color: var(--sl-navy);\r\n    background: #ffffff;\r\n    border: 1px solid #bfd2e1;\r\n    border-radius: 6px;\r\n    outline: none;\r\n}\r\n\r\n#sl-request-v2 .sl-request-fields input:focus,\r\n#sl-request-v2 .sl-request-fields textarea:focus {\r\n    border-color: var(--sl-blue);\r\n    box-shadow: 0 0 0 3px rgba(0,159,227,.12);\r\n}\r\n\r\n#sl-request-v2 .sl-request-full {\r\n    grid-column: 1 \/ -1;\r\n}\r\n\r\n#sl-request-v2 .sl-request-consent {\r\n    display: flex;\r\n    gap: 9px;\r\n    margin: 20px 0;\r\n    align-items: flex-start;\r\n    color: var(--sl-muted);\r\n    font-size: 11px;\r\n    line-height: 1.5;\r\n}\r\n\r\n#sl-request-v2 .sl-request-submit {\r\n    width: 100%;\r\n    min-height: 52px;\r\n    cursor: pointer;\r\n    color: #ffffff;\r\n    background: var(--sl-green);\r\n    border: 0;\r\n    border-radius: 7px;\r\n    font-size: 14px;\r\n    font-weight: 900;\r\n    text-transform: uppercase;\r\n}\r\n\r\n#sl-request-v2 .sl-request-submit:hover {\r\n    background: var(--sl-green-dark);\r\n}\r\n\r\n#sl-request-v2 .sl-request-status {\r\n    display: none;\r\n    margin-top: 15px;\r\n    padding: 14px;\r\n    border-radius: 7px;\r\n    font-size: 12px;\r\n    line-height: 1.5;\r\n}\r\n\r\n#sl-request-v2 .sl-request-status.is-visible {\r\n    display: block;\r\n}\r\n\r\n#sl-request-v2 .sl-request-status.is-error {\r\n    color: #8b1d1d;\r\n    background: #fff0f0;\r\n    border-left: 4px solid #d43a3a;\r\n}\r\n\r\n#sl-request-v2 .sl-request-status.is-success {\r\n    color: var(--sl-navy);\r\n    background: #f3fae8;\r\n    border-left: 4px solid var(--sl-green);\r\n}\r\n\r\n@media (max-width: 700px) {\r\n    #sl-request-v2 {\r\n        margin-top: 22px;\r\n    }\r\n\r\n    #sl-request-v2 .sl-request-section {\r\n        padding: 21px 15px;\r\n    }\r\n\r\n    #sl-request-v2 .sl-request-summary-grid,\r\n    #sl-request-v2 .sl-request-methods,\r\n    #sl-request-v2 .sl-request-fields {\r\n        grid-template-columns: 1fr;\r\n    }\r\n\r\n    #sl-request-v2 .sl-request-summary-wide,\r\n    #sl-request-v2 .sl-request-full {\r\n        grid-column: auto;\r\n    }\r\n\r\n    #sl-request-v2 .sl-request-plate-row {\r\n        grid-template-columns: 35px minmax(0, 1fr);\r\n    }\r\n\r\n    #sl-request-v2 .sl-request-plate-row button {\r\n        grid-column: 1 \/ -1;\r\n        min-height: 47px;\r\n        margin-top: 8px;\r\n        border-radius: 6px;\r\n    }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n    'use strict';\r\n\r\n    const root = document.getElementById('sl-request-v2');\r\n\r\n    if (!root) {\r\n        return;\r\n    }\r\n\r\n    let selectedMethod = 'plate';\r\n    let simulatorPayload = null;\r\n    let autowaysVehicle = null;\r\n\r\n    function decodePayload(encoded) {\r\n        if (!encoded) {\r\n            return null;\r\n        }\r\n\r\n        try {\r\n            let base64 = encoded\r\n                .replace(\/-\/g, '+')\r\n                .replace(\/_\/g, '\/');\r\n\r\n            while (base64.length % 4) {\r\n                base64 += '=';\r\n            }\r\n\r\n            const binary = atob(base64);\r\n\r\n            const bytes = Uint8Array.from(\r\n                binary,\r\n                function (character) {\r\n                    return character.charCodeAt(0);\r\n                }\r\n            );\r\n\r\n            return JSON.parse(\r\n                new TextDecoder().decode(bytes)\r\n            );\r\n        } catch (error) {\r\n            return null;\r\n        }\r\n    }\r\n\r\n    function loadStoredPayload() {\r\n        const url = new URL(window.location.href);\r\n        const encoded = url.searchParams.get('sl');\r\n\r\n        let payload = decodePayload(encoded);\r\n\r\n        if (payload) {\r\n            return payload;\r\n        }\r\n\r\n        try {\r\n            payload = JSON.parse(\r\n                sessionStorage.getItem(\r\n                    'starline_simulator_v2'\r\n                ) || 'null'\r\n            );\r\n        } catch (error) {}\r\n\r\n        if (payload) {\r\n            return payload;\r\n        }\r\n\r\n        try {\r\n            payload = JSON.parse(\r\n                localStorage.getItem(\r\n                    'starline_simulator_v2'\r\n                ) || 'null'\r\n            );\r\n        } catch (error) {}\r\n\r\n        return payload;\r\n    }\r\n\r\n    function safeSummary(section, fallback) {\r\n        if (\r\n            simulatorPayload &&\r\n            simulatorPayload.answers &&\r\n            simulatorPayload.answers[section] &&\r\n            simulatorPayload.answers[section].summary\r\n        ) {\r\n            return simulatorPayload.answers[section].summary;\r\n        }\r\n\r\n        return fallback || '\u00c0 confirmer';\r\n    }\r\n\r\n    function renderPayload() {\r\n        simulatorPayload = loadStoredPayload();\r\n\r\n        if (\r\n            !simulatorPayload ||\r\n            simulatorPayload.version !== 2\r\n        ) {\r\n            simulatorPayload = {\r\n                version: 2,\r\n                createdAt: new Date().toISOString(),\r\n                solution: {\r\n                    id: 'study',\r\n                    label: '\u00c9tude \u00e0 confirmer',\r\n                    subtitle:\r\n                        'Veuillez effectuer le simulateur avant de poursuivre.'\r\n                },\r\n                answers: {}\r\n            };\r\n        }\r\n\r\n        root.querySelector('#sl-request-solution')\r\n            .textContent =\r\n                simulatorPayload.solution.label ||\r\n                '\u00c9tude \u00e0 confirmer';\r\n\r\n        root.querySelector('#sl-request-subtitle')\r\n            .textContent =\r\n                simulatorPayload.solution.subtitle || '';\r\n\r\n        root.querySelector('#sl-request-vehicle')\r\n            .textContent =\r\n                safeSummary('vehicle');\r\n\r\n        root.querySelector('#sl-request-protection')\r\n            .textContent =\r\n                safeSummary('protection');\r\n\r\n        root.querySelector('#sl-request-geolocation')\r\n            .textContent =\r\n                safeSummary('geolocation');\r\n\r\n        root.querySelector('#sl-request-connected')\r\n            .textContent =\r\n                safeSummary('connected');\r\n\r\n        root.querySelector('#sl-request-priority')\r\n            .textContent =\r\n                safeSummary('priority');\r\n    }\r\n\r\n    function setMethod(method) {\r\n        selectedMethod = method;\r\n\r\n        root.querySelectorAll('[data-method]')\r\n            .forEach(function (button) {\r\n                button.classList.toggle(\r\n                    'is-selected',\r\n                    button.getAttribute('data-method') === method\r\n                );\r\n            });\r\n\r\n        root.querySelector('#sl-request-plate-panel')\r\n            .classList.toggle(\r\n                'is-hidden',\r\n                method !== 'plate'\r\n            );\r\n\r\n        root.querySelector('#sl-request-manual-panel')\r\n            .classList.toggle(\r\n                'is-hidden',\r\n                method !== 'manual'\r\n            );\r\n    }\r\n\r\n    function showStatus(message, type) {\r\n        const status =\r\n            root.querySelector('#sl-request-status');\r\n\r\n        status.textContent = message;\r\n        status.className =\r\n            'sl-request-status is-visible ' +\r\n            (type === 'success'\r\n                ? 'is-success'\r\n                : 'is-error');\r\n    }\r\n\r\n    function normalizePlate(value) {\r\n        return String(value || '')\r\n            .toUpperCase()\r\n            .replace(\/[^A-Z0-9-]\/g, '')\r\n            .substring(0, 12);\r\n    }\r\n\r\n    function getManualVehicle() {\r\n        return {\r\n            make:\r\n                root.querySelector('#sl-request-make')\r\n                    .value.trim(),\r\n            model:\r\n                root.querySelector('#sl-request-model')\r\n                    .value.trim(),\r\n            year:\r\n                root.querySelector('#sl-request-year')\r\n                    .value.trim(),\r\n            engine:\r\n                root.querySelector('#sl-request-engine')\r\n                    .value.trim()\r\n        };\r\n    }\r\n\r\n    function fillVehicle(vehicle) {\r\n        if (!vehicle || typeof vehicle !== 'object') {\r\n            return;\r\n        }\r\n\r\n        autowaysVehicle = vehicle;\r\n\r\n        if (vehicle.make) {\r\n            root.querySelector('#sl-request-make').value =\r\n                vehicle.make;\r\n        }\r\n\r\n        if (vehicle.model) {\r\n            root.querySelector('#sl-request-model').value =\r\n                vehicle.model;\r\n        }\r\n\r\n        if (vehicle.year) {\r\n            root.querySelector('#sl-request-year').value =\r\n                vehicle.year;\r\n        }\r\n\r\n        if (vehicle.engine) {\r\n            root.querySelector('#sl-request-engine').value =\r\n                vehicle.engine;\r\n        }\r\n\r\n        showStatus(\r\n            'V\u00e9hicule identifi\u00e9. Vous pouvez maintenant compl\u00e9ter vos coordonn\u00e9es.',\r\n            'success'\r\n        );\r\n    }\r\n\r\n    root.querySelectorAll('[data-method]')\r\n        .forEach(function (button) {\r\n            button.addEventListener('click', function () {\r\n                setMethod(\r\n                    button.getAttribute('data-method')\r\n                );\r\n            });\r\n        });\r\n\r\n    const plateInput =\r\n        root.querySelector('#sl-request-plate');\r\n\r\n    plateInput.addEventListener('input', function () {\r\n        plateInput.value =\r\n            normalizePlate(plateInput.value);\r\n    });\r\n\r\n    root.querySelector('#sl-request-lookup')\r\n        .addEventListener('click', function () {\r\n            const plate =\r\n                normalizePlate(plateInput.value);\r\n\r\n            if (plate.length < 5) {\r\n                showStatus(\r\n                    'Veuillez saisir une plaque d\u2019immatriculation valide.',\r\n                    'error'\r\n                );\r\n                return;\r\n            }\r\n\r\n            document.dispatchEvent(\r\n                new CustomEvent(\r\n                    'starline:autowaysLookupRequested',\r\n                    {\r\n                        detail: {\r\n                            plate: plate,\r\n                            simulator: simulatorPayload\r\n                        }\r\n                    }\r\n                )\r\n            );\r\n\r\n            showStatus(\r\n                'Plaque enregistr\u00e9e. La recherche automatique Autoways sera connect\u00e9e \u00e0 l\u2019\u00e9tape suivante.',\r\n                'success'\r\n            );\r\n        });\r\n\r\n    document.addEventListener(\r\n        'starline:autowaysResult',\r\n        function (event) {\r\n            fillVehicle(event.detail || {});\r\n        }\r\n    );\r\n\r\n    root.querySelector('#sl-request-form')\r\n        .addEventListener('submit', function (event) {\r\n            event.preventDefault();\r\n\r\n            const form = event.currentTarget;\r\n\r\n            if (!form.checkValidity()) {\r\n                form.reportValidity();\r\n                return;\r\n            }\r\n\r\n            let identification = {};\r\n\r\n            if (selectedMethod === 'plate') {\r\n                const plate =\r\n                    normalizePlate(plateInput.value);\r\n\r\n                if (plate.length < 5) {\r\n                    showStatus(\r\n                        'Veuillez saisir la plaque d\u2019immatriculation.',\r\n                        'error'\r\n                    );\r\n                    plateInput.focus();\r\n                    return;\r\n                }\r\n\r\n                identification = {\r\n                    method: 'plate',\r\n                    plate: plate,\r\n                    autowaysVehicle: autowaysVehicle\r\n                };\r\n            } else {\r\n                const manualVehicle =\r\n                    getManualVehicle();\r\n\r\n                if (\r\n                    !manualVehicle.make ||\r\n                    !manualVehicle.model ||\r\n                    !manualVehicle.year ||\r\n                    !manualVehicle.engine\r\n                ) {\r\n                    showStatus(\r\n                        'Veuillez compl\u00e9ter la marque, le mod\u00e8le, l\u2019ann\u00e9e et la motorisation.',\r\n                        'error'\r\n                    );\r\n                    return;\r\n                }\r\n\r\n                identification = {\r\n                    method: 'manual',\r\n                    vehicle: manualVehicle\r\n                };\r\n            }\r\n\r\n            const requestPayload = {\r\n                version: 1,\r\n                createdAt: new Date().toISOString(),\r\n                reference:\r\n                    'SL-' +\r\n                    new Date().toISOString()\r\n                        .slice(0, 10)\r\n                        .replace(\/-\/g, '') +\r\n                    '-' +\r\n                    Math.random()\r\n                        .toString(36)\r\n                        .slice(2, 7)\r\n                        .toUpperCase(),\r\n                simulator: simulatorPayload,\r\n                identification: identification,\r\n                contact: {\r\n                    firstname:\r\n                        root.querySelector(\r\n                            '#sl-request-firstname'\r\n                        ).value.trim(),\r\n                    lastname:\r\n                        root.querySelector(\r\n                            '#sl-request-lastname'\r\n                        ).value.trim(),\r\n                    email:\r\n                        root.querySelector(\r\n                            '#sl-request-email'\r\n                        ).value.trim(),\r\n                    phone:\r\n                        root.querySelector(\r\n                            '#sl-request-phone'\r\n                        ).value.trim(),\r\n                    message:\r\n                        root.querySelector(\r\n                            '#sl-request-message'\r\n                        ).value.trim()\r\n                }\r\n            };\r\n\r\n            root.querySelector('#sl-request-payload')\r\n                .value =\r\n                    JSON.stringify(requestPayload);\r\n\r\n            try {\r\n                sessionStorage.setItem(\r\n                    'starline_request_v1',\r\n                    JSON.stringify(requestPayload)\r\n                );\r\n            } catch (error) {}\r\n\r\n            try {\r\n                localStorage.setItem(\r\n                    'starline_request_v1',\r\n                    JSON.stringify(requestPayload)\r\n                );\r\n            } catch (error) {}\r\n\r\n            document.dispatchEvent(\r\n                new CustomEvent(\r\n                    'starline:requestSubmitted',\r\n                    {\r\n                        detail: requestPayload\r\n                    }\r\n                )\r\n            );\r\n\r\n            showStatus(\r\n                'Demande pr\u00e9par\u00e9e sous la r\u00e9f\u00e9rence ' +\r\n                requestPayload.reference +\r\n                '. La transmission par e-mail et vers HubSpot sera connect\u00e9e \u00e0 l\u2019\u00e9tape suivante.',\r\n                'success'\r\n            );\r\n        });\r\n\r\n    window.StarLineRequestPage = {\r\n        getSimulatorPayload: function () {\r\n            return simulatorPayload;\r\n        },\r\n        fillVehicle: fillVehicle,\r\n        getSelectedMethod: function () {\r\n            return selectedMethod;\r\n        }\r\n    };\r\n\r\n    renderPayload();\r\n    setMethod('plate');\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u00c9TUDE PERSONNALIS\u00c9E STARLINE Finalisez votre demande Retrouvez votre recommandation, puis identifiez votre v\u00e9hicule par son immatriculation ou par une saisie manuelle. 01 Votre recommandation Informations transmises directement par le simulateur StarLine. SOLUTION RECOMMAND\u00c9E \u00c9tude \u00e0 confirmer Type de v\u00e9hicule \u00c0 confirmer Niveau de protection \u00c0 confirmer G\u00e9olocalisation \u00c0 confirmer Fonctions connect\u00e9es \u00c0 confirmer Priorit\u00e9 \u00c0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-786","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.starline-france.fr\/index.php\/wp-json\/wp\/v2\/pages\/786","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.starline-france.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.starline-france.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.starline-france.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.starline-france.fr\/index.php\/wp-json\/wp\/v2\/comments?post=786"}],"version-history":[{"count":19,"href":"https:\/\/www.starline-france.fr\/index.php\/wp-json\/wp\/v2\/pages\/786\/revisions"}],"predecessor-version":[{"id":846,"href":"https:\/\/www.starline-france.fr\/index.php\/wp-json\/wp\/v2\/pages\/786\/revisions\/846"}],"wp:attachment":[{"href":"https:\/\/www.starline-france.fr\/index.php\/wp-json\/wp\/v2\/media?parent=786"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}