{"id":4909,"date":"2026-02-24T10:41:54","date_gmt":"2026-02-24T09:41:54","guid":{"rendered":"https:\/\/playcar.net\/rates\/rental-services-new\/"},"modified":"2026-02-27T18:56:06","modified_gmt":"2026-02-27T17:56:06","slug":"rental-rates","status":"publish","type":"page","link":"https:\/\/playcar.net\/en\/rates\/rental-rates\/","title":{"rendered":"Rental Rates"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4909\" class=\"elementor elementor-4909 elementor-4572\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-483ad6b e-con-full e-flex e-con e-parent\" data-id=\"483ad6b\" data-element_type=\"container\" data-e-type=\"container\" id=\"loader\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;position&quot;:&quot;fixed&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-760b9c5 elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"760b9c5\" 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<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 186.5 32.88\" alt=\"playcar logo\"><g fill=\"#000000\"><path d=\"M34.38 13.62c.03 8.12-4.98 13.5-11.7 13.52-4.64.02-7.82-2.41-8.79-6.74l-2.54 12.43L0 32.88 5.84 4.85l11.35-.05-.86 4.01c2.07-3.18 5.24-5.01 9.11-5.03 5.77-.02 8.92 4.04 8.95 9.83M22.64 14.9c0-2.11-1.33-3.24-3.41-3.23-2.74.01-4.26 2.06-4.25 4.39 0 2.11 1.29 3.27 3.37 3.26 2.74-.01 4.3-2.17 4.29-4.42M34.54 26.29 40.02.05 51.37 0 45.9 26.25l-11.36.04zM77.24 14.03c0 1.13-.14 2.33-.42 3.64l-1.72 8.46-10.99.04.61-2.92c-1.82 2.23-4.26 3.66-7.91 3.67-4.64.02-7.28-2.74-7.29-6.02-.02-4.88 4.31-7.52 9.61-7.54 3.21-.01 5.52.96 6.88 2.96.1-3.28-2.39-4.8-6.15-4.78-2.99.01-6.09.9-8.24 2.07l1.54-7.33c2.84-1.5 6.3-2.65 11.34-2.67 7.99-.03 12.72 3.74 12.75 10.4m-11.73 5.36c0-1.09-1.03-1.89-2.6-1.88-1.82 0-3.24.85-3.24 2.31 0 1.09.99 1.85 2.56 1.85 1.82 0 3.28-.89 3.28-2.27M97.24 4.48l12.49-.06-20.08 28.09-12.81.06 6.35-8.48-5.44-19.54 11.35-.04 1.87 10.01 6.27-10.04zM106.38 16.49c-.04-8.7 7.36-13.07 17.1-13.11 4.53-.02 7.56 1.03 9.76 2.18l-1.54 7.4c-1.24-.83-3.69-1.59-6.25-1.58-4.31.02-7.08 1.59-7.07 4 0 1.75 1.88 3.38 6.04 3.36 2.48-.01 4.74-.68 6.46-1.41l-1.47 7.18c-2.88 1.4-5.98 2.21-9.59 2.23-9.2.04-13.42-4.72-13.44-10.25m53.61-2.8c0 1.13-.14 2.33-.42 3.64l-1.72 8.46-10.99.04.61-2.92c-1.82 2.23-4.26 3.66-7.91 3.67-4.64.02-7.28-2.74-7.29-6.02-.02-4.88 4.31-7.52 9.61-7.54 3.21-.01 5.52.96 6.88 2.96.1-3.28-2.39-4.8-6.15-4.78-2.99.01-6.09.9-8.24 2.07l1.54-7.33c2.84-1.5 6.3-2.65 11.34-2.67 7.99-.03 12.72 3.74 12.75 10.4m-11.73 5.36c0-1.09-1.03-1.89-2.6-1.88-1.83 0-3.25.85-3.24 2.31 0 1.09.99 1.85 2.56 1.85 1.82 0 3.28-.89 3.28-2.27M186.5 4.33l-2.04 9.81c-.59-.4-1.79-.83-3.54-.82-4.05.02-6.85 2.14-7.96 7.5h-.04l-1 4.92-11.39.05 4.51-21.58 11.1-.04-1.5 7.22c2.13-5.43 4.79-7.81 8.66-7.83 1.53 0 2.67.46 3.22.79\"><\/path><\/g><\/svg>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4bb0d33 e-con-full e-flex e-con e-parent\" data-id=\"4bb0d33\" data-element_type=\"container\" data-e-type=\"container\" id=\"calculator-ui\">\n\t\t<div class=\"elementor-element elementor-element-6a89af4 e-con-full e-flex e-con e-child\" data-id=\"6a89af4\" data-element_type=\"container\" data-e-type=\"container\" id=\"step-form\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9119692 animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"9119692\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInDown&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Find the rental that's right for you<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eaba0ea animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"eaba0ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInDown&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Set the period and discover the available categories with estimated cost. <br> Then book everything from the app.<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a426f24 form-container elementor-button-align-start elementor-mobile-button-align-stretch elementor-widget elementor-widget-form\" data-id=\"a426f24\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;step_next_label&quot;:&quot;Next&quot;,&quot;step_previous_label&quot;:&quot;Previous&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" name=\"form_servizi_rental\" aria-label=\"form_servizi_rental\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"4909\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"a426f24\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"Rental Rates\" \/>\n\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"queried_id\" value=\"4909\"\/>\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-date elementor-field-group elementor-column elementor-field-group-data_inizio elementor-col-30 elementor-sm-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-data_inizio\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tStart date\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\n\t\t<input type=\"date\" name=\"form_fields[data_inizio]\" id=\"form-field-data_inizio\" class=\"elementor-field elementor-size-sm  elementor-field-textual elementor-date-field\" pattern=\"[0-9]{4}-[0-9]{2}-[0-9]{2}\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-time elementor-field-group elementor-column elementor-field-group-ora_inizio elementor-col-20 elementor-sm-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-ora_inizio\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tStart time\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<input type=\"time\" name=\"form_fields[ora_inizio]\" id=\"form-field-ora_inizio\" class=\"elementor-field elementor-size-sm  elementor-field-textual elementor-time-field\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-date elementor-field-group elementor-column elementor-field-group-data_fine elementor-col-30 elementor-sm-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-data_fine\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tEnd date\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\n\t\t<input type=\"date\" name=\"form_fields[data_fine]\" id=\"form-field-data_fine\" class=\"elementor-field elementor-size-sm  elementor-field-textual elementor-date-field\" pattern=\"[0-9]{4}-[0-9]{2}-[0-9]{2}\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-time elementor-field-group elementor-column elementor-field-group-ora_fine elementor-col-20 elementor-sm-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-ora_fine\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tEnd time\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<input type=\"time\" name=\"form_fields[ora_fine]\" id=\"form-field-ora_fine\" class=\"elementor-field elementor-size-sm  elementor-field-textual elementor-time-field elementor-use-native\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Calculate<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4e37f76 elementor-widget elementor-widget-html\" data-id=\"4e37f76\" 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<script>jQuery(function($){\r\n\r\n  function isMobile(){\r\n    return window.matchMedia && window.matchMedia(\"(max-width: 767px)\").matches;\r\n  }\r\n\r\n  \/\/ =========================\r\n  \/\/ TIME LIST PICKER (custom)\r\n  \/\/ =========================\r\n  function buildTimeOptions(stepMin=30){\r\n    const out = [];\r\n    for(let h=0; h<24; h++){\r\n      for(let m=0; m<60; m+=stepMin){\r\n        out.push(`${String(h).padStart(2,\"0\")}:${String(m).padStart(2,\"0\")}`);\r\n      }\r\n    }\r\n    return out;\r\n  }\r\n\r\n  function injectTimeOverlayCSS(){\r\n    if (document.getElementById(\"pc-time-css\")) return;\r\n    const css = document.createElement(\"style\");\r\n    css.id = \"pc-time-css\";\r\n    css.textContent = `\r\n      .pc-time-overlay{\r\n        position: fixed;\r\n        inset: 0;\r\n        background: rgba(0,0,0,.35);\r\n        display: none;\r\n        align-items: center;\r\n        justify-content: center;\r\n        z-index: 99999;\r\n        padding: 16px;\r\n        font-family: \"Inter Tight\", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\r\n      }\r\n      .pc-time-overlay.open{ display: flex; }\r\n\r\n      .pc-time-panel{\r\n        width: min(520px, 100%);\r\n        background: #fff;\r\n        border-radius: 22px;\r\n        box-shadow: 0 18px 60px rgba(0,0,0,.25);\r\n        overflow: hidden;\r\n      }\r\n      .pc-time-head{\r\n        display:flex;\r\n        align-items:center;\r\n        justify-content:space-between;\r\n        padding: 14px 16px;\r\n        border-bottom: 1px solid rgba(0,0,0,.08);\r\n      }\r\n      .pc-time-title{\r\n        font-size: 18px;\r\n        font-weight: 800;\r\n        letter-spacing: -0.02em;\r\n      }\r\n      .pc-time-close{\r\n        width: 44px;\r\n        height: 44px;\r\n        border-radius: 999px;\r\n        border: 0;\r\n        background: rgba(0,0,0,.06);\r\n        font-size: 22px;\r\n        cursor: pointer;\r\n        line-height: 44px;\r\n      }\r\n\r\n      .pc-time-list{\r\n        max-height: min(70vh, 640px);\r\n        overflow: auto;\r\n        padding: 12px;\r\n        display: grid;\r\n        grid-template-columns: repeat(3, minmax(0, 1fr));\r\n        gap: 12px;\r\n      }\r\n\r\n      .pc-time-item{\r\n        border: 1px solid rgba(0,0,0,.10);\r\n        background: #fff;\r\n        border-radius: 18px;\r\n        padding: 16px 10px;\r\n        font-size: 18px;\r\n        font-weight: 800;\r\n        cursor: pointer;\r\n      }\r\n      .pc-time-item:hover{ background: rgba(0,0,0,.04); }\r\n      .pc-time-item.active{\r\n        background: #00b3ad;\r\n        border-color: #00b3ad;\r\n        color: #fff;\r\n      }\r\n\r\n      \/* Mobile: stile \u201ciOS-like\u201d (1 colonna, bottoni grandi, scroll centrato) *\/\r\n      @media (max-width: 767px){\r\n        .pc-time-panel{\r\n          width: min(460px, 100%);\r\n          border-radius: 26px;\r\n        }\r\n        .pc-time-list{\r\n          grid-template-columns: 1fr;\r\n          gap: 10px;\r\n          padding: 14px;\r\n        }\r\n        .pc-time-item{\r\n          font-size: 22px;\r\n          padding: 18px 14px;\r\n          border-radius: 22px;\r\n        }\r\n      }\r\n\r\n      \/* IMPORTANT: se per qualsiasi motivo appare il timepicker flatpickr, lo nascondiamo *\/\r\n      .flatpickr-calendar.hasTime.noCalendar{ display:none !important; }\r\n    `;\r\n    document.head.appendChild(css);\r\n  }\r\n\r\n  function attachTimeListPicker(inputEl, { step=30, defaultValue=\"12:00\" } = {}){\r\n    if (!inputEl || inputEl.dataset.timeListBound) return;\r\n    inputEl.dataset.timeListBound = \"1\";\r\n\r\n    \/\/ Kill eventuale flatpickr time attaccato da Elementor\r\n    if (inputEl._flatpickr) {\r\n      const v = inputEl.value;\r\n      inputEl._flatpickr.destroy();\r\n      inputEl.value = v;\r\n    }\r\n\r\n    \/\/ forza input testuale per evitare picker nativi\r\n    inputEl.setAttribute(\"type\",\"text\");\r\n    inputEl.setAttribute(\"inputmode\",\"numeric\");\r\n    inputEl.setAttribute(\"autocomplete\",\"off\");\r\n    inputEl.setAttribute(\"placeholder\",\"--:--\");\r\n    inputEl.setAttribute(\"readonly\",\"readonly\");\r\n\r\n    if (!inputEl.value) inputEl.value = defaultValue;\r\n\r\n    const options = buildTimeOptions(step);\r\n\r\n    const overlay = document.createElement(\"div\");\r\n    overlay.className = \"pc-time-overlay\";\r\n    overlay.innerHTML = `\r\n      <div class=\"pc-time-panel\" role=\"dialog\" aria-modal=\"true\"><div class=\"pc-time-head\"><div class=\"pc-time-title\">Seleziona orario<\/div><button type=\"button\" class=\"pc-time-close\" aria-label=\"Chiudi\">\u00d7<\/button><\/div><div class=\"pc-time-list\" tabindex=\"0\"><\/div><\/div>`;\r\n    document.body.appendChild(overlay);\r\n\r\n    const list = overlay.querySelector(\".pc-time-list\");\r\n    const closeBtn = overlay.querySelector(\".pc-time-close\");\r\n\r\n    list.innerHTML = options.map(t => `\r\n      <button type=\"button\" class=\"pc-time-item\" data-time=\"${t}\">${t}\r\n      <\/button>`).join(\"\");\r\n\r\n    function open(){\r\n      overlay.classList.add(\"open\");\r\n\r\n      const current = (inputEl.value || \"\").slice(0,5);\r\n      overlay.querySelectorAll(\".pc-time-item\").forEach(b => b.classList.remove(\"active\"));\r\n\r\nconst active = overlay.querySelector(`.pc-time-item[data-time=\"${current}\"]`);\r\n      if (active){\r\n        active.classList.add(\"active\");\r\n        active.scrollIntoView({ block: \"center\" });\r\n      }\r\n    }\r\n    function close(){ overlay.classList.remove(\"open\"); }\r\n\r\n    inputEl.addEventListener(\"click\", (e) => { e.preventDefault(); open(); });\r\n    closeBtn.addEventListener(\"click\", close);\r\n    overlay.addEventListener(\"click\", (e) => { if (e.target === overlay) close(); });\r\n    document.addEventListener(\"keydown\", (e) => { if (e.key === \"Escape\") close(); });\r\n\r\n    list.addEventListener(\"click\", (e) => {\r\n      const btn = e.target.closest(\".pc-time-item\");\r\n      if (!btn) return;\r\n      inputEl.value = btn.dataset.time;\r\n      inputEl.dispatchEvent(new Event(\"change\", { bubbles: true }));\r\n      close();\r\n    });\r\n  }\r\n\r\n  \/\/ =========================\r\n  \/\/ DATE PICKER (flatpickr)\r\n  \/\/ - no past days\r\n  \/\/ - can't go prev month before current\r\n  \/\/ - END minDate = START (disabled prima)\r\n  \/\/ - no outside days\r\n  \/\/ =========================\r\n  function clampPrevArrow(fp){\r\n    const cal = fp.calendarContainer;\r\n    if (!cal) return;\r\n\r\n    const prev = cal.querySelector(\".flatpickr-prev-month\");\r\n    if (!prev) return;\r\n\r\n    const today = new Date();\r\n    const currentMonthStart = new Date(today.getFullYear(), today.getMonth(), 1);\r\n    const viewingMonthStart = new Date(fp.currentYear, fp.currentMonth, 1);\r\n\r\n    const blockPrev = viewingMonthStart <= currentMonthStart;\r\n    prev.style.pointerEvents = blockPrev ? \"none\" : \"\";\r\n    prev.style.opacity = blockPrev ? \"0.25\" : \"\";\r\n  }\r\n\r\n  function initDatePickers(){\r\n    if (!window.flatpickr) return false;\r\n\r\n    const dateStart = document.getElementById(\"form-field-data_inizio\");\r\n    const dateEnd   = document.getElementById(\"form-field-data_fine\");\r\n    if (!dateStart || !dateEnd) return false;\r\n\r\n    const itLocale = (flatpickr.l10ns && (flatpickr.l10ns.it || flatpickr.l10ns.italian)) || null;\r\n    const months = isMobile() ? 1 : 2;\r\n\r\n    \/\/ Destroy se gi\u00e0 attivi\r\n    [dateStart, dateEnd].forEach(el => {\r\n      if (el && el._flatpickr) {\r\n        const v = el.value;\r\n        el._flatpickr.destroy();\r\n        el.value = v;\r\n      }\r\n    });\r\n\r\n    \/\/ END picker prima, cos\u00ec START pu\u00f2 aggiornarlo\r\n    const endPicker = flatpickr(dateEnd, {\r\n      dateFormat: \"Y-m-d\",\r\n      disableMobile: true,\r\n      showMonths: months,\r\n      showOutsideDays: false,     \/\/ <-- NO giorni fuori mese\r\n      minDate: \"today\",\r\n      locale: itLocale || undefined,\r\n      onReady: (sd, ds, fp) => clampPrevArrow(fp),\r\n      onOpen: (sd, ds, fp) => clampPrevArrow(fp),\r\n      onMonthChange: (sd, ds, fp) => clampPrevArrow(fp),\r\n      onYearChange: (sd, ds, fp) => clampPrevArrow(fp)\r\n    });\r\n\r\n    const startPicker = flatpickr(dateStart, {\r\n      dateFormat: \"Y-m-d\",\r\n      disableMobile: true,\r\n      showMonths: months,\r\n      showOutsideDays: false,\r\n      minDate: \"today\",\r\n      locale: itLocale || undefined,\r\n      onReady: (sd, ds, fp) => clampPrevArrow(fp),\r\n      onOpen: (sd, ds, fp) => clampPrevArrow(fp),\r\n      onMonthChange: (sd, ds, fp) => clampPrevArrow(fp),\r\n      onYearChange: (sd, ds, fp) => clampPrevArrow(fp),\r\n\r\n      \/\/ \u2b50 QUI: quando selezioni START, aggiorniamo END\r\n      onChange: function(selectedDates){\r\n        const dStart = selectedDates && selectedDates[0] ? selectedDates[0] : null;\r\n        if (!dStart) return;\r\n\r\n        \/\/ disabilita tutte le date prima della start sulla fine\r\n        endPicker.set(\"minDate\", dStart);\r\n\r\n        \/\/ se end gi\u00e0 selezionata ma \u00e8 < start, la puliamo\r\n        const currentEnd = endPicker.selectedDates && endPicker.selectedDates[0] ? endPicker.selectedDates[0] : null;\r\n        if (currentEnd && currentEnd.getTime() < dStart.getTime()){\r\n          endPicker.clear();\r\n        }\r\n        \/\/ auto-open end date dopo scelta start\r\n        setTimeout(() => {\r\n          dateEnd.focus();\r\n          if (dateEnd._flatpickr) dateEnd._flatpickr.open();\r\n        }, 80);\r\n      }\r\n    });\r\n\r\n    \/\/ Se c\u2019\u00e8 gi\u00e0 una start precompilata, clamp END subito\r\n    if (dateStart.value) {\r\n      const d = startPicker.parseDate(dateStart.value, \"Y-m-d\");\r\n      if (d) endPicker.set(\"minDate\", d);\r\n    }\r\n\r\n    return true;\r\n  }\r\n\r\n  \/\/ =========================\r\n  \/\/ INIT ALL\r\n  \/\/ =========================\r\n  function initAll(){\r\n    injectTimeOverlayCSS();\r\n    initDatePickers();\r\n\r\n    const timeStart = document.getElementById(\"form-field-ora_inizio\");\r\n    const timeEnd   = document.getElementById(\"form-field-ora_fine\");\r\n    attachTimeListPicker(timeStart, { step: 30, defaultValue: \"12:00\" });\r\n    attachTimeListPicker(timeEnd,   { step: 30, defaultValue: \"12:00\" });\r\n  }\r\n\r\n  const t = setInterval(() => {\r\n    const ds = document.getElementById(\"form-field-data_inizio\");\r\n    const ts = document.getElementById(\"form-field-ora_inizio\");\r\n    if (ds && ts){\r\n      initAll();\r\n      clearInterval(t);\r\n    }\r\n  }, 250);\r\n\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c8c85f9 e-con-full e-flex e-con e-child\" data-id=\"c8c85f9\" data-element_type=\"container\" data-e-type=\"container\" id=\"alert\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b40a4ff e-con-full e-flex e-con e-child\" data-id=\"b40a4ff\" data-element_type=\"container\" data-e-type=\"container\" id=\"date-summary\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8053e3a printable elementor-widget elementor-widget-heading\" data-id=\"8053e3a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Your dates<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-029ee60 e-con-full e-flex e-con e-child\" data-id=\"029ee60\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a702d54 elementor-widget elementor-widget-html\" data-id=\"a702d54\" 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<div>From: <strong id=\"sum-from\">-<\/strong><\/div>\r\n<div>To: <strong id=\"sum-to\">-<\/strong><\/div>\r\n<div>Rental days: <strong id=\"sum-days\">-<\/strong><\/div>\r\n<div>Duration: <strong id=\"sum-duration\">-<\/strong><\/div>\r\n<a href=\"#\" id=\"edit-dates\">Edit dates<\/a>\r\n  <a href=\"#\" id=\"save-pdf\">Save as PDF<\/a>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4f26882 e-con-full e-flex e-con e-child\" data-id=\"4f26882\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-0d1fc1f e-con-full e-flex e-con e-child\" data-id=\"0d1fc1f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-10f21eb elementor-widget elementor-widget-n-accordion\" data-id=\"10f21eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:250,&quot;sizes&quot;:[]},&quot;default_state&quot;:&quot;all_collapsed&quot;,&quot;max_items_expended&quot;:&quot;one&quot;}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1770\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1770\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h4 class=\"e-n-accordion-item-title-text\"> How to proceed with the rental: <\/h4><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-circle-up\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-circle-down\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1770\" class=\"elementor-element elementor-element-6fe9c5e e-con-full e-flex e-con e-child\" data-id=\"6fe9c5e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-df2e4e0 elementor-align-start elementor-widget__width-initial printable elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"df2e4e0\" 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\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-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 xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"Livello_1\" viewBox=\"0 0 24 24\"><path d=\"M2.37,23.82c-.71,0-1.26-.2-1.63-.57s-.56-.92-.56-1.64V2.37C.18,1.66.37,1.11.74.74S1.66.17,2.37.18h19.26c.71,0,1.25.18,1.62.56s.56.92.56,1.63v19.25c-.01,1.46-.74,2.19-2.19,2.21H2.37ZM2.25,22h19.5c.08,0,.14-.02.18-.07.05-.05.07-.11.06-.19V2.25c0-.08-.01-.14-.06-.19s-.11-.07-.18-.07H2.25c-.08,0-.14.02-.18.07-.05.05-.07.11-.08.19v19.49c0,.08.03.15.08.19s.11.07.18.07ZM13.91,5.47v13.05h-2.76v-9.67h-.11c-.09.14-.26.28-.49.43-.23.15-.53.27-.9.38s-.79.16-1.27.16v-2.2c.42,0,.8-.07,1.14-.22.34-.15.64-.33.88-.56.25-.22.44-.46.58-.71s.21-.47.22-.67h2.7Z\"><\/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\">Download the Playcar Car Sharing app<\/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\">\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 xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"Livello_1\" viewBox=\"0 0 24 24\"><path d=\"M2.37,23.82c-.71,0-1.26-.2-1.63-.57-.37-.37-.56-.92-.56-1.64V2.37C.18,1.66.37,1.11.74.74c.37-.38.92-.56,1.63-.56h19.26c.71,0,1.25.18,1.62.56s.56.92.57,1.63v19.25c-.01,1.46-.74,2.19-2.19,2.21H2.37ZM2.25,22h19.5c.08,0,.14-.02.18-.07.05-.05.07-.11.06-.19V2.25c0-.08-.02-.14-.06-.19s-.11-.07-.18-.07H2.25c-.08,0-.14.02-.18.07-.05.05-.07.11-.08.19v19.49c0,.08.03.15.08.19.05.05.11.07.18.07ZM7.41,18.51v-1.98l4.64-4.31c.4-.38.73-.72,1-1.03.27-.31.47-.61.61-.9s.21-.61.21-.96c0-.39-.09-.71-.26-.99-.17-.27-.41-.49-.71-.64s-.64-.23-1.02-.23-.74.08-1.04.24c-.3.16-.53.39-.69.69-.16.3-.24.66-.24,1.08h-2.63c0-.86.19-1.6.58-2.23s.93-1.11,1.63-1.46c.7-.34,1.5-.52,2.41-.52s1.74.17,2.43.49c.7.33,1.24.79,1.62,1.37.38.58.58,1.25.58,2.01,0,.49-.1.97-.29,1.45-.19.48-.54,1.01-1.03,1.59-.49.59-1.19,1.29-2.08,2.1l-1.91,1.87v.1h5.48v2.25H7.41Z\"><\/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\">Register on the app<\/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\">\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 xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"Livello_1\" viewBox=\"0 0 24 24\"><path d=\"M2.37,23.82c-.71,0-1.26-.2-1.63-.57s-.56-.92-.56-1.64V2.37C.18,1.66.37,1.11.74.74c.37-.38.92-.56,1.63-.56h19.26c.71,0,1.25.18,1.62.56.37.38.56.92.56,1.63v19.25c-.01,1.46-.74,2.2-2.19,2.21H2.37ZM2.25,22h19.5c.08,0,.14-.02.18-.07.05-.05.07-.11.06-.19V2.25c0-.08-.01-.14-.06-.19-.05-.05-.11-.08-.18-.08H2.25c-.08,0-.14.02-.18.08-.05.05-.07.11-.08.19v19.49c0,.08.03.15.08.19.05.05.11.07.18.07ZM6.93,14.83h2.78c.03.33.14.61.34.85.2.24.46.42.78.55.32.12.68.19,1.08.19.42,0,.79-.07,1.11-.21.32-.14.57-.35.76-.62.18-.27.27-.59.27-.95,0-.36-.08-.68-.27-.97-.19-.28-.46-.51-.83-.67s-.82-.25-1.35-.24h-1.4v-1.92l2.89-3.01v-.09h-5.49v-2.26h8.88v2l-3.51,3.54v.11c.92.09,1.67.32,2.25.68.58.37,1.01.82,1.29,1.34.28.53.42,1.08.42,1.67,0,.77-.22,1.45-.66,2.03-.44.58-1.04,1.04-1.79,1.37s-1.62.49-2.58.49-1.79-.16-2.53-.48c-.74-.32-1.32-.77-1.74-1.35-.43-.58-.65-1.26-.68-2.03Z\"><\/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\">Add your license, wait for approval and enter a payment method<\/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\">\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 xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"Livello_1\" viewBox=\"0 0 24 24\"><path d=\"M2.37,23.82c-.71,0-1.26-.2-1.63-.57-.37-.37-.56-.92-.56-1.64V2.37C.18,1.66.37,1.11.74.74c.37-.38.92-.56,1.63-.56h19.26c.71,0,1.25.18,1.62.56.37.38.56.92.57,1.63v19.25c-.01,1.46-.74,2.2-2.19,2.21H2.37ZM2.25,22h19.5c.08,0,.14-.02.18-.07.05-.05.07-.11.06-.19V2.25c0-.08-.02-.14-.06-.19-.05-.05-.11-.08-.18-.08H2.25c-.08,0-.14.02-.18.08-.05.05-.07.11-.08.19v19.49c0,.08.03.15.08.19s.11.07.18.07ZM6.44,16.22v-2.16l4.87-8.59h2.65l-4.76,8.44v.1h7.76v2.21H6.44ZM12.7,18.51v-2.94l.09-.98v-4.22h2.5v8.14h-2.59Z\"><\/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\">Find your preferred car by clicking on the Playcar logo on the map (P button at the bottom), choose Rental mode, select Check-in and Check-out dates, choose the vehicle category and confirm the booking<\/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<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2aa71a9 e-con-full e-flex e-con e-child\" data-id=\"2aa71a9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8c41422 elementor-widget elementor-widget-n-accordion\" data-id=\"8c41422\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:250,&quot;sizes&quot;:[]},&quot;default_state&quot;:&quot;all_collapsed&quot;,&quot;max_items_expended&quot;:&quot;one&quot;}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1470\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1470\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h4 class=\"e-n-accordion-item-title-text\"> Useful info <\/h4><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-circle-up\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-arrow-circle-down\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1470\" class=\"elementor-element elementor-element-9eb97a6 e-con-full e-flex e-con e-child\" data-id=\"9eb97a6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-89564d1 printable elementor-align-start elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"89564d1\" 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\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-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-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.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\">No security deposit required<\/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\">\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-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.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\">  No credit card required \u2013 we also accept debit and prepaid cards<\/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\">\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-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.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\">  RC and CDW insurance included<\/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\">\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-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.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\">No charge for additional drivers<\/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\">\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-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.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\">Access to ZTL zones in Cagliari and Quartu Sant'Elena<\/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\">\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-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.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\">Free parking in blue zones in Cagliari and Quartu Sant'Elena<\/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\">\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-info-circle\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"><\/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\">Fuel is not included (the car must be returned with the same fuel level)<\/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\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/wa.me\/393317102349\">\n\n\t\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-fab-whatsapp-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z\"><\/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\">Contact us on WhatsApp if you need more information<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\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<\/details>\n\t\t\t\t\t<\/div>\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<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-875aac4 e-con-full e-flex e-con e-child\" data-id=\"875aac4\" data-element_type=\"container\" data-e-type=\"container\" id=\"results-heading\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a850d89 printable elementor-widget elementor-widget-heading\" data-id=\"a850d89\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Available categories<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a2848b elementor-widget elementor-widget-html\" data-id=\"5a2848b\" 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<div id=\"results-count\">-<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-00b2ec5 e-con-full e-flex e-con e-child\" data-id=\"00b2ec5\" data-element_type=\"container\" data-e-type=\"container\" id=\"results-grid-wrapper\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c99a24b elementor-widget elementor-widget-html\" data-id=\"c99a24b\" 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<div id=\"rental-results\" class=\"rental-grid\"><\/div>\r\n\r\n<div id=\"rental-card-template\" aria-hidden=\"true\">\r\n  <article class=\"rental-card\">\r\n    <a class=\"seg-badge\" href=\"#\">Small Plus<\/a>\r\n\r\n    <div class=\"seg-img\">\r\n      <img decoding=\"async\" src=\"\" alt=\"\">\r\n    <\/div>\r\n\r\n    <h3 class=\"seg-name\">Category<\/h3>\r\n\r\n    <ul class=\"seg-attrs\"><\/ul>\r\n\r\n    <div class=\"seg-prices\">\r\n      <div class=\"seg-total\">\u20ac0.00<\/div>\r\n      <div class=\"seg-day\">\u20ac0.00 per day<\/div>\r\n    <\/div>\r\n\r\n    <a class=\"seg-cta elementor-button\" href=\"#\">Book via app<\/a>\r\n  <\/article>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-761bc7e elementor-widget elementor-widget-html\" data-id=\"761bc7e\" 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<script>\r\njQuery(function ($) {\r\n\r\n  \/* -----------------------------\r\n   * Loader\r\n   * ----------------------------- *\/\r\n  setTimeout(() => {\r\n    const loader = document.getElementById(\"loader\");\r\n    if (loader) loader.classList.add(\"hidden\");\r\n  }, 1500);\r\n\r\n  setTimeout(() => {\r\n    const loader = document.getElementById(\"loader\");\r\n    const calculatorUI = document.getElementById(\"calculator-ui\");\r\n    if (loader) loader.classList.add(\"hidden-display\");\r\n    if (calculatorUI) calculatorUI.classList.add(\"calculator-visible\");\r\n  }, 1550);\r\n\r\n  \/* -----------------------------\r\n   * Utils\r\n   * ----------------------------- *\/\r\n  const PAGE_LANG = (document.documentElement.lang || \"it\").toLowerCase();\r\n  const IS_EN = PAGE_LANG.startsWith(\"en\");\r\n\r\n  function getCalculatorAppLink() {\r\n    const ua = navigator.userAgent || navigator.vendor || window.opera;\r\n    const lang = document.documentElement.lang || \"it\";\r\n\r\n    const IOS_URL = \"https:\/\/apps.apple.com\/en\/app\/playcar-car-sharing\/id1226409613\";\r\n    const ANDROID_URL = \"https:\/\/play.google.com\/store\/apps\/details?id=com.playmoove.playcar3&hl=en\";\r\n\r\n    const FALLBACK = lang.startsWith(\"en\") ? \"\/en\/download-app\" : \"\/scarica-app\";\r\n\r\n    if (\/iPhone|iPad|iPod\/i.test(ua)) return IOS_URL;\r\n    if (\/android\/i.test(ua)) return ANDROID_URL;\r\n    return FALLBACK;\r\n  }\r\n\r\n  function ensureFullTime(str) {\r\n    if (!str) return null;\r\n    if (\/^\\d{2}:\\d{2}$\/.test(str)) return `${str}:00`;\r\n    if (\/^\\d{2}:\\d{2}:\\d{2}$\/.test(str)) return str;\r\n    if (\/^\\d{2}$\/.test(str)) return `${str}:00:00`;\r\n    return null;\r\n  }\r\n\r\n  \/\/ YYYY-MM-DD + HH:mm:ss  ->  DD\/MM\/YY HH:mm\r\n  function formatDisplayDateTime(dateStr, timeFull) {\r\n    if (!dateStr || !timeFull) return \"\";\r\n    const [y, m, d] = String(dateStr).split(\"-\");\r\n    const yy = String(y).slice(-2);\r\n    const hhmm = String(timeFull).slice(0, 5);\r\n    return `${d}\/${m}\/${yy} ${hhmm}`;\r\n  }\r\n\r\n  \/\/ \"SMALL PLUS\" -> \"Small Plus\"\r\n  function titleCaseName(s) {\r\n    const cleaned = String(s || \"\").trim();\r\n    if (!cleaned) return \"Category\";\r\n    return cleaned\r\n      .toLowerCase()\r\n      .split(\/\\s+\/)\r\n      .map(w => (w ? w.charAt(0).toUpperCase() + w.slice(1) : \"\"))\r\n      .join(\" \");\r\n  }\r\n\r\n  function moneyEUR(value) {\r\n    const n = Number(value);\r\n    if (Number.isNaN(n)) return \"\u20ac 0.00\";\r\n    return `\u20ac ${n.toFixed(2)}`;\r\n  }\r\n\r\n  \/\/ Compare full start\/end (YYYY-MM-DD + HH:mm:ss)\r\n  function compareDateTime(d1, t1, d2, t2) {\r\n    const a = new Date(`${d1}T${t1}`);\r\n    const b = new Date(`${d2}T${t2}`);\r\n    return a.getTime() - b.getTime();\r\n  }\r\n\r\n  function show(el, on) {\r\n    if (!el) return;\r\n    el.style.display = on ? \"\" : \"none\";\r\n  }\r\n\r\n  function setText(selOrEl, txt) {\r\n    const el = typeof selOrEl === \"string\" ? document.querySelector(selOrEl) : selOrEl;\r\n    if (el) el.textContent = txt;\r\n  }\r\n\r\n  function setAlert(alertBox, msg) {\r\n    if (!alertBox) return;\r\n    alertBox.style.display = \"flex\";\r\n    alertBox.style.opacity = 1;\r\n    alertBox.setAttribute(\"role\", \"alert\");\r\n    alertBox.setAttribute(\"aria-live\", \"polite\");\r\n\r\n    if (!alertBox.querySelector(\".alert-msg\")) {\r\n      alertBox.innerHTML = `<div class=\"alert-msg\"><\/div>`;\r\n    }\r\n    const m = alertBox.querySelector(\".alert-msg\");\r\n    if (m) m.textContent = msg || \"Check the fields and try again.\";\r\n  }\r\n\r\n  function clearAlert(alertBox) {\r\n    if (!alertBox) return;\r\n    alertBox.style.display = \"none\";\r\n    alertBox.style.opacity = 0;\r\n  }\r\n\r\n  function pluralEN(n, one, many) {\r\n    return `${n} ${n === 1 ? one : many}`;\r\n  }\r\n\r\n  \/* -----------------------------\r\n   * Real duration + rental days (24h blocks)\r\n   * ----------------------------- *\/\r\n  function getRentalDuration(dStart, tStart, dEnd, tEnd) {\r\n    const start = new Date(`${dStart}T${tStart}`);\r\n    const end   = new Date(`${dEnd}T${tEnd}`);\r\n\r\n    const diffMs = end.getTime() - start.getTime();\r\n    if (!Number.isFinite(diffMs) || diffMs <= 0) {\r\n      return { totalHours: 0, realDays: 0, realHours: 0, rentalDays: 0 };\r\n    }\r\n\r\n    const totalHours = Math.floor(diffMs \/ (1000 * 60 * 60));\r\n    const realDays = Math.floor(totalHours \/ 24);\r\n    const realHours = totalHours % 24;\r\n\r\n    const DAY_MS = 24 * 60 * 60 * 1000;\r\n    const rentalDays = Math.ceil(diffMs \/ DAY_MS);\r\n\r\n    return { totalHours, realDays, realHours, rentalDays };\r\n  }\r\n\r\n  \/\/ e.g. \"2 days and 5 hours - 53h total\"\r\n  function formatRealDurationText(duration) {\r\n    const parts = [];\r\n\r\n    if (duration.realDays > 0) {\r\n      parts.push(pluralEN(duration.realDays, \"day\", \"days\"));\r\n    }\r\n\r\n    if (duration.realHours > 0) {\r\n      parts.push(pluralEN(duration.realHours, \"hour\", \"hours\"));\r\n    }\r\n\r\n    const human = parts.length ? parts.join(\" and \") : \"0 hours\";\r\n    return `${human} - ${duration.totalHours}h total`;\r\n  }\r\n\r\n  \/* -----------------------------\r\n   * Hint (seg.hint) - controlled HTML (only <br>)\r\n   * ----------------------------- *\/\r\n  function sanitizeHintHtml(html) {\r\n    if (!html) return \"\";\r\n    let s = String(html);\r\n\r\n    \/\/ normalize <br ...> into <br>\r\n    s = s.replace(\/<br\\s*\\\/?>\/gi, \"<br>\");\r\n\r\n    \/\/ remove any other tags\r\n    s = s.replace(\/<(?!br\\b)[^>]*>\/gi, \"\");\r\n\r\n    return s.trim();\r\n  }\r\n\r\n  function getSegmentHint(seg) {\r\n    return sanitizeHintHtml(seg?.hint || \"\");\r\n  }\r\n\r\n  \/\/ Translate only micro parts like \"o simile\", \"posti\", etc. (keep brand\/model as-is)\r\n  function translateVehicleHintLine(line) {\r\n    let s = String(line || \"\").trim();\r\n    if (!s || !IS_EN) return s;\r\n\r\n    const hasItalianKeywords =\r\n      \/\\bposti\\b|\\bporte\\b|\\belettrica\\b|\\bautomatico\\b|\\bmanuale\\b|\\bsimile\\b\/i.test(s) ||\r\n      \/(^|\\s)o(\\s|$)\/i.test(s);\r\n\r\n    const hasNumber = \/\\d\/.test(s);\r\n\r\n    \/\/ If it's just a name\/model (no numbers, no keywords), leave it as-is\r\n    if (!hasNumber && !hasItalianKeywords) return s;\r\n\r\n    s = s\r\n      .replace(\/\\bposti\\b\/gi, \"seats\")\r\n      .replace(\/(^|\\s)o(\\s|$)\/gi, \"$1or$2\")\r\n      .replace(\/\\bsimile\\b\/gi, \"similar\")\r\n      .replace(\/\\bporte\\b\/gi, \"doors\")\r\n      .replace(\/\\belettrica\\b\/gi, \"electric\")\r\n      .replace(\/\\bautomatico\\b\/gi, \"automatic\")\r\n      .replace(\/\\bmanuale\\b\/gi, \"manual\");\r\n\r\n    return s.replace(\/\\s+\/g, \" \").trim();\r\n  }\r\n\r\n  function translateVehicleHintHtml(hintHtml) {\r\n    if (!hintHtml || !IS_EN) return hintHtml;\r\n    return String(hintHtml)\r\n      .split(\/<br>\/i)\r\n      .map(translateVehicleHintLine)\r\n      .join(\"<br>\");\r\n  }\r\n\r\n  \/* -----------------------------\r\n   * Attr mapping (via slug)\r\n   * ----------------------------- *\/\r\n  function normalizeTransmission(v) {\r\n    const s = String(v || \"\").trim().toUpperCase();\r\n    if (s === \"A\") return \"Automatic\";\r\n    if (s === \"M\") return \"Manual\";\r\n    return s || \"\";\r\n  }\r\n\r\n  function pickRentalAttrs(attrs) {\r\n    if (!Array.isArray(attrs)) return [];\r\n\r\n    const bySlug = {};\r\n    attrs.forEach(a => {\r\n      const slug = String(a?.slug || a?.name || \"\").trim();\r\n      if (!slug) return;\r\n      bySlug[slug] = a;\r\n    });\r\n\r\n    const out = [];\r\n\r\n    const seats = bySlug[\"seats\"]?.value;\r\n    if (seats) out.push({ key: \"seats\", value: `${seats} seats` });\r\n\r\n    const doors = bySlug[\"doors\"]?.value;\r\n    if (doors) out.push({ key: \"doors\", value: `${doors} doors` });\r\n\r\n    const tr = normalizeTransmission(bySlug[\"transmission\"]?.value);\r\n    if (tr) out.push({ key: \"transmission\", value: tr });\r\n\r\n    const hl = bySlug[\"hand-luggage\"]?.value;\r\n    if (hl) {\r\n      const n = Number(hl);\r\n      const label = (Number.isFinite(n) && n === 1) ? \"carry-on bag\" : \"carry-on bags\";\r\n      out.push({ key: \"luggage\", value: `${hl} ${label}` });\r\n    }\r\n\r\n    const ac = bySlug[\"air-conditioning\"]?.value;\r\n    if (String(ac).trim() === \"\u2713\" || String(ac).toLowerCase() === \"true\") {\r\n      out.push({ key: \"ac\", value: \"\u2713\" });\r\n    }\r\n\r\n    const order = [\"seats\", \"doors\", \"transmission\", \"luggage\", \"ac\", \"bt\", \"fuel\"];\r\n    out.sort((a, b) => order.indexOf(a.key) - order.indexOf(b.key));\r\n\r\n    return out;\r\n  }\r\n\r\n  \/* -----------------------------\r\n   * SVG ICONS\r\n   * ----------------------------- *\/\r\n  const ICONS = {\r\n    seats: `<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-user-tie\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z\"><\/path><\/svg>`,\r\n    doors: `<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-car-side\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"><\/path><\/svg>`,\r\n    luggage: `<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-luggage-cart\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z\"><\/path><\/svg>`,\r\n    ac: `<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-temperature-low\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"><\/path><\/svg>`,\r\n    transmission: `<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-cog\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M487.4 315.7l-42.6-24.6c2.8-15.4 2.8-31.4 0-46.8l42.6-24.6c15.1-8.7 20.3-28.1 11.7-43.2l-43.2-74.8c-8.7-15.1-28.1-20.3-43.2-11.7l-42.6 24.6c-12.4-10.1-26.4-18.2-41.7-23.9V24.6C328.2 10.9 317.3 0 303.6 0h-86.4C203.5 0 192.6 10.9 192.6 24.6v49.2c-15.3 5.7-29.3 13.8-41.7 23.9L108.3 73.1c-15.1-8.7-34.5-3.4-43.2 11.7L21.9 159.6c-8.7 15.1-3.4 34.5 11.7 43.2l42.6 24.6c-2.8 15.4-2.8 31.4 0 46.8l-42.6 24.6c-15.1 8.7-20.3 28.1-11.7 43.2l43.2 74.8c-8.7 15.1 28.1 20.3 43.2 11.7l42.6-24.6c12.4 10.1 26.4 18.2 41.7 23.9v49.2c0 13.6 10.9 24.6 24.6 24.6h86.4c13.6 0 24.6-10.9 24.6-24.6v-49.2c15.3-5.7 29.3-13.8 41.7-23.9l42.6 24.6c15.1 8.7 34.5 3.4 43.2-11.7l43.2-74.8c8.7-15.1 3.4-34.5-11.7-43.2zM256 336c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\"><\/path><\/svg>`\r\n  };\r\n\r\n  \/* -----------------------------\r\n   * Skeleton loading (UX)\r\n   * ----------------------------- *\/\r\n  function renderSkeleton(count = 6) {\r\n    const grid = document.getElementById(\"rental-results\");\r\n    if (!grid) return;\r\n\r\n    const items = Array.from({ length: count }).map(() => `\r\n      <article class=\"rental-card rental-skeleton\" aria-hidden=\"true\">\r\n        <div class=\"sk sk-badge\"><\/div>\r\n        <div class=\"sk sk-img\"><\/div>\r\n        <div class=\"sk sk-title\"><\/div>\r\n        <div class=\"sk sk-line\"><\/div>\r\n        <div class=\"sk sk-line\"><\/div>\r\n        <div class=\"sk sk-price\"><\/div>\r\n        <div class=\"sk sk-cta\"><\/div>\r\n      <\/article>\r\n    `).join(\"\");\r\n\r\n    grid.innerHTML = items;\r\n  }\r\n\r\n  \/* -----------------------------\r\n   * Render segments into grid\r\n   * ----------------------------- *\/\r\n  function renderSegments(segments, rentalDays) {\r\n    const grid = document.getElementById(\"rental-results\");\r\n    const tplWrap = document.getElementById(\"rental-card-template\");\r\n    if (!grid || !tplWrap) return;\r\n\r\n    grid.innerHTML = \"\";\r\n\r\n    if (!Array.isArray(segments) || segments.length === 0) {\r\n      grid.innerHTML = `\r\n        <div class=\"rental-empty\">\r\n          No category available for the selected period.\r\n          <div style=\"margin-top:10px;\">\r\n            <a href=\"#\" id=\"empty-edit-dates\">Edit dates<\/a>\r\n          <\/div>\r\n        <\/div>`;\r\n      const l = document.getElementById(\"empty-edit-dates\");\r\n      if (l) {\r\n        l.addEventListener(\"click\", (e) => {\r\n          e.preventDefault();\r\n          document.getElementById(\"edit-dates\")?.click();\r\n        });\r\n      }\r\n      return;\r\n    }\r\n\r\n    const tpl = tplWrap.querySelector(\".rental-card\");\r\n    if (!tpl) {\r\n      grid.innerHTML = `<div class=\"rental-empty\">Card template not found.<\/div>`;\r\n      return;\r\n    }\r\n\r\n    segments.forEach(seg => {\r\n      const card = tpl.cloneNode(true);\r\n\r\n      const displayName = titleCaseName(seg?.name || \"Category\");\r\n\r\n      \/\/ Badge + Name (Title Case)\r\n      const badgeEl = card.querySelector(\".seg-badge\");\r\n      if (badgeEl) badgeEl.textContent = displayName;\r\n\r\n      const nameEl = card.querySelector(\".seg-name\");\r\n      if (nameEl) nameEl.textContent = displayName;\r\n\r\n      \/\/ Hint under name (seg.hint)\r\n      const hintHtml = translateVehicleHintHtml(getSegmentHint(seg));\r\n      let hintEl = card.querySelector(\".seg-hint\");\r\n      if (!hintEl && nameEl) {\r\n        hintEl = document.createElement(\"div\");\r\n        hintEl.className = \"seg-hint\";\r\n        nameEl.insertAdjacentElement(\"afterend\", hintEl);\r\n      }\r\n      if (hintEl) {\r\n        hintEl.innerHTML = hintHtml; \/\/ sanitized (only <br>) + micro-i18n\r\n        hintEl.style.display = hintHtml ? \"\" : \"none\";\r\n      }\r\n\r\n      \/\/ Image\r\n      const imgEl = card.querySelector(\".seg-img img\") || card.querySelector(\"img\");\r\n      if (imgEl && seg?.image) {\r\n        imgEl.src = seg.image;\r\n        imgEl.alt = displayName;\r\n        imgEl.loading = \"lazy\";\r\n      }\r\n\r\n      \/\/ Price\r\n      const rate = Array.isArray(seg?.segment_rates) ? seg.segment_rates[0] : null;\r\n      const total = Number(rate?.price?.time_cost ?? 0);\r\n      const perDay = rentalDays > 0 ? (total \/ rentalDays) : total;\r\n\r\n      const totalEl = card.querySelector(\".seg-total\");\r\n      const dayEl = card.querySelector(\".seg-day\");\r\n      if (totalEl) totalEl.textContent = moneyEUR(total);\r\n      if (dayEl) dayEl.textContent = `${moneyEUR(perDay)} per day`;\r\n\r\n      \/\/ Attrs: use Elementor icon-list markup\r\n      const attrsUl = card.querySelector(\".seg-attrs\");\r\n      if (attrsUl) {\r\n        attrsUl.className = \"elementor-icon-list-items elementor-inline-items seg-attrs\";\r\n        attrsUl.innerHTML = \"\";\r\n\r\n        const attrs = pickRentalAttrs(seg?.attributes);\r\n\r\n        attrs.forEach(a => {\r\n          const li = document.createElement(\"li\");\r\n          li.className = \"elementor-icon-list-item elementor-inline-item\";\r\n\r\n          const iconSvg =\r\n            a.key === \"seats\" ? ICONS.seats :\r\n            a.key === \"doors\" ? ICONS.doors :\r\n            a.key === \"transmission\" ? ICONS.transmission :\r\n            a.key === \"luggage\" ? ICONS.luggage :\r\n            a.key === \"ac\" ? ICONS.ac : \"\";\r\n\r\n          li.innerHTML = `\r\n            <span class=\"elementor-icon-list-icon\">${iconSvg}<\/span>\r\n            <span class=\"elementor-icon-list-text\">${a.value}<\/span>\r\n          `;\r\n          attrsUl.appendChild(li);\r\n        });\r\n      }\r\n\r\n      \/\/ CTA link (app \/ fallback)\r\n      const cta = card.querySelector(\".seg-cta\");\r\n      if (cta) {\r\n        cta.href = getCalculatorAppLink();\r\n        cta.target = \"_blank\";\r\n        cta.rel = \"noopener\";\r\n      }\r\n\r\n      grid.appendChild(card);\r\n    });\r\n  }\r\n\r\n  \/* -----------------------------\r\n   * Main init form handler\r\n   * ----------------------------- *\/\r\n  function initRentalFormHandler() {\r\n    const form = document.querySelector('[name=\"form_servizi_rental\"]');\r\n    if (!form) return;\r\n\r\n    const calculatorUI = document.getElementById(\"calculator-ui\");\r\n\r\n    const dataInizioEl = document.getElementById(\"form-field-data_inizio\");\r\n    const oraInizioEl  = document.getElementById(\"form-field-ora_inizio\");\r\n    const dataFineEl   = document.getElementById(\"form-field-data_fine\");\r\n    const oraFineEl    = document.getElementById(\"form-field-ora_fine\");\r\n\r\n    const dateSummary = document.getElementById(\"date-summary\");\r\n    const resultsHead = document.getElementById(\"results-heading\");\r\n    const resultsWrap = document.getElementById(\"results-grid-wrapper\");\r\n    const alertBox    = document.getElementById(\"alert\");\r\n\r\n    const submitBtn  = form.querySelector('button[type=\"submit\"]');\r\n    const submitText = submitBtn?.querySelector(\".elementor-button-text\");\r\n\r\n    const editBtn = document.getElementById(\"edit-dates\");\r\n    if (editBtn && !editBtn.dataset.bound) {\r\n      editBtn.dataset.bound = \"1\";\r\n      editBtn.addEventListener(\"click\", (e) => {\r\n        e.preventDefault();\r\n\r\n        calculatorUI?.classList.remove(\"has-results\");\r\n        clearAlert(alertBox);\r\n\r\n        show(dateSummary, false);\r\n        show(resultsHead, false);\r\n        show(resultsWrap, false);\r\n\r\n        document.getElementById(\"step-form\")?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n      });\r\n    }\r\n\r\n    const pdfBtn = document.getElementById(\"save-pdf\");\r\n    if (pdfBtn && !pdfBtn.dataset.bound) {\r\n      pdfBtn.dataset.bound = \"1\";\r\n      pdfBtn.addEventListener(\"click\", (e) => {\r\n        e.preventDefault();\r\n        document.body.classList.add(\"is-printing\");\r\n        window.print();\r\n        setTimeout(() => document.body.classList.remove(\"is-printing\"), 1000);\r\n      });\r\n    }\r\n\r\n    form.addEventListener(\"submit\", function (e) {\r\n      e.preventDefault();\r\n      e.stopPropagation();\r\n\r\n      const dStart = dataInizioEl?.value || null;\r\n      const tStart = ensureFullTime(oraInizioEl?.value || null);\r\n      const dEnd   = dataFineEl?.value || null;\r\n      const tEnd   = ensureFullTime(oraFineEl?.value || null);\r\n\r\n      if (!dStart || !tStart || !dEnd || !tEnd) {\r\n        setAlert(alertBox, \"Please fill in start and end date\/time.\");\r\n        return;\r\n      }\r\n\r\n      if (compareDateTime(dStart, tStart, dEnd, tEnd) >= 0) {\r\n        setAlert(alertBox, \"End date\/time must be after the start.\");\r\n        return;\r\n      }\r\n\r\n      \/\/ \u2705 real duration + rental days (24h blocks)\r\n      const duration = getRentalDuration(dStart, tStart, dEnd, tEnd);\r\n      const days = duration.rentalDays;\r\n\r\n      if (days < 1) {\r\n        setAlert(alertBox, \"The minimum rental duration is 1 day.\");\r\n        return;\r\n      }\r\n\r\n      clearAlert(alertBox);\r\n\r\n      setText(\"#sum-from\", formatDisplayDateTime(dStart, tStart));\r\n      setText(\"#sum-to\",   formatDisplayDateTime(dEnd, tEnd));\r\n\r\n      \/\/ \u2705 \u201ccommercial\u201d days\r\n      setText(\"#sum-days\", pluralEN(days, \"day\", \"days\"));\r\n\r\n      \/\/ \u2705 real duration (requires #sum-duration in markup)\r\n      setText(\"#sum-duration\", formatRealDurationText(duration));\r\n\r\n      calculatorUI?.classList.add(\"has-results\");\r\n      show(dateSummary, true);\r\n      show(resultsHead, true);\r\n      show(resultsWrap, true);\r\n\r\n      setText(\"#results-count\", \"Loading...\");\r\n      renderSkeleton(6);\r\n\r\n      if (submitBtn) submitBtn.disabled = true;\r\n      if (submitText) submitText.textContent = \"Calculating...\";\r\n\r\n      const params = new URLSearchParams({\r\n        start: `${dStart} ${tStart}`,\r\n        end: `${dEnd} ${tEnd}`,\r\n      });\r\n\r\n      const url = `https:\/\/kepler.playcar.net\/api\/v3\/public\/rent?${params.toString()}`;\r\n\r\n      fetch(url)\r\n        .then(r => {\r\n          if (!r.ok) throw new Error(\"HTTP error\");\r\n          return r.json();\r\n        })\r\n        .then(data => {\r\n          const segments = Array.isArray(data?.segments) ? data.segments : [];\r\n\r\n          \/\/ \u2705 use correct rental days also for \u20ac\/day\r\n          renderSegments(segments, days);\r\n\r\n          const n = segments.length;\r\n          setText(\"#results-count\", `${n} ${n === 1 ? \"category available\" : \"categories available\"}`);\r\n\r\n          dateSummary?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n        })\r\n        .catch(() => {\r\n          const grid = document.getElementById(\"rental-results\");\r\n          if (grid) grid.innerHTML = `<div class=\"rental-empty\">Loading error. Please try again.<\/div>`;\r\n          setAlert(alertBox, \"Loading error. Please try again.\");\r\n        })\r\n        .finally(() => {\r\n          if (submitBtn) submitBtn.disabled = false;\r\n          if (submitText) submitText.textContent = \"Calculate\";\r\n        });\r\n    });\r\n\r\n    clearInterval(waitForForm);\r\n  }\r\n\r\n  const waitForForm = setInterval(initRentalFormHandler, 300);\r\n\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca8817b elementor-widget elementor-widget-html\" data-id=\"ca8817b\" 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<script>document.addEventListener(\"DOMContentLoaded\", () => {\r\n\r\n  function buildPrintHeaderHTML() {\r\n    const logoWrap = document.getElementById(\"logo\");\r\n    const svg = logoWrap ? logoWrap.querySelector(\"svg\") : null;\r\n    const svgClone = svg ? svg.cloneNode(true) : null;\r\n\r\n    const header = document.createElement(\"div\");\r\n    header.id = \"pc-print-header\";\r\n\r\n    const inner = document.createElement(\"div\");\r\n    inner.className = \"pc-print-header-inner\";\r\n\r\n    const left = document.createElement(\"div\");\r\n    left.className = \"pc-print-brand\";\r\n\r\n    if (svgClone) {\r\n      svgClone.removeAttribute(\"id\");\r\n      svgClone.setAttribute(\"aria-label\", \"Playcar\");\r\n      svgClone.setAttribute(\"role\", \"img\");\r\n      svgClone.classList.add(\"pc-print-logo-svg\");\r\n      left.appendChild(svgClone);\r\n    } else {\r\n      left.textContent = \"Playcar\";\r\n      left.style.fontWeight = \"800\";\r\n    }\r\n\r\n    const right = document.createElement(\"div\");\r\n    right.className = \"pc-print-title\";\r\n    right.textContent = \"Preventivo Rental\";\r\n\r\n    inner.appendChild(left);\r\n    inner.appendChild(right);\r\n    header.appendChild(inner);\r\n\r\n    return header;\r\n  }\r\n\r\n  function ensurePrintHeader() {\r\n    if (document.getElementById(\"pc-print-header\")) return;\r\n    const header = buildPrintHeaderHTML();\r\n    document.body.insertBefore(header, document.body.firstChild);\r\n  }\r\n\r\n  function getPrintableDetails() {\r\n    \/\/ apriamo solo quelli nel riepilogo (come facevi tu)\r\n    const scope = document.querySelector(\"#date-summary\") || document;\r\n    const list = scope.querySelectorAll(\"details.e-n-accordion-item, details\");\r\n    return Array.from(list).filter(d => {\r\n      return d.closest(\"#date-summary\") || d.closest(\".printable\") || d.classList.contains(\"e-n-accordion-item\");\r\n    });\r\n  }\r\n\r\n  let prevState = new Map();\r\n\r\n  function beforePrint() {\r\n    ensurePrintHeader();\r\n\r\n    prevState = new Map();\r\n    const details = getPrintableDetails();\r\n\r\n    details.forEach(d => {\r\n      prevState.set(d, d.hasAttribute(\"open\"));\r\n      d.setAttribute(\"open\", \"open\");\r\n      const summary = d.querySelector(\"summary\");\r\n      if (summary) summary.setAttribute(\"aria-expanded\", \"true\");\r\n    });\r\n  }\r\n\r\n  function afterPrint() {\r\n    if (!prevState || prevState.size === 0) return;\r\n\r\n    prevState.forEach((wasOpen, d) => {\r\n      if (!wasOpen) d.removeAttribute(\"open\");\r\n      const summary = d.querySelector(\"summary\");\r\n      if (summary) summary.setAttribute(\"aria-expanded\", wasOpen ? \"true\" : \"false\");\r\n    });\r\n\r\n    prevState.clear();\r\n  }\r\n\r\n  \/\/ Desktop\r\n  window.addEventListener(\"beforeprint\", beforePrint);\r\n  window.addEventListener(\"afterprint\", afterPrint);\r\n\r\n  \/\/ iOS click-safe\r\n  let printingLock = false;\r\n\r\n  document.addEventListener(\"click\", (e) => {\r\n    const btn = e.target.closest(\"#save-pdf a, #save-pdf\");\r\n    if (!btn) return;\r\n\r\n    e.preventDefault();\r\n    e.stopPropagation();\r\n    if (e.stopImmediatePropagation) e.stopImmediatePropagation();\r\n\r\n    if (printingLock) return;\r\n    printingLock = true;\r\n\r\n    beforePrint();\r\n    window.print();\r\n\r\n    setTimeout(() => {\r\n      afterPrint();\r\n      printingLock = false;\r\n    }, 2500);\r\n  }, true);\r\n\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Find the rental that&#8217;s right for you Set the period and discover the available categories with estimated cost. Then book everything from the app. Your dates From: &#8211; To: &#8211; Rental days: &#8211; Duration: &#8211; Edit dates Save as PDF How to proceed with the rental: Download the Playcar Car Sharing app Register on the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4259,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-4909","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/playcar.net\/en\/wp-json\/wp\/v2\/pages\/4909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/playcar.net\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/playcar.net\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/playcar.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/playcar.net\/en\/wp-json\/wp\/v2\/comments?post=4909"}],"version-history":[{"count":26,"href":"https:\/\/playcar.net\/en\/wp-json\/wp\/v2\/pages\/4909\/revisions"}],"predecessor-version":[{"id":4950,"href":"https:\/\/playcar.net\/en\/wp-json\/wp\/v2\/pages\/4909\/revisions\/4950"}],"up":[{"embeddable":true,"href":"https:\/\/playcar.net\/en\/wp-json\/wp\/v2\/pages\/4259"}],"wp:attachment":[{"href":"https:\/\/playcar.net\/en\/wp-json\/wp\/v2\/media?parent=4909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}