{"id":888,"date":"2026-05-08T10:32:47","date_gmt":"2026-05-08T08:32:47","guid":{"rendered":"https:\/\/tomasini-location.fr\/?page_id=888"},"modified":"2026-05-08T15:34:12","modified_gmt":"2026-05-08T13:34:12","slug":"contact","status":"publish","type":"page","link":"https:\/\/tomasini-location.fr\/en\/contact\/","title":{"rendered":"Contact us"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"888\" class=\"elementor elementor-888\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d3c2750 e-flex e-con-boxed e-con e-parent\" data-id=\"d3c2750\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t\t\t\n\t\t\t<img class=\"e-image-base \" \n\t\t\t\t\tdata-interaction-id=\"a577bb1\" \n\t\t \n\t\t \n\t\t\t\t\t\t\t\t\tid=\"616\"\n\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"https:\/\/tomasini-location.fr\/wp-content\/uploads\/2026\/03\/Location-vacances-Porticcio-avec-piscine-\u2013-Vue-mer.png\"\n\t\t\t\t\t\t\t\t\t\t\t\twidth=\"1869\"\n\t\t\t\t\t\t\t\t\t\t\t\theight=\"886\"\n\t\t\t\t\t\t\t\t\t\t\t\tsrcset=\"https:\/\/tomasini-location.fr\/wp-content\/uploads\/2026\/03\/Location-vacances-Porticcio-avec-piscine-\u2013-Vue-mer.png 1869w, https:\/\/tomasini-location.fr\/wp-content\/uploads\/2026\/03\/Location-vacances-Porticcio-avec-piscine-\u2013-Vue-mer-300x142.png 300w, https:\/\/tomasini-location.fr\/wp-content\/uploads\/2026\/03\/Location-vacances-Porticcio-avec-piscine-\u2013-Vue-mer-1024x485.png 1024w, https:\/\/tomasini-location.fr\/wp-content\/uploads\/2026\/03\/Location-vacances-Porticcio-avec-piscine-\u2013-Vue-mer-768x364.png 768w, https:\/\/tomasini-location.fr\/wp-content\/uploads\/2026\/03\/Location-vacances-Porticcio-avec-piscine-\u2013-Vue-mer-1536x728.png 1536w, https:\/\/tomasini-location.fr\/wp-content\/uploads\/2026\/03\/Location-vacances-Porticcio-avec-piscine-\u2013-Vue-mer-600x284.png 600w\"\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"Location vacances Porticcio avec piscine \u2013 Vue mer\"\n\t\t\t\t\t\t\/>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ec20fa6 e-flex e-con-boxed e-con e-parent\" data-id=\"ec20fa6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3223461 elementor-widget elementor-widget-html\" data-id=\"3223461\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"fr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Jost:wght@300;400;500&display=swap\" rel=\"stylesheet\">\n<style>\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n  :root {\n    --dune: #e8ddd0;\n    --terracotta: #c4714a;\n    --terra-dark: #a85a35;\n    --sea: #2d6b7a;\n    --dark: #1a1a1a;\n    --mid: #555;\n    --light: #888;\n  }\n\n  \/* Pas de body styling \u2014 s'int\u00e8gre dans Elementor *\/\n  .tl-form-wrap {\n    font-family: 'Jost', sans-serif;\n    width: 100%;\n    max-width: 1140px;\n    margin: 0 auto;\n    padding: 3rem 0;\n  }\n\n  \/* Header *\/\n  .tl-header {\n    text-align: center;\n    margin-bottom: 2.5rem;\n  }\n\n  .tl-eyebrow {\n    font-family: 'Jost', sans-serif;\n    font-weight: 300;\n    font-size: 0.7rem;\n    letter-spacing: 0.35em;\n    text-transform: uppercase;\n    color: var(--terracotta);\n    margin-bottom: 0.75rem;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 1rem;\n  }\n\n  .tl-eyebrow::before,\n  .tl-eyebrow::after {\n    content: '';\n    height: 1px;\n    width: 60px;\n    background: var(--terracotta);\n    opacity: 0.4;\n  }\n\n  .tl-header h2 {\n    font-family: 'Cormorant Garamond', serif;\n    font-weight: 300;\n    font-size: 2.8rem;\n    color: var(--dark);\n    line-height: 1.15;\n    margin-bottom: 0.5rem;\n  }\n\n  .tl-header h2 em {\n    font-style: italic;\n    color: var(--terracotta);\n  }\n\n  .tl-header p {\n    font-size: 0.82rem;\n    color: var(--light);\n    font-weight: 300;\n    letter-spacing: 0.03em;\n  }\n\n  \/* Grille 2 colonnes sur desktop *\/\n  .tl-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 2.5rem;\n    align-items: start;\n  }\n\n  \/* Colonne gauche : infos *\/\n  .tl-info {\n    padding: 2rem 0;\n  }\n\n  .tl-info-title {\n    font-family: 'Cormorant Garamond', serif;\n    font-size: 1.5rem;\n    font-weight: 400;\n    color: var(--dark);\n    margin-bottom: 1.2rem;\n  }\n\n  .tl-info-item {\n    display: flex;\n    align-items: flex-start;\n    gap: 0.85rem;\n    margin-bottom: 1rem;\n    font-size: 0.85rem;\n    color: var(--mid);\n    font-weight: 300;\n    line-height: 1.5;\n  }\n\n  .tl-info-icon {\n    font-size: 1rem;\n    margin-top: 1px;\n    flex-shrink: 0;\n  }\n\n  .tl-info-label {\n    font-weight: 500;\n    color: var(--dark);\n    font-size: 0.78rem;\n    letter-spacing: 0.05em;\n    display: block;\n    margin-bottom: 0.1rem;\n  }\n\n  .tl-divider {\n    height: 1px;\n    background: var(--dune);\n    margin: 1.5rem 0;\n  }\n\n  .tl-contact-note {\n    font-size: 0.78rem;\n    color: var(--light);\n    font-weight: 300;\n    line-height: 1.6;\n  }\n\n  .tl-contact-note a {\n    color: var(--terracotta);\n    text-decoration: none;\n    font-weight: 400;\n  }\n\n  \/* Colonne droite : formulaire *\/\n  .tl-card {\n    background: white;\n    border-radius: 2px;\n    padding: 2.2rem 2.4rem;\n    box-shadow: 0 8px 40px rgba(0,0,0,0.07), 0 2px 8px rgba(0,0,0,0.04);\n    position: relative;\n    overflow: hidden;\n  }\n\n  .tl-card::before {\n    content: '';\n    position: absolute;\n    top: 0; left: 0; right: 0;\n    height: 3px;\n    background: linear-gradient(90deg, var(--terracotta), var(--sea));\n  }\n\n  \/* Choix appartement *\/\n  .tl-apt-selector {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 0.65rem;\n    margin-bottom: 1.5rem;\n  }\n\n  .tl-apt-option { position: relative; }\n\n  .tl-apt-option input[type=\"radio\"] {\n    position: absolute;\n    opacity: 0;\n    width: 0; height: 0;\n  }\n\n  .tl-apt-label {\n    display: block;\n    border: 1.5px solid var(--dune);\n    border-radius: 2px;\n    padding: 0.85rem 0.9rem;\n    cursor: pointer;\n    transition: all 0.2s ease;\n    background: white;\n  }\n\n  .tl-apt-label:hover { border-color: var(--terracotta); background: #fdf9f6; }\n\n  .tl-apt-option input:checked + .tl-apt-label {\n    border-color: var(--terracotta);\n    background: #fdf6f2;\n  }\n\n  .tl-apt-name {\n    font-family: 'Cormorant Garamond', serif;\n    font-size: 1rem;\n    font-weight: 600;\n    color: var(--dark);\n    display: block;\n    margin-bottom: 0.15rem;\n  }\n\n  .tl-apt-detail {\n    font-size: 0.68rem;\n    color: var(--light);\n    font-weight: 300;\n    letter-spacing: 0.03em;\n  }\n\n  .tl-apt-dot {\n    width: 7px; height: 7px;\n    border-radius: 50%;\n    border: 1.5px solid var(--dune);\n    float: right;\n    margin-top: 2px;\n    transition: all 0.2s;\n  }\n\n  .tl-apt-option input:checked + .tl-apt-label .tl-apt-dot {\n    background: var(--terracotta);\n    border-color: var(--terracotta);\n  }\n\n  \/* Section label *\/\n  .tl-section-label {\n    font-size: 0.62rem;\n    letter-spacing: 0.22em;\n    text-transform: uppercase;\n    color: var(--light);\n    font-weight: 500;\n    margin-bottom: 0.65rem;\n    margin-top: 1.3rem;\n  }\n\n  \/* Champs *\/\n  .tl-field { margin-bottom: 0.85rem; }\n\n  .tl-field label {\n    display: block;\n    font-size: 0.68rem;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    color: var(--mid);\n    font-weight: 500;\n    margin-bottom: 0.35rem;\n  }\n\n  .tl-field input,\n  .tl-field select,\n  .tl-field textarea {\n    width: 100%;\n    border: 1.5px solid var(--dune);\n    border-radius: 2px;\n    padding: 0.65rem 0.85rem;\n    font-family: 'Jost', sans-serif;\n    font-size: 0.85rem;\n    font-weight: 300;\n    color: var(--dark);\n    background: white;\n    transition: border-color 0.2s, box-shadow 0.2s;\n    appearance: none;\n    -webkit-appearance: none;\n    outline: none;\n  }\n\n  .tl-field input:focus,\n  .tl-field select:focus,\n  .tl-field textarea:focus {\n    border-color: var(--terracotta);\n    box-shadow: 0 0 0 3px rgba(196, 113, 74, 0.08);\n  }\n\n  .tl-field textarea { resize: vertical; min-height: 80px; }\n\n  .tl-field select {\n    background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\");\n    background-repeat: no-repeat;\n    background-position: right 0.85rem center;\n    padding-right: 2.2rem;\n    cursor: pointer;\n  }\n\n  .tl-row-2 {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 0.65rem;\n  }\n\n  \/* GDPR *\/\n  .tl-gdpr {\n    display: flex;\n    align-items: flex-start;\n    gap: 0.6rem;\n    margin: 1.2rem 0 1.5rem;\n  }\n\n  .tl-gdpr input[type=\"checkbox\"] {\n    width: 15px; height: 15px;\n    min-width: 15px;\n    margin-top: 2px;\n    accent-color: var(--terracotta);\n    cursor: pointer;\n  }\n\n  .tl-gdpr-text {\n    font-size: 0.72rem;\n    color: var(--light);\n    font-weight: 300;\n    line-height: 1.5;\n  }\n\n  \/* Bouton *\/\n  .tl-btn {\n    width: 100%;\n    padding: 0.9rem 1.5rem;\n    background: var(--terracotta);\n    color: white;\n    border: none;\n    border-radius: 2px;\n    font-family: 'Jost', sans-serif;\n    font-size: 0.72rem;\n    font-weight: 500;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    cursor: pointer;\n    transition: all 0.25s ease;\n  }\n\n  .tl-btn:hover {\n    background: var(--terra-dark);\n    transform: translateY(-1px);\n    box-shadow: 0 6px 20px rgba(196,113,74,0.3);\n  }\n\n  .tl-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }\n\n  \/* Erreur *\/\n  .tl-error {\n    display: none;\n    background: #fdf0ed;\n    border: 1px solid #f0c4b4;\n    border-radius: 2px;\n    padding: 0.65rem 0.9rem;\n    font-size: 0.76rem;\n    color: var(--terracotta);\n    margin-bottom: 1rem;\n    text-align: center;\n  }\n\n  \/* Succ\u00e8s *\/\n  .tl-success {\n    display: none;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    text-align: center;\n    padding: 3rem 1.5rem;\n    min-height: 260px;\n  }\n\n  .tl-success-icon {\n    font-size: 2rem;\n    margin-bottom: 1.2rem;\n  }\n\n  .tl-success h3 {\n    font-family: 'Cormorant Garamond', serif;\n    font-weight: 300;\n    font-size: 1.7rem;\n    color: var(--dark);\n    margin-bottom: 0.5rem;\n  }\n\n  .tl-success p {\n    font-size: 0.8rem;\n    color: var(--light);\n    font-weight: 300;\n    line-height: 1.6;\n    max-width: 300px;\n  }\n\n  \/* Responsive *\/\n  @media (max-width: 768px) {\n    .tl-grid { grid-template-columns: 1fr; gap: 1.5rem; }\n    .tl-info { padding: 0; }\n    .tl-header h2 { font-size: 2.1rem; }\n    .tl-card { padding: 1.6rem 1.3rem; }\n    .tl-apt-selector { grid-template-columns: 1fr; }\n    .tl-row-2 { grid-template-columns: 1fr; }\n    .tl-form-wrap { padding: 1.5rem 0; }\n  }\n<\/style>\n<\/head>\n<body>\n\n<!-- ============================================================\n     FORMULAIRE TOMASINI LOCATION \u2014 \u00c0 coller dans un bloc HTML\n     Elementor ou WordPress sur la page de contact\/r\u00e9servation\n     ============================================================ -->\n\n<div class=\"tl-form-wrap\">\n\n  <!-- En-t\u00eate -->\n  <div class=\"tl-header\">\n    <div class=\"tl-eyebrow\">Porticcio \u00b7 Corse du Sud<\/div>\n    <h2>Demande de <em>r\u00e9servation<\/em><\/h2>\n    <p>R\u00e9ponse sous 24h \u00b7 R\u00e9servation directe sans frais de plateforme<\/p>\n  <\/div>\n\n  <div class=\"tl-grid\">\n\n    <!-- Colonne gauche : informations pratiques -->\n    <div class=\"tl-info\">\n      <p class=\"tl-info-title\">Pourquoi r\u00e9server en direct ?<\/p>\n\n      <div class=\"tl-info-item\">\n        <span class=\"tl-info-icon\">\ud83d\udcb6<\/span>\n        <div>\n          <span class=\"tl-info-label\">Meilleur tarif garanti<\/span>\n          Pas de frais de service Airbnb ou Booking. Le prix affich\u00e9 est le prix final.\n        <\/div>\n      <\/div>\n\n      <div class=\"tl-info-item\">\n        <span class=\"tl-info-icon\">\ud83e\udd1d<\/span>\n        <div>\n          <span class=\"tl-info-label\">Contact direct avec Ga\u00eblle<\/span>\n          R\u00e9ponse personnalis\u00e9e sous 24h pour confirmer vos dates et r\u00e9pondre \u00e0 vos questions.\n        <\/div>\n      <\/div>\n\n      <div class=\"tl-info-item\">\n        <span class=\"tl-info-icon\">\ud83d\uded2<\/span>\n        <div>\n          <span class=\"tl-info-label\">Service Zen disponible<\/span>\n          Courses et paniers gourmands corses pr\u00eats \u00e0 votre arriv\u00e9e, sur demande.\n        <\/div>\n      <\/div>\n\n      <div class=\"tl-info-item\">\n        <span class=\"tl-info-icon\">\ud83c\udfca<\/span>\n        <div>\n          <span class=\"tl-info-label\">Piscine & parking inclus<\/span>\n          Piscine priv\u00e9e chauff\u00e9e, parking s\u00e9curis\u00e9 et pool house barbecue inclus dans le s\u00e9jour.\n        <\/div>\n      <\/div>\n\n      <div class=\"tl-divider\"><\/div>\n\n      <p class=\"tl-contact-note\">\n        Une question avant de r\u00e9server ?<br>\n        Appelez Ga\u00eblle directement au <a href=\"tel:+33621488436\">+33 6 21 48 84 36<\/a><br>\n        ou \u00e9crivez \u00e0 <a href=\"mailto:tomasinigaelle23@gmail.com\">tomasinigaelle23@gmail.com<\/a>\n      <\/p>\n    <\/div>\n\n    <!-- Colonne droite : formulaire -->\n    <div class=\"tl-card\">\n      <div id=\"tl-form-content\">\n\n        <div id=\"tl-error\" class=\"tl-error\"><\/div>\n\n        <!-- Appartement -->\n        <div class=\"tl-section-label\">Appartement souhait\u00e9<\/div>\n        <div class=\"tl-apt-selector\">\n          <div class=\"tl-apt-option\">\n            <input type=\"radio\" name=\"appartement\" id=\"dolce\" value=\"Le Dolce Vita (F3 \u2013 90m\u00b2 \u2013 jusqu'\u00e0 6 personnes)\" checked>\n            <label class=\"tl-apt-label\" for=\"dolce\">\n              <span class=\"tl-apt-dot\"><\/span>\n              <span class=\"tl-apt-name\">Le Dolce Vita<\/span>\n              <span class=\"tl-apt-detail\">F3 \u00b7 90 m\u00b2 \u00b7 jusqu'\u00e0 6 pers.<\/span>\n            <\/label>\n          <\/div>\n          <div class=\"tl-apt-option\">\n            <input type=\"radio\" name=\"appartement\" id=\"bella\" value=\"Le Bella Vista (F4 \u2013 110m\u00b2 \u2013 jusqu'\u00e0 8 personnes)\">\n            <label class=\"tl-apt-label\" for=\"bella\">\n              <span class=\"tl-apt-dot\"><\/span>\n              <span class=\"tl-apt-name\">Le Bella Vista<\/span>\n              <span class=\"tl-apt-detail\">F4 \u00b7 110 m\u00b2 \u00b7 jusqu'\u00e0 8 pers.<\/span>\n            <\/label>\n          <\/div>\n        <\/div>\n\n        <!-- Dates -->\n        <div class=\"tl-section-label\">Dates de s\u00e9jour<\/div>\n        <div class=\"tl-row-2\">\n          <div class=\"tl-field\">\n            <label for=\"arrivee\">Arriv\u00e9e<\/label>\n            <input type=\"date\" id=\"arrivee\" required>\n          <\/div>\n          <div class=\"tl-field\">\n            <label for=\"depart\">D\u00e9part<\/label>\n            <input type=\"date\" id=\"depart\" required>\n          <\/div>\n        <\/div>\n\n        <!-- Voyageurs -->\n        <div class=\"tl-field\">\n          <label for=\"voyageurs\">Nombre de voyageurs<\/label>\n          <select id=\"voyageurs\" required>\n            <option value=\"\" disabled selected>S\u00e9lectionner...<\/option>\n            <option>1 personne<\/option>\n            <option>2 personnes<\/option>\n            <option>3 personnes<\/option>\n            <option>4 personnes<\/option>\n            <option>5 personnes<\/option>\n            <option>6 personnes<\/option>\n            <option>7 personnes<\/option>\n            <option>8 personnes<\/option>\n          <\/select>\n        <\/div>\n\n        <!-- Coordonn\u00e9es -->\n        <div class=\"tl-section-label\">Vos coordonn\u00e9es<\/div>\n        <div class=\"tl-row-2\">\n          <div class=\"tl-field\">\n            <label for=\"prenom\">Pr\u00e9nom<\/label>\n            <input type=\"text\" id=\"prenom\" placeholder=\"Marie\" required>\n          <\/div>\n          <div class=\"tl-field\">\n            <label for=\"nom\">Nom<\/label>\n            <input type=\"text\" id=\"nom\" placeholder=\"Dupont\" required>\n          <\/div>\n        <\/div>\n\n        <div class=\"tl-field\">\n          <label for=\"email\">E-mail<\/label>\n          <input type=\"email\" id=\"email\" placeholder=\"marie@exemple.fr\" required>\n        <\/div>\n\n        <div class=\"tl-field\">\n          <label for=\"telephone\">T\u00e9l\u00e9phone<\/label>\n          <input type=\"tel\" id=\"telephone\" placeholder=\"+33 6 00 00 00 00\">\n        <\/div>\n\n        <div class=\"tl-field\">\n          <label for=\"message\">Message (optionnel)<\/label>\n          <textarea id=\"message\" placeholder=\"Questions, demandes particuli\u00e8res, service Zen...\"><\/textarea>\n        <\/div>\n\n        <!-- GDPR -->\n        <div class=\"tl-gdpr\">\n          <input type=\"checkbox\" id=\"gdpr\" required>\n          <label for=\"gdpr\" class=\"tl-gdpr-text\">\n            J'accepte que mes donn\u00e9es soient utilis\u00e9es pour traiter ma demande de r\u00e9servation par Tomasini Location. Elles ne seront pas transmises \u00e0 des tiers.\n          <\/label>\n        <\/div>\n\n        <button class=\"tl-btn\" id=\"tl-btn\" onclick=\"tlSubmit(event)\">\n          Envoyer ma demande de r\u00e9servation\n        <\/button>\n      <\/div>\n\n      <!-- Confirmation -->\n      <div class=\"tl-success\" id=\"tl-success\">\n        <div class=\"tl-success-icon\">\ud83c\udf0a<\/div>\n        <h3>Demande envoy\u00e9e !<\/h3>\n        <p>Merci pour votre int\u00e9r\u00eat. Ga\u00eblle vous r\u00e9pondra dans les meilleurs d\u00e9lais pour confirmer votre s\u00e9jour \u00e0 Porticcio.<\/p>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<script>\n  const today = new Date().toISOString().split('T')[0];\n  document.getElementById('arrivee').min = today;\n  document.getElementById('depart').min = today;\n  document.getElementById('arrivee').addEventListener('change', function() {\n    document.getElementById('depart').min = this.value;\n  });\n\n  function tlSubmit(e) {\n    e.preventDefault();\n    const err = document.getElementById('tl-error');\n    err.style.display = 'none';\n\n    const arrivee   = document.getElementById('arrivee').value;\n    const depart    = document.getElementById('depart').value;\n    const prenom    = document.getElementById('prenom').value.trim();\n    const nom       = document.getElementById('nom').value.trim();\n    const email     = document.getElementById('email').value.trim();\n    const voyageurs = document.getElementById('voyageurs').value;\n    const gdpr      = document.getElementById('gdpr').checked;\n\n    if (!arrivee || !depart || !prenom || !nom || !email || !voyageurs || !gdpr) {\n      err.textContent = 'Merci de remplir tous les champs obligatoires.';\n      err.style.display = 'block';\n      return;\n    }\n    if (new Date(depart) <= new Date(arrivee)) {\n      err.textContent = \"La date de d\u00e9part doit \u00eatre apr\u00e8s la date d'arriv\u00e9e.\";\n      err.style.display = 'block';\n      return;\n    }\n\n    const apt      = document.querySelector('input[name=\"appartement\"]:checked').value;\n    const tel      = document.getElementById('telephone').value;\n    const msg      = document.getElementById('message').value;\n    const nuits    = Math.round((new Date(depart) - new Date(arrivee)) \/ 86400000);\n    const fmt      = d => new Date(d).toLocaleDateString('fr-FR', {weekday:'long', day:'numeric', month:'long', year:'numeric'});\n\n    const btn = document.getElementById('tl-btn');\n    btn.disabled = true;\n    btn.textContent = 'Envoi en cours...';\n\n    const sujet = encodeURIComponent(`Demande de r\u00e9servation \u2013 ${apt.split(' (')[0]} \u2013 ${prenom} ${nom}`);\n    const corps = encodeURIComponent(\n`Nouvelle demande de r\u00e9servation \u2014 tomasini-location.fr\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nAPPARTEMENT : ${apt}\n\nS\u00c9JOUR\nArriv\u00e9e : ${fmt(arrivee)}\nD\u00e9part  : ${fmt(depart)}\nDur\u00e9e   : ${nuits} nuit${nuits > 1 ? 's' : ''}\nVoyageurs : ${voyageurs}\n\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\nCONTACT\nNom    : ${prenom} ${nom}\nEmail  : ${email}\nT\u00e9l    : ${tel || 'Non renseign\u00e9'}\n\nMESSAGE\n${msg || 'Aucun message particulier.'}\n`);\n\n    window.location.href = `mailto:tomasinigaelle23@gmail.com?subject=${sujet}&body=${corps}`;\n\n    setTimeout(() => {\n      document.getElementById('tl-form-content').style.display = 'none';\n      const s = document.getElementById('tl-success');\n      s.style.display = 'flex';\n    }, 800);\n  }\n<\/script>\n\n<\/body>\n<\/html>\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>Porticcio \u00b7 Corse du Sud Demande de r\u00e9servation R\u00e9ponse sous 24h \u00b7 R\u00e9servation directe sans frais de plateforme Pourquoi r\u00e9server en direct ? \ud83d\udcb6 Meilleur tarif garanti Pas de frais de service Airbnb ou Booking. Le prix affich\u00e9 est le prix final. \ud83e\udd1d Contact direct avec Ga\u00eblle R\u00e9ponse personnalis\u00e9e sous 24h pour confirmer vos dates [&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-888","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tomasini-location.fr\/en\/wp-json\/wp\/v2\/pages\/888","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tomasini-location.fr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tomasini-location.fr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tomasini-location.fr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tomasini-location.fr\/en\/wp-json\/wp\/v2\/comments?post=888"}],"version-history":[{"count":6,"href":"https:\/\/tomasini-location.fr\/en\/wp-json\/wp\/v2\/pages\/888\/revisions"}],"predecessor-version":[{"id":1140,"href":"https:\/\/tomasini-location.fr\/en\/wp-json\/wp\/v2\/pages\/888\/revisions\/1140"}],"wp:attachment":[{"href":"https:\/\/tomasini-location.fr\/en\/wp-json\/wp\/v2\/media?parent=888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}