{"id":16741,"date":"2025-09-17T12:26:57","date_gmt":"2025-09-17T10:26:57","guid":{"rendered":"https:\/\/lespouilles.blog\/account-settings\/"},"modified":"2026-09-02T07:12:22","modified_gmt":"2026-09-02T05:12:22","slug":"account-settings","status":"publish","type":"page","link":"https:\/\/lespouilles.blog\/en\/account-settings\/","title":{"rendered":"Account &#8211; Settings"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"16741\" class=\"elementor elementor-16741 elementor-5149\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ecf2458 e-flex e-con-boxed e-con e-parent\" data-id=\"ecf2458\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f53de20 elementor-widget elementor-widget-html\" data-id=\"f53de20\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ======================================= -->\r\n<!-- APULIA \u2014 COMPTE & PARAM\u00c8TRES (V3.7 i18n \u2014 champs dynamiques exclus de hydrate) -->\r\n<!-- - D\u00e9connexion g\u00e9n\u00e9rale (1 seule)        -->\r\n<!-- - Bouton = CONNEXION si d\u00e9connect\u00e9      -->\r\n<!-- - CONNEXION ouvre le popup (m\u00eame moteur -->\r\n<!--   que la page Chat via apuliaOpenLoginPopup) -->\r\n<!-- - Affiche statut APULIA (Free\/Pro)   -->\r\n<!-- - + affiche statut ESPACE PRO (si actif)-->\r\n<!-- - Z\u00c9RO rose \/ Z\u00c9RO overlay              -->\r\n<!-- ======================================= -->\r\n\r\n<style>\r\n  :root{\r\n    --apulia-orange:#F6A623;     \/* PRO + actions *\/\r\n    --apulia-blue:#088BEE;       \/* FREE *\/\r\n    --apulia-teal-1:#001D26;\r\n    --apulia-teal-2:#003F52;\r\n  }\r\n\r\n  .apulia-account-shell{\r\n    width:100%;\r\n    max-width:720px;\r\n    margin:0 auto;\r\n    padding:16px 12px 8px;\r\n    box-sizing:border-box;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n    color:#fff;\r\n  }\r\n\r\n  .apulia-account-card{\r\n    border-radius:22px;\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.95),rgba(0,94,117,0.9));\r\n    box-shadow:0 14px 40px rgba(0,0,0,0.45);\r\n    overflow:hidden;\r\n  }\r\n\r\n  \/* ===== Header compact ===== *\/\r\n  .apulia-account-header{\r\n    width:100%;\r\n    display:flex;\r\n    align-items:center;\r\n    gap:12px;\r\n    padding:12px 16px;\r\n    border:none;\r\n    outline:none;\r\n    background:transparent !important; \/* no theme overlay *\/\r\n    color:inherit;\r\n    cursor:pointer;\r\n    -webkit-tap-highlight-color: transparent;\r\n  }\r\n  .apulia-account-header:active{ transform:scale(0.99); }\r\n  .apulia-account-header:focus{ outline:none; }\r\n\r\n  .apulia-account-avatar{\r\n    width:52px;\r\n    height:52px;\r\n    border-radius:999px;\r\n    background:var(--apulia-orange);\r\n    background-size:cover;\r\n    background-position:center;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    font-weight:700;\r\n    font-size:22px;\r\n    color:var(--apulia-teal-1);\r\n    text-transform:uppercase;\r\n    flex-shrink:0;\r\n    overflow:hidden;\r\n  }\r\n  .apulia-account-avatar.is-photo{\r\n    color:transparent;\r\n    background-color:#013341;\r\n  }\r\n\r\n  .apulia-account-header-main{\r\n    flex:1;\r\n    min-width:0;\r\n    display:flex;\r\n    flex-direction:column;\r\n    gap:6px;\r\n    align-items:center;\r\n    text-align:center;\r\n  }\r\n\r\n  .apulia-account-name{\r\n    font-size:15px;\r\n    font-weight:600;\r\n    white-space:nowrap;\r\n    overflow:hidden;\r\n    text-overflow:ellipsis;\r\n  }\r\n  .apulia-account-email{\r\n    font-size:12px;\r\n    font-weight:400;\r\n    opacity:0.85;\r\n    white-space:nowrap;\r\n    overflow:hidden;\r\n    text-overflow:ellipsis;\r\n  }\r\n\r\n  .apulia-account-header-sub{\r\n    display:flex;\r\n    flex-wrap:wrap;\r\n    align-items:center;\r\n    justify-content:center;\r\n    gap:6px;\r\n    font-size:12px;\r\n    opacity:0.92;\r\n  }\r\n\r\n  \/* BADGES *\/\r\n  .apulia-account-badge{\r\n    display:inline-flex;\r\n    align-items:center;\r\n    gap:4px;\r\n    padding:3px 8px;\r\n    border-radius:999px;\r\n    font-size:11px;\r\n    font-weight:700;\r\n    letter-spacing:0.06em;\r\n    text-transform:uppercase;\r\n    background:rgba(0,0,0,0.25);\r\n    border:1px solid rgba(255,255,255,0.14);\r\n  }\r\n  .apulia-account-badge-dot{\r\n    width:7px;\r\n    height:7px;\r\n    border-radius:999px;\r\n    background:rgba(255,255,255,0.35);\r\n  }\r\n  .apulia-free-color{ color:var(--apulia-blue); }\r\n  .apulia-pro-color{  color:var(--apulia-orange); }\r\n\r\n  .apulia-account-status{\r\n    font-size:12px;\r\n    opacity:.92;\r\n  }\r\n\r\n  .apulia-account-header-right{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:8px;\r\n  }\r\n\r\n  .apulia-account-chevron{\r\n    width:22px;\r\n    height:22px;\r\n    border-radius:999px;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    border:1px solid rgba(255,255,255,0.35);\r\n    font-size:16px;\r\n    transform:rotate(0deg);\r\n    transition:transform .18s ease-out, background-color .18s ease-out;\r\n    background:transparent !important; \/* no overlay *\/\r\n  }\r\n  .apulia-account-card.is-open .apulia-account-chevron{\r\n    transform:rotate(90deg);\r\n    background:rgba(0,0,0,0.30) !important;\r\n  }\r\n\r\n  \/* ===== Panneau d\u00e9roulant ===== *\/\r\n  .apulia-account-details{\r\n    max-height:0;\r\n    overflow:hidden;\r\n    padding:0 16px;\r\n    border-top:1px solid rgba(255,255,255,0.08);\r\n    transition:max-height .18s ease-out,\r\n               padding-top .18s ease-out,\r\n               padding-bottom .18s ease-out;\r\n    background:transparent !important; \/* no pink *\/\r\n  }\r\n  .apulia-account-card.is-open .apulia-account-details{\r\n    padding-top:10px;\r\n    padding-bottom:12px;\r\n    max-height:200px;\r\n  }\r\n  .apulia-account-details-actions{\r\n    display:flex;\r\n    flex-direction:column;\r\n    gap:8px;\r\n  }\r\n\r\n  \/* Bouton unique (Connexion OU D\u00e9connexion) *\/\r\n  .apulia-account-action-btn{\r\n    width:100%;\r\n    border:none;\r\n    outline:none;\r\n    border-radius:999px;\r\n    padding:10px 12px;\r\n    font-size:13px;\r\n    font-weight:800;\r\n    letter-spacing:0.06em;\r\n    text-transform:uppercase;\r\n    background:var(--apulia-orange) !important; \/* toujours ORANGE *\/\r\n    color:var(--apulia-teal-1) !important;\r\n    cursor:pointer;\r\n    -webkit-tap-highlight-color: transparent;\r\n  }\r\n  .apulia-account-action-btn:active{ transform:scale(0.98); }\r\n  .apulia-account-edit-profile{\r\n    width:100%;\r\n    border:1px solid rgba(255,255,255,0.28);\r\n    outline:none;\r\n    border-radius:999px;\r\n    padding:10px 12px;\r\n    font-size:13px;\r\n    font-weight:800;\r\n    letter-spacing:0.06em;\r\n    text-transform:uppercase;\r\n    background:rgba(0,0,0,0.25) !important;\r\n    color:#fff !important;\r\n    cursor:pointer;\r\n    -webkit-tap-highlight-color: transparent;\r\n  }\r\n  .apulia-account-edit-profile:active{ transform:scale(0.98); }\r\n<\/style>\r\n\r\n<div class=\"apulia-account-shell\">\r\n  <div class=\"apulia-account-card\" id=\"apulia-account-card\">\r\n\r\n    <!-- HEADER COMPACT -->\r\n    <button class=\"apulia-account-header\" id=\"apulia-account-toggle\" type=\"button\">\r\n      <div class=\"apulia-account-avatar\" id=\"apulia-account-avatar\">A<\/div>\r\n\r\n      <div class=\"apulia-account-header-main\">\r\n        <div class=\"apulia-account-name\" id=\"apulia-account-name\" data-apulia-dynamic>Compte<\/div>\r\n        <div class=\"apulia-account-email\" id=\"apulia-account-email\" data-apulia-dynamic>Chargement\u2026<\/div>\r\n\r\n        <div class=\"apulia-account-header-sub\">\r\n          <!-- Badge APULIA -->\r\n          <div class=\"apulia-account-badge\" id=\"apulia-account-badge\">\r\n            <span class=\"apulia-account-badge-dot\" id=\"apulia-badge-dot\"><\/span>\r\n            <span id=\"apulia-account-badge-text\" class=\"apulia-free-color\" data-apulia-dynamic>APULIA FREE<\/span>\r\n          <\/div>\r\n\r\n          <!-- Badge ESPACE PRO (affich\u00e9 seulement si actif) -->\r\n          <div class=\"apulia-account-badge\" id=\"apulia-espacepro-badge\" style=\"display:none\">\r\n            <span class=\"apulia-account-badge-dot\" id=\"apulia-espacepro-dot\"><\/span>\r\n            <span id=\"apulia-espacepro-text\" class=\"apulia-pro-color\" data-apulia-i18n=\"account.badge_espace_pro\">ESPACE PRO<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"apulia-account-status\" id=\"apulia-account-status\" data-apulia-dynamic>Connexion\u2026<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"apulia-account-header-right\">\r\n        <div class=\"apulia-account-chevron\">\u203a<\/div>\r\n      <\/div>\r\n    <\/button>\r\n\r\n    <!-- PANNEAU D\u00c9ROULANT : PROFIL PUIS CONNEXION \/ D\u00c9CONNEXION -->\r\n    <div class=\"apulia-account-details\" id=\"apulia-account-details\">\r\n      <div class=\"apulia-account-details-actions\">\r\n        <button class=\"apulia-account-edit-profile\" id=\"apulia-account-edit-profile\" type=\"button\" data-apulia-i18n=\"account.edit_profile\" style=\"display:none\">\r\n          Modifier mon profil\r\n        <\/button>\r\n        <button class=\"apulia-account-action-btn\" id=\"apulia-account-action\" data-apulia-dynamic>\r\n          D\u00c9CONNEXION\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \"use strict\";\r\n\r\n  \/* ========= Endpoints ========= *\/\r\n  const ORIGIN = \"https:\/\/api.lespouilles.blog\";\r\n\r\n  \/\/ Session Chat \/ APULIA (Free\/Pro)\r\n  const SESSION_CHAT_URL = ORIGIN + \"\/session\";\r\n\r\n  \/\/ Session \u201cEspace Pro\u201d (ton code SaaS : logged + is_espace_pro)\r\n  const SESSION_ESPACEPRO_URL = ORIGIN + \"\/v1\/session\";\r\n\r\n  \/\/ D\u00e9connexion g\u00e9n\u00e9rale (cookie\/session)\r\n  const LOGOUT_URL = ORIGIN + \"\/auth\/logout\";\r\n\r\n  \/* ========= LocalStorage keys ========= *\/\r\n  const PSEUDO_KEY          = \"apulia_pseudo\";\r\n  const LS_IS_PRO           = \"apulia_is_pro\";\r\n  const LS_USER_ID          = \"apulia_user_id\";\r\n  const LS_HISTORY          = \"apulia_history\";\r\n  const LS_GEO              = \"apulia_geo\";\r\n  const LS_NOTES            = \"apulia_notes\";\r\n  const LS_GEO_PROMPT       = \"apulia_geo_prompt\";\r\n  const LS_LANG             = \"apulia_lang\";\r\n  const LS_ANSWER_MODE      = \"apulia_answer_mode\";\r\n  const LS_TRAVELER_PROFILE = \"apulia_traveler_profile\";\r\n  const LS_INTERESTS_LEGACY = \"apulia_interests\";\r\n  const LS_LAST_USER        = \"apulia_last_user\";\r\n\r\n  const $ = id => document.getElementById(id);\r\n\r\n  const card      = $(\"apulia-account-card\");\r\n  const toggle    = $(\"apulia-account-toggle\");\r\n  const avatar    = $(\"apulia-account-avatar\");\r\n  const nameEl    = $(\"apulia-account-name\");\r\n  const emailEl   = $(\"apulia-account-email\");\r\n  const editProfileBtn = $(\"apulia-account-edit-profile\");\r\n  const badgeTx   = $(\"apulia-account-badge-text\");\r\n  const badgeDot  = $(\"apulia-badge-dot\");\r\n  const statusEl  = $(\"apulia-account-status\");\r\n\r\n  const espaceProBadge = $(\"apulia-espacepro-badge\");\r\n  const espaceProDot   = $(\"apulia-espacepro-dot\");\r\n\r\n  const actionBtn = $(\"apulia-account-action\");\r\n\r\n  let IS_AUTH = false;\r\n  let lastSession = null;\r\n\r\n  var T_FALLBACK_FR = {\r\n    \"account.loading\": \"Chargement\u2026\",\r\n    \"account.connecting\": \"Connexion\u2026\",\r\n    \"account.disconnected\": \"Vous \u00eates d\u00e9connect\u00e9\",\r\n    \"account.badge_free\": \"APULIA FREE\",\r\n    \"account.badge_pro\": \"APULIA Pro\",\r\n    \"account.badge_admin\": \"APULIA ADMIN\",\r\n    \"account.badge_espace_pro\": \"ESPACE PRO\",\r\n    \"account.reconnect\": \"Reconnectez-vous pour continuer\",\r\n    \"account.login\": \"CONNEXION\",\r\n    \"account.logout\": \"D\u00c9CONNEXION\",\r\n    \"account.unlimited\": \"Acc\u00e8s illimit\u00e9\",\r\n    \"account.pro_active\": \"Abonnement actif\",\r\n    \"account.free_pass\": \"Pass d\u00e9couverte\",\r\n    \"account.pro_expired\": \"Abonnement expir\u00e9\",\r\n    \"account.expires_24h\": \"Expire dans 24 h\",\r\n    \"account.expires_2days\": \"Expire dans 2 jours\",\r\n    \"account.expires_days\": \"Expire dans {days} jours\",\r\n    \"account.load_error\": \"Impossible de charger le compte\",\r\n    \"account.retry_later\": \"R\u00e9essayez plus tard\",\r\n    \"account.edit_profile\": \"Modifier mon profil\",\r\n    \"common.account\": \"Compte\"\r\n  };\r\n\r\n  function T(key, vars){\r\n    if(window.ApuliaI18nCompte && typeof window.ApuliaI18nCompte.t === \"function\"){\r\n      return window.ApuliaI18nCompte.t(key, vars);\r\n    }\r\n    var s = T_FALLBACK_FR[key] || key;\r\n    if(vars){\r\n      Object.keys(vars).forEach(function(k){\r\n        s = s.replace(new RegExp(\"\\\\{\" + k + \"\\\\}\", \"g\"), String(vars[k]));\r\n      });\r\n    }\r\n    return s;\r\n  }\r\n\r\n  function firstLetter(str){\r\n    if(!str || typeof str !== \"string\") return \"A\";\r\n    const t = str.trim();\r\n    return t ? t.charAt(0).toUpperCase() : \"A\";\r\n  }\r\n\r\n  function readTravelerIdentity(){\r\n    var out = { pseudo: \"\", avatarUrl: \"\" };\r\n    try{\r\n      var raw = localStorage.getItem(LS_TRAVELER_PROFILE);\r\n      var p = raw ? JSON.parse(raw) : null;\r\n      if(p && typeof p === \"object\"){\r\n        out.pseudo = p.pseudo || p.displayName || p.name || p.nickname || \"\";\r\n        out.avatarUrl = p.avatarUrl || p.avatar || p.photo || \"\";\r\n      }\r\n    }catch(e){}\r\n    if(!out.pseudo){\r\n      try{ out.pseudo = localStorage.getItem(PSEUDO_KEY) || \"\"; }catch(e2){}\r\n    }\r\n    if(out.avatarUrl && (\/gravatar\\.com\/i.test(out.avatarUrl) || !\/^https?:\\\/\\\/\/i.test(out.avatarUrl))){\r\n      out.avatarUrl = \"\";\r\n    }\r\n    return out;\r\n  }\r\n\r\n  function writeCommonProfile(patch){\r\n    if(!patch) return;\r\n    var current = {};\r\n    try{\r\n      var raw = localStorage.getItem(LS_TRAVELER_PROFILE);\r\n      if(raw){\r\n        var parsed = JSON.parse(raw);\r\n        if(parsed && typeof parsed === \"object\") current = parsed;\r\n      }\r\n    }catch(e){}\r\n    Object.keys(patch).forEach(function(k){\r\n      if(patch[k] !== undefined && patch[k] !== null) current[k] = patch[k];\r\n    });\r\n    try{ localStorage.setItem(LS_TRAVELER_PROFILE, JSON.stringify(current)); }catch(e2){}\r\n    if(patch.pseudo){\r\n      try{ localStorage.setItem(PSEUDO_KEY, String(patch.pseudo)); }catch(e3){}\r\n    }\r\n  }\r\n\r\n  function setIdentityText(name, email){\r\n    if(nameEl) nameEl.textContent = T(\"common.account\");\r\n    if(emailEl){\r\n      emailEl.textContent = name || \"\";\r\n      emailEl.style.display = \"\";\r\n    }\r\n  }\r\n\r\n  async function hydrateFromMe(){\r\n    try{\r\n      var r = await fetch(window.location.origin + \"\/wp-json\/apulia-sejour-social\/v1\/me\", {\r\n        credentials: \"include\",\r\n        cache: \"no-store\"\r\n      });\r\n      if(!r.ok) return;\r\n      var me = await r.json();\r\n      if(!me || !me.isLoggedIn) return;\r\n      var patch = {};\r\n      if(me.pseudo) patch.pseudo = me.pseudo;\r\n      if(me.avatarUrl && !\/gravatar\\.com\/i.test(me.avatarUrl)) patch.avatarUrl = me.avatarUrl;\r\n      if(me.countryCode) patch.countryCode = me.countryCode;\r\n      if(me.countryFlag) patch.countryFlag = me.countryFlag;\r\n      if(Object.keys(patch).length) writeCommonProfile(patch);\r\n    }catch(e){}\r\n  }\r\n\r\n  function openSharedProfileEdit(){\r\n    if(window.ASS && ASS.social && typeof ASS.social.openProfileEdit === \"function\"){\r\n      ASS.social.openProfileEdit();\r\n      return;\r\n    }\r\n    if(typeof window.ApuliaOpenProfileEdit === \"function\"){\r\n      window.ApuliaOpenProfileEdit();\r\n      return;\r\n    }\r\n    var home = chatUrlForLocale();\r\n    if(home.charAt(home.length - 1) !== \"\/\") home += \"\/\";\r\n    window.location.href = home + \"#apulia-edit-profile\";\r\n  }\r\n  try{ window.ApuliaOpenSharedProfileEdit = openSharedProfileEdit; }catch(eOpen){}\r\n\r\n  function paintAccountAvatar(letterSrc){\r\n    if(!avatar) return;\r\n    var id = readTravelerIdentity();\r\n    if(id.avatarUrl){\r\n      avatar.style.backgroundImage = \"url('\" + String(id.avatarUrl).replace(\/'\/g, \"%27\") + \"')\";\r\n      avatar.textContent = \"\";\r\n      avatar.classList.add(\"is-photo\");\r\n      return;\r\n    }\r\n    avatar.style.backgroundImage = \"\";\r\n    avatar.classList.remove(\"is-photo\");\r\n    avatar.textContent = firstLetter(letterSrc || id.pseudo || \"A\");\r\n  }\r\n\r\n  function formatDaysRemaining(proUntil){\r\n    if(!proUntil) return \"\";\r\n    const now  = new Date();\r\n    const end  = new Date(proUntil);\r\n    const diff = end.getTime() - now.getTime();\r\n    if(diff <= 0) return T(\"account.pro_expired\");\r\n    const days = Math.ceil(diff \/ (1000*60*60*24));\r\n    if(days <= 1) return T(\"account.expires_24h\");\r\n    if(days === 2) return T(\"account.expires_2days\");\r\n    return T(\"account.expires_days\", { days: days });\r\n  }\r\n\r\n  function setLocalProFlag(isPro){\r\n    try{ localStorage.setItem(LS_IS_PRO, isPro ? \"1\" : \"0\"); }catch(e){}\r\n  }\r\n\r\n  function setLocalUserId(userId){\r\n    try{\r\n      if(userId){\r\n        localStorage.setItem(LS_USER_ID, userId);\r\n        localStorage.setItem(LS_LAST_USER, userId);\r\n      }\r\n    }catch(e){}\r\n  }\r\n\r\n  function setUiLoggedOut(){\r\n    IS_AUTH = false;\r\n    lastSession = null;\r\n\r\n    setIdentityText(T(\"account.disconnected\"), \"\");\r\n    if(editProfileBtn) editProfileBtn.style.display = \"none\";\r\n    badgeTx.textContent = T(\"account.badge_free\");\r\n    badgeTx.className   = \"apulia-free-color\";\r\n    badgeDot.style.background = \"var(--apulia-blue)\";\r\n    statusEl.textContent = T(\"account.reconnect\");\r\n    paintAccountAvatar(\"A\");\r\n\r\n    \/\/ Espace Pro badge cach\u00e9 si pas connect\u00e9 (ou inconnu)\r\n    if(espaceProBadge){\r\n      espaceProBadge.style.display = \"none\";\r\n      if(espaceProDot){ espaceProDot.style.background = \"var(--apulia-orange)\"; }\r\n    }\r\n\r\n    \/\/ bouton = CONNEXION\r\n    if(actionBtn){\r\n      actionBtn.textContent = T(\"account.login\");\r\n      actionBtn.setAttribute(\"data-mode\",\"login\");\r\n    }\r\n\r\n    setLocalProFlag(false);\r\n    try{\r\n      localStorage.removeItem(LS_USER_ID);\r\n      localStorage.removeItem(LS_LAST_USER);\r\n    }catch(e){}\r\n  }\r\n\r\n  function setUiLoggedIn(email, pseudo){\r\n    IS_AUTH = true;\r\n\r\n    const id = readTravelerIdentity();\r\n    const name = id.pseudo || pseudo || \"\";\r\n    setIdentityText(name, email);\r\n    paintAccountAvatar(name);\r\n    if(editProfileBtn) editProfileBtn.style.display = \"\";\r\n\r\n    \/\/ bouton = D\u00c9CONNEXION\r\n    if(actionBtn){\r\n      actionBtn.textContent = T(\"account.logout\");\r\n      actionBtn.setAttribute(\"data-mode\",\"logout\");\r\n    }\r\n  }\r\n\r\n  function setBadgeApulia(isPro, proUntil, tier){\r\n    if(isPro){\r\n      if(tier === \"admin\"){\r\n        badgeTx.textContent = T(\"account.badge_admin\");\r\n        badgeTx.className   = \"apulia-pro-color\";\r\n        badgeDot.style.background = \"var(--apulia-orange)\";\r\n        statusEl.textContent = T(\"account.unlimited\");\r\n      }else{\r\n        badgeTx.textContent = T(\"account.badge_pro\");\r\n        badgeTx.className   = \"apulia-pro-color\";\r\n        badgeDot.style.background = \"var(--apulia-orange)\";\r\n        statusEl.textContent = formatDaysRemaining(proUntil) || T(\"account.pro_active\");\r\n      }\r\n    }else{\r\n      badgeTx.textContent = T(\"account.badge_free\");\r\n      badgeTx.className   = \"apulia-free-color\";\r\n      badgeDot.style.background = \"var(--apulia-blue)\";\r\n      const expired = proUntil && new Date(proUntil).getTime() <= Date.now();\r\n      statusEl.textContent = expired ? T(\"account.pro_expired\") : T(\"account.free_pass\");\r\n    }\r\n  }\r\n\r\n  function setBadgeEspacePro(isActive){\r\n    if(!espaceProBadge) return;\r\n    if(isActive){\r\n      espaceProBadge.style.display = \"inline-flex\";\r\n      if(espaceProDot){ espaceProDot.style.background = \"var(--apulia-orange)\"; }\r\n    }else{\r\n      \/\/ Canon demand\u00e9 : ne pas afficher si pas actif\r\n      espaceProBadge.style.display = \"none\";\r\n      if(espaceProDot){ espaceProDot.style.background = \"var(--apulia-orange)\"; }\r\n    }\r\n  }\r\n\r\n  async function fetchJson(url){\r\n    const r = await fetch(url, { credentials:\"include\", cache:\"no-store\" });\r\n    let j = null;\r\n    try{ j = await r.json(); }catch(e){ j = null; }\r\n    return { ok:r.ok, json:j };\r\n  }\r\n\r\n  async function loadSession(){\r\n    try{\r\n      \/\/ 1) Session Chat (\/session) = base login + free\/pro\r\n      const chatRes = await fetchJson(SESSION_CHAT_URL);\r\n\r\n      if(!chatRes.ok || !chatRes.json){\r\n        \/\/ non connect\u00e9\r\n        lastSession = null;\r\n        setUiLoggedOut();\r\n        return;\r\n      }\r\n\r\n      const data = chatRes.json;\r\n\r\n      const email    = data.email || (data.user && data.user.email) || T(\"common.account\");\r\n      const tier     = data.tier  || (data.user && data.user.tier)  || \"free\";\r\n      const proUntil = data.pro_until || data.proUntil || (data.user && data.user.pro_until) || null;\r\n      const pseudo   = data.pseudo || (function(){ try{return localStorage.getItem(PSEUDO_KEY)||\"\";}catch(e){return \"\";} })();\r\n      const userId   = data.user_id || (data.user && data.user.id) || null;\r\n\r\n      setUiLoggedIn(email, pseudo);\r\n      await hydrateFromMe();\r\n      setUiLoggedIn(email, pseudo);\r\n      setLocalUserId(userId);\r\n\r\n      const isApuliaPro = (data.is_pro === true);\r\n      setLocalProFlag(isApuliaPro);\r\n      setBadgeApulia(isApuliaPro, proUntil, tier);\r\n\r\n      var espaceProActive = false;\r\n\r\n      \/\/ 2) Session Espace Pro (\/v1\/session) = logged + is_espace_pro\r\n      \/\/    (on l\u2019affiche SEULEMENT si actif)\r\n      try{\r\n        const epRes = await fetchJson(SESSION_ESPACEPRO_URL);\r\n        if(epRes.ok && epRes.json){\r\n          const s = epRes.json;\r\n          const sTier = s.tier || (s.user && s.user.tier) || \"free\";\r\n          espaceProActive = !!(s && s.logged === true && (s.is_espace_pro === true || sTier === \"admin\"));\r\n          setBadgeEspacePro(espaceProActive);\r\n        }else{\r\n          setBadgeEspacePro(false);\r\n        }\r\n      }catch(e2){\r\n        setBadgeEspacePro(false);\r\n      }\r\n\r\n      lastSession = {\r\n        email: email,\r\n        pseudo: pseudo,\r\n        tier: tier,\r\n        proUntil: proUntil,\r\n        isApuliaPro: isApuliaPro,\r\n        espaceProActive: espaceProActive\r\n      };\r\n\r\n    }catch(e){\r\n      lastSession = null;\r\n      setIdentityText(T(\"account.load_error\"), \"\");\r\n      statusEl.textContent = T(\"account.retry_later\");\r\n      setBadgeEspacePro(false);\r\n      setLocalProFlag(false);\r\n    }\r\n  }\r\n\r\n    \/\/ Fallback minimal (si la page n\u2019a pas le moteur login charg\u00e9)\r\n  function chatUrlForLocale(){\r\n    var loc = \"fr\";\r\n    if(window.ApuliaI18n && typeof window.ApuliaI18n.getLocale === \"function\"){\r\n      loc = window.ApuliaI18n.getLocale();\r\n    }\r\n    var homes = {\r\n      fr: \"\/apulia-sejour\/\",\r\n      it: \"\/it\/apulia-soggiorno\/\",\r\n      en: \"\/en\/apulia-trip\/\",\r\n      de: \"\/de\/apulia-reise\/\"\r\n    };\r\n    return homes[loc] || homes.fr;\r\n  }\r\n\r\n  function openLoginHere(){\r\n    if(window.ApuliaLoginPopup && typeof window.ApuliaLoginPopup.show === \"function\"){\r\n      window.ApuliaLoginPopup.show();\r\n      return;\r\n    }\r\n    if(window.apuliaOpenLoginPopup && typeof window.apuliaOpenLoginPopup === \"function\"){\r\n      window.apuliaOpenLoginPopup(\"account\");\r\n      return;\r\n    }\r\n    window.location.href = chatUrlForLocale();\r\n  }\r\n\r\n  async function doLogout(){\r\n    try{\r\n      await fetch(LOGOUT_URL, { method:\"POST\", credentials:\"include\" }).catch(()=>{});\r\n\r\n      \/\/ Tracking : l'\u00e9v\u00e9nement logout est \u00e9mis c\u00f4t\u00e9 serveur (uid encore connu).\r\n      \/\/ Ici on efface uniquement le contexte user_id client (anonymous_id conserv\u00e9).\r\n      try{ if(window.ApuliaTrack && window.ApuliaTrack.clearUserId){ window.ApuliaTrack.clearUserId(); } }catch(e){}\r\n\r\n      try{\r\n        localStorage.removeItem(LS_IS_PRO);\r\n        localStorage.removeItem(LS_USER_ID);\r\n        localStorage.removeItem(LS_HISTORY);\r\n        localStorage.removeItem(LS_GEO);\r\n        localStorage.removeItem(LS_NOTES);\r\n        localStorage.removeItem(LS_GEO_PROMPT);\r\n        localStorage.removeItem(LS_LANG);\r\n        localStorage.removeItem(LS_ANSWER_MODE);\r\n        localStorage.removeItem(PSEUDO_KEY);\r\n        localStorage.removeItem(LS_TRAVELER_PROFILE);\r\n        localStorage.removeItem(LS_INTERESTS_LEGACY);\r\n        localStorage.removeItem(LS_LAST_USER);\r\n      }catch(e){}\r\n\r\n      setUiLoggedOut();\r\n    }catch(e){\r\n      \/\/ si logout \u00e9choue, on ne force pas une UI mensong\u00e8re\r\n    }\r\n  }\r\n\r\n  \/* UI interactions *\/\r\n  if(toggle){\r\n    toggle.addEventListener(\"click\", () => {\r\n      card.classList.toggle(\"is-open\");\r\n    });\r\n  }\r\n\r\n  if(editProfileBtn){\r\n    editProfileBtn.addEventListener(\"click\", function(ev){\r\n      ev.preventDefault();\r\n      ev.stopPropagation();\r\n      openSharedProfileEdit();\r\n    });\r\n  }\r\n\r\n  if(actionBtn){\r\n    actionBtn.addEventListener(\"click\", async () => {\r\n      const mode = actionBtn.getAttribute(\"data-mode\") || \"logout\";\r\n      if(mode === \"login\"){\r\n        openLoginHere();\r\n        return;\r\n      }\r\n      await doLogout();\r\n    });\r\n  }\r\n\r\n  function setInitialLoadingUi(){\r\n    setIdentityText(T(\"account.loading\"), \"\");\r\n    statusEl.textContent = T(\"account.connecting\");\r\n    badgeTx.textContent = T(\"account.badge_free\");\r\n    if(actionBtn){\r\n      actionBtn.textContent = T(\"account.logout\");\r\n      actionBtn.setAttribute(\"data-mode\", \"logout\");\r\n    }\r\n  }\r\n\r\n  function reapplyAccountI18n(){\r\n    if(lastSession){\r\n      setUiLoggedIn(lastSession.email, lastSession.pseudo);\r\n      setBadgeApulia(lastSession.isApuliaPro, lastSession.proUntil, lastSession.tier);\r\n      setBadgeEspacePro(lastSession.espaceProActive);\r\n      return;\r\n    }\r\n    if(IS_AUTH === false){\r\n      setUiLoggedOut();\r\n    }\r\n  }\r\n\r\n  setInitialLoadingUi();\r\n  loadSession();\r\n\r\n  window.addEventListener(\"apulia:i18n_ready\", reapplyAccountI18n);\r\n  window.addEventListener(\"apulia:traveler_profile_updated\", reapplyAccountI18n);\r\n  window.addEventListener(\"storage\", function(e){\r\n    if(e.key === LS_TRAVELER_PROFILE || e.key === PSEUDO_KEY){\r\n      reapplyAccountI18n();\r\n    }\r\n  });\r\n  document.addEventListener(\"visibilitychange\", function(){\r\n    if(document.visibilityState === \"visible\"){\r\n      hydrateFromMe().then(reapplyAccountI18n);\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e0115a9 e-flex e-con-boxed e-con e-parent\" data-id=\"e0115a9\" 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-77f388c elementor-widget elementor-widget-heading\" data-id=\"77f388c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Preferences<\/h5>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8093ac4 e-flex e-con-boxed e-con e-parent\" data-id=\"8093ac4\" 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-d6518c5 elementor-widget elementor-widget-html\" data-id=\"d6518c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ===================================================== -->\r\n<!-- APULIA \u2014 BLOC LANGUE WPML OPTION A \u2014 VERSION CORRIG\u00c9E -->\r\n<!-- ===================================================== -->\r\n\r\n<style>\r\n  :root{\r\n    --apulia-orange:#F6A623;\r\n    --apulia-blue:#088BEE;\r\n    --apulia-teal-1:#001D26;\r\n    --apulia-teal-2:#003F52;\r\n  }\r\n  \r\n  .apulia-lang-shell{\r\n    width:100%;\r\n    max-width:720px;\r\n    margin:16px auto 0;\r\n    padding:0 12px;\r\n    color:#fff;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n  }\r\n  \r\n  .apulia-lang-card{\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.95),rgba(0,94,117,0.9));\r\n    padding:14px 16px;\r\n    border-radius:22px;\r\n    box-shadow:0 14px 40px rgba(0,0,0,0.45);\r\n  }\r\n  \r\n  .apulia-lang-row{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:flex-start;\r\n    gap:12px;\r\n    cursor:pointer;\r\n  }\r\n  \r\n  .apulia-lang-left{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:10px;\r\n  }\r\n  \r\n  .apulia-lang-icon{\r\n    width:28px;\r\n    height:28px;\r\n    border-radius:999px;\r\n    background:rgba(0,0,0,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    flex-shrink:0;\r\n    font-size:18px;\r\n    line-height:1;\r\n  }\r\n  \r\n  .apulia-lang-text{\r\n    display:flex;\r\n    flex-direction:column;\r\n    gap:2px;\r\n  }\r\n  \r\n  .apulia-lang-label{\r\n    font-size:15px;\r\n    font-weight:600;\r\n  }\r\n  \r\n  .apulia-lang-sub{\r\n    font-size:13px;\r\n    opacity:0.9;\r\n  }\r\n  \r\n  .apulia-lang-spacer{\r\n    flex:1;\r\n  }\r\n  \r\n  .apulia-lang-flag{\r\n    font-size:16px;\r\n    margin-right:4px;\r\n  }\r\n  \r\n  .apulia-lang-current{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:6px;\r\n    font-size:13px;\r\n    font-weight:600;\r\n    letter-spacing:0.08em;\r\n    text-transform:uppercase;\r\n    color:var(--apulia-orange);\r\n  }\r\n  \r\n  .apulia-lang-chevron{\r\n    width:22px;\r\n    height:22px;\r\n    border-radius:999px;\r\n    border:1px solid rgba(255,255,255,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    font-size:16px;\r\n  }\r\n  \r\n  .apulia-lang-sheet-bg{\r\n    position:fixed;\r\n    inset:0;\r\n    background:rgba(0,0,0,0.55);\r\n    display:none;\r\n    align-items:flex-end;\r\n    justify-content:center;\r\n    z-index:999999;\r\n  }\r\n  \r\n  .apulia-lang-sheet{\r\n    width:100%;\r\n    max-width:720px;\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.98),rgba(0,94,117,0.96));\r\n    border-radius:22px 22px 0 0;\r\n    padding:18px 16px 24px;\r\n    transform:translateY(100%);\r\n    transition:transform .28s ease-out;\r\n  }\r\n  \r\n  .apulia-lang-sheet.is-open{\r\n    transform:translateY(0);\r\n  }\r\n  \r\n  .apulia-lang-sheet-title{\r\n    font-size:16px;\r\n    font-weight:700;\r\n    margin-bottom:12px;\r\n    text-align:center;\r\n    color:#ffffff;\r\n  }\r\n  \r\n  .apulia-lang-item{\r\n    padding:12px 4px;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    border-bottom:1px solid rgba(255,255,255,0.08);\r\n    cursor:pointer;\r\n  }\r\n  \r\n  .apulia-lang-item:last-child{\r\n    border-bottom:none;\r\n  }\r\n  \r\n  .apulia-lang-name{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:8px;\r\n    font-size:15px;\r\n    font-weight:500;\r\n    color:#ffffff;\r\n  }\r\n  \r\n  .apulia-lang-name-flag{\r\n    font-size:18px;\r\n  }\r\n  \r\n  .apulia-lang-check{\r\n    font-size:16px;\r\n    color:var(--apulia-orange);\r\n    opacity:0;\r\n    transition:opacity .15s;\r\n  }\r\n  \r\n  .apulia-lang-item.active .apulia-lang-check{\r\n    opacity:1;\r\n  }\r\n  \r\n  .apulia-lang-item.active .apulia-lang-name{\r\n    color:var(--apulia-orange);\r\n  }\r\n\r\n  \/* ES \/ NL pas encore disponibles *\/\r\n  .apulia-lang-item[data-lang=\"es\"],\r\n  .apulia-lang-item[data-lang=\"nl\"],\r\n  .apulia-lang-item[data-apulia-lang-hidden=\"1\"]{\r\n    display:none !important;\r\n  }\r\n  <\/style>\r\n  \r\n  <div class=\"apulia-lang-shell\">\r\n    <div class=\"apulia-lang-card\">\r\n      <div class=\"apulia-lang-row\" id=\"apulia-lang-open\">\r\n        <div class=\"apulia-lang-left\">\r\n          <div class=\"apulia-lang-icon\">\ud83c\udf0e<\/div>\r\n          <div class=\"apulia-lang-text\">\r\n            <div class=\"apulia-lang-label\" data-apulia-i18n=\"lang.label\">Langue<\/div>\r\n            <div class=\"apulia-lang-sub\" data-apulia-i18n=\"lang.sub\">Choisissez votre langue<\/div>\r\n          <\/div>\r\n        <\/div>\r\n  \r\n        <div class=\"apulia-lang-spacer\"><\/div>\r\n  \r\n        <div class=\"apulia-lang-current\" id=\"apulia-lang-current\">\r\n          <span class=\"apulia-lang-flag\" id=\"apulia-lang-flag\" data-apulia-dynamic>\ud83c\uddeb\ud83c\uddf7<\/span>\r\n          <span id=\"apulia-lang-code\" data-apulia-dynamic>FR<\/span>\r\n        <\/div>\r\n  \r\n        <div class=\"apulia-lang-chevron\">\u203a<\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  \r\n  <div class=\"apulia-lang-sheet-bg\" id=\"apulia-lang-bg\">\r\n    <div class=\"apulia-lang-sheet\" id=\"apulia-lang-sheet\">\r\n      <div class=\"apulia-lang-sheet-title\" data-apulia-i18n=\"lang.sheet_title\">Choisissez votre langue<\/div>\r\n  \r\n      <div class=\"apulia-lang-item\" data-lang=\"fr\">\r\n        <span class=\"apulia-lang-name\"><span class=\"apulia-lang-name-flag\">\ud83c\uddeb\ud83c\uddf7<\/span><span>Fran\u00e7ais<\/span><\/span>\r\n        <span class=\"apulia-lang-check\">\u2713<\/span>\r\n      <\/div>\r\n  \r\n      <div class=\"apulia-lang-item\" data-lang=\"it\">\r\n        <span class=\"apulia-lang-name\"><span class=\"apulia-lang-name-flag\">\ud83c\uddee\ud83c\uddf9<\/span><span>Italiano<\/span><\/span>\r\n        <span class=\"apulia-lang-check\">\u2713<\/span>\r\n      <\/div>\r\n  \r\n      <div class=\"apulia-lang-item\" data-lang=\"en\">\r\n        <span class=\"apulia-lang-name\"><span class=\"apulia-lang-name-flag\">\ud83c\uddec\ud83c\udde7<\/span><span>English<\/span><\/span>\r\n        <span class=\"apulia-lang-check\">\u2713<\/span>\r\n      <\/div>\r\n\r\n      <div class=\"apulia-lang-item\" data-lang=\"de\">\r\n        <span class=\"apulia-lang-name\"><span class=\"apulia-lang-name-flag\">\ud83c\udde9\ud83c\uddea<\/span><span>Deutsch<\/span><\/span>\r\n        <span class=\"apulia-lang-check\">\u2713<\/span>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n  \r\n  <script>\r\n  (function(){\r\n    \"use strict\";\r\n  \r\n    const btnOpen = document.getElementById(\"apulia-lang-open\");\r\n    const sheetBg = document.getElementById(\"apulia-lang-bg\");\r\n    const sheet = document.getElementById(\"apulia-lang-sheet\");\r\n    const flagEl = document.getElementById(\"apulia-lang-flag\");\r\n    const codeEl = document.getElementById(\"apulia-lang-code\");\r\n\r\n    const AVAILABLE_LANGS = [\"fr\", \"it\", \"en\", \"de\"];\r\n\r\n    function isBlockedLangItem(item){\r\n      if(!item) return true;\r\n      var lang = (item.getAttribute(\"data-lang\") || \"\").toLowerCase().trim();\r\n      if(lang === \"es\" || lang === \"nl\") return true;\r\n      if(lang && AVAILABLE_LANGS.indexOf(lang) === -1) return true;\r\n      var text = (item.textContent || \"\").toLowerCase();\r\n      if(\/espa\u00f1ol|espanol|nederlands\/.test(text)) return true;\r\n      var flagEl = item.querySelector(\".apulia-lang-name-flag\");\r\n      if(flagEl && \/\ud83c\uddea\ud83c\uddf8|\ud83c\uddf3\ud83c\uddf1\/.test(flagEl.textContent || \"\")) return true;\r\n      return false;\r\n    }\r\n\r\n    function purgeUnavailableLangItems(){\r\n      var root = document.getElementById(\"apulia-lang-sheet\");\r\n      if(!root) return;\r\n      root.querySelectorAll(\".apulia-lang-item\").forEach(function(item){\r\n        if(isBlockedLangItem(item)){\r\n          item.setAttribute(\"data-apulia-lang-hidden\", \"1\");\r\n          if(item.parentNode){ item.parentNode.removeChild(item); }\r\n        }\r\n      });\r\n    }\r\n\r\n    purgeUnavailableLangItems();\r\n\r\n    function getLangItems(){\r\n      purgeUnavailableLangItems();\r\n      return Array.from(document.querySelectorAll(\"#apulia-lang-sheet .apulia-lang-item\"));\r\n    }\r\n\r\n    let items = getLangItems();\r\n  \r\n    const LANG_KEY_BASE = \"apulia_lang__\";\r\n    const LAST_USER_KEY_STORAGE = \"apulia_last_user_key_v1\";\r\n    const EXPLICIT_LANG_KEY = \"apulia_lang_explicit_v1\";\r\n  \r\n    const FLAG_BY_LANG = {\r\n      fr:\"\ud83c\uddeb\ud83c\uddf7\",\r\n      it:\"\ud83c\uddee\ud83c\uddf9\",\r\n      en:\"\ud83c\uddec\ud83c\udde7\",\r\n      de:\"\ud83c\udde9\ud83c\uddea\"\r\n    };\r\n  \r\n    const WPML_URLS = {\r\n      fr:{\r\n        \"apulia-chat-en-direct\":\"https:\/\/lespouilles.blog\/apulia-chat-en-direct\/\",\r\n        \"apulia-ia-favoris\":\"https:\/\/lespouilles.blog\/apulia-ia-favoris\/\",\r\n        \"apulia-plages\":\"https:\/\/lespouilles.blog\/apulia-plages\/\",\r\n        \"apulia-sejour\":\"https:\/\/lespouilles.blog\/apulia-sejour\/\",\r\n        \"apulia-ia-parametre\":\"https:\/\/lespouilles.blog\/apulia-ia-parametre\/\",\r\n        \"compte-parametre\":\"https:\/\/lespouilles.blog\/compte-parametre\/\",\r\n        \"espace-pro\":\"https:\/\/lespouilles.blog\/espace-pro\/\",\r\n        \"espace-pro-ma-fiche\":\"https:\/\/lespouilles.blog\/espace-pro-ma-fiche\/\",\r\n        \"apulia-explorer\":\"https:\/\/lespouilles.blog\/apulia-explorer\/\",\r\n        \"explorer-activites\":\"https:\/\/lespouilles.blog\/explorer-activites\/\",\r\n        \"explorer-hebergements\":\"https:\/\/lespouilles.blog\/explorer-hebergements\/\",\r\n        \"explorer-locations\":\"https:\/\/lespouilles.blog\/explorer-locations\/\",\r\n        \"explorer-plages\":\"https:\/\/lespouilles.blog\/explorer-plages\/\",\r\n        \"explorer-restaurants\":\"https:\/\/lespouilles.blog\/explorer-restaurants\/\",\r\n        \"explorer-villes\":\"https:\/\/lespouilles.blog\/explorer-villes\/\",\r\n        \"profil-voyageur\":\"https:\/\/lespouilles.blog\/profil-voyageur\/\"\r\n      },\r\n  \r\n      it:{\r\n        \"apulia-chat-en-direct\":\"https:\/\/lespouilles.blog\/it\/apulia-chat\/\",\r\n        \"apulia-ia-favoris\":\"https:\/\/lespouilles.blog\/it\/puglia-preferiti\/\",\r\n        \"apulia-plages\":\"https:\/\/lespouilles.blog\/it\/apulia-spiagge\/\",\r\n        \"apulia-sejour\":\"https:\/\/lespouilles.blog\/it\/apulia-soggiorno\/\",\r\n        \"apulia-ia-parametre\":\"https:\/\/lespouilles.blog\/it\/apulia-impostazioni\/\",\r\n        \"compte-parametre\":\"https:\/\/lespouilles.blog\/it\/account-impostazioni\/\",\r\n        \"espace-pro\":\"https:\/\/lespouilles.blog\/it\/area-pro\/\",\r\n        \"espace-pro-ma-fiche\":\"https:\/\/lespouilles.blog\/it\/spazio-pro-la-mia-scheda\/\",\r\n        \"apulia-explorer\":\"https:\/\/lespouilles.blog\/it\/apulia-explorer\/\",\r\n        \"explorer-activites\":\"https:\/\/lespouilles.blog\/it\/esplora-attivita\/\",\r\n        \"explorer-hebergements\":\"https:\/\/lespouilles.blog\/it\/esplora-alloggi\/\",\r\n        \"explorer-locations\":\"https:\/\/lespouilles.blog\/it\/esplora-noleggi\/\",\r\n        \"explorer-plages\":\"https:\/\/lespouilles.blog\/it\/esplora-spiagge\/\",\r\n        \"explorer-restaurants\":\"https:\/\/lespouilles.blog\/it\/esplora-ristoranti\/\",\r\n        \"explorer-villes\":\"https:\/\/lespouilles.blog\/it\/esplora-citta\/\",\r\n        \"profil-voyageur\":\"https:\/\/lespouilles.blog\/it\/profilo-viaggiatore\/\"\r\n      },\r\n  \r\n      en:{\r\n        \"apulia-chat-en-direct\":\"https:\/\/lespouilles.blog\/en\/apulia-chat\/\",\r\n        \"apulia-ia-favoris\":\"https:\/\/lespouilles.blog\/en\/apulia-favorites\/\",\r\n        \"apulia-plages\":\"https:\/\/lespouilles.blog\/en\/apulia-beaches\/\",\r\n        \"apulia-sejour\":\"https:\/\/lespouilles.blog\/en\/apulia-trip\/\",\r\n        \"apulia-ia-parametre\":\"https:\/\/lespouilles.blog\/en\/apulia-settings\/\",\r\n        \"compte-parametre\":\"https:\/\/lespouilles.blog\/en\/account-settings\/\",\r\n        \"espace-pro\":\"https:\/\/lespouilles.blog\/en\/pro-area\/\",\r\n        \"espace-pro-ma-fiche\":\"https:\/\/lespouilles.blog\/en\/pro-area-my-listing\/\",\r\n        \"apulia-explorer\":\"https:\/\/lespouilles.blog\/en\/apulia-explorer\/\",\r\n        \"explorer-activites\":\"https:\/\/lespouilles.blog\/en\/explore-activities\/\",\r\n        \"explorer-hebergements\":\"https:\/\/lespouilles.blog\/en\/explore-accommodations\/\",\r\n        \"explorer-locations\":\"https:\/\/lespouilles.blog\/en\/explore-rentals\/\",\r\n        \"explorer-plages\":\"https:\/\/lespouilles.blog\/en\/explore-beaches\/\",\r\n        \"explorer-restaurants\":\"https:\/\/lespouilles.blog\/en\/explore-restaurants\/\",\r\n        \"explorer-villes\":\"https:\/\/lespouilles.blog\/en\/explore-cities\/\",\r\n        \"profil-voyageur\":\"https:\/\/lespouilles.blog\/en\/traveler-profile\/\"\r\n      },\r\n  \r\n      de:{\r\n        \"apulia-chat-en-direct\":\"https:\/\/lespouilles.blog\/de\/apulia-chat\/\",\r\n        \"apulia-ia-favoris\":\"https:\/\/lespouilles.blog\/de\/apulia-favoriten\/\",\r\n        \"apulia-plages\":\"https:\/\/lespouilles.blog\/de\/apulia-straende\/\",\r\n        \"apulia-sejour\":\"https:\/\/lespouilles.blog\/de\/apulia-reise\/\",\r\n        \"apulia-ia-parametre\":\"https:\/\/lespouilles.blog\/de\/apulia-einstellung\/\",\r\n        \"compte-parametre\":\"https:\/\/lespouilles.blog\/de\/konto-einstellungen\/\",\r\n        \"espace-pro\":\"https:\/\/lespouilles.blog\/de\/pro-bereich\/\",\r\n        \"espace-pro-ma-fiche\":\"https:\/\/lespouilles.blog\/de\/pro-bereich-mein-eintrag\/\",\r\n        \"apulia-explorer\":\"https:\/\/lespouilles.blog\/de\/apulia-explorer\/\",\r\n        \"explorer-activites\":\"https:\/\/lespouilles.blog\/de\/entdecken-aktivitaeten\/\",\r\n        \"explorer-hebergements\":\"https:\/\/lespouilles.blog\/de\/entdecken-unterkuenfte\/\",\r\n        \"explorer-locations\":\"https:\/\/lespouilles.blog\/de\/erkunden-verleih\/\",\r\n        \"explorer-plages\":\"https:\/\/lespouilles.blog\/de\/entdecken-straende\/\",\r\n        \"explorer-restaurants\":\"https:\/\/lespouilles.blog\/de\/entdecken-restaurants\/\",\r\n        \"explorer-villes\":\"https:\/\/lespouilles.blog\/de\/entdecken-staedte\/\",\r\n        \"profil-voyageur\":\"https:\/\/lespouilles.blog\/de\/reiseprofil\/\"\r\n      },\r\n\r\n    };\r\n  \r\n    const FALLBACK_HOME = {\r\n      fr:\"https:\/\/lespouilles.blog\/\",\r\n      it:\"https:\/\/lespouilles.blog\/it\/\",\r\n      en:\"https:\/\/lespouilles.blog\/en\/\",\r\n      de:\"https:\/\/lespouilles.blog\/de\/\"\r\n    };\r\n  \r\n    const SLUG_ALIASES = {\r\n      \"apulia-chat-en-direct\":\"apulia-chat-en-direct\",\r\n      \"apulia-chat\":\"apulia-chat-en-direct\",\r\n  \r\n      \"apulia-ia-favoris\":\"apulia-ia-favoris\",\r\n      \"puglia-preferiti\":\"apulia-ia-favoris\",\r\n      \"apulia-favorites\":\"apulia-ia-favoris\",\r\n      \"apulia-favoriten\":\"apulia-ia-favoris\",\r\n  \r\n      \"apulia-plages\":\"apulia-plages\",\r\n      \"apulia-spiagge\":\"apulia-plages\",\r\n      \"apulia-beaches\":\"apulia-plages\",\r\n      \"apulia-straende\":\"apulia-plages\",\r\n  \r\n      \"apulia-sejour\":\"apulia-sejour\",\r\n      \"apulia-soggiorno\":\"apulia-sejour\",\r\n      \"apulia-trip\":\"apulia-sejour\",\r\n      \"apulia-reise\":\"apulia-sejour\",\r\n  \r\n      \"apulia-ia-parametre\":\"apulia-ia-parametre\",\r\n      \"apulia-impostazioni\":\"apulia-ia-parametre\",\r\n      \"apulia-settings\":\"apulia-ia-parametre\",\r\n      \"apulia-einstellung\":\"apulia-ia-parametre\",\r\n  \r\n      \"compte-parametre\":\"compte-parametre\",\r\n      \"account-impostazioni\":\"compte-parametre\",\r\n      \"account-settings\":\"compte-parametre\",\r\n      \"konto-einstellungen\":\"compte-parametre\",\r\n  \r\n      \"espace-pro\":\"espace-pro\",\r\n      \"area-pro\":\"espace-pro\",\r\n      \"pro-area\":\"espace-pro\",\r\n      \"pro-bereich\":\"espace-pro\",\r\n  \r\n      \"espace-pro-ma-fiche\":\"espace-pro-ma-fiche\",\r\n      \"spazio-pro-la-mia-scheda\":\"espace-pro-ma-fiche\",\r\n      \"pro-area-my-listing\":\"espace-pro-ma-fiche\",\r\n      \"pro-bereich-mein-eintrag\":\"espace-pro-ma-fiche\",\r\n  \r\n      \"apulia-explorer\":\"apulia-explorer\",\r\n  \r\n      \"explorer-activites\":\"explorer-activites\",\r\n      \"esplora-attivita\":\"explorer-activites\",\r\n      \"explore-activities\":\"explorer-activites\",\r\n      \"entdecken-aktivitaeten\":\"explorer-activites\",\r\n  \r\n      \"explorer-hebergements\":\"explorer-hebergements\",\r\n      \"esplora-alloggi\":\"explorer-hebergements\",\r\n      \"explore-accommodations\":\"explorer-hebergements\",\r\n      \"entdecken-unterkuenfte\":\"explorer-hebergements\",\r\n  \r\n      \"explorer-locations\":\"explorer-locations\",\r\n      \"esplora-noleggi\":\"explorer-locations\",\r\n      \"explore-rentals\":\"explorer-locations\",\r\n      \"erkunden-verleih\":\"explorer-locations\",\r\n  \r\n      \"explorer-plages\":\"explorer-plages\",\r\n      \"esplora-spiagge\":\"explorer-plages\",\r\n      \"explore-beaches\":\"explorer-plages\",\r\n      \"entdecken-straende\":\"explorer-plages\",\r\n  \r\n      \"explorer-restaurants\":\"explorer-restaurants\",\r\n      \"esplora-ristoranti\":\"explorer-restaurants\",\r\n      \"explore-restaurants\":\"explorer-restaurants\",\r\n      \"entdecken-restaurants\":\"explorer-restaurants\",\r\n  \r\n      \"explorer-villes\":\"explorer-villes\",\r\n      \"esplora-citta\":\"explorer-villes\",\r\n      \"explore-cities\":\"explorer-villes\",\r\n      \"entdecken-staedte\":\"explorer-villes\",\r\n  \r\n      \"profil-voyageur\":\"profil-voyageur\",\r\n      \"profilo-viaggiatore\":\"profil-voyageur\",\r\n      \"traveler-profile\":\"profil-voyageur\",\r\n      \"reiseprofil\":\"profil-voyageur\"\r\n    };\r\n  \r\n    function normalizeLang(x){\r\n      if(!x || typeof x !== \"string\") return \"fr\";\r\n      let t = x.toLowerCase().trim();\r\n      if(t.indexOf(\"-\") !== -1) t = t.split(\"-\")[0];\r\n  \r\n      const aliasMap = {\r\n        \"nederlands\":\"nl\",\r\n        \"dutch\":\"nl\",\r\n        \"english\":\"en\",\r\n        \"italiano\":\"it\",\r\n        \"deutsch\":\"de\",\r\n        \"espanol\":\"es\",\r\n        \"espa\u00f1ol\":\"es\",\r\n        \"francais\":\"fr\",\r\n        \"fran\u00e7ais\":\"fr\"\r\n      };\r\n  \r\n      if(aliasMap[t]) t = aliasMap[t];\r\n      if(AVAILABLE_LANGS.indexOf(t) !== -1) return t;\r\n      return \"fr\";\r\n    }\r\n  \r\n    function getUserKey(){\r\n      try{\r\n        var stored = localStorage.getItem(LAST_USER_KEY_STORAGE);\r\n        if(stored) return stored;\r\n      }catch(e){}\r\n      return \"anonymous\";\r\n    }\r\n  \r\n    function getLangKey(){\r\n      return LANG_KEY_BASE + getUserKey();\r\n    }\r\n\r\n    function getStoredLangPreference(){\r\n      try{\r\n        var explicit = localStorage.getItem(EXPLICIT_LANG_KEY);\r\n        if(explicit) return normalizeLang(explicit);\r\n        var scoped = localStorage.getItem(getLangKey());\r\n        if(scoped) return normalizeLang(scoped);\r\n        var globalLang = localStorage.getItem(\"apulia_lang\");\r\n        if(globalLang) return normalizeLang(globalLang);\r\n      }catch(e){}\r\n      return null;\r\n    }\r\n\r\n    function persistLangChoice(lang){\r\n      var safe = normalizeLang(lang);\r\n      if(AVAILABLE_LANGS.indexOf(safe) === -1) return safe;\r\n      try{\r\n        localStorage.setItem(EXPLICIT_LANG_KEY, safe);\r\n        localStorage.setItem(getLangKey(), safe);\r\n        localStorage.setItem(\"apulia_lang\", safe);\r\n        var pageKey = detectCanonicalPageKey();\r\n        if(pageKey) localStorage.setItem(\"apulia_last_page_key\", pageKey);\r\n      }catch(e){}\r\n      try{\r\n        fetch(\"https:\/\/lespouilles.blog\/user\/lang\", {\r\n          method: \"POST\",\r\n          headers: { \"Content-Type\": \"application\/json\" },\r\n          credentials: \"include\",\r\n          body: JSON.stringify({ lang: safe })\r\n        }).catch(function(){});\r\n      }catch(e){}\r\n      return safe;\r\n    }\r\n\r\n    \/** Langue r\u00e9elle de la page (URL \/ WPML) \u2014 pour redirections *\/\r\n    function getPageLang(){\r\n      var pathLang = localeFromPath();\r\n      if(pathLang !== \"fr\") return pathLang;\r\n\r\n      if(window.ApuliaI18n && typeof window.ApuliaI18n.getLocale === \"function\"){\r\n        return normalizeLang(window.ApuliaI18n.getLocale());\r\n      }\r\n      if(window.APULIA_WPML_LANG){\r\n        return normalizeLang(window.APULIA_WPML_LANG);\r\n      }\r\n      try{\r\n        var htmlLang = document.documentElement.getAttribute(\"lang\");\r\n        if(htmlLang) return normalizeLang(htmlLang);\r\n      }catch(e){}\r\n      return \"fr\";\r\n    }\r\n\r\n    \/**\r\n     * Badge = langue r\u00e9elle de la page (URL \/ WPML), jamais localStorage.\r\n     *\/\r\n    function getSelectorDisplayLang(){\r\n      if(window.ApuliaI18n && typeof window.ApuliaI18n.getLocale === \"function\"){\r\n        return normalizeLang(window.ApuliaI18n.getLocale());\r\n      }\r\n      return getPageLang();\r\n    }\r\n\r\n    function syncBadgeNow(){\r\n      var display = getSelectorDisplayLang();\r\n      if(codeEl) codeEl.textContent = display.toUpperCase();\r\n      if(flagEl) flagEl.textContent = FLAG_BY_LANG[display] || \"\ud83c\udf0d\";\r\n      getLangItems().forEach(function(item){\r\n        item.classList.toggle(\"active\", item.dataset.lang === display);\r\n      });\r\n    }\r\n\r\n    syncBadgeNow();\r\n\r\n    var RESTORE_GUARD_KEY = \"apulia_lang_restore_guard_v1\";\r\n\r\n    function canAttemptLangRestore(){\r\n      try{\r\n        var raw = sessionStorage.getItem(RESTORE_GUARD_KEY);\r\n        if(!raw) return true;\r\n        var ts = parseInt(raw, 10);\r\n        return !ts || (Date.now() - ts) > 2500;\r\n      }catch(e){}\r\n      return true;\r\n    }\r\n\r\n    function markLangRestoreAttempt(){\r\n      try{\r\n        sessionStorage.setItem(RESTORE_GUARD_KEY, String(Date.now()));\r\n      }catch(e){}\r\n    }\r\n\r\n    \/** Restauration d\u00e9l\u00e9gu\u00e9e au moteur i18n (entr\u00e9e PWA uniquement). Pas de redirection ici. *\/\r\n    function restoreLangPreferenceIfNeeded(){\r\n      if(window.ApuliaI18n && typeof window.ApuliaI18n.restoreLangPreference === \"function\"){\r\n        return window.ApuliaI18n.restoreLangPreference();\r\n      }\r\n      return false;\r\n    }\r\n  \r\n    function applyLangToDocument(lang){\r\n      try{\r\n        document.documentElement.setAttribute(\"lang\", lang);\r\n      }catch(e){}\r\n    }\r\n  \r\n    function emitLangEvent(lang){\r\n      try{\r\n        window.apuliaLang = lang;\r\n        window.dispatchEvent(new CustomEvent(\"apulia:lang\", { detail:{ lang:lang } }));\r\n      }catch(e){}\r\n    }\r\n  \r\n    function syncLangSelectorUI(lang){\r\n      var safe = normalizeLang(lang);\r\n      if(codeEl) codeEl.textContent = safe.toUpperCase();\r\n      if(flagEl) flagEl.textContent = FLAG_BY_LANG[safe] || \"\ud83c\udf0d\";\r\n\r\n      getLangItems().forEach(function(item){\r\n        item.classList.toggle(\"active\", item.dataset.lang === safe);\r\n      });\r\n    }\r\n\r\n    function localeFromPath(){\r\n      try{\r\n        var p = window.location.pathname || \"\";\r\n        if(\/\\\/it(\\\/|$)\/.test(p)) return \"it\";\r\n        if(\/\\\/en(\\\/|$)\/.test(p)) return \"en\";\r\n        if(\/\\\/de(\\\/|$)\/.test(p)) return \"de\";\r\n      }catch(e){}\r\n      return \"fr\";\r\n    }\r\n\r\n    function applyLangUiFromSources(){\r\n      var pageLang = getPageLang();\r\n\r\n      \/* L'URL\/WPML fait foi. La restauration est g\u00e9r\u00e9e par le moteur i18n\r\n         (uniquement \u00e0 l'entr\u00e9e PWA). Ici on se contente d'afficher le badge. *\/\r\n      if(restoreLangPreferenceIfNeeded()) return true;\r\n\r\n      var displayLang = getSelectorDisplayLang();\r\n      syncLangSelectorUI(displayLang);\r\n      try{\r\n        document.documentElement.setAttribute(\"lang\", pageLang);\r\n      }catch(e){}\r\n      try{ window.apuliaLang = displayLang; }catch(e){}\r\n      return false;\r\n    }\r\n  \r\n    function detectCanonicalPageKey(){\r\n      try{\r\n        var path = window.location.pathname || \"\/\";\r\n        path = path.replace(\/^\\\/+|\\\/+$\/g, \"\");\r\n        var parts = path.split(\"\/\").filter(Boolean);\r\n  \r\n        if(parts.length && [\"fr\",\"it\",\"en\",\"de\"].indexOf(parts[0]) !== -1){\r\n          parts.shift();\r\n        }\r\n  \r\n        var slug = parts[0] || \"\";\r\n        if(!slug) return null;\r\n  \r\n        return SLUG_ALIASES[slug] || null;\r\n      }catch(e){\r\n        return null;\r\n      }\r\n    }\r\n  \r\n    function getRedirectUrlForLang(lang){\r\n      var raw = String(lang || \"\").toLowerCase().trim().split(\"-\")[0];\r\n      if(raw === \"es\" || raw === \"nl\") return null;\r\n\r\n      var safe = normalizeLang(lang);\r\n      if(AVAILABLE_LANGS.indexOf(safe) === -1) return null;\r\n\r\n      var pageKey = detectCanonicalPageKey();\r\n  \r\n      if(pageKey && WPML_URLS[safe] && WPML_URLS[safe][pageKey]){\r\n        return WPML_URLS[safe][pageKey];\r\n      }\r\n  \r\n      return FALLBACK_HOME[safe] || FALLBACK_HOME.fr;\r\n    }\r\n  \r\n    function redirectToWpmlLang(lang){\r\n      var target = getRedirectUrlForLang(lang);\r\n  \r\n      if(!target) return;\r\n  \r\n      try{\r\n        if(window.location.href.split(\"#\")[0] !== target){\r\n          window.location.href = target;\r\n        }\r\n      }catch(e){\r\n        window.location.href = target;\r\n      }\r\n    }\r\n  \r\n    function openSheet(){\r\n      if(!sheetBg || !sheet) return;\r\n      items = getLangItems();\r\n      syncLangSelectorUI(getSelectorDisplayLang());\r\n      sheetBg.style.display = \"flex\";\r\n      setTimeout(function(){\r\n        sheet.classList.add(\"is-open\");\r\n      }, 10);\r\n    }\r\n  \r\n    function closeSheet(){\r\n      if(!sheetBg || !sheet) return;\r\n      sheet.classList.remove(\"is-open\");\r\n      setTimeout(function(){\r\n        sheetBg.style.display = \"none\";\r\n      }, 220);\r\n    }\r\n  \r\n    function saveLang(lang){\r\n      if(!lang) return;\r\n      var raw = String(lang).toLowerCase().trim().split(\"-\")[0];\r\n      if(raw === \"es\" || raw === \"nl\") return;\r\n\r\n      var safe = normalizeLang(lang);\r\n      if(AVAILABLE_LANGS.indexOf(safe) === -1) return;\r\n      if(safe !== raw && (raw === \"es\" || raw === \"nl\")) return;\r\n\r\n      persistLangChoice(safe);\r\n      syncLangSelectorUI(safe);\r\n\r\n      closeSheet();\r\n\r\n      \/* Changement de langue = TOUJOURS redirection WPML (rechargement complet).\r\n         Ne pas traduire les blocs en JS avant redirect (conflit avec WPML). *\/\r\n      redirectToWpmlLang(safe);\r\n    }\r\n  \r\n    window.addEventListener(\"apulia:lang\", function(){\r\n      if(restoreLangPreferenceIfNeeded()) return;\r\n      syncLangSelectorUI(getSelectorDisplayLang());\r\n    });\r\n  \r\n    if(btnOpen){\r\n      btnOpen.onclick = openSheet;\r\n    }\r\n  \r\n    if(sheetBg){\r\n      sheetBg.onclick = function(e){\r\n        if(e.target === sheetBg) closeSheet();\r\n      };\r\n    }\r\n\r\n    function bindLangItemClicks(){\r\n      getLangItems().forEach(function(item){\r\n        item.onclick = function(){\r\n          saveLang(item.dataset.lang);\r\n        };\r\n      });\r\n    }\r\n\r\n    bindLangItemClicks();\r\n\r\n    document.addEventListener(\"click\", function(e){\r\n      var item = e.target && e.target.closest ? e.target.closest(\"#apulia-lang-sheet .apulia-lang-item\") : null;\r\n      if(!item || !isBlockedLangItem(item)) return;\r\n      e.preventDefault();\r\n      e.stopPropagation();\r\n      e.stopImmediatePropagation();\r\n      item.remove();\r\n    }, true);\r\n\r\n    window.addEventListener(\"apulia:i18n_ready\", function(){\r\n      items = getLangItems();\r\n      bindLangItemClicks();\r\n      applyLangUiFromSources();\r\n      syncLangSelectorUI(getSelectorDisplayLang());\r\n    });\r\n\r\n    setTimeout(function(){ syncLangSelectorUI(getSelectorDisplayLang()); }, 0);\r\n\r\n    window.addEventListener(\"pageshow\", function(){\r\n      applyLangUiFromSources();\r\n    });\r\n\r\n    document.addEventListener(\"visibilitychange\", function(){\r\n      if(document.visibilityState === \"visible\"){\r\n        applyLangUiFromSources();\r\n      }\r\n    });\r\n\r\n    try{\r\n      window.apuliaRestoreLangPreference = restoreLangPreferenceIfNeeded;\r\n    }catch(e){}\r\n\r\n    if(applyLangUiFromSources()){\r\n      return;\r\n    }\r\n\r\n  })();\r\n  <\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43baa2a elementor-widget elementor-widget-html\" data-id=\"43baa2a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ===================================================== -->\r\n<!-- APULIA \u2014 BLOC 3 : MES DONN\u00c9ES \/ ABONNEMENT (V2.3)  -->\r\n<!-- Ordre : Email, Pseudo, Pass, Questions, CTA Pro,      -->\r\n<!--         Espace Pro, Bouton Voir Espace Pro            -->\r\n<!-- ===================================================== -->\r\n\r\n<style>\r\n  :root{\r\n    --apulia-orange:#F6A623;\r\n    --apulia-blue:#088BEE;\r\n    --apulia-teal-1:#001D26;\r\n    --apulia-teal-2:#003F52;\r\n  }\r\n\r\n  .apulia-settings-card{\r\n    width:100%;\r\n    max-width:720px;\r\n    margin:16px auto 0;\r\n    padding:0 12px;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n    color:#fff;\r\n  }\r\n\r\n  .apulia-settings-wrapper{\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.95),rgba(0,94,117,0.9));\r\n    border-radius:22px;\r\n    box-shadow:0 14px 40px rgba(0,0,0,0.45);\r\n    overflow:hidden;\r\n  }\r\n\r\n  .apulia-settings-header{\r\n    width:100%;\r\n    display:flex;\r\n    align-items:center;\r\n    gap:12px;\r\n    padding:14px 16px;\r\n    background:transparent !important;\r\n    border:none;\r\n    cursor:pointer;\r\n    color:#fff;\r\n  }\r\n\r\n  .apulia-settings-header:hover,\r\n  .apulia-settings-header:focus,\r\n  .apulia-settings-header:active{\r\n    background:transparent !important;\r\n    color:#fff !important;\r\n    box-shadow:none !important;\r\n    outline:none;\r\n  }\r\n\r\n  .apulia-settings-header:active{ transform:scale(0.99); }\r\n\r\n  .apulia-settings-icon{\r\n    font-size:22px;\r\n    line-height:1;\r\n    color:var(--apulia-blue);\r\n  }\r\n\r\n  .apulia-settings-title-wrap{\r\n    display:flex;\r\n    flex-direction:column;\r\n    gap:2px;\r\n  }\r\n\r\n  .apulia-settings-title{\r\n    font-size:15px;\r\n    font-weight:600;\r\n    color:#fff;\r\n  }\r\n\r\n  .apulia-settings-sub{\r\n    font-size:13px;\r\n    opacity:0.9;\r\n  }\r\n\r\n  .apulia-settings-chevron{\r\n    margin-left:auto;\r\n    width:22px;\r\n    height:22px;\r\n    border-radius:999px;\r\n    border:1px solid rgba(255,255,255,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    font-size:16px;\r\n    color:#fff;\r\n    transition:transform .18s ease-out;\r\n  }\r\n\r\n  .apulia-settings-wrapper.is-open .apulia-settings-chevron{\r\n    transform:rotate(90deg);\r\n    background:rgba(0,0,0,0.3);\r\n  }\r\n\r\n  .apulia-settings-panel{\r\n    max-height:0;\r\n    overflow:hidden;\r\n    padding:0 16px;\r\n    border-top:1px solid rgba(255,255,255,0.08);\r\n    transition:max-height .22s ease-out, padding-top .22s, padding-bottom .22s;\r\n  }\r\n\r\n  .apulia-settings-wrapper.is-open .apulia-settings-panel{\r\n    max-height:860px;\r\n    padding-top:12px;\r\n    padding-bottom:18px;\r\n  }\r\n\r\n  .apulia-settings-row{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n    padding:10px 0;\r\n    border-bottom:1px solid rgba(255,255,255,0.08);\r\n  }\r\n  .apulia-settings-row:last-child{ border-bottom:none; }\r\n\r\n  .apulia-settings-label{\r\n    font-size:14px;\r\n    opacity:.9;\r\n  }\r\n\r\n  .apulia-settings-value{\r\n    font-size:14px;\r\n    font-weight:600;\r\n    opacity:.95;\r\n    display:flex;\r\n    align-items:center;\r\n    gap:8px;\r\n  }\r\n\r\n  .apulia-settings-edit{\r\n    border:none;\r\n    border-radius:999px;\r\n    padding:4px 9px;\r\n    font-size:11px;\r\n    font-weight:600;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.04em;\r\n    background:rgba(0,0,0,0.25);\r\n    color:#fff;\r\n    cursor:pointer;\r\n  }\r\n  .apulia-settings-edit:active{ transform:scale(0.97); }\r\n\r\n  \/* Lignes d'action ajout\u00e9es (Restaurer \/ Supprimer) \u2014 m\u00eame style de ligne *\/\r\n  .apulia-row-action{ cursor:pointer; }\r\n  .apulia-row-action:active{ transform:scale(0.995); }\r\n  .apulia-row-arrow{ font-size:16px; opacity:.85; }\r\n  .apulia-danger-text{ color:var(--apulia-orange) !important; font-weight:700; }\r\n\r\n  .apulia-sub-info{\r\n    font-size:12px;\r\n    margin-top:4px;\r\n    margin-bottom:12px;\r\n    opacity:.85;\r\n  }\r\n\r\n  .apulia-settings-cta{\r\n    width:100%;\r\n    border:none;\r\n    border-radius:999px;\r\n    padding:10px 14px;\r\n    font-size:13px;\r\n    font-weight:700;\r\n    text-transform:uppercase;\r\n    background:var(--apulia-orange);\r\n    color:var(--apulia-teal-1);\r\n    cursor:pointer;\r\n  }\r\n  .apulia-settings-cta:active{ transform:scale(0.98); }\r\n\r\n  .apulia-mini-link{\r\n    width:100%;\r\n    border:none;\r\n    border-radius:999px;\r\n    padding:10px 14px;\r\n    font-size:13px;\r\n    font-weight:800;\r\n    text-transform:uppercase;\r\n    letter-spacing:.02em;\r\n    background:rgba(0,0,0,0.25);\r\n    color:#fff;\r\n    cursor:pointer;\r\n    margin-top:10px;\r\n  }\r\n  .apulia-mini-link:active{ transform:scale(0.98); }\r\n\r\n  #apulia-espacepro-link.apulia-mini-link{\r\n    background:rgba(0,0,0,0.25) !important;\r\n    color:#fff !important;\r\n    box-shadow:none !important;\r\n  }\r\n  #apulia-espacepro-link.apulia-mini-link span{\r\n    color:var(--apulia-orange) !important;\r\n  }\r\n\r\n  .apulia-pseudo-bg{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    background:rgba(0,0,0,0.55);\r\n    z-index:999999;\r\n  }\r\n\r\n  .apulia-pseudo-sheet{\r\n    width:100%;\r\n    max-width:420px;\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.98),rgba(0,94,117,0.96));\r\n    border-radius:22px;\r\n    padding:18px 18px 16px;\r\n    box-shadow:0 18px 50px rgba(0,0,0,0.6);\r\n  }\r\n\r\n  .apulia-pseudo-title{\r\n    font-size:16px;\r\n    font-weight:700;\r\n    margin-bottom:10px;\r\n    text-align:center;\r\n    color:#fff;\r\n  }\r\n\r\n  .apulia-pseudo-input{\r\n    width:100%;\r\n    border-radius:999px;\r\n    border:1px solid rgba(255,255,255,0.35);\r\n    background:rgba(0,0,0,0.25);\r\n    color:#fff;\r\n    padding:8px 14px;\r\n    font-size:14px;\r\n    outline:none;\r\n  }\r\n\r\n  .apulia-pseudo-input::placeholder{ color:rgba(255,255,255,0.6); }\r\n\r\n  .apulia-pseudo-actions{\r\n    display:flex;\r\n    justify-content:flex-end;\r\n    gap:8px;\r\n    margin-top:12px;\r\n  }\r\n\r\n  .apulia-pseudo-btn{\r\n    border:none;\r\n    border-radius:999px;\r\n    padding:8px 14px;\r\n    font-size:13px;\r\n    cursor:pointer;\r\n  }\r\n\r\n  .apulia-pseudo-cancel{\r\n    background:transparent;\r\n    color:#fff;\r\n    border:1px solid rgba(255,255,255,0.3);\r\n  }\r\n\r\n  .apulia-pseudo-save{\r\n    background:var(--apulia-orange);\r\n    color:var(--apulia-teal-1);\r\n    font-weight:600;\r\n  }\r\n\r\n  .apulia-delete-sheet{\r\n    width:100%;\r\n    max-width:420px;\r\n    max-height:min(88vh, 640px);\r\n    overflow-y:auto;\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.98),rgba(0,94,117,0.96));\r\n    border-radius:22px;\r\n    padding:18px 18px calc(16px + env(safe-area-inset-bottom, 0px));\r\n    box-shadow:0 18px 50px rgba(0,0,0,0.6);\r\n  }\r\n  .apulia-delete-copy{\r\n    font-size:13.5px;\r\n    line-height:1.5;\r\n    color:#fff;\r\n    opacity:.92;\r\n    text-align:left;\r\n    margin:0 0 10px;\r\n  }\r\n  .apulia-delete-otp-wrap label{\r\n    display:block;\r\n    font-size:13px;\r\n    font-weight:600;\r\n    margin:0 0 6px;\r\n  }\r\n  .apulia-delete-otp{\r\n    width:100%;\r\n    letter-spacing:0.35em;\r\n    text-align:center;\r\n    font-size:22px;\r\n    border-radius:14px;\r\n    border:1px solid rgba(255,255,255,0.35);\r\n    background:rgba(0,0,0,0.25);\r\n    color:#fff;\r\n    padding:10px 12px;\r\n  }\r\n  #apulia-delete-msg[data-kind=\"ok\"]{ background:rgba(93,214,140,.16); color:#c9f7d8; }\r\n  #apulia-delete-msg[data-kind=\"info\"]{ background:rgba(8,139,238,.16); color:#d7efff; }\r\n  #apulia-delete-msg[data-kind=\"err\"]{ background:rgba(255,107,107,.16); color:#ffd0d0; }\r\n  @media (max-width:320px){\r\n    .apulia-delete-sheet{ padding:14px 12px calc(14px + env(safe-area-inset-bottom, 0px)); }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"apulia-settings-card\">\r\n  <div class=\"apulia-settings-wrapper\" id=\"apulia-data-wrapper\">\r\n\r\n    <div class=\"apulia-settings-header\" id=\"apulia-data-toggle\" role=\"button\" tabindex=\"0\">\r\n      <div class=\"apulia-settings-icon\">\ud83d\udc64<\/div>\r\n\r\n      <div class=\"apulia-settings-title-wrap\">\r\n        <div class=\"apulia-settings-title\" data-apulia-i18n=\"data.title\">Mes donn\u00e9es \/ Abonnement<\/div>\r\n        <div class=\"apulia-settings-sub\" data-apulia-i18n-html=\"data.sub_html\">\r\n          G\u00e9rer votre abonnement \u00e0 APULIA\r\n          <span style=\"color:#F6A623;font-weight:700;\">Pro<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"apulia-settings-chevron\">\u203a<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"apulia-settings-panel\" id=\"apulia-data-panel\">\r\n\r\n      <!-- 1) Email -->\r\n      <div class=\"apulia-settings-row\">\r\n        <div class=\"apulia-settings-label\" data-apulia-i18n=\"data.email\">Email<\/div>\r\n        <div class=\"apulia-settings-value\" id=\"apulia-data-email\">\u2014<\/div>\r\n      <\/div>\r\n\r\n      <!-- 2) Pseudo -->\r\n      <div class=\"apulia-settings-row\" id=\"apulia-row-pseudo\">\r\n        <div class=\"apulia-settings-label\" data-apulia-i18n=\"data.pseudo\">Pseudo<\/div>\r\n        <div class=\"apulia-settings-value\">\r\n          <span id=\"apulia-data-pseudo\">\u2014<\/span>\r\n          <button class=\"apulia-settings-edit\" id=\"apulia-pseudo-edit\" data-apulia-i18n=\"common.edit\">Modifier<\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 3) Pass -->\r\n      <div class=\"apulia-settings-row\">\r\n        <div class=\"apulia-settings-label\" data-apulia-i18n=\"data.pass\">Pass<\/div>\r\n        <div class=\"apulia-settings-value\" id=\"apulia-data-pass\">\u2014<\/div>\r\n      <\/div>\r\n\r\n      <!-- 4) Questions restantes (info) -->\r\n      <div class=\"apulia-sub-info\" id=\"apulia-sub-info\" data-apulia-dynamic>Chargement\u2026<\/div>\r\n\r\n      <!-- 5) CTA Pro -->\r\n      <button class=\"apulia-settings-cta\" id=\"apulia-data-cta\" data-apulia-i18n=\"data.cta_pro\">\r\n        Passer \u00e0 APULIA Pro\r\n      <\/button>\r\n\r\n      <!-- 6) Ligne Espace Pro -->\r\n      <div class=\"apulia-settings-row\" id=\"apulia-row-espacepro\" style=\"display:none;\">\r\n        <div class=\"apulia-settings-label\" data-apulia-i18n=\"data.espace_pro\">Espace Pro<\/div>\r\n        <div class=\"apulia-settings-value\" id=\"apulia-data-espacepro\">\u2014<\/div>\r\n      <\/div>\r\n\r\n      <!-- 7) D\u00e9velopper ma visibilit\u00e9 (m\u00eame popup Espace Pro) -->\r\n      <button class=\"apulia-mini-link\" id=\"apulia-espacepro-link\" style=\"display:none;\" data-apulia-i18n-html=\"data.view_espace_pro_html\">\r\n        D\u00e9velopper ma visibilit\u00e9 \u203a\r\n      <\/button>\r\n\r\n      <!-- 8) Restaurer mes achats (iOS uniquement) -->\r\n      <div class=\"apulia-settings-row apulia-row-action\" id=\"apulia-row-restore\" style=\"display:none;\" role=\"button\" tabindex=\"0\">\r\n        <div class=\"apulia-settings-label\" id=\"apulia-restore-label\" data-apulia-i18n=\"data.restore_purchases\">Restaurer mes achats<\/div>\r\n        <div class=\"apulia-settings-value\"><span class=\"apulia-row-arrow\">\u203a<\/span><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"apulia-settings-row apulia-row-action\" id=\"apulia-row-export\" role=\"button\" tabindex=\"0\">\r\n        <div class=\"apulia-settings-label\" id=\"apulia-export-label\" data-apulia-i18n=\"data.export\">Exporter mes donn\u00e9es<\/div>\r\n        <div class=\"apulia-settings-value\"><span class=\"apulia-row-arrow\">\u203a<\/span><\/div>\r\n      <\/div>\r\n\r\n      <!-- 9) Supprimer mon compte (action dangereuse) -->\r\n      <div class=\"apulia-settings-row apulia-row-action\" id=\"apulia-row-delete\" role=\"button\" tabindex=\"0\" style=\"display:none;\">\r\n        <div class=\"apulia-settings-label apulia-danger-text\" id=\"apulia-delete-label\" data-apulia-i18n=\"delete.btn\">Supprimer mon compte<\/div>\r\n        <div class=\"apulia-settings-value\"><span class=\"apulia-row-arrow apulia-danger-text\">\u203a<\/span><\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<div class=\"apulia-pseudo-bg\" id=\"apulia-pseudo-bg\">\r\n  <div class=\"apulia-pseudo-sheet\">\r\n    <div class=\"apulia-pseudo-title\" data-apulia-i18n=\"data.pseudo_modal_title\">Modifier mon pseudo<\/div>\r\n    <input id=\"apulia-pseudo-input\" class=\"apulia-pseudo-input\"\r\n           type=\"text\" maxlength=\"32\"\r\n           data-apulia-i18n-placeholder=\"data.pseudo_placeholder\"\r\n           placeholder=\"Entrez votre pseudo\">\r\n    <div class=\"apulia-pseudo-actions\">\r\n      <button class=\"apulia-pseudo-btn apulia-pseudo-cancel\" id=\"apulia-pseudo-cancel\" data-apulia-i18n=\"common.cancel\">\r\n        Annuler\r\n      <\/button>\r\n      <button class=\"apulia-pseudo-btn apulia-pseudo-save\" id=\"apulia-pseudo-save\" data-apulia-i18n=\"common.save\">\r\n        Enregistrer\r\n      <\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- Modal suppression de compte RG-B01-3 \u2014 HUMAN\/LEGAL REVIEW REQUIRED (subscription\/retention\/privacy) -->\r\n<div class=\"apulia-pseudo-bg\" id=\"apulia-delete-bg\" style=\"display:none;\" aria-hidden=\"true\">\r\n  <div class=\"apulia-delete-sheet\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"apulia-delete-title\">\r\n    <div class=\"apulia-pseudo-title\" id=\"apulia-delete-title\">Suppression d\u00e9finitive<\/div>\r\n    <p class=\"apulia-delete-copy\" id=\"apulia-delete-body\">\r\n      La suppression de votre compte est permanente. Vous perdrez l\u2019acc\u00e8s \u00e0 ce compte. Les donn\u00e9es personnelles associ\u00e9es seront supprim\u00e9es selon la politique de confidentialit\u00e9 applicable. Certaines informations peuvent \u00eatre conserv\u00e9es si une obligation l\u00e9gale l\u2019exige. Aucun remboursement automatique n\u2019est promis. Les abonnements peuvent n\u00e9cessiter une gestion distincte selon le canal de facturation.\r\n    <\/p>\r\n    <p class=\"apulia-delete-copy\" id=\"apulia-delete-billing\">\r\n      Les abonnements et la facturation peuvent n\u00e9cessiter une gestion distincte (site, App Store ou autre). Aucun remboursement automatique n\u2019est promis.\r\n    <\/p>\r\n    <div id=\"apulia-delete-msg\" hidden style=\"font-size:13px;border-radius:10px;padding:8px 10px;margin:0 0 10px;text-align:center;\" role=\"alert\" aria-live=\"polite\"><\/div>\r\n    <div class=\"apulia-delete-otp-wrap\" id=\"apulia-delete-otp-wrap\" hidden>\r\n      <label for=\"apulia-delete-otp\" id=\"apulia-delete-otp-label\">Code de v\u00e9rification<\/label>\r\n      <input id=\"apulia-delete-otp\" class=\"apulia-delete-otp\" type=\"text\" inputmode=\"numeric\" autocomplete=\"one-time-code\" maxlength=\"6\" pattern=\"[0-9]*\" aria-describedby=\"apulia-delete-msg\">\r\n    <\/div>\r\n    <div class=\"apulia-pseudo-actions\" style=\"justify-content:center;flex-wrap:wrap;\">\r\n      <button type=\"button\" class=\"apulia-pseudo-btn apulia-pseudo-cancel\" id=\"apulia-delete-cancel\">Annuler<\/button>\r\n      <button type=\"button\" class=\"apulia-pseudo-btn\" id=\"apulia-delete-support\" hidden>Contacter l\u2019assistance<\/button>\r\n      <button type=\"button\" class=\"apulia-pseudo-btn\" id=\"apulia-delete-confirm\" style=\"background:#c0392b;color:#fff;font-weight:700;\">Envoyer le code<\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \"use strict\";\r\n\r\n  const wrapper = document.getElementById(\"apulia-data-wrapper\");\r\n  const toggle  = document.getElementById(\"apulia-data-toggle\");\r\n\r\n  if(toggle && wrapper){\r\n    toggle.addEventListener(\"click\", () => wrapper.classList.toggle(\"is-open\"));\r\n    toggle.addEventListener(\"keydown\", (e) => {\r\n      if(e.key === \"Enter\" || e.key === \" \"){\r\n        e.preventDefault();\r\n        wrapper.classList.toggle(\"is-open\");\r\n      }\r\n    });\r\n  }\r\n\r\n  const emailEl  = document.getElementById(\"apulia-data-email\");\r\n  const pseudoEl = document.getElementById(\"apulia-data-pseudo\");\r\n  const passEl   = document.getElementById(\"apulia-data-pass\");\r\n  const infoEl   = document.getElementById(\"apulia-sub-info\");\r\n  const ctaBtn   = document.getElementById(\"apulia-data-cta\");\r\n\r\n  const espaceRow = document.getElementById(\"apulia-row-espacepro\");\r\n  const espaceVal = document.getElementById(\"apulia-data-espacepro\");\r\n  const espaceBtn = document.getElementById(\"apulia-espacepro-link\");\r\n  let espaceProActive = false;\r\n\r\n  const pseudoRow    = document.getElementById(\"apulia-row-pseudo\");\r\n  const pseudoEdit   = document.getElementById(\"apulia-pseudo-edit\");\r\n  const pseudoBg     = document.getElementById(\"apulia-pseudo-bg\");\r\n  const pseudoInput  = document.getElementById(\"apulia-pseudo-input\");\r\n  const pseudoCancel = document.getElementById(\"apulia-pseudo-cancel\");\r\n  const pseudoSave   = document.getElementById(\"apulia-pseudo-save\");\r\n\r\n  const ORIGIN      = \"https:\/\/api.lespouilles.blog\";\r\n  const SESSION_URL = ORIGIN + \"\/session\";\r\n\r\n  const LOCAL = {\r\n    pseudo:\"apulia_pseudo\",\r\n    profile:\"apulia_traveler_profile\"\r\n    \/\/ Supprim\u00e9: used:\"apulia_free_count\", reset:\"apulia_free_reset\"\r\n    \/\/ Le quota est g\u00e9r\u00e9 uniquement c\u00f4t\u00e9 backend (source de v\u00e9rit\u00e9)\r\n  };\r\n\r\n  function readCommonPseudo(){\r\n    try{\r\n      var raw = localStorage.getItem(LOCAL.profile);\r\n      var p = raw ? JSON.parse(raw) : null;\r\n      if(p && typeof p === \"object\"){\r\n        var fromProfile = p.pseudo || p.displayName || p.name || p.nickname || \"\";\r\n        if(fromProfile) return String(fromProfile);\r\n      }\r\n    }catch(e){}\r\n    try{ return localStorage.getItem(LOCAL.pseudo) || \"\"; }catch(e2){ return \"\"; }\r\n  }\r\n\r\n  function paintCommonPseudo(fallback){\r\n    if(!pseudoEl) return;\r\n    var name = readCommonPseudo() || fallback || \"\";\r\n    pseudoEl.textContent = name || \"\u2014\";\r\n  }\r\n\r\n  function T(key, vars){\r\n    if(window.ApuliaI18nCompte && typeof window.ApuliaI18nCompte.t === \"function\"){\r\n      return window.ApuliaI18nCompte.t(key, vars);\r\n    }\r\n    return key;\r\n  }\r\n\r\n  function formatDelta(ms){\r\n    const h = Math.floor(ms \/ 3600000);\r\n    const m = Math.floor((ms % 3600000) \/ 60000);\r\n    return `${h}h${m.toString().padStart(2,\"0\")}`;\r\n  }\r\n\r\n  \/\/ Formate le temps restant en HH:MM:SS\r\n  function formatTimeRemaining(ms){\r\n    if(ms <= 0) return \"00:00:00\";\r\n    const totalSeconds = Math.floor(ms \/ 1000);\r\n    const hours = Math.floor(totalSeconds \/ 3600);\r\n    const minutes = Math.floor((totalSeconds % 3600) \/ 60);\r\n    const seconds = totalSeconds % 60;\r\n    return `${hours.toString().padStart(2,\"0\")}:${minutes.toString().padStart(2,\"0\")}:${seconds.toString().padStart(2,\"0\")}`;\r\n  }\r\n\r\n  \/\/ Formate une date en heure locale (HH:MM)\r\n  function formatLocalTime(date){\r\n    const d = new Date(date);\r\n    const hours = d.getHours().toString().padStart(2,\"0\");\r\n    const minutes = d.getMinutes().toString().padStart(2,\"0\");\r\n    return `${hours}:${minutes}`;\r\n  }\r\n\r\n  function firstLetter(str){\r\n    if(!str || typeof str !== \"string\") return \"A\";\r\n    const t = str.trim();\r\n    return t ? t.charAt(0).toUpperCase() : \"A\";\r\n  }\r\n\r\n  function lockBody(b){ document.body.style.overflow = b ? \"hidden\" : \"\"; }\r\n\r\n  function openSharedProfileEdit(){\r\n    if(typeof window.ApuliaOpenSharedProfileEdit === \"function\"){\r\n      window.ApuliaOpenSharedProfileEdit();\r\n      return;\r\n    }\r\n    if(window.ASS && ASS.social && typeof ASS.social.openProfileEdit === \"function\"){\r\n      ASS.social.openProfileEdit();\r\n      return;\r\n    }\r\n    var loc = \"fr\";\r\n    if(window.ApuliaI18n && typeof window.ApuliaI18n.getLocale === \"function\"){\r\n      loc = window.ApuliaI18n.getLocale();\r\n    }\r\n    var homes = {\r\n      fr: \"\/apulia-sejour\/\",\r\n      it: \"\/it\/apulia-soggiorno\/\",\r\n      en: \"\/en\/apulia-trip\/\",\r\n      de: \"\/de\/apulia-reise\/\"\r\n    };\r\n    var home = homes[loc] || homes.fr;\r\n    window.location.href = home + \"#apulia-edit-profile\";\r\n  }\r\n\r\n  function openPseudoModal(){\r\n    openSharedProfileEdit();\r\n  }\r\n\r\n  function closePseudoModal(){\r\n    if(pseudoBg) pseudoBg.style.display = \"none\";\r\n  }\r\n\r\n  function savePseudo(){\r\n    openSharedProfileEdit();\r\n  }\r\n\r\n  function openProPopup(){\r\n    var localPro = document.getElementById(\"apulia-ai-pro-popup\");\r\n    if(localPro){\r\n      localPro.style.display = \"flex\";\r\n      lockBody(true);\r\n      return;\r\n    }\r\n\r\n    var el = document.getElementById(\"upgradePopup\");\r\n    if(el){\r\n      el.style.display = \"flex\";\r\n      lockBody(true);\r\n      return;\r\n    }\r\n\r\n    try{\r\n      if(window.elementorProFrontend &&\r\n         elementorProFrontend.modules &&\r\n         elementorProFrontend.modules.popup){\r\n        elementorProFrontend.modules.popup.showPopup({ id:6038 });\r\n      }\r\n    }catch(e){}\r\n  }\r\n\r\n  (function(){\r\n    var popup = document.getElementById(\"upgradePopup\");\r\n    if(!popup) return;\r\n    var closeBtns = Array.from(popup.querySelectorAll(\"[data-apulia-close]\"));\r\n    closeBtns.forEach(function(btn){\r\n      btn.addEventListener(\"click\", function(){\r\n        popup.style.display = \"none\";\r\n        lockBody(false);\r\n      });\r\n    });\r\n  })();\r\n\r\n  ctaBtn.onclick = () => openProPopup();\r\n\r\n  if(espaceBtn){\r\n    espaceBtn.addEventListener(\"click\", function(e){\r\n      if (e) { try { e.preventDefault(); } catch (_) {} }\r\n      if (typeof window.apuliaOpenEspaceProPopup === \"function\") {\r\n        window.apuliaOpenEspaceProPopup();\r\n        return;\r\n      }\r\n    });\r\n  }\r\n\r\n  async function load(){\r\n    let data = {};\r\n    try{\r\n      const res = await fetch(SESSION_URL,{credentials:\"include\", cache:\"no-store\"});\r\n      if(res.ok) data = await res.json();\r\n    }catch(e){}\r\n\r\n    const email  = data.email || \"\u2014\";\r\n    try{\r\n      var meRes = await fetch(window.location.origin + \"\/wp-json\/apulia-sejour-social\/v1\/me\", {\r\n        credentials: \"include\",\r\n        cache: \"no-store\"\r\n      });\r\n      if(meRes.ok){\r\n        var me = await meRes.json();\r\n        if(me && me.isLoggedIn && me.pseudo){\r\n          try{\r\n            var raw = localStorage.getItem(LOCAL.profile);\r\n            var cur = raw ? JSON.parse(raw) : {};\r\n            if(!cur || typeof cur !== \"object\") cur = {};\r\n            cur.pseudo = me.pseudo;\r\n            if(me.avatarUrl && !\/gravatar\\.com\/i.test(me.avatarUrl)) cur.avatarUrl = me.avatarUrl;\r\n            if(me.countryCode) cur.countryCode = me.countryCode;\r\n            if(me.countryFlag) cur.countryFlag = me.countryFlag;\r\n            localStorage.setItem(LOCAL.profile, JSON.stringify(cur));\r\n            localStorage.setItem(LOCAL.pseudo, String(me.pseudo));\r\n          }catch(eMe){}\r\n        }\r\n      }\r\n    }catch(eMe2){}\r\n    const pseudo = readCommonPseudo();\r\n    const tier   = data.tier || \"free\";\r\n    const isPro  = data.is_pro === true;\r\n\r\n    const isEspacePro = !!(\r\n      data.is_espace_pro === true ||\r\n      data.is_vendor === true ||\r\n      tier === \"admin\" ||\r\n      tier === \"vendor\" ||\r\n      tier === \"espace_pro\" ||\r\n      tier === \"espacepro\"\r\n    );\r\n\r\n    const espaceUntil =\r\n      data.espace_pro_until ||\r\n      data.espacepro_until ||\r\n      data.vendor_until ||\r\n      data.espace_until ||\r\n      null;\r\n\r\n    emailEl.textContent  = email;\r\n    paintCommonPseudo(pseudo);\r\n    var deleteRowEl = document.getElementById(\"apulia-row-delete\");\r\n    if (deleteRowEl) {\r\n      var logged = !!(data && (data.logged === true || data.is_auth === true || data.email));\r\n      deleteRowEl.style.display = logged ? \"flex\" : \"none\";\r\n    }\r\n\r\n    if(tier === \"admin\"){\r\n      passEl.textContent = T(\"data.admin\");\r\n      passEl.style.color = \"var(--apulia-orange)\";\r\n      infoEl.textContent = T(\"data.unlimited\");\r\n      ctaBtn.style.display = \"none\";\r\n    }else if(isPro){\r\n      passEl.textContent = T(\"data.pro\");\r\n      passEl.style.color = \"var(--apulia-orange)\";\r\n\r\n      const proUntil = data.pro_until || data.proUntil;\r\n      if(proUntil){\r\n        const end  = new Date(proUntil);\r\n        const diff = end.getTime() - Date.now();\r\n        const days = Math.ceil(diff\/86400000);\r\n        infoEl.textContent =\r\n          diff <= 0 ? T(\"data.pro_expired\")\r\n          : days <= 1 ? T(\"data.expires_24h\")\r\n                      : T(\"data.expires_days\", { days: days });\r\n      }else{\r\n        infoEl.textContent = T(\"data.pro_active\");\r\n      }\r\n\r\n      ctaBtn.style.display = \"none\";\r\n    }else{\r\n      passEl.textContent = T(\"data.free\");\r\n      passEl.style.color = \"var(--apulia-blue)\";\r\n\r\n      const proUntil = data.pro_until || data.proUntil;\r\n      if(proUntil && new Date(proUntil).getTime() <= Date.now()){\r\n        infoEl.textContent = T(\"data.pro_expired\");\r\n      }\r\n\r\n      \/\/ Charger le quota depuis le backend (GET \/v1\/free)\r\n      await loadQuota();\r\n\r\n      ctaBtn.style.display = \"block\";\r\n    }\r\n\r\n    if(espaceRow && espaceVal && espaceBtn){\r\n      espaceProActive = isEspacePro;\r\n      espaceRow.style.display = \"flex\";\r\n      espaceBtn.style.display = \"block\";\r\n\r\n      if(isEspacePro){\r\n        espaceVal.style.color = \"var(--apulia-orange)\";\r\n        if(espaceUntil){\r\n          const end  = new Date(espaceUntil);\r\n          const diff = end.getTime() - Date.now();\r\n          const days = Math.ceil(diff\/86400000);\r\n          espaceVal.textContent =\r\n            diff <= 0 ? T(\"data.espace_expired\")\r\n            : days <= 1 ? T(\"data.espace_active_24h\")\r\n                        : T(\"data.espace_active_days\", { days: days });\r\n        }else{\r\n          espaceVal.textContent = T(\"data.espace_active\");\r\n        }\r\n      }else{\r\n        espaceVal.style.color = \"rgba(255,255,255,.85)\";\r\n        espaceVal.textContent = T(\"data.espace_inactive\");\r\n      }\r\n    }\r\n  }\r\n\r\n  if(pseudoRow){\r\n    pseudoRow.addEventListener(\"click\", function(e){\r\n      if(e.target && e.target.id === \"apulia-pseudo-edit\") return;\r\n      openPseudoModal();\r\n    });\r\n  }\r\n  if(pseudoEdit){ pseudoEdit.onclick = openPseudoModal; }\r\n\r\n  pseudoCancel.onclick = closePseudoModal;\r\n  pseudoSave.onclick   = savePseudo;\r\n  pseudoBg.onclick     = (e)=>{ if(e.target === pseudoBg) closePseudoModal(); };\r\n\r\n  \/\/ Variable pour stocker l'intervalle du compteur\r\n  let quotaTimerInterval = null;\r\n\r\n  \/\/ Fonction pour arr\u00eater le compteur\r\n  function stopQuotaTimer(){\r\n    if(quotaTimerInterval){\r\n      clearInterval(quotaTimerInterval);\r\n      quotaTimerInterval = null;\r\n    }\r\n  }\r\n\r\n  \/\/ Fonction pour mettre \u00e0 jour l'affichage du compteur\r\n  function updateQuotaDisplay(quota){\r\n    if(!infoEl) return;\r\n    \r\n    const safeRemaining = Math.max(0, quota.remaining || 0);\r\n    const resetAt = quota.next_reset_at || quota.reset_at;\r\n    \r\n    if(safeRemaining > 0){\r\n      \/\/ Questions restantes disponibles\r\n      stopQuotaTimer();\r\n      infoEl.textContent = T(\"data.questions_left\", { n: safeRemaining });\r\n    }else if(safeRemaining === 0 && resetAt){\r\n      \/\/ Quota atteint - afficher compteur de r\u00e9activation\r\n      const reset = new Date(resetAt);\r\n      const now = Date.now();\r\n      const remaining = reset.getTime() - now;\r\n      \r\n      if(remaining > 0){\r\n        \/\/ Afficher message marketing + compteur\r\n        const timeStr = formatTimeRemaining(remaining);\r\n        const availableAt = formatLocalTime(reset);\r\n        infoEl.innerHTML = '<span style=\"color:#F6A623;\">' + T(\"data.quota_hit\") + '<\/span>. ' + T(\"data.quota_reactivate\") + ' <strong>' + timeStr + '<\/strong><br><span style=\"font-size:0.9em;opacity:0.85;\"><span style=\"color:#F6A623;\">' + T(\"data.available_at\") + '<\/span> : ' + availableAt + '<\/span>';\r\n        \r\n        \/\/ D\u00e9marrer le compteur si pas d\u00e9j\u00e0 d\u00e9marr\u00e9\r\n        if(!quotaTimerInterval){\r\n          quotaTimerInterval = setInterval(() => {\r\n            const now = Date.now();\r\n            const remaining = reset.getTime() - now;\r\n            if(remaining > 0){\r\n              const timeStr = formatTimeRemaining(remaining);\r\n              const availableAt = formatLocalTime(reset);\r\n              if(infoEl){\r\n                infoEl.innerHTML = '<span style=\"color:#F6A623;\">' + T(\"data.quota_hit\") + '<\/span>. ' + T(\"data.quota_reactivate\") + ' <strong>' + timeStr + '<\/strong><br><span style=\"font-size:0.9em;opacity:0.85;\"><span style=\"color:#F6A623;\">' + T(\"data.available_at\") + '<\/span> : ' + availableAt + '<\/span>';\r\n              }\r\n            }else{\r\n              \/\/ Timer arriv\u00e9 \u00e0 0 - recharger le quota\r\n              stopQuotaTimer();\r\n              loadQuota();\r\n            }\r\n          }, 1000);\r\n        }\r\n      }else{\r\n        \/\/ Reset d\u00e9j\u00e0 pass\u00e9 - recharger\r\n        stopQuotaTimer();\r\n        loadQuota();\r\n      }\r\n    }else{\r\n      \/\/ Pas de reset_at disponible\r\n      stopQuotaTimer();\r\n      infoEl.textContent = T(\"data.questions_zero\");\r\n    }\r\n  }\r\n\r\n  \/\/ Fonction pour charger le quota depuis le backend\r\n  async function loadQuota(){\r\n    try{\r\n      const res = await fetch(ORIGIN + \"\/v1\/free\", {\r\n        credentials: \"include\",\r\n        cache: \"no-store\"\r\n      });\r\n      \r\n      if(res.ok){\r\n        const quota = await res.json();\r\n        if(quota && typeof quota.remaining === 'number'){\r\n          updateQuotaDisplay(quota);\r\n          \r\n          \/\/ \u00c9TAPE B : \u00c9crire apulia_quota_state_v1 comme source de v\u00e9rit\u00e9 unique\r\n          const quotaState = {\r\n            remaining: quota.remaining || 0,\r\n            limit: quota.limit || 3,\r\n            resetAt: quota.next_reset_at || quota.reset_at || null,\r\n            blocked: (quota.remaining || 0) <= 0,\r\n            updatedAt: Date.now()\r\n          };\r\n          try{\r\n            localStorage.setItem(\"apulia_quota_state_v1\", JSON.stringify(quotaState));\r\n          }catch(e){\r\n            console.error(\"[loadQuota] Error writing quota state:\", e);\r\n          }\r\n          \r\n          return;\r\n        }\r\n      } else if (res.status === 401) {\r\n        \/\/ Non authentifi\u00e9 - ne pas afficher d'erreur\r\n        stopQuotaTimer();\r\n        infoEl.textContent = \"\u2014\";\r\n        return;\r\n      }\r\n    }catch(e){\r\n      console.error(\"[loadQuota] Error:\", e);\r\n    }\r\n    \r\n    \/\/ Fallback si erreur r\u00e9seau : afficher message explicite (pas \"Chargement\u2026\" infini)\r\n    stopQuotaTimer();\r\n    if(infoEl && infoEl.textContent === T(\"common.loading\")){\r\n      infoEl.textContent = T(\"data.quota_error\");\r\n    }\r\n  }\r\n\r\n  load();\r\n\r\n  window.addEventListener(\"apulia:lang\", function(){ load(); });\r\n  window.addEventListener(\"apulia:i18n_ready\", function(){ load(); });\r\n  window.addEventListener(\"apulia:traveler_profile_updated\", function(){ paintCommonPseudo(); });\r\n  window.addEventListener(\"storage\", function(e){\r\n    if(e.key === LOCAL.profile || e.key === LOCAL.pseudo) paintCommonPseudo();\r\n  });\r\n})();\r\n<\/script>\r\n\r\n<!-- ===================================================== -->\r\n<!-- APULIA \u2014 Suppression de compte RG-B01-3 + Restore iOS -->\r\n<!-- Un seul orchestrateur : POST \/account\/reauth\/* puis     -->\r\n<!-- POST \/account\/delete (JSON, confirm, reauth, intent).   -->\r\n<!-- ===================================================== -->\r\n<script src=\"\/wp-content\/plugins\/apulia-chat\/assets\/js\/apulia-account-delete.js\"><\/script>\r\n<script>\r\n(function(){\r\n  \"use strict\";\r\n\r\n  function isIOS(){\r\n    try{\r\n      return (typeof window.apuliaIsIOSApp === 'function' && window.apuliaIsIOSApp())\r\n        || window.APULIA_APP_PLATFORM === 'IOS_APP'\r\n        || window.APULIA_IOS_APP === true\r\n        || document.documentElement.classList.contains('apulia-ios-app');\r\n    }catch(e){ return false; }\r\n  }\r\n\r\n  function bootDelete(){\r\n    if(!window.ApuliaAccountDelete || typeof window.ApuliaAccountDelete.bind !== 'function'){\r\n      setTimeout(bootDelete, 40);\r\n      return;\r\n    }\r\n    window.ApuliaAccountDelete.bind();\r\n  }\r\n  bootDelete();\r\n\r\n  var restoreRow = document.getElementById('apulia-row-restore');\r\n  var restoreLabel = document.getElementById('apulia-restore-label');\r\n  if (restoreLabel && window.ApuliaAccountDelete) {\r\n    if (window.ApuliaI18nCompte && typeof window.ApuliaI18nCompte.t === \"function\") {\r\n      restoreLabel.textContent = window.ApuliaI18nCompte.t(\"data.restore_purchases\");\r\n    } else {\r\n      restoreLabel.textContent = \"Restaurer mes achats\";\r\n    }\r\n  }\r\n  if (isIOS() && restoreRow){\r\n    restoreRow.style.display = 'flex';\r\n    restoreRow.addEventListener('click', function(){\r\n      try{\r\n        if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.apuliaStoreKitRestore){\r\n          window.webkit.messageHandlers.apuliaStoreKitRestore.postMessage({});\r\n        }\r\n      }catch(e){}\r\n    });\r\n  }\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ee4a37 elementor-widget elementor-widget-html\" data-id=\"4ee4a37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ===================================================== --><!-- APULIA \u2014 BLOC 4 : MES CENTRES D'INT\u00c9R\u00caT (V6)        --><!-- VISUEL IDENTIQUE \u2022 AU CLIC => OUVRIR PAGE PROFIL       --><!-- Nettoyage: suppression bottom sheet + stockage + gating --><!-- ===================================================== --><style>:root{\r\n    --apulia-orange:#F6A623;\r\n    --apulia-blue:#088BEE;\r\n    --apulia-teal-1:#001D26;\r\n    --apulia-teal-2:#003F52;\r\n  }\r\n\r\n  .apulia-pro-color{\r\n    color:var(--apulia-orange);\r\n  }\r\n\r\n  \/* ===== CARD \"Mes centres d'int\u00e9r\u00eat\" (INCHANG\u00c9) ===== *\/\r\n  .apulia-int-shell{\r\n    width:100%;\r\n    max-width:720px;\r\n    margin:16px auto 0;\r\n    padding:0 12px;\r\n    color:#fff;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n  }\r\n\r\n  .apulia-int-card{\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.95),rgba(0,94,117,0.9));\r\n    padding:14px 16px;\r\n    border-radius:22px;\r\n    box-shadow:0 14px 40px rgba(0,0,0,0.45);\r\n  }\r\n\r\n  .apulia-int-row{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    gap:12px;\r\n    cursor:pointer;\r\n  }\r\n\r\n  .apulia-int-left{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:10px;\r\n  }\r\n\r\n  .apulia-int-icon{\r\n    width:28px;\r\n    height:28px;\r\n    border-radius:999px;\r\n    background:rgba(0,0,0,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    flex-shrink:0;\r\n    font-size:18px;\r\n    line-height:1;\r\n  }\r\n\r\n  .apulia-int-label{\r\n    font-size:15px;\r\n    font-weight:600;\r\n  }\r\n\r\n  .apulia-int-card-sub{\r\n    margin-top:4px;\r\n    font-size:13px;\r\n    opacity:0.9;\r\n  }\r\n\r\n  .apulia-int-chevron{\r\n    width:22px;\r\n    height:22px;\r\n    border-radius:999px;\r\n    border:1px solid rgba(255,255,255,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    font-size:16px;\r\n  }\r\n<\/style><!-- CARD MES CENTRES D\u2019INT\u00c9R\u00caT (VISUEL IDENTIQUE) --><div class=\"apulia-int-shell\"><div class=\"apulia-int-card\"><div class=\"apulia-int-row\" id=\"apulia-int-open\"><div class=\"apulia-int-left\"><div class=\"apulia-int-icon\">\ud83c\udfaf<\/div><div><div class=\"apulia-int-label\" data-apulia-i18n=\"interests.title\">Mes centres d'int\u00e9r\u00eat<\/div><div class=\"apulia-int-card-sub\" data-apulia-i18n-html=\"interests.sub_html\">Optimisez votre voyage avec APULIA\r\n            <span style=\"color:#F6A623;font-weight:700;\">Pro<\/span><\/div><\/div><\/div><div class=\"apulia-int-chevron\">\u203a<\/div><\/div><\/div><\/div><script>(function(){\r\n  \"use strict\";\r\n\r\n  \/\/ Page Profil Voyageur \u2014 redirection au clic (URL WPML)\r\n  function getProfilUrl(){\r\n    var loc = (window.ApuliaI18nCompte && ApuliaI18nCompte.getLocale()) || \"fr\";\r\n    var map = (window.ApuliaI18nCompte && ApuliaI18nCompte.PROFIL_URLS) || {};\r\n    return map[loc] || map.fr || \"https:\/\/lespouilles.blog\/profil-voyageur\/\";\r\n  }\r\n\r\n  const openBtn = document.getElementById(\"apulia-int-open\");\r\n  if(!openBtn) return;\r\n\r\n  openBtn.addEventListener(\"click\", function(){\r\n    \/\/ Stocker l'URL de retour avant d'ouvrir le profil\r\n    try{\r\n      localStorage.setItem(\"apulia_return_url\", window.location.href);\r\n    }catch(e){}\r\n    try{\r\n      window.location.href = getProfilUrl();\r\n    }catch(e){\r\n      \/\/ fallback silencieux\r\n      document.location = getProfilUrl();\r\n    }\r\n  });\r\n\r\n  \/\/ ===== Onboarding termin\u00e9 sur le Chat =====\r\n  \/\/ Les centres d'int\u00e9r\u00eat sont stock\u00e9s dans la M\u00caME cl\u00e9 que le Profil voyageur\r\n  \/\/ (apulia_traveler_profile). Ce bloc relit l'\u00e9tat pour rester synchro :\r\n  \/\/ les choix faits dans le popup onboarding sont d\u00e9j\u00e0 disponibles ici.\r\n  function reloadInterests(){\r\n    try{\r\n      window.apuliaTravelerProfile = JSON.parse(\r\n        localStorage.getItem(\"apulia_traveler_profile\") || \"null\"\r\n      );\r\n    }catch(e){\r\n      window.apuliaTravelerProfile = null;\r\n    }\r\n  }\r\n  reloadInterests();\r\n  window.addEventListener(\"apulia:onboarding_completed\", reloadInterests);\r\n  window.addEventListener(\"apulia:traveler_profile_updated\", reloadInterests);\r\n  window.addEventListener(\"storage\", function(e){\r\n    if(e.key === \"apulia_traveler_profile\") reloadInterests();\r\n  });\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46758eb elementor-widget elementor-widget-html\" data-id=\"46758eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ===================================================== -->\r\n<!-- APULIA IA \u2014 BLOC 5 : PARAM\u00c8TRES APULIA IA (V5 quater) -->\r\n<!-- Card \"Param\u00e8tres Apulia IA\" + bottom sheet multi-step -->\r\n<!-- + Popup PRO (canon)                                   -->\r\n<!-- ===================================================== -->\r\n\r\n<style>\r\n  :root{\r\n    --apulia-orange:#F6A623;\r\n    --apulia-blue:#088BEE;\r\n    --apulia-teal-1:#001D26;\r\n    --apulia-teal-2:#003F52;\r\n  }\r\n\r\n  \/* ===== CARD PARAM\u00c8TRES APULIA IA ===== *\/\r\n  .apulia-ai-shell{\r\n    width:100%;\r\n    max-width:720px;\r\n    margin:16px auto 0;\r\n    padding:0 12px;\r\n    color:#fff;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n  }\r\n\r\n  .apulia-ai-card{\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.95),rgba(0,94,117,0.9));\r\n    padding:14px 16px;\r\n    border-radius:22px;\r\n    box-shadow:0 14px 40px rgba(0,0,0,0.45);\r\n  }\r\n\r\n  .apulia-ai-row{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    gap:12px;\r\n    cursor:pointer;\r\n  }\r\n\r\n  .apulia-ai-left{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:10px;\r\n  }\r\n\r\n  .apulia-ai-icon{\r\n    width:28px;\r\n    height:28px;\r\n    border-radius:999px;\r\n    background:rgba(0,0,0,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    flex-shrink:0;\r\n    font-size:18px;\r\n    line-height:1;\r\n  }\r\n\r\n  .apulia-ai-label{\r\n    font-size:15px;\r\n    font-weight:600;\r\n  }\r\n\r\n  .apulia-ai-card-sub{\r\n    margin-top:4px;\r\n    font-size:13px;\r\n    opacity:0.9;\r\n  }\r\n\r\n  .apulia-ai-chevron{\r\n    width:22px;\r\n    height:22px;\r\n    border-radius:999px;\r\n    border:1px solid rgba(255,255,255,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    font-size:16px;\r\n  }\r\n\r\n  \/* ===== BOTTOM SHEET PARAM\u00c8TRES ===== *\/\r\n  .apulia-ai-sheet-bg{\r\n    position:fixed;\r\n    inset:0;\r\n    background:rgba(0,0,0,0.55);\r\n    display:none;\r\n    align-items:flex-end;\r\n    justify-content:center;\r\n    z-index:999999;\r\n  }\r\n\r\n  .apulia-ai-sheet{\r\n    width:100%;\r\n    max-width:720px;\r\n    max-height:82vh;\r\n    overflow-y:auto;\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.98),rgba(0,94,117,0.96));\r\n    border-radius:22px 22px 0 0;\r\n    padding:20px 18px 22px;\r\n    transform:translateY(100%);\r\n    transition:transform .28s ease-out;\r\n    color:#ffffff;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n  }\r\n\r\n  .apulia-ai-sheet.is-open{\r\n    transform:translateY(0);\r\n  }\r\n\r\n  .apulia-ai-header{\r\n    text-align:left;\r\n    margin-bottom:18px;\r\n  }\r\n\r\n  .apulia-ai-title{\r\n    font-size:20px;\r\n    font-weight:700;\r\n    margin-bottom:4px;\r\n  }\r\n\r\n  .apulia-ai-subtitle{\r\n    font-size:14px;\r\n    opacity:0.9;\r\n    margin-bottom:4px;\r\n  }\r\n\r\n  .apulia-ai-step-indicator{\r\n    font-size:12px;\r\n    opacity:0.85;\r\n    margin-top:4px;\r\n  }\r\n\r\n  \/* ===== SLIDES ===== *\/\r\n  .apulia-ai-step{\r\n    display:none;\r\n  }\r\n  .apulia-ai-step.is-active{\r\n    display:block;\r\n  }\r\n\r\n  \/* ===== SECTIONS (align\u00e9es sur \"Mes centres d\u2019int\u00e9r\u00eat\") ===== *\/\r\n  .apulia-ai-section{\r\n    margin-top:18px;\r\n  }\r\n\r\n  .apulia-ai-section:first-of-type{\r\n    margin-top:6px;\r\n  }\r\n\r\n  \/* Lignes de s\u00e9paration entre sections (m\u00eame style que \"Mes centres d\u2019int\u00e9r\u00eat\") *\/\r\n  .apulia-ai-step .apulia-ai-section + .apulia-ai-section{\r\n    border-top:1px solid rgba(255,255,255,0.18);\r\n    padding-top:14px;\r\n    margin-top:18px;\r\n  }\r\n\r\n  .apulia-ai-section-title{\r\n    font-size:16px;\r\n    font-weight:700;\r\n    margin-bottom:8px;\r\n  }\r\n\r\n  .apulia-ai-section-hint{\r\n    font-size:12px;\r\n    opacity:0.85;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  .apulia-ai-chips{\r\n    display:flex;\r\n    flex-wrap:wrap;\r\n    gap:8px;\r\n  }\r\n\r\n  .apulia-ai-chip{\r\n    padding:8px 12px;\r\n    border-radius:999px;\r\n    background:rgba(0,0,0,0.25);\r\n    font-size:13px;\r\n    display:inline-flex;\r\n    align-items:center;\r\n    gap:6px;\r\n    cursor:pointer;\r\n    border:1px solid transparent;\r\n    transition:background .15s, border-color .15s, transform .08s, color .15s;\r\n    color:#ffffff !important;\r\n  }\r\n\r\n  .apulia-ai-chip span{\r\n    white-space:nowrap;\r\n  }\r\n\r\n  .apulia-ai-chip:active{\r\n    transform:scale(0.97);\r\n  }\r\n\r\n  \/* S\u00e9lection : bleu + texte blanc *\/\r\n  .apulia-ai-chip.is-active{\r\n    background:var(--apulia-blue);\r\n    border-color:rgba(0,0,0,0.45);\r\n    color:#ffffff !important;\r\n  }\r\n\r\n  \/* ===== SELECT (distance max) ===== *\/\r\n  .apulia-ai-select-wrap{\r\n    position:relative;\r\n    margin-top:4px;\r\n  }\r\n\r\n  .apulia-ai-select{\r\n    width:100%;\r\n    padding:10px 32px 10px 12px;\r\n    border-radius:14px;\r\n    background:rgba(0,0,0,0.25);\r\n    border:1px solid rgba(255,255,255,0.25);\r\n    color:#ffffff;\r\n    font-size:14px;\r\n    outline:none;\r\n    appearance:none;\r\n  }\r\n\r\n  .apulia-ai-select-wrap::after{\r\n    content:\"\u25be\";\r\n    position:absolute;\r\n    right:12px;\r\n    top:50%;\r\n    transform:translateY(-50%);\r\n    font-size:13px;\r\n    opacity:0.75;\r\n    pointer-events:none;\r\n  }\r\n\r\n  .apulia-ai-select option{\r\n    color:#000;\r\n    background:#ffffff;\r\n  }\r\n\r\n  \/* ===== FOOTER BUTTONS ===== *\/\r\n  .apulia-ai-footer{\r\n    margin-top:24px;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    gap:10px;\r\n  }\r\n\r\n  .apulia-ai-nav-btn{\r\n    flex:0 0 auto;\r\n    min-width:96px;\r\n    border:none;\r\n    outline:none;\r\n    border-radius:999px;\r\n    padding:10px 12px;\r\n    font-size:13px;\r\n    font-weight:600;\r\n    letter-spacing:0.06em;\r\n    text-transform:uppercase;\r\n    cursor:pointer;\r\n    background:rgba(0,0,0,0.25);\r\n    color:#ffffff;\r\n  }\r\n\r\n  .apulia-ai-nav-btn:active{\r\n    transform:scale(0.98);\r\n  }\r\n\r\n  .apulia-ai-primary-btn{\r\n    flex:1;\r\n    border:none;\r\n    outline:none;\r\n    border-radius:999px;\r\n    padding:11px 12px;\r\n    font-size:14px;\r\n    font-weight:600;\r\n    letter-spacing:0.06em;\r\n    text-transform:uppercase;\r\n    background:var(--apulia-orange);\r\n    color:var(--apulia-teal-1);\r\n    cursor:pointer;\r\n  }\r\n\r\n  .apulia-ai-primary-btn:active{\r\n    transform:scale(0.98);\r\n  }\r\n\r\n  .apulia-ai-nav-btn.is-hidden,\r\n  .apulia-ai-primary-btn.is-hidden{\r\n    display:none;\r\n  }\r\n\r\n  \/* ===== POPUP PRO GLOBAL ===== *\/\r\n  .apulia-modal{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;               \/* sera pass\u00e9 \u00e0 flex en JS *\/\r\n    align-items:center;\r\n    justify-content:center;\r\n    z-index:1000001;            \/* au-dessus de la sheet (999999) *\/\r\n    background:rgba(0,0,0,0.55);\r\n    backdrop-filter:blur(4px);\r\n    padding:24px 16px;\r\n    overflow:auto;              \/* scroll interne si contenu > \u00e9cran *\/\r\n  }\r\n\r\n  .apulia-modal .ap-card{\r\n    width:100%;\r\n    max-width:800px;\r\n    color:#fff;\r\n    text-align:center;\r\n    background:transparent;\r\n    border:none;\r\n    border-radius:22px;\r\n  }\r\n\r\n  .apulia-modal .ap-btn{\r\n    background:#F6A623;\r\n    color:#001D26;\r\n    border:none;\r\n    border-radius:12px;\r\n    padding:10px 14px;\r\n    font-weight:800;\r\n    cursor:pointer;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    gap:10px;\r\n    width:100%;\r\n    max-width:320px;\r\n    box-sizing:border-box;\r\n  }\r\n\r\n  .apulia-modal .ap-btn.secondary{\r\n    background:#0a3e50;\r\n    color:#fff;\r\n    border:1px solid rgba(255,255,255,.25);\r\n  }\r\n\r\n  \/* Ajustement petits \u00e9crans en hauteur *\/\r\n  @media (max-height:640px){\r\n    #card-pro-6{\r\n      min-height:auto !important;\r\n      padding:28px 20px !important;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<!-- CARD PARAM\u00c8TRES APULIA IA -->\r\n<div class=\"apulia-ai-shell\">\r\n  <div class=\"apulia-ai-card\">\r\n    <div class=\"apulia-ai-row\" id=\"apulia-ai-open\">\r\n      <div class=\"apulia-ai-left\">\r\n        <div class=\"apulia-ai-icon\">\u2699\ufe0f<\/div>\r\n        <div>\r\n          <div class=\"apulia-ai-label\" data-apulia-i18n-html=\"params.card_title_html\">\r\n            Param\u00e8tres <span style=\"color:#F6A623;font-weight:700;\">APULIA<\/span>\r\n          <\/div>\r\n          <div class=\"apulia-ai-card-sub\" data-apulia-i18n-html=\"params.card_sub_html\">\r\n            Activez la pleine puissance d\u2019Apulia  <span style=\"color:#F6A623;font-weight:700;\">Pro<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"apulia-ai-chevron\">\u203a<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- BOTTOM SHEET PARAM\u00c8TRES -->\r\n<div class=\"apulia-ai-sheet-bg\" id=\"apulia-ai-bg\">\r\n  <div class=\"apulia-ai-sheet\" id=\"apulia-ai-sheet\">\r\n\r\n    <div class=\"apulia-ai-header\">\r\n      <div class=\"apulia-ai-title\" data-apulia-i18n-html=\"params.sheet_title_html\">\r\n        Param\u00e8tres <span style=\"color:#F6A623;font-weight:700;\">Apulia<\/span>\r\n      <\/div>\r\n      <div class=\"apulia-ai-subtitle\" id=\"apulia-ai-subtitle\" data-apulia-i18n-html=\"params.subtitle_step2_html\">\r\n        Ajustez comment Apulia <span style=\"color:#F6A623;font-weight:700;\">Pro<\/span> personnalise vos r\u00e9ponses.\r\n      <\/div>\r\n      <div class=\"apulia-ai-step-indicator\" id=\"apulia-ai-step-indicator\">\r\n        \u00c9tape 1 \/ 2\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- \u00c9TAPE 1 : Style de r\u00e9ponses -->\r\n    <div class=\"apulia-ai-step is-active\" data-step=\"1\">\r\n\r\n      <div class=\"apulia-ai-section\">\r\n        <div class=\"apulia-ai-section-title\" data-apulia-i18n=\"params.detail_title\">Niveau de d\u00e9tail des r\u00e9ponses<\/div>\r\n        <div class=\"apulia-ai-section-hint\" data-apulia-i18n=\"params.detail_hint\">\r\n          Choisissez jusqu\u2019\u00e0 deux options si besoin (multi-s\u00e9lection).\r\n        <\/div>\r\n        <div class=\"apulia-ai-chips\">\r\n          <button class=\"apulia-ai-chip\" data-group=\"detail\" data-value=\"court\">\r\n            <span>\ud83d\udcdd<\/span><span data-apulia-i18n=\"params.detail_short\">R\u00e9ponses courtes<\/span>\r\n          <\/button>\r\n          <button class=\"apulia-ai-chip\" data-group=\"detail\" data-value=\"standard\">\r\n            <span>\ud83d\udcc4<\/span><span data-apulia-i18n=\"params.detail_standard\">D\u00e9tail standard<\/span>\r\n          <\/button>\r\n          <button class=\"apulia-ai-chip\" data-group=\"detail\" data-value=\"expert\">\r\n            <span>\ud83d\udcda<\/span><span data-apulia-i18n=\"params.detail_expert\">Tr\u00e8s d\u00e9taill\u00e9 (expert local)<\/span>\r\n          <\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"apulia-ai-section\">\r\n        <div class=\"apulia-ai-section-title\" data-apulia-i18n=\"params.format_title\">Format pr\u00e9f\u00e9r\u00e9<\/div>\r\n        <div class=\"apulia-ai-section-hint\" data-apulia-i18n=\"params.format_hint\">\r\n          Comment vous pr\u00e9f\u00e9rez que les recommandations soient pr\u00e9sent\u00e9es.\r\n        <\/div>\r\n        <div class=\"apulia-ai-chips\">\r\n          <button class=\"apulia-ai-chip\" data-group=\"format\" data-value=\"chat\">\r\n            <span>\ud83d\udcac<\/span><span data-apulia-i18n=\"params.format_chat\">Discussion libre<\/span>\r\n          <\/button>\r\n          <button class=\"apulia-ai-chip\" data-group=\"format\" data-value=\"journee\">\r\n            <span>\ud83d\uddd3\ufe0f<\/span><span data-apulia-i18n=\"params.format_day\">Journ\u00e9e par journ\u00e9e<\/span>\r\n          <\/button>\r\n          <button class=\"apulia-ai-chip\" data-group=\"format\" data-value=\"checklist\">\r\n            <span>\u2705<\/span><span data-apulia-i18n=\"params.format_checklist\">Listes \/ checklists<\/span>\r\n          <\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"apulia-ai-section\">\r\n        <div class=\"apulia-ai-section-title\" data-apulia-i18n=\"params.spots_title\">Type de lieux \u00e0 privil\u00e9gier<\/div>\r\n        <div class=\"apulia-ai-section-hint\" data-apulia-i18n=\"params.spots_hint\">\r\n          Apulia adaptera les suggestions (touristiques ou plus secrets).\r\n        <\/div>\r\n        <div class=\"apulia-ai-chips\">\r\n          <button class=\"apulia-ai-chip\" data-group=\"spots\" data-value=\"incontournables\">\r\n            <span>\ud83d\udcf8<\/span><span data-apulia-i18n=\"params.spots_must\">Incontournables \/ cartes postales<\/span>\r\n          <\/button>\r\n          <button class=\"apulia-ai-chip\" data-group=\"spots\" data-value=\"secrets\">\r\n            <span>\ud83d\udd75\ufe0f<\/span><span data-apulia-i18n=\"params.spots_secrets\">Lieux plus secrets<\/span>\r\n          <\/button>\r\n          <button class=\"apulia-ai-chip\" data-group=\"spots\" data-value=\"mixte\">\r\n            <span>\u2696\ufe0f<\/span><span data-apulia-i18n=\"params.spots_mix\">Mix des deux<\/span>\r\n          <\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- \u00c9TAPE 2 : Priorit\u00e9s de recommandations -->\r\n    <div class=\"apulia-ai-step\" data-step=\"2\">\r\n\r\n      <div class=\"apulia-ai-section\">\r\n        <div class=\"apulia-ai-section-title\" data-apulia-i18n=\"params.priorite_title\">Priorit\u00e9 globale<\/div>\r\n        <div class=\"apulia-ai-section-hint\" data-apulia-i18n=\"params.priorite_hint\">\r\n          Ce que Apulia doit optimiser en premier.\r\n        <\/div>\r\n        <div class=\"apulia-ai-chips\">\r\n          <button class=\"apulia-ai-chip\" data-group=\"priorite\" data-value=\"budget\">\r\n            <span>\ud83d\udcb6<\/span><span data-apulia-i18n=\"params.priorite_budget\">Budget avant tout<\/span>\r\n          <\/button>\r\n          <button class=\"apulia-ai-chip\" data-group=\"priorite\" data-value=\"equilibre\">\r\n            <span>\u2696\ufe0f<\/span><span data-apulia-i18n=\"params.priorite_equilibre\">\u00c9quilibre budget \/ exp\u00e9rience<\/span>\r\n          <\/button>\r\n          <button class=\"apulia-ai-chip\" data-group=\"priorite\" data-value=\"experience\">\r\n            <span>\u2b50<\/span><span data-apulia-i18n=\"params.priorite_experience\">Exp\u00e9rience avant tout<\/span>\r\n          <\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"apulia-ai-section\">\r\n        <div class=\"apulia-ai-section-title\" data-apulia-i18n=\"params.distance_title\">Distances & d\u00e9placements<\/div>\r\n        <div class=\"apulia-ai-section-hint\" data-apulia-i18n=\"params.distance_hint\">\r\n          Rayon approximatif accept\u00e9 autour de votre h\u00e9bergement ou de vos bases. Ce r\u00e9glage ne change pas votre mode de s\u00e9jour, il ajuste la tol\u00e9rance de d\u00e9placement.\r\n        <\/div>\r\n        <div class=\"apulia-ai-select-wrap\">\r\n          <select class=\"apulia-ai-select\" id=\"apulia-ai-distance\">\r\n            <option value=\"\" data-apulia-i18n=\"params.distance_choose\">Choisir\u2026<\/option>\r\n            <option value=\"court\" data-apulia-i18n=\"params.distance_short\">&lt; 20 km (trajets tr\u00e8s courts)<\/option>\r\n            <option value=\"moyen\" data-apulia-i18n=\"params.distance_medium\">20\u201350 km (trajets raisonnables)<\/option>\r\n            <option value=\"long\" data-apulia-i18n=\"params.distance_long\">50\u2013100 km (vous \u00eates mobiles)<\/option>\r\n            <option value=\"flexible\" data-apulia-i18n=\"params.distance_flexible\">Peu importe la distance<\/option>\r\n          <\/select>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"apulia-ai-section\">\r\n        <div class=\"apulia-ai-section-title\" data-apulia-i18n=\"params.ambiance_title\">Ambiance souhait\u00e9e<\/div>\r\n        <div class=\"apulia-ai-section-hint\" data-apulia-i18n=\"params.ambiance_hint\">\r\n          Apulia adaptera le ton et le type de lieux.\r\n        <\/div>\r\n        <div class=\"apulia-ai-chips\">\r\n          <button class=\"apulia-ai-chip\" data-group=\"ambiance\" data-value=\"calme\">\r\n            <span>\ud83d\ude0c<\/span><span data-apulia-i18n=\"params.ambiance_calme\">Calme \/ relax<\/span>\r\n          <\/button>\r\n          <button class=\"apulia-ai-chip\" data-group=\"ambiance\" data-value=\"familial\">\r\n            <span>\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67<\/span><span data-apulia-i18n=\"params.ambiance_familial\">Familial<\/span>\r\n          <\/button>\r\n          <button class=\"apulia-ai-chip\" data-group=\"ambiance\" data-value=\"festif\">\r\n            <span>\ud83c\udf89<\/span><span data-apulia-i18n=\"params.ambiance_festif\">Plus anim\u00e9 \/ festif<\/span>\r\n          <\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- FOOTER NAVIGATION -->\r\n    <div class=\"apulia-ai-footer\">\r\n      <button class=\"apulia-ai-nav-btn is-hidden\" id=\"apulia-ai-prev\" data-apulia-i18n=\"params.btn_back\">Retour<\/button>\r\n      <button class=\"apulia-ai-primary-btn\" id=\"apulia-ai-next\" data-apulia-i18n=\"params.btn_next\">Suivant<\/button>\r\n      <button class=\"apulia-ai-primary-btn is-hidden\" id=\"apulia-ai-save\" data-apulia-i18n=\"params.btn_save\">Enregistrer<\/button>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- POPUP PRO (canon, identique au chat) -->\r\n<div id=\"upgradePopup\" class=\"apulia-modal ap-upgrade\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"upgradePopupTitle\" style=\"display:none\">\r\n  <div class=\"ap-card\" aria-live=\"polite\">\r\n    <div class=\"ap-pro-card\">\r\n      <div id=\"card-pro-6\" style=\"background-color:#0A3E50;padding:40px 30px;border-radius:25px;text-align:center;max-width:560px;width:min(92vw,560px);margin:auto;box-shadow:0 0 18px rgba(0,0,0,0.25);min-height:400px;\">\r\n        <p style=\"color:#F6A623;font-size:18px;font-weight:600;margin:0 0 8px;letter-spacing:.2px;\" data-apulia-i18n=\"params.pro_kicker\">\r\n          Toute la puissance d'Apulia, d\u00e9bloqu\u00e9e\r\n        <\/p>\r\n        <h2 id=\"upgradePopupTitle\" style=\"color:#FFFFFF;font-size:26px;margin:0 0 16px;\">\r\n          Apulia <span style=\"color:#F6A623;\">Pro<\/span>\r\n        <\/h2>\r\n        <p style=\"color:#FFFFFF;font-size:16px;margin:0 0 16px;\">\r\n          <strong data-apulia-i18n=\"params.pro_duration\">Dur\u00e9e :<\/strong>\r\n          <span style=\"color:#F6A623;\" data-apulia-i18n=\"params.pro_duration_val\">30 jours<\/span><br>\r\n          <strong data-apulia-i18n=\"params.pro_questions\">Questions :<\/strong>\r\n          <span style=\"color:#F6A623;\" data-apulia-i18n=\"params.pro_questions_val\">illimit\u00e9es<\/span><br>\r\n          <strong data-apulia-i18n=\"params.pro_price\">Prix :<\/strong>\r\n          <span style=\"color:#F6A623;\">9,99 \u20ac TTC<\/span>\r\n        <\/p>\r\n\r\n        <p style=\"color:#FFFFFF;font-size:15px;margin:0 0 14px;\">\r\n          <span data-apulia-i18n=\"params.pro_pitch\">Donne des conseils locaux pr\u00e9cis et \u00e0 jour pour voyager comme un vrai local.<\/span>\r\n        <\/p>\r\n\r\n        <div style=\"display:inline-block;text-align:left;line-height:1.8;font-size:15px;color:#FFFFFF;\">\r\n            <div style=\"margin:5px 0;\" data-apulia-i18n=\"params.pro_feat_q\">\u2705 Questions illimit\u00e9es<\/div>\r\n            <div style=\"margin:5px 0;\" data-apulia-i18n=\"params.pro_feat_perso\">\u2705 R\u00e9ponses personnalis\u00e9es<\/div>\r\n            <div style=\"margin:5px 0;\" data-apulia-i18n=\"params.pro_feat_voice\">\u2705 Dict\u00e9e vocale<\/div>\r\n            <div style=\"margin:5px 0;\" data-apulia-i18n=\"params.pro_feat_photo\">\u2705 Reconnaissance de lieux en photo<\/div>\r\n            <div style=\"margin:5px 0;\" data-apulia-i18n=\"params.pro_feat_qr\">\u2705 Scan de QR codes<\/div>\r\n            <div style=\"margin:5px 0;\" data-apulia-i18n=\"params.pro_feat_itin\">\u2705 Itin\u00e9raires sur mesure<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ap-actions\" style=\"margin-top:18px;display:flex;flex-direction:column;gap:14px;align-items:center;\">\r\n          <a class=\"ap-btn\" href=\"https:\/\/api.lespouilles.blog\/checkout\/pro\" data-apulia-pro-url=\"https:\/\/api.lespouilles.blog\/checkout\/pro\" rel=\"noopener\">\r\n            <span data-apulia-i18n=\"params.pro_unlock\">D\u00e9bloquer Apulia Pro<\/span>\r\n          <\/a>\r\n          <button class=\"ap-btn secondary\" data-apulia-close data-apulia-i18n=\"params.pro_close\">\r\n            Fermer\r\n          <\/button>\r\n        <\/div>\r\n\r\n        <!-- Mentions d'achat (App Store 3.1.2). APULIA PRO = acc\u00e8s 30 jours \u00e0\r\n             paiement unique (NON renouvelable : Stripe mode=payment \/ Apple\r\n             Non-Renewing) -> pas de mention de renouvellement automatique.\r\n             Mentions l\u00e9gales : chrome traduit ; le corps juridique reste sur les pages WPML. -->\r\n        <p style=\"margin:14px auto 0;max-width:520px;font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.72);\">\r\n          Acc\u00e8s PRO de 30 jours \u00e0 9,99 \u20ac TTC, paiement unique sans renouvellement automatique. En continuant, vous acceptez nos <a href=\"https:\/\/lespouilles.blog\/en\/terms-and-conditions\/\" target=\"_blank\" rel=\"noopener\" style=\"color:#F6A623;text-decoration:underline;\">Conditions d'utilisation<\/a> et notre <a href=\"https:\/\/lespouilles.blog\/en\/privacy-policy\/\" target=\"_blank\" rel=\"noopener\" style=\"color:#F6A623;text-decoration:underline;\">Politique de confidentialit\u00e9<\/a>.\r\n        <\/p>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \"use strict\";\r\n\r\n  const OPEN_ID   = \"apulia-ai-open\";\r\n  const BG_ID     = \"apulia-ai-bg\";\r\n  const SHEET_ID  = \"apulia-ai-sheet\";\r\n  const PREV_ID   = \"apulia-ai-prev\";\r\n  const NEXT_ID   = \"apulia-ai-next\";\r\n  const SAVE_ID   = \"apulia-ai-save\";\r\n  const STEP_INDICATOR_ID = \"apulia-ai-step-indicator\";\r\n  const SUBTITLE_ID       = \"apulia-ai-subtitle\";\r\n  const DIST_ID           = \"apulia-ai-distance\";\r\n\r\n  const PREFS_KEY = \"apulia_ai_prefs\";\r\n\r\n  const openBtn = document.getElementById(OPEN_ID);\r\n  const bg      = document.getElementById(BG_ID);\r\n  const sheet   = document.getElementById(SHEET_ID);\r\n  const prevBtn = document.getElementById(PREV_ID);\r\n  const nextBtn = document.getElementById(NEXT_ID);\r\n  const saveBtn = document.getElementById(SAVE_ID);\r\n  const stepIndicator = document.getElementById(STEP_INDICATOR_ID);\r\n  const subtitleEl    = document.getElementById(SUBTITLE_ID);\r\n  const selDistance   = document.getElementById(DIST_ID);\r\n\r\n  const steps = Array.from(document.querySelectorAll(\".apulia-ai-step\"));\r\n  const chips = Array.from(document.querySelectorAll(\".apulia-ai-chip\"));\r\n\r\n  const MAX_STEP = 2;\r\n  let currentStep = 1;\r\n\r\n  let prefs = {\r\n    detail:[],       \/\/ court \/ standard \/ expert\r\n    format:[],       \/\/ chat \/ journee \/ checklist\r\n    spots:[],        \/\/ incontournables \/ secrets \/ mixte\r\n    priorite:[],     \/\/ budget \/ equilibre \/ experience\r\n    distance:null,   \/\/ court \/ moyen \/ long \/ flexible\r\n    ambiance:[]      \/\/ calme \/ familial \/ festif\r\n  };\r\n\r\n  function loadPrefs(){\r\n    const raw = localStorage.getItem(PREFS_KEY);\r\n    if(raw){\r\n      try{\r\n        const parsed = JSON.parse(raw);\r\n        if(parsed && typeof parsed === \"object\"){\r\n          prefs = Object.assign(prefs, parsed);\r\n        }\r\n      }catch(e){\r\n        \/\/ ignore\r\n      }\r\n    }\r\n\r\n    [\"detail\",\"format\",\"spots\",\"priorite\",\"ambiance\"].forEach(field=>{\r\n      const v = prefs[field];\r\n      if(Array.isArray(v)){\r\n        \/\/ ok\r\n      }else if(v == null){\r\n        prefs[field] = [];\r\n      }else{\r\n        prefs[field] = [v];\r\n      }\r\n    });\r\n\r\n    chips.forEach(chip=>{\r\n      const group = chip.dataset.group;\r\n      const value = chip.dataset.value;\r\n      const list  = Array.isArray(prefs[group]) ? prefs[group] : [];\r\n      const active = list.includes(value);\r\n      chip.classList.toggle(\"is-active\", active);\r\n    });\r\n\r\n    if(selDistance && prefs.distance){\r\n      selDistance.value = prefs.distance;\r\n    }\r\n  }\r\n\r\n  function savePrefs(){\r\n    try{\r\n      localStorage.setItem(PREFS_KEY, JSON.stringify(prefs));\r\n    }catch(e){}\r\n  }\r\n\r\n  function openSheet(){\r\n    if(!bg || !sheet) return;\r\n    bg.style.display = \"flex\";\r\n    document.body.style.overflow = \"hidden\";\r\n    setTimeout(()=>{ sheet.classList.add(\"is-open\"); }, 10);\r\n  }\r\n\r\n  function closeSheet(){\r\n    if(!bg || !sheet) return;\r\n    sheet.classList.remove(\"is-open\");\r\n    setTimeout(()=>{ bg.style.display = \"none\"; }, 220);\r\n    document.body.style.overflow = \"\";\r\n  }\r\n\r\n  function setStep(step){\r\n    currentStep = Math.min(Math.max(step,1), MAX_STEP);\r\n    steps.forEach(s=>{\r\n      const n = parseInt(s.dataset.step,10);\r\n      s.classList.toggle(\"is-active\", n === currentStep);\r\n    });\r\n\r\n    if(currentStep === 1){\r\n      prevBtn.classList.add(\"is-hidden\");\r\n      nextBtn.classList.remove(\"is-hidden\");\r\n      saveBtn.classList.add(\"is-hidden\");\r\n      if(subtitleEl) subtitleEl.style.display = \"block\";\r\n    }else{\r\n      prevBtn.classList.remove(\"is-hidden\");\r\n      nextBtn.classList.add(\"is-hidden\");\r\n      saveBtn.classList.remove(\"is-hidden\");\r\n      if(subtitleEl) subtitleEl.style.display = \"none\";\r\n    }\r\n\r\n    if(stepIndicator){\r\n      var label = \"\u00c9tape \" + currentStep + \" \/ \" + MAX_STEP;\r\n      try{\r\n        if(window.ApuliaI18nCompte && typeof window.ApuliaI18nCompte.t === \"function\"){\r\n          label = window.ApuliaI18nCompte.t(\"params.step\", { current: currentStep, max: MAX_STEP });\r\n        }\r\n      }catch(e){}\r\n      stepIndicator.textContent = label;\r\n    }\r\n  }\r\n\r\n  function onChipClick(chip){\r\n    const group = chip.dataset.group;\r\n    const value = chip.dataset.value;\r\n    const list  = Array.isArray(prefs[group]) ? prefs[group] : [];\r\n\r\n    const isActive = chip.classList.toggle(\"is-active\");\r\n\r\n    if(isActive){\r\n      if(!list.includes(value)){\r\n        list.push(value);\r\n      }\r\n    }else{\r\n      const idx = list.indexOf(value);\r\n      if(idx >= 0) list.splice(idx,1);\r\n    }\r\n\r\n    prefs[group] = list;\r\n    savePrefs();\r\n  }\r\n\r\n  function onDistanceChange(){\r\n    if(selDistance){\r\n      prefs.distance = selDistance.value || null;\r\n      savePrefs();\r\n    }\r\n  }\r\n\r\n  function isPro(){\r\n    try{\r\n      return localStorage.getItem(\"apulia_is_pro\") === \"1\";\r\n    }catch(e){\r\n      return false;\r\n    }\r\n  }\r\n\r\n  \/* === OUVERTURE \/ FERMETURE POPUP PRO === *\/\r\n  function openProPopup(){\r\n    var el = document.getElementById(\"upgradePopup\");\r\n    if(el){\r\n      el.style.display = \"flex\";\r\n      document.body.style.overflow = \"hidden\";\r\n      return;\r\n    }\r\n\r\n    \/\/ Fallback Elementor\r\n    try{\r\n      if(window.elementorProFrontend &&\r\n         elementorProFrontend.modules &&\r\n         elementorProFrontend.modules.popup){\r\n        elementorProFrontend.modules.popup.showPopup({ id:6038 });\r\n      }\r\n    }catch(e){}\r\n  }\r\n\r\n  \/\/ G\u00e9rer le bouton \"Fermer\" du popup PRO (si le JS global du chat n'est pas l\u00e0)\r\n  (function(){\r\n    var popup = document.getElementById(\"upgradePopup\");\r\n    if(!popup) return;\r\n    var closeBtns = Array.from(popup.querySelectorAll(\"[data-apulia-close]\"));\r\n    closeBtns.forEach(function(btn){\r\n      btn.addEventListener(\"click\", function(){\r\n        popup.style.display = \"none\";\r\n        document.body.style.overflow = \"\";\r\n      });\r\n    });\r\n  })();\r\n\r\n  function handleSave(){\r\n    \/\/ FREE \/ invit\u00e9 \u2192 fermer la sheet, puis ouvrir le popup PRO\r\n    if(!isPro()){\r\n      closeSheet();\r\n      setTimeout(openProPopup, 260);\r\n      return;\r\n    }\r\n\r\n    \/\/ PRO \u2192 enregistrement des pr\u00e9f\u00e9rences + expo globale\r\n    savePrefs();\r\n    try{\r\n      window.apuliaAiPrefs = prefs;\r\n    }catch(e){}\r\n\r\n    closeSheet();\r\n  }\r\n\r\n  if(openBtn){\r\n    openBtn.addEventListener(\"click\", openSheet);\r\n  }\r\n\r\n  if(bg){\r\n    bg.addEventListener(\"click\", (e)=>{\r\n      if(e.target === bg){\r\n        closeSheet();\r\n      }\r\n    });\r\n  }\r\n\r\n  chips.forEach(chip=>{\r\n    chip.addEventListener(\"click\", ()=> onChipClick(chip));\r\n  });\r\n\r\n  if(selDistance){\r\n    selDistance.addEventListener(\"change\", onDistanceChange);\r\n  }\r\n\r\n  if(prevBtn){\r\n    prevBtn.addEventListener(\"click\", ()=> setStep(currentStep - 1));\r\n  }\r\n  if(nextBtn){\r\n    nextBtn.addEventListener(\"click\", ()=> setStep(currentStep + 1));\r\n  }\r\n  if(saveBtn){\r\n    saveBtn.addEventListener(\"click\", handleSave);\r\n  }\r\n\r\n  loadPrefs();\r\n  setStep(1);\r\n  window.addEventListener(\"apulia:i18n_ready\", function(){ setStep(currentStep); });\r\n  window.addEventListener(\"apulia:lang\", function(){ setStep(currentStep); });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-323d7a4 e-flex e-con-boxed e-con e-parent\" data-id=\"323d7a4\" 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-6e1a5b8 elementor-widget elementor-widget-heading\" data-id=\"6e1a5b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">More  <br><\/h5>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-242084f e-flex e-con-boxed e-con e-parent\" data-id=\"242084f\" 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-2b39ae3 elementor-widget elementor-widget-html\" data-id=\"2b39ae3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =============================================== --><!-- BLOC RETOUR 1 \u2014 \u00c9VALUER APULIA (1 \u2192 5 \u2b50)    --><!-- Card + bottom sheet + tracking \/track          --><!-- =============================================== --><style>:root{\r\n    --apulia-orange:#F6A623;\r\n    --apulia-blue:#088BEE;\r\n    --apulia-teal-1:#001D26;\r\n    --apulia-teal-2:#003F52;\r\n  }\r\n\r\n  .apulia-rate-shell{\r\n    width:100%;\r\n    max-width:720px;\r\n    margin:16px auto 0;\r\n    padding:0 12px;\r\n    color:#fff;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n  }\r\n\r\n  .apulia-rate-card{\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.95),rgba(0,94,117,0.9));\r\n    padding:14px 16px;\r\n    border-radius:22px;\r\n    box-shadow:0 14px 40px rgba(0,0,0,0.45);\r\n  }\r\n\r\n  .apulia-rate-row{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    gap:12px;\r\n    cursor:pointer;\r\n  }\r\n\r\n  .apulia-rate-left{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:10px;\r\n  }\r\n\r\n  .apulia-rate-icon{\r\n    width:28px;\r\n    height:28px;\r\n    border-radius:999px;\r\n    background:rgba(0,0,0,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    flex-shrink:0;\r\n    font-size:18px;\r\n    line-height:1;\r\n  }\r\n\r\n  .apulia-rate-texts{\r\n    display:flex;\r\n    flex-direction:column;\r\n    gap:2px;\r\n  }\r\n\r\n  .apulia-rate-title{\r\n    font-size:15px;\r\n    font-weight:600;\r\n  }\r\n\r\n  .apulia-rate-subtitle{\r\n    font-size:12px;\r\n    opacity:0.9;\r\n  }\r\n\r\n  .apulia-rate-chevron{\r\n    width:22px;\r\n    height:22px;\r\n    border-radius:999px;\r\n    border:1px solid rgba(255,255,255,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    font-size:16px;\r\n  }\r\n\r\n  \/* Bottom sheet *\/\r\n  .apulia-rate-bg{\r\n    position:fixed;\r\n    inset:0;\r\n    background:rgba(0,0,0,0.55);\r\n    display:none;\r\n    align-items:flex-end;\r\n    justify-content:center;\r\n    z-index:999999;\r\n  }\r\n\r\n  .apulia-rate-sheet{\r\n    width:100%;\r\n    max-width:720px;\r\n    max-height:75vh;\r\n    overflow-y:auto;\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.98),rgba(0,94,117,0.96));\r\n    border-radius:22px 22px 0 0;\r\n    padding:20px 18px 22px;\r\n    transform:translateY(100%);\r\n    transition:transform .28s ease-out;\r\n    color:#ffffff;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n  }\r\n\r\n  .apulia-rate-sheet.is-open{\r\n    transform:translateY(0);\r\n  }\r\n\r\n  .apulia-rate-header{\r\n    margin-bottom:16px;\r\n  }\r\n\r\n  .apulia-rate-sheet-title{\r\n    font-size:18px;\r\n    font-weight:700;\r\n    margin-bottom:4px;\r\n  }\r\n\r\n  .apulia-rate-sheet-subtitle{\r\n    font-size:14px;\r\n    opacity:0.9;\r\n  }\r\n\r\n  .apulia-rate-stars-row{\r\n    margin-top:18px;\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    gap:8px;\r\n  }\r\n\r\n  .apulia-rate-star{\r\n    width:40px;\r\n    height:40px;\r\n    border-radius:999px;\r\n    border:none;\r\n    outline:none;\r\n    background:rgba(0,0,0,0.25);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    font-size:22px;\r\n    cursor:pointer;\r\n    transition:background .15s, transform .08s, color .15s;\r\n    color:#ffffff;\r\n  }\r\n\r\n  .apulia-rate-star:active{\r\n    transform:scale(0.94);\r\n  }\r\n\r\n  .apulia-rate-star.is-active{\r\n    background:var(--apulia-orange);\r\n    color:var(--apulia-teal-1);\r\n  }\r\n\r\n  .apulia-rate-note{\r\n    margin-top:14px;\r\n    font-size:13px;\r\n    text-align:center;\r\n    opacity:0.9;\r\n  }\r\n\r\n  .apulia-rate-saved{\r\n    margin-top:10px;\r\n    font-size:12px;\r\n    text-align:center;\r\n    opacity:0.85;\r\n  }\r\n<\/style><div class=\"apulia-rate-shell\"><div class=\"apulia-rate-card\"><div class=\"apulia-rate-row\" id=\"apulia-rate-open\"><div class=\"apulia-rate-left\"><div class=\"apulia-rate-icon\">\u2b50<\/div><div class=\"apulia-rate-texts\"><div class=\"apulia-rate-title\" data-apulia-i18n-html=\"rate.card_title_html\">Faire \u00e9voluer <span style=\"color:#F6A623;\">APULIA<\/span><\/div><div class=\"apulia-rate-subtitle\" data-apulia-i18n=\"rate.card_sub\">\u00c9valuez le service de 1 \u00e0 5 \u00e9toiles<\/div><\/div><\/div><div class=\"apulia-rate-chevron\">\u203a<\/div><\/div><\/div><\/div><!-- Bottom sheet --><div class=\"apulia-rate-bg\" id=\"apulia-rate-bg\"><div class=\"apulia-rate-sheet\" id=\"apulia-rate-sheet\"><div class=\"apulia-rate-header\"><div class=\"apulia-rate-sheet-title\" data-apulia-i18n-html=\"rate.sheet_title_html\">\u00c9valuer <span style=\"color:#F6A623;\">APULIA<\/span><\/div><div class=\"apulia-rate-sheet-subtitle\" data-apulia-i18n=\"rate.sheet_sub\">Votre avis nous aide \u00e0 am\u00e9liorer APULIA, surtout pour la version PRO.\r\n      <\/div><\/div><div class=\"apulia-rate-stars-row\" id=\"apulia-rate-stars-row\"><button class=\"apulia-rate-star\" data-score=\"1\">\u2605<\/button><button class=\"apulia-rate-star\" data-score=\"2\">\u2605<\/button><button class=\"apulia-rate-star\" data-score=\"3\">\u2605<\/button><button class=\"apulia-rate-star\" data-score=\"4\">\u2605<\/button><button class=\"apulia-rate-star\" data-score=\"5\">\u2605<\/button><\/div><div class=\"apulia-rate-note\" data-apulia-i18n=\"rate.note\">Touchez une \u00e9toile pour enregistrer votre note (1 = d\u00e9\u00e7u, 5 = excellent).\r\n    <\/div><div class=\"apulia-rate-saved\" id=\"apulia-rate-saved\" style=\"display:none;\" data-apulia-i18n=\"rate.thanks\">Merci, votre note a \u00e9t\u00e9 enregistr\u00e9e.\r\n    <\/div><\/div><\/div><script>(function(){\r\n  \"use strict\";\r\n\r\n  const ORIGIN     = \"https:\/\/api.lespouilles.blog\";\r\n  const TRACK_URL  = ORIGIN + \"\/track\";\r\n  const RATING_KEY = \"apulia_rating_overall\";\r\n  const ROUTE      = \"\/compte\/retour\";\r\n\r\n  const openBtn    = document.getElementById(\"apulia-rate-open\");\r\n  const bg         = document.getElementById(\"apulia-rate-bg\");\r\n  const sheet      = document.getElementById(\"apulia-rate-sheet\");\r\n  const savedMsg   = document.getElementById(\"apulia-rate-saved\");\r\n  const starBtns   = Array.from(document.querySelectorAll(\".apulia-rate-star\"));\r\n\r\n  function T(key){ return (window.ApuliaI18nCompte && ApuliaI18nCompte.t(key)) || key; }\r\n\r\n  function openSheet(){\r\n    bg.style.display = \"flex\";\r\n    setTimeout(()=>{ sheet.classList.add(\"is-open\"); }, 10);\r\n  }\r\n\r\n  function closeSheet(){\r\n    sheet.classList.remove(\"is-open\");\r\n    setTimeout(()=>{ bg.style.display = \"none\"; }, 220);\r\n  }\r\n\r\n  function applyRatingUI(score){\r\n    starBtns.forEach(btn=>{\r\n      const v = parseInt(btn.dataset.score,10);\r\n      btn.classList.toggle(\"is-active\", v <= score);\r\n    });\r\n  }\r\n\r\n  function saveRating(score){\r\n    try{\r\n      localStorage.setItem(RATING_KEY, String(score));\r\n    }catch(e){}\r\n\r\n    try{\r\n      fetch(TRACK_URL, {\r\n        method:\"POST\",\r\n        headers:{ \"Content-Type\":\"application\/json\" },\r\n        credentials:\"include\",\r\n        body:JSON.stringify({\r\n          event:\"rating_overall\",\r\n          route:ROUTE,\r\n          ts:new Date().toISOString(),\r\n          details:{ score:score }\r\n        })\r\n      }).catch(()=>{});\r\n    }catch(e){}\r\n\r\n    if(savedMsg){\r\n      savedMsg.textContent = T(\"rate.thanks\");\r\n      savedMsg.style.display = \"block\";\r\n      setTimeout(()=>{ savedMsg.style.display = \"none\"; }, 2500);\r\n    }\r\n  }\r\n\r\n  function loadRating(){\r\n    const stored = localStorage.getItem(RATING_KEY);\r\n    const score  = stored ? parseInt(stored,10) : 0;\r\n    if(score>=1 && score<=5){\r\n      applyRatingUI(score);\r\n    }\r\n  }\r\n\r\n  if(openBtn){\r\n    openBtn.addEventListener(\"click\", openSheet);\r\n  }\r\n\r\n  if(bg){\r\n    bg.addEventListener(\"click\", (e)=>{\r\n      if(e.target === bg){\r\n        closeSheet();\r\n      }\r\n    });\r\n  }\r\n\r\n  starBtns.forEach(btn=>{\r\n    btn.addEventListener(\"click\", ()=>{\r\n      const score = parseInt(btn.dataset.score,10);\r\n      if(score>=1 && score<=5){\r\n        applyRatingUI(score);\r\n        saveRating(score);\r\n      }\r\n    });\r\n  });\r\n\r\n  loadRating();\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44bcbe9 elementor-widget elementor-widget-html\" data-id=\"44bcbe9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =============================================== --><!-- BLOC RETOUR 2 \u2014 PARLER AVEC NOUS (WHATSAPP)     --><!-- Card simple + ouverture WhatsApp + tracking     --><!-- =============================================== --><style>:root{\r\n    --apulia-orange:#F6A623;\r\n    --apulia-blue:#088BEE;\r\n    --apulia-teal-1:#001D26;\r\n    --apulia-teal-2:#003F52;\r\n  }\r\n\r\n  .apulia-talk-shell{\r\n    width:100%;\r\n    max-width:720px;\r\n    margin:16px auto 0;\r\n    padding:0 12px;\r\n    color:#fff;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n  }\r\n\r\n  .apulia-talk-card{\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.95),rgba(0,94,117,0.9));\r\n    padding:14px 16px;\r\n    border-radius:22px;\r\n    box-shadow:0 14px 40px rgba(0,0,0,0.45);\r\n  }\r\n\r\n  .apulia-talk-row{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    gap:12px;\r\n    cursor:pointer;\r\n  }\r\n\r\n  .apulia-talk-left{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:10px;\r\n  }\r\n\r\n  .apulia-talk-icon{\r\n    width:28px;\r\n    height:28px;\r\n    border-radius:999px;\r\n    background:rgba(0,0,0,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    flex-shrink:0;\r\n    font-size:18px;\r\n    line-height:1;\r\n  }\r\n\r\n  .apulia-talk-texts{\r\n    display:flex;\r\n    flex-direction:column;\r\n    gap:2px;\r\n  }\r\n\r\n  .apulia-talk-title{\r\n    font-size:15px;\r\n    font-weight:600;\r\n  }\r\n\r\n  .apulia-talk-subtitle{\r\n    font-size:12px;\r\n    opacity:0.9;\r\n  }\r\n\r\n  .apulia-talk-chevron{\r\n    width:22px;\r\n    height:22px;\r\n    border-radius:999px;\r\n    border:1px solid rgba(255,255,255,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    font-size:16px;\r\n  }\r\n<\/style><div class=\"apulia-talk-shell\"><div class=\"apulia-talk-card\"><div class=\"apulia-talk-row\" id=\"apulia-talk-open\"><div class=\"apulia-talk-left\"><div class=\"apulia-talk-icon\">\ud83d\udcac<\/div><div class=\"apulia-talk-texts\"><div class=\"apulia-talk-title\" data-apulia-i18n=\"talk.title\">Parler avec nous<\/div><div class=\"apulia-talk-subtitle\" data-apulia-i18n=\"talk.sub\">Ouvrir une conversation WhatsApp<\/div><\/div><\/div><div class=\"apulia-talk-chevron\">\u203a<\/div><\/div><\/div><\/div><script>(function(){\r\n  \"use strict\";\r\n\r\n  const ORIGIN        = \"https:\/\/api.lespouilles.blog\";\r\n  const TRACK_URL     = ORIGIN + \"\/track\";\r\n  const SESSION_URL   = ORIGIN + \"\/session\";\r\n\r\n  \/\/ Construit dynamiquement l'URL WhatsApp depuis \/session\r\n  \/\/ \/session doit renvoyer: { ..., whatsapp: \"393XXXXXXXXX\", ... }\r\n  let WHATSAPP_URL = null;\r\n\r\n  const btn = document.getElementById(\"apulia-talk-open\");\r\n\r\n  function T(key){ return (window.ApuliaI18nCompte && ApuliaI18nCompte.t(key)) || key; }\r\n\r\n  function loadWhatsappNumber(){\r\n    try{\r\n      fetch(SESSION_URL, {\r\n        method:\"GET\",\r\n        credentials:\"include\"\r\n      })\r\n      .then(function(r){\r\n        if(!r.ok) return null;\r\n        return r.json();\r\n      })\r\n      .then(function(data){\r\n        if(data && data.whatsapp){\r\n          \/\/ data.whatsapp doit \u00eatre au format WhatsApp: 393XXXXXXXXX\r\n          const phone = String(data.whatsapp).trim();\r\n          if(phone){\r\n            WHATSAPP_URL = \"https:\/\/wa.me\/\" + encodeURIComponent(phone) +\r\n                           \"?text=\" + encodeURIComponent(T(\"talk.wa_message\"));\r\n          }\r\n        }\r\n      })\r\n      .catch(function(){});\r\n    }catch(e){}\r\n  }\r\n\r\n  function trackClick(){\r\n    try{\r\n      fetch(TRACK_URL, {\r\n        method:\"POST\",\r\n        headers:{ \"Content-Type\":\"application\/json\" },\r\n        credentials:\"include\",\r\n        body:JSON.stringify({\r\n          event:\"contact_whatsapp\",\r\n          route:\"\/compte\/retour\",\r\n          ts:new Date().toISOString()\r\n        })\r\n      }).catch(function(){});\r\n    }catch(e){}\r\n  }\r\n\r\n  if(btn){\r\n    btn.addEventListener(\"click\", function(){\r\n      trackClick();\r\n      if(!WHATSAPP_URL){\r\n        \/\/ Pas de num\u00e9ro charg\u00e9 -> on ne fait rien (ou on peut afficher un message si besoin)\r\n        return;\r\n      }\r\n      try{\r\n        window.open(WHATSAPP_URL, \"_blank\");\r\n      }catch(e){}\r\n    });\r\n  }\r\n\r\n  \/\/ Chargement du num\u00e9ro au chargement de la page\r\n  loadWhatsappNumber();\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cf78794 elementor-widget elementor-widget-html\" data-id=\"cf78794\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =============================================== --><!-- BLOC RETOUR 3 \u2014 RECOMMANDER APULIA           --><!-- Card simple + Web Share API + tracking          --><!-- =============================================== --><style>:root{\r\n    --apulia-orange:#F6A623;\r\n    --apulia-blue:#088BEE;\r\n    --apulia-teal-1:#001D26;\r\n    --apulia-teal-2:#003F52;\r\n  }\r\n\r\n  .apulia-share-shell{\r\n    width:100%;\r\n    max-width:720px;\r\n    margin:16px auto 32px;\r\n    padding:0 12px;\r\n    color:#fff;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n  }\r\n\r\n  .apulia-share-card{\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.95),rgba(0,94,117,0.9));\r\n    padding:14px 16px;\r\n    border-radius:22px;\r\n    box-shadow:0 14px 40px rgba(0,0,0,0.45);\r\n  }\r\n\r\n  .apulia-share-row{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    gap:12px;\r\n    cursor:pointer;\r\n  }\r\n\r\n  .apulia-share-left{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:10px;\r\n  }\r\n\r\n  .apulia-share-icon{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    flex-shrink:0;\r\n    font-size:22px;\r\n    line-height:1;\r\n  }\r\n\r\n  .apulia-share-texts{\r\n    display:flex;\r\n    flex-direction:column;\r\n    gap:2px;\r\n  }\r\n\r\n  .apulia-share-title{\r\n    font-size:15px;\r\n    font-weight:600;\r\n  }\r\n\r\n  .apulia-share-subtitle{\r\n    font-size:12px;\r\n    opacity:0.9;\r\n  }\r\n\r\n  .apulia-share-chevron{\r\n    width:22px;\r\n    height:22px;\r\n    border-radius:999px;\r\n    border:1px solid rgba(255,255,255,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    font-size:16px;\r\n  }\r\n<\/style><div class=\"apulia-share-shell\"><div class=\"apulia-share-card\"><div class=\"apulia-share-row\" id=\"apulia-share-open\"><div class=\"apulia-share-left\"><div class=\"apulia-share-icon\">\ud83d\udcf2<\/div><div class=\"apulia-share-texts\"><div class=\"apulia-share-title\" data-apulia-i18n-html=\"share.title_html\">Recommander <span style=\"color:#F6A623;\">APULIA<\/span><\/div><div class=\"apulia-share-subtitle\" data-apulia-i18n=\"share.sub\">Partager l'application avec vos proches<\/div><\/div><\/div><div class=\"apulia-share-chevron\">\u203a<\/div><\/div><\/div><\/div><script>(function(){\r\n  \"use strict\";\r\n\r\n  const ORIGIN    = \"https:\/\/api.lespouilles.blog\";\r\n  const TRACK_URL = ORIGIN + \"\/track\";\r\n\r\n  var INSTALL_URLS = {\r\n    fr: \"https:\/\/lespouilles.blog\/installer-apulia-ia\/\",\r\n    it: \"https:\/\/lespouilles.blog\/it\/installa-apulia\/\",\r\n    en: \"https:\/\/lespouilles.blog\/en\/install-apulia\/\",\r\n    de: \"https:\/\/lespouilles.blog\/de\/apulia-installieren\/\"\r\n  };\r\n\r\n  function detectInstallLang(){\r\n    if(window.ApuliaI18n && typeof window.ApuliaI18n.getLocale === \"function\"){\r\n      return window.ApuliaI18n.getLocale();\r\n    }\r\n    var p = location.pathname || \"\";\r\n    if(\/^\\\/it\\\/\/.test(p)) return \"it\";\r\n    if(\/^\\\/en\\\/\/.test(p)) return \"en\";\r\n    if(\/^\\\/de\\\/\/.test(p)) return \"de\";\r\n    return \"fr\";\r\n  }\r\n\r\n  function getInstallUrl(){\r\n    var lang = detectInstallLang();\r\n    return INSTALL_URLS[lang] || INSTALL_URLS.fr;\r\n  }\r\n\r\n  const btn = document.getElementById(\"apulia-share-open\");\r\n\r\n  function T(key){ return (window.ApuliaI18nCompte && ApuliaI18nCompte.t(key)) || key; }\r\n\r\n  function trackShare(via, installUrl){\r\n    try{\r\n      fetch(TRACK_URL, {\r\n        method:\"POST\",\r\n        headers:{ \"Content-Type\":\"application\/json\" },\r\n        credentials:\"include\",\r\n        body:JSON.stringify({\r\n          event:\"share_pwa\",\r\n          route:\"\/compte\/retour\",\r\n          ts:new Date().toISOString(),\r\n          details:{\r\n            via: via || \"unknown\",\r\n            url: installUrl\r\n          }\r\n        })\r\n      }).catch(function(){});\r\n    }catch(e){}\r\n  }\r\n\r\n  async function doShare(installUrl){\r\n    const shareText = T(\"share.text\");\r\n\r\n    if(navigator.share){\r\n      try{\r\n        await navigator.share({\r\n          title:\"APULIA\",\r\n          text:shareText,\r\n          url:installUrl\r\n        });\r\n      }catch(e){\r\n        \/\/ partage annul\u00e9\r\n      }\r\n    }else{\r\n      try{\r\n        await navigator.clipboard.writeText(installUrl);\r\n        alert(T(\"share.copied\") + installUrl);\r\n      }catch(e){\r\n        alert(shareText + \"\\n\\n\" + installUrl);\r\n      }\r\n    }\r\n  }\r\n\r\n  if(btn){\r\n    btn.addEventListener(\"click\", function(){\r\n      var installUrl = getInstallUrl();\r\n\r\n      \/\/ On d\u00e9termine le canal probable avant d'appeler doShare()\r\n      var via = \"fallback\";\r\n      if(navigator.share){\r\n        via = \"webshare\";\r\n      }else if(navigator.clipboard){\r\n        via = \"copy_link\";\r\n      }\r\n\r\n      trackShare(via, installUrl);\r\n      doShare(installUrl);\r\n    });\r\n  }\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e49f132 elementor-widget elementor-widget-html\" data-id=\"e49f132\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"apulia-espace-pro\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================== --><!--   ESPACE PRO (SaaS logic)   --><!-- =========================== --><style>.apulia-pro-shell{\r\n    width:100%;\r\n    max-width:720px;\r\n    margin:16px auto 32px;\r\n    padding:0 12px;\r\n    color:#fff;\r\n    font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n  }\r\n  .apulia-pro-card{\r\n    background:linear-gradient(135deg,rgba(0,31,45,0.95),rgba(0,94,117,0.9));\r\n    padding:14px 16px;\r\n    border-radius:22px;\r\n    box-shadow:0 14px 40px rgba(0,0,0,0.45);\r\n    cursor:pointer;\r\n  }\r\n  .apulia-pro-row{\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    gap:12px;\r\n  }\r\n  .apulia-pro-left{\r\n    display:flex;\r\n    align-items:center;\r\n    gap:10px;\r\n  }\r\n  .apulia-pro-icon{\r\n    width:28px;\r\n    height:28px;\r\n    border-radius:999px;\r\n    background:rgba(0,0,0,0.35);\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:center;\r\n    font-size:18px;\r\n  }\r\n  .apulia-pro-title{font-size:15px;font-weight:600;}\r\n  .apulia-pro-subtitle{font-size:12px;opacity:.9;}\r\n  .apulia-pro-chevron{\r\n    width:22px;height:22px;border-radius:999px;\r\n    border:1px solid rgba(255,255,255,.35);\r\n    display:flex;align-items:center;justify-content:center;\r\n  }\r\n<\/style><div class=\"apulia-pro-shell\"><div class=\"apulia-pro-card\" id=\"apulia-pro-card\" role=\"button\" tabindex=\"0\" data-apulia-i18n-aria=\"espace_pro.title\"><div class=\"apulia-pro-row\"><div class=\"apulia-pro-left\"><div class=\"apulia-pro-icon\">\ud83d\udce3<\/div><div><div class=\"apulia-pro-title\"><span style=\"color:#F6A623;\" data-apulia-i18n=\"espace_pro.title\">ESPACE PRO<\/span><\/div><div class=\"apulia-pro-subtitle\" data-apulia-i18n=\"espace_pro.sub\">Plus de visibilit\u00e9 pour votre activit\u00e9\r\n          <\/div><\/div><\/div><div class=\"apulia-pro-chevron\">\u203a<\/div><\/div><\/div><\/div><script>(function(){\r\n  \"use strict\";\r\n\r\n  var ESPACE_PRO_URLS = {\r\n    fr: {\r\n      marketing: \"https:\/\/lespouilles.blog\/espace-pro\/\",\r\n      fiche: \"https:\/\/lespouilles.blog\/espace-pro-ma-fiche\/\"\r\n    },\r\n    it: {\r\n      marketing: \"https:\/\/lespouilles.blog\/it\/area-pro\/\",\r\n      fiche: \"https:\/\/lespouilles.blog\/it\/spazio-pro-la-mia-scheda\/\"\r\n    },\r\n    en: {\r\n      marketing: \"https:\/\/lespouilles.blog\/en\/pro-area\/\",\r\n      fiche: \"https:\/\/lespouilles.blog\/en\/pro-area-my-listing\/\"\r\n    },\r\n    de: {\r\n      marketing: \"https:\/\/lespouilles.blog\/de\/pro-bereich\/\",\r\n      fiche: \"https:\/\/lespouilles.blog\/de\/pro-bereich-mein-eintrag\/\"\r\n    }\r\n  };\r\n\r\n  function detectEspaceProLang(){\r\n    if(window.ApuliaI18n && typeof window.ApuliaI18n.getLocale === \"function\"){\r\n      return window.ApuliaI18n.getLocale();\r\n    }\r\n    var p = location.pathname || \"\";\r\n    if(\/^\\\/it\\\/\/.test(p)) return \"it\";\r\n    if(\/^\\\/en\\\/\/.test(p)) return \"en\";\r\n    if(\/^\\\/de\\\/\/.test(p)) return \"de\";\r\n    return \"fr\";\r\n  }\r\n\r\n  function goEspacePro(){\r\n    var lang = detectEspaceProLang();\r\n    var urls = ESPACE_PRO_URLS[lang] || ESPACE_PRO_URLS.fr;\r\n    window.location.href = urls.marketing;\r\n  }\r\n\r\n  window.apuliaGoEspacePro = goEspacePro;\r\n  window.APULIA_ESPACE_PRO_URLS = ESPACE_PRO_URLS;\r\n\r\n  var card = document.getElementById(\"apulia-pro-card\");\r\n  if(card){\r\n    card.addEventListener(\"click\", goEspacePro);\r\n    card.addEventListener(\"keydown\", function(e){\r\n      if(e.key === \"Enter\" || e.key === \" \"){\r\n        e.preventDefault();\r\n        goEspacePro();\r\n      }\r\n    });\r\n  }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b8d0965 e-flex e-con-boxed e-con e-parent\" data-id=\"b8d0965\" 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-2d268d2 elementor-widget elementor-widget-heading\" data-id=\"2d268d2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Information &amp; Terms<\/h5>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b347678 e-flex e-con-boxed e-con e-parent\" data-id=\"b347678\" 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-4b44fa3 elementor-widget elementor-widget-html\" data-id=\"4b44fa3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ======================================= --><!--  BLOC \u2014 INFORMATIONS L\u00c9GALES (menu)     --><!--  - Politique (3599) \/ Mentions (3616)   --><!--  - CGV (3593)                           --><!--  Sans modifier le style du bloc existant --><!-- ======================================= --><style>.apulia-legal-shell{\r\n      width:100%;\r\n      max-width:720px;\r\n      margin:16px auto 32px;\r\n      padding:0 12px;\r\n    }\r\n  \r\n    .apulia-legal-block{\r\n      background:linear-gradient(135deg,rgba(0,31,45,0.95),rgba(0,94,117,0.9));\r\n      padding:14px 16px;\r\n      border-radius:22px;\r\n      box-shadow:0 14px 40px rgba(0,0,0,0.35);\r\n      display:flex;\r\n      align-items:center;\r\n      justify-content:space-between;\r\n      min-height:56px;\r\n      color:#fff;\r\n      cursor:pointer;\r\n      font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n    }\r\n  \r\n    .apulia-legal-icon{\r\n      width:28px;\r\n      height:28px;\r\n      border-radius:999px;\r\n      background:#088BEE; \/* bleu demand\u00e9 *\/\r\n      display:flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      font-size:16px;\r\n      flex-shrink:0;\r\n    }\r\n  \r\n    .apulia-legal-texts{\r\n      flex:1;\r\n      display:flex;\r\n      flex-direction:column;\r\n      padding-left:12px;\r\n      gap:2px;\r\n      justify-content:center;\r\n      min-height:100%;\r\n    }\r\n  \r\n    .apulia-legal-title{\r\n      font-size:15px;\r\n      font-weight:700;\r\n      color:#fff;\r\n    }\r\n  \r\n    .apulia-legal-line{\r\n      font-size:12px;\r\n      opacity:0.9;\r\n      line-height:1.4;\r\n      word-wrap:break-word;\r\n      overflow-wrap:break-word;\r\n    }\r\n  \r\n    .apulia-legal-chevron{\r\n      width:22px;\r\n      height:22px;\r\n      min-height:22px;\r\n      border-radius:999px;\r\n      border:1px solid rgba(255,255,255,0.35);\r\n      display:flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      align-self:center;\r\n      font-size:16px;\r\n      flex-shrink:0;\r\n      line-height:1;\r\n    }\r\n  \r\n    \/* ===== Overlay + Sheet (PWA-friendly) ===== *\/\r\n    .apulia-legal-overlay{\r\n      position:fixed;\r\n      inset:0;\r\n      background:rgba(0,0,0,0.55);\r\n      backdrop-filter: blur(6px);\r\n      -webkit-backdrop-filter: blur(6px);\r\n      display:none;\r\n      align-items:flex-end;\r\n      justify-content:center;\r\n      z-index:999999;\r\n      padding:0 12px 14px;\r\n    }\r\n    .apulia-legal-overlay.is-open{ display:flex; }\r\n  \r\n    .apulia-legal-sheet{\r\n      width:100%;\r\n      max-width:720px;\r\n      background:linear-gradient(135deg,rgba(0,31,45,0.98),rgba(0,94,117,0.96));\r\n      border:1px solid rgba(255,255,255,0.10);\r\n      border-radius:22px;\r\n      box-shadow:0 18px 60px rgba(0,0,0,0.55);\r\n      overflow:hidden;\r\n      transform:translateY(12px);\r\n      opacity:0;\r\n      transition:transform .16s ease, opacity .16s ease;\r\n    }\r\n    .apulia-legal-overlay.is-open .apulia-legal-sheet{\r\n      transform:translateY(0);\r\n      opacity:1;\r\n    }\r\n  \r\n    .apulia-legal-sheet-header{\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(255,255,255,0.10);\r\n      color:#fff;\r\n      font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n    }\r\n    .apulia-legal-sheet-title{\r\n      font-size:15px;\r\n      font-weight:800;\r\n    }\r\n    .apulia-legal-close{\r\n      width:34px;\r\n      height:34px;\r\n      border-radius:999px;\r\n      border:1px solid rgba(255,255,255,0.25);\r\n      background:rgba(0,0,0,0.18);\r\n      color:#fff;\r\n      display:flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      cursor:pointer;\r\n      font-size:18px;\r\n      line-height:1;\r\n      user-select:none;\r\n    }\r\n  \r\n    .apulia-legal-sheet-body{\r\n      padding:10px 10px 12px;\r\n      display:flex;\r\n      flex-direction:column;\r\n      gap:10px;\r\n    }\r\n  \r\n    .apulia-legal-item{\r\n      display:flex;\r\n      align-items:center;\r\n      justify-content:space-between;\r\n      gap:10px;\r\n      padding:12px 14px;\r\n      border-radius:18px;\r\n      background:rgba(0,0,0,0.18);\r\n      border:1px solid rgba(255,255,255,0.10);\r\n      color:#fff;\r\n      cursor:pointer;\r\n      font-family:-apple-system,BlinkMacSystemFont,\"SF Pro Text\",system-ui,sans-serif;\r\n    }\r\n    .apulia-legal-item:active{ transform:scale(0.99); }\r\n  \r\n    .apulia-legal-item-left{\r\n      display:flex;\r\n      flex-direction:column;\r\n      gap:2px;\r\n      min-width:0;\r\n    }\r\n    .apulia-legal-item-title{\r\n      font-size:14px;\r\n      font-weight:800;\r\n      white-space:nowrap;\r\n      overflow:hidden;\r\n      text-overflow:ellipsis;\r\n    }\r\n    .apulia-legal-item-sub{\r\n      font-size:12px;\r\n      opacity:0.85;\r\n      white-space:nowrap;\r\n      overflow:hidden;\r\n      text-overflow:ellipsis;\r\n    }\r\n    .apulia-legal-item-right{\r\n      width:22px;\r\n      height:22px;\r\n      min-height:22px;\r\n      border-radius:999px;\r\n      border:1px solid rgba(255,255,255,0.35);\r\n      display:flex;\r\n      align-items:center;\r\n      justify-content:center;\r\n      font-size:16px;\r\n      flex-shrink:0;\r\n      line-height:1;\r\n    }\r\n  <\/style><div class=\"apulia-legal-shell\"><div class=\"apulia-legal-block\" id=\"apuliaLegalOpen\"><div class=\"apulia-legal-icon\">\u2139\ufe0f<\/div><div class=\"apulia-legal-texts\"><div class=\"apulia-legal-title\" data-apulia-i18n=\"legal.title\">Informations l\u00e9gales<\/div><div class=\"apulia-legal-line\" data-apulia-i18n=\"legal.line\">Mentions l\u00e9gales \u2022 Confidentialit\u00e9 \u2022 Cookies \u2022 CGV\r\n        <\/div><\/div><div class=\"apulia-legal-chevron\">\u203a<\/div><\/div><\/div><!-- Sheet --><div class=\"apulia-legal-overlay\" id=\"apuliaLegalOverlay\" aria-hidden=\"true\"><div class=\"apulia-legal-sheet\" role=\"dialog\" aria-modal=\"true\" data-apulia-i18n-aria=\"legal.dialog_aria\" aria-label=\"Informations l\u00e9gales\"><div class=\"apulia-legal-sheet-header\"><div class=\"apulia-legal-sheet-title\" data-apulia-i18n=\"legal.sheet_title\">Informations & Conditions<\/div><div class=\"apulia-legal-close\" id=\"apuliaLegalClose\" data-apulia-i18n-aria=\"legal.close_aria\" aria-label=\"Fermer\">\u00d7<\/div><\/div><div class=\"apulia-legal-sheet-body\"><div class=\"apulia-legal-item\" data-legal-url=\"https:\/\/lespouilles.blog\/politique-de-confidentialite\/\"><div class=\"apulia-legal-item-left\"><div class=\"apulia-legal-item-title\" data-apulia-i18n=\"legal.privacy\">Politique de confidentialit\u00e9<\/div><div class=\"apulia-legal-item-sub\" data-apulia-i18n=\"legal.privacy_sub\">Donn\u00e9es \u2022 Confidentialit\u00e9 \u2022 Cookies<\/div><\/div><div class=\"apulia-legal-item-right\">\u203a<\/div><\/div><div class=\"apulia-legal-item\" data-legal-url=\"https:\/\/lespouilles.blog\/mentions-legales\/\"><div class=\"apulia-legal-item-left\"><div class=\"apulia-legal-item-title\" data-apulia-i18n=\"legal.mentions\">Mentions l\u00e9gales<\/div><div class=\"apulia-legal-item-sub\" data-apulia-i18n=\"legal.mentions_sub\">\u00c9diteur \u2022 H\u00e9bergeur \u2022 Contact<\/div><\/div><div class=\"apulia-legal-item-right\">\u203a<\/div><\/div><div class=\"apulia-legal-item\" data-legal-url=\"https:\/\/lespouilles.blog\/conditions-generales-de-vente\/\"><div class=\"apulia-legal-item-left\"><div class=\"apulia-legal-item-title\" data-apulia-i18n=\"legal.cgv\">Conditions g\u00e9n\u00e9rales de vente<\/div><div class=\"apulia-legal-item-sub\" data-apulia-i18n=\"legal.cgv_sub\">CGV \u2022 Achats \u2022 Paiements<\/div><\/div><div class=\"apulia-legal-item-right\">\u203a<\/div><\/div><\/div><\/div><\/div><script>(function(){\r\n    const openBtn = document.getElementById('apuliaLegalOpen');\r\n    const overlay = document.getElementById('apuliaLegalOverlay');\r\n    const closeBtn = document.getElementById('apuliaLegalClose');\r\n  \r\n    function openSheet(){\r\n      if(!overlay) return;\r\n      overlay.classList.add('is-open');\r\n      overlay.setAttribute('aria-hidden','false');\r\n      \/\/ Emp\u00eache le scroll arri\u00e8re-plan (mobile\/PWA)\r\n      document.documentElement.style.overflow = 'hidden';\r\n      document.body.style.overflow = 'hidden';\r\n    }\r\n  \r\n    function closeSheet(){\r\n      if(!overlay) return;\r\n      overlay.classList.remove('is-open');\r\n      overlay.setAttribute('aria-hidden','true');\r\n      document.documentElement.style.overflow = '';\r\n      document.body.style.overflow = '';\r\n    }\r\n  \r\n    if(openBtn){\r\n      openBtn.addEventListener('click', function(e){\r\n        e.preventDefault();\r\n        openSheet();\r\n      });\r\n    }\r\n  \r\n    if(closeBtn){\r\n      closeBtn.addEventListener('click', function(e){\r\n        e.preventDefault();\r\n        closeSheet();\r\n      });\r\n    }\r\n  \r\n    if(overlay){\r\n      \/\/ Click hors de la sheet => fermer\r\n      overlay.addEventListener('click', function(e){\r\n        if(e.target === overlay) closeSheet();\r\n      });\r\n  \r\n      \/\/ Navigation vers la page choisie\r\n      overlay.querySelectorAll('.apulia-legal-item[data-legal-url]').forEach(function(item){\r\n        item.addEventListener('click', function(){\r\n          const url = item.getAttribute('data-legal-url');\r\n          if(!url) return;\r\n          window.location.href = url;\r\n        });\r\n      });\r\n    }\r\n  \r\n    \/\/ ESC (si clavier dispo)\r\n    document.addEventListener('keydown', function(e){\r\n      if(e.key === 'Escape' && overlay && overlay.classList.contains('is-open')){\r\n        closeSheet();\r\n      }\r\n    });\r\n  })();\r\n  <\/script> \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>A Compte Chargement\u2026 APULIA FREE ESPACE PRO Connexion\u2026 \u203a Modifier mon profil D\u00c9CONNEXION Preferences \ud83c\udf0e Langue Choisissez votre langue \ud83c\uddeb\ud83c\uddf7 FR \u203a Choisissez votre langue \ud83c\uddeb\ud83c\uddf7Fran\u00e7ais \u2713 \ud83c\uddee\ud83c\uddf9Italiano \u2713 \ud83c\uddec\ud83c\udde7English \u2713 \ud83c\udde9\ud83c\uddeaDeutsch \u2713 \ud83d\udc64 Mes donn\u00e9es \/ Abonnement G\u00e9rer votre abonnement \u00e0 APULIA Pro \u203a Email \u2014 Pseudo \u2014 Modifier Pass \u2014 Chargement\u2026 Passer \u00e0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-16741","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Account - Settings - APULIA \u2013 Application et guide des Pouilles<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lespouilles.blog\/en\/account-settings\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Account - Settings - APULIA \u2013 Application et guide des Pouilles\" \/>\n<meta property=\"og:description\" content=\"A Compte Chargement\u2026 APULIA FREE ESPACE PRO Connexion\u2026 \u203a Modifier mon profil D\u00c9CONNEXION Preferences \ud83c\udf0e Langue Choisissez votre langue \ud83c\uddeb\ud83c\uddf7 FR \u203a Choisissez votre langue \ud83c\uddeb\ud83c\uddf7Fran\u00e7ais \u2713 \ud83c\uddee\ud83c\uddf9Italiano \u2713 \ud83c\uddec\ud83c\udde7English \u2713 \ud83c\udde9\ud83c\uddeaDeutsch \u2713 \ud83d\udc64 Mes donn\u00e9es \/ Abonnement G\u00e9rer votre abonnement \u00e0 APULIA Pro \u203a Email \u2014 Pseudo \u2014 Modifier Pass \u2014 Chargement\u2026 Passer \u00e0 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lespouilles.blog\/en\/account-settings\/\" \/>\n<meta property=\"og:site_name\" content=\"APULIA \u2013 Application et guide des Pouilles\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/share\/1CMLv8ojyW\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-02T05:12:22+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"33 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/account-settings\\\/\",\"url\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/account-settings\\\/\",\"name\":\"Account - Settings - APULIA \u2013 Application et guide des Pouilles\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/#website\"},\"datePublished\":\"2025-09-17T10:26:57+00:00\",\"dateModified\":\"2026-09-02T05:12:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/account-settings\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/lespouilles.blog\\\/en\\\/account-settings\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/account-settings\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Account &#8211; Settings\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/\",\"name\":\"Les Pouilles \u2013 Guide voyage. L'application Apulia pour organiser votre s\u00e9jour\",\"description\":\"APULIA est l\u2019application qui facilite votre voyage dans les Pouilles et vous accompagne avant et pendant votre s\u00e9jour. Plages, h\u00e9bergements, activit\u00e9s, m\u00e9t\u00e9o des plages, conseils locaux et s\u00e9jours personnalis\u00e9s.\",\"publisher\":{\"@id\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/#organization\",\"name\":\"APULIA\",\"url\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/lespouilles.blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/logo-Apulia-transparent.png\",\"contentUrl\":\"https:\\\/\\\/lespouilles.blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/logo-Apulia-transparent.png\",\"width\":1024,\"height\":576,\"caption\":\"APULIA\"},\"image\":{\"@id\":\"https:\\\/\\\/lespouilles.blog\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/share\\\/1CMLv8ojyW\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Account - Settings - APULIA \u2013 Application et guide des Pouilles","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/lespouilles.blog\/en\/account-settings\/","og_locale":"en_US","og_type":"article","og_title":"Account - Settings - APULIA \u2013 Application et guide des Pouilles","og_description":"A Compte Chargement\u2026 APULIA FREE ESPACE PRO Connexion\u2026 \u203a Modifier mon profil D\u00c9CONNEXION Preferences \ud83c\udf0e Langue Choisissez votre langue \ud83c\uddeb\ud83c\uddf7 FR \u203a Choisissez votre langue \ud83c\uddeb\ud83c\uddf7Fran\u00e7ais \u2713 \ud83c\uddee\ud83c\uddf9Italiano \u2713 \ud83c\uddec\ud83c\udde7English \u2713 \ud83c\udde9\ud83c\uddeaDeutsch \u2713 \ud83d\udc64 Mes donn\u00e9es \/ Abonnement G\u00e9rer votre abonnement \u00e0 APULIA Pro \u203a Email \u2014 Pseudo \u2014 Modifier Pass \u2014 Chargement\u2026 Passer \u00e0 [&hellip;]","og_url":"https:\/\/lespouilles.blog\/en\/account-settings\/","og_site_name":"APULIA \u2013 Application et guide des Pouilles","article_publisher":"https:\/\/www.facebook.com\/share\/1CMLv8ojyW\/","article_modified_time":"2026-09-02T05:12:22+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"33 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/lespouilles.blog\/en\/account-settings\/","url":"https:\/\/lespouilles.blog\/en\/account-settings\/","name":"Account - Settings - APULIA \u2013 Application et guide des Pouilles","isPartOf":{"@id":"https:\/\/lespouilles.blog\/en\/#website"},"datePublished":"2025-09-17T10:26:57+00:00","dateModified":"2026-09-02T05:12:22+00:00","breadcrumb":{"@id":"https:\/\/lespouilles.blog\/en\/account-settings\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lespouilles.blog\/en\/account-settings\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/lespouilles.blog\/en\/account-settings\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/lespouilles.blog\/en\/"},{"@type":"ListItem","position":2,"name":"Account &#8211; Settings"}]},{"@type":"WebSite","@id":"https:\/\/lespouilles.blog\/en\/#website","url":"https:\/\/lespouilles.blog\/en\/","name":"Les Pouilles \u2013 Guide voyage. L'application Apulia pour organiser votre s\u00e9jour","description":"APULIA est l\u2019application qui facilite votre voyage dans les Pouilles et vous accompagne avant et pendant votre s\u00e9jour. Plages, h\u00e9bergements, activit\u00e9s, m\u00e9t\u00e9o des plages, conseils locaux et s\u00e9jours personnalis\u00e9s.","publisher":{"@id":"https:\/\/lespouilles.blog\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lespouilles.blog\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/lespouilles.blog\/en\/#organization","name":"APULIA","url":"https:\/\/lespouilles.blog\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lespouilles.blog\/en\/#\/schema\/logo\/image\/","url":"https:\/\/lespouilles.blog\/wp-content\/uploads\/2026\/06\/logo-Apulia-transparent.png","contentUrl":"https:\/\/lespouilles.blog\/wp-content\/uploads\/2026\/06\/logo-Apulia-transparent.png","width":1024,"height":576,"caption":"APULIA"},"image":{"@id":"https:\/\/lespouilles.blog\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/share\/1CMLv8ojyW\/"]}]}},"_links":{"self":[{"href":"https:\/\/lespouilles.blog\/en\/wp-json\/wp\/v2\/pages\/16741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lespouilles.blog\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lespouilles.blog\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lespouilles.blog\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lespouilles.blog\/en\/wp-json\/wp\/v2\/comments?post=16741"}],"version-history":[{"count":52,"href":"https:\/\/lespouilles.blog\/en\/wp-json\/wp\/v2\/pages\/16741\/revisions"}],"predecessor-version":[{"id":19752,"href":"https:\/\/lespouilles.blog\/en\/wp-json\/wp\/v2\/pages\/16741\/revisions\/19752"}],"wp:attachment":[{"href":"https:\/\/lespouilles.blog\/en\/wp-json\/wp\/v2\/media?parent=16741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}