{"id":535,"date":"2026-01-08T16:51:13","date_gmt":"2026-01-08T16:51:13","guid":{"rendered":"http:\/\/rs.emanuelaboron.eu\/blog\/?p=535"},"modified":"2026-01-08T17:19:01","modified_gmt":"2026-01-08T17:19:01","slug":"aarnellecase","status":"publish","type":"post","link":"http:\/\/rs.emanuelaboron.eu\/blog\/libro-aar\/aarnellecase\/","title":{"rendered":"Il viaggio di &#8220;Accolgo amo e ringrazio&#8221; nelle vostre case"},"content":{"rendered":"\n<!--h1>Il viaggio di \"Accolgo amo e ringrazio\" nelle vostre case<\/h1-->\n\n<p>Quando ho scritto <em>&#8220;Accolgo amo e ringrazio&#8221;<\/em>, non immaginavo quanto lontano sarebbe arrivato il suo messaggio. Questo piccolo libro, nato dal cuore e dall&#8217;esperienza, ha iniziato un viaggio meraviglioso, entrando nelle case di persone speciali che hanno voluto condividere con me un momento intimo e prezioso.<\/p>\n\n<p>Ogni fotografia che ho ricevuto racconta una storia unica: c&#8217;\u00e8 chi l&#8217;ha letto in giardino, immerso nella natura; chi lo tiene sul comodino come compagno delle riflessioni serali; chi lo ha portato in viaggio con s\u00e9. Ogni immagine \u00e8 una testimonianza di come le parole possano creare ponti, connessioni, risonanze profonde.<\/p>\n\n<p>Vedere il libro nelle vostre mani, nei vostri spazi, parte della vostra quotidianit\u00e0, \u00e8 per me un dono immenso. \u00c8 la conferma che il messaggio di accoglienza, amore e gratitudine ha trovato terreno fertile nei vostri cuori.<\/p>\n\n<h2>Le vostre foto con &#8220;Accolgo amo e ringrazio&#8221;<\/h2>\n\n\n<div id=\"carousel-aar-69e77212acbaf\" class=\"carousel-aar-container\" data-mode=\"slider\">\n  <div class=\"carousel-aar-inner\">\n    <div class=\"carousel-loading\">\n      <div class=\"spinner\"><\/div>\n      <p>Caricamento immagini...<\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n\/* ========== CAROUSEL AAR - BASE STYLES ========== *\/\n.carousel-aar-container {\n  position: relative;\n  width: 100%;\n  max-width: 960px;\n  margin: 2rem auto;\n  overflow: hidden;\n}\n\n.carousel-aar-inner {\n  position: relative;\n  width: 100%;\n}\n\n\/* Loading *\/\n.carousel-loading {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  padding: 4rem 2rem;\n  color: #666;\n}\n\n.spinner {\n  width: 50px;\n  height: 50px;\n  border: 4px solid #f3f3f3;\n  border-top: 4px solid #5A8F7B;\n  border-radius: 50%;\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  0% { transform: rotate(0deg); }\n  100% { transform: rotate(360deg); }\n}\n\n\/* Empty state *\/\n.carousel-empty {\n  text-align: center;\n  padding: 4rem 2rem;\n  color: #999;\n  font-style: italic;\n}\n\n\/* ========== MODALIT\u00c0 SLIDER ========== *\/\n.carousel-slider {\n  position: relative;\n  width: 100%;\n}\n\n.carousel-slides {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n\n.carousel-slide {\n  display: none;\n  position: relative;\n  width: 100%;\n}\n\n.carousel-slide.active {\n  display: block;\n  animation: fadeIn 600ms ease-in-out;\n}\n\n@keyframes fadeIn {\n  from { opacity: 0; }\n  to { opacity: 1; }\n}\n\n.carousel-slide img {\n  width: 100%;\n  height: 500px;\n  object-fit: contain;\n  background: #f8f8f8;\n  display: block;\n  cursor: zoom-in;\n}\n\n.carousel-caption {\n    display: block;\n    padding: 1rem;\n  background: rgba(0,0,0,0.7);\n  color: #ffffff;\n  text-align: center;\n  font-size: 0.95rem;\n  line-height: 1.4;\n}\n\n\/* Navigation arrows *\/\n.carousel-nav {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  background: rgba(0,0,0,0.7);\n  color: #fff;\n  border: none;\n  width: 50px;\n  height: 50px;\n  border-radius: 50%;\n  cursor: pointer;\n  font-size: 24px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: all 0.3s ease;\n  z-index: 10;\n}\n\n.carousel-nav:hover {\n  background: #5A8F7B;\n  transform: translateY(-50%) scale(1.1);\n}\n\n.carousel-nav.prev { left: 10px; }\n.carousel-nav.next { right: 10px; }\n\n.carousel-nav:disabled {\n  opacity: 0.3;\n  cursor: not-allowed;\n}\n\n\/* Counter *\/\n.carousel-counter {\n    display: block;\n    text-align: center;\n  padding: 0.5rem;\n  color: #666;\n  font-size: 0.9rem;\n}\n\n\/* Dots *\/\n.carousel-dots {\n    display: flex;\n    justify-content: center;\n  gap: 8px;\n  padding: 1rem 0;\n}\n\n.carousel-dot {\n  width: 12px;\n  height: 12px;\n  border-radius: 50%;\n  background: #ddd;\n  border: none;\n  cursor: pointer;\n  transition: all 0.3s ease;\n}\n\n.carousel-dot.active {\n  background: #5A8F7B;\n  transform: scale(1.3);\n}\n\n\/* ========== MODALIT\u00c0 GALLERY ========== *\/\n.carousel-gallery {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 15px;\n  padding: 1rem 0;\n}\n\n.gallery-item {\n  position: relative;\n  overflow: hidden;\n  border-radius: 8px;\n  cursor: pointer;\n  aspect-ratio: 1;\n  background: #f8f8f8;\n}\n\n.gallery-item img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  transition: transform 0.3s ease;\n}\n\n.gallery-item:hover img {\n  transform: scale(1.05);\n}\n\n.gallery-item .caption-overlay {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  background: rgba(0,0,0,0.7);\n  color: #ffffff;\n  padding: 0.5rem;\n  font-size: 0.85rem;\n  transform: translateY(100%);\n  transition: transform 0.3s ease;\n}\n\n.gallery-item:hover .caption-overlay {\n  transform: translateY(0);\n}\n\n\/* ========== MODALIT\u00c0 MASONRY ========== *\/\n.carousel-masonry {\n  column-count: 3;\n  column-gap: 15px;\n  padding: 1rem 0;\n}\n\n.masonry-item {\n  break-inside: avoid;\n  margin-bottom: 15px;\n  position: relative;\n  overflow: hidden;\n  border-radius: 8px;\n  cursor: pointer;\n  background: #f8f8f8;\n}\n\n.masonry-item img {\n  width: 100%;\n  height: auto;\n  display: block;\n  transition: transform 0.3s ease;\n}\n\n.masonry-item:hover img {\n  transform: scale(1.02);\n}\n\n.masonry-item .caption-overlay {\n  padding: 0.75rem;\n  background: rgba(0,0,0,0.7);\n  color: #ffffff;\n  font-size: 0.9rem;\n  line-height: 1.4;\n}\n\n\/* ========== LIGHTBOX ========== *\/\n.carousel-lightbox {\n  display: none;\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background: rgba(0, 0, 0, 0.95);\n  z-index: 9999;\n  align-items: center;\n  justify-content: center;\n  padding: 2rem;\n}\n\n.carousel-lightbox.active {\n  display: flex;\n}\n\n.lightbox-content {\n  position: relative;\n  max-width: 90vw;\n  max-height: 90vh;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n}\n\n.lightbox-content img {\n  max-width: 100%;\n  max-height: 80vh;\n  object-fit: contain;\n}\n\n.lightbox-caption {\n  margin-top: 1rem;\n  color: #fff;\n  text-align: center;\n  font-size: 1rem;\n  max-width: 600px;\n}\n\n.lightbox-close {\n  position: absolute;\n  top: -40px;\n  right: 0;\n  background: none;\n  border: none;\n  color: #fff;\n  font-size: 36px;\n  cursor: pointer;\n  width: 40px;\n  height: 40px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: transform 0.3s ease;\n}\n\n.lightbox-close:hover {\n  transform: rotate(90deg);\n}\n\n.lightbox-nav {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  background: rgba(255, 255, 255, 0.2);\n  color: #fff;\n  border: none;\n  width: 50px;\n  height: 50px;\n  border-radius: 50%;\n  cursor: pointer;\n  font-size: 24px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: all 0.3s ease;\n}\n\n.lightbox-nav:hover {\n  background: #5A8F7B;\n}\n\n.lightbox-nav.prev { left: 20px; }\n.lightbox-nav.next { right: 20px; }\n\n\/* ========== RESPONSIVE ========== *\/\n@media (max-width: 768px) {\n  .carousel-gallery {\n    grid-template-columns: repeat(2, 1fr);\n    gap: 10px;\n  }\n  \n  .carousel-masonry {\n    column-count: 2;\n    column-gap: 10px;\n  }\n  \n  .carousel-nav {\n    width: 40px;\n    height: 40px;\n    font-size: 20px;\n  }\n  \n  .carousel-slide img {\n    height: auto;\n    max-height: 400px;\n  }\n  \n  .lightbox-nav {\n    width: 40px;\n    height: 40px;\n    font-size: 20px;\n  }\n}\n\n@media (max-width: 480px) {\n  .carousel-gallery {\n    grid-template-columns: 1fr;\n  }\n  \n  .carousel-masonry {\n    column-count: 1;\n  }\n}\n<\/style>\n\n<script>\n(function() {\n  const containerId = 'carousel-aar-69e77212acbaf';\n  const container = document.getElementById(containerId);\n  const config = {\"mode\":\"slider\",\"show_captions\":true,\"show_counter\":true,\"lazy_load\":true,\"autoplay_speed\":5000,\"transition_speed\":600,\"infinite_loop\":true,\"show_dots\":true,\"gallery_columns\":3,\"gallery_gap\":15,\"masonry_columns\":3,\"masonry_gap\":15,\"primary_color\":\"#5A8F7B\",\"secondary_color\":\"#4C7A68\",\"caption_bg\":\"rgba(0,0,0,0.7)\",\"caption_color\":\"#ffffff\",\"max_width\":\"960px\",\"image_height\":\"500px\",\"api_url\":\"\\\/api\\\/carousel-images.php\"};\n  \n  let images = [];\n  let currentIndex = 0;\n  let autoplayInterval = null;\n\n  \/\/ Fetch images from API\n  async function loadImages() {\n    try {\n      const response = await fetch(config.api_url);\n      const data = await response.json();\n      \n      if (!data.ok || data.empty || !data.images || data.images.length === 0) {\n        showEmpty();\n        return;\n      }\n      \n      images = data.images;\n      renderCarousel();\n    } catch (error) {\n      console.error('Carousel AAR: Error loading images', error);\n      showError();\n    }\n  }\n\n  function showEmpty() {\n    container.querySelector('.carousel-aar-inner').innerHTML = \n      '<div class=\"carousel-empty\">Nessuna immagine disponibile al momento.<\/div>';\n  }\n\n  function showError() {\n    container.querySelector('.carousel-aar-inner').innerHTML = \n      '<div class=\"carousel-empty\">Errore nel caricamento delle immagini.<\/div>';\n  }\n\n  function renderCarousel() {\n    const inner = container.querySelector('.carousel-aar-inner');\n    \n    switch(config.mode) {\n      case 'slider':\n      case 'autoplay':\n        renderSlider(inner);\n        if (config.mode === 'autoplay') startAutoplay();\n        break;\n      case 'gallery':\n        renderGallery(inner);\n        break;\n      case 'masonry':\n        renderMasonry(inner);\n        break;\n    }\n  }\n\n  function renderSlider(inner) {\n    let html = '<div class=\"carousel-slider\">';\n    html += '<div class=\"carousel-slides\">';\n    \n    images.forEach((img, index) => {\n      const activeClass = index === 0 ? 'active' : '';\n      html += `\n        <div class=\"carousel-slide ${activeClass}\" data-index=\"${index}\">\n          <img decoding=\"async\" src=\"${img.src}\" \n               srcset=\"${img.srcset_webp}\" \n               sizes=\"${img.sizes}\"\n               alt=\"${img.alt || ''}\"\n               onclick=\"window.carouselAAR_${containerId}.openLightbox(${index})\">\n          ${config.show_captions && img.alt ? `<div class=\"carousel-caption\">${img.alt}<\/div>` : ''}\n        <\/div>\n      `;\n    });\n    \n    html += '<\/div>';\n    \n    \/\/ Navigation\n    html += `\n      <button class=\"carousel-nav prev\" onclick=\"window.carouselAAR_${containerId}.prevSlide()\">\u2039<\/button>\n      <button class=\"carousel-nav next\" onclick=\"window.carouselAAR_${containerId}.nextSlide()\">\u203a<\/button>\n    `;\n    \n    \/\/ Counter\n    if (config.show_counter) {\n      html += `<div class=\"carousel-counter\"><span class=\"current\">1<\/span> \/ <span class=\"total\">${images.length}<\/span><\/div>`;\n    }\n    \n    \/\/ Dots\n    if (config.show_dots) {\n      html += '<div class=\"carousel-dots\">';\n      images.forEach((_, index) => {\n        const activeClass = index === 0 ? 'active' : '';\n        html += `<button class=\"carousel-dot ${activeClass}\" onclick=\"window.carouselAAR_${containerId}.goToSlide(${index})\"><\/button>`;\n      });\n      html += '<\/div>';\n    }\n    \n    html += '<\/div>';\n    \n    \/\/ Lightbox\n    html += createLightbox();\n    \n    inner.innerHTML = html;\n  }\n\n  function renderGallery(inner) {\n    let html = '<div class=\"carousel-gallery\">';\n    \n    images.forEach((img, index) => {\n      html += `\n        <div class=\"gallery-item\" onclick=\"window.carouselAAR_${containerId}.openLightbox(${index})\">\n          <img decoding=\"async\" src=\"${img.src}\" \n               srcset=\"${img.srcset_webp}\" \n               sizes=\"(min-width: 768px) 33vw, 50vw\"\n               alt=\"${img.alt || ''}\"\n               loading=\"lazy\">\n          ${config.show_captions && img.alt ? `<div class=\"caption-overlay\">${img.alt}<\/div>` : ''}\n        <\/div>\n      `;\n    });\n    \n    html += '<\/div>';\n    html += createLightbox();\n    \n    inner.innerHTML = html;\n  }\n\n  function renderMasonry(inner) {\n    let html = '<div class=\"carousel-masonry\">';\n    \n    images.forEach((img, index) => {\n      html += `\n        <div class=\"masonry-item\" onclick=\"window.carouselAAR_${containerId}.openLightbox(${index})\">\n          <img decoding=\"async\" src=\"${img.src}\" \n               srcset=\"${img.srcset_webp}\" \n               sizes=\"(min-width: 768px) 33vw, 50vw\"\n               alt=\"${img.alt || ''}\"\n               loading=\"lazy\">\n          ${config.show_captions && img.alt ? `<div class=\"caption-overlay\">${img.alt}<\/div>` : ''}\n        <\/div>\n      `;\n    });\n    \n    html += '<\/div>';\n    html += createLightbox();\n    \n    inner.innerHTML = html;\n  }\n\n  function createLightbox() {\n    return `\n      <div class=\"carousel-lightbox\" id=\"lightbox-${containerId}\">\n        <div class=\"lightbox-content\">\n          <button class=\"lightbox-close\" onclick=\"window.carouselAAR_${containerId}.closeLightbox()\">\u00d7<\/button>\n          <img decoding=\"async\" src=\"\" alt=\"\">\n          <div class=\"lightbox-caption\"><\/div>\n          <button class=\"lightbox-nav prev\" onclick=\"window.carouselAAR_${containerId}.lightboxPrev()\">\u2039<\/button>\n          <button class=\"lightbox-nav next\" onclick=\"window.carouselAAR_${containerId}.lightboxNext()\">\u203a<\/button>\n        <\/div>\n      <\/div>\n    `;\n  }\n\n  \/\/ Slider functions\n  function nextSlide() {\n    if (currentIndex < images.length - 1) {\n      goToSlide(currentIndex + 1);\n    } else if (config.infinite_loop) {\n      goToSlide(0);\n    }\n  }\n\n  function prevSlide() {\n    if (currentIndex > 0) {\n      goToSlide(currentIndex - 1);\n    } else if (config.infinite_loop) {\n      goToSlide(images.length - 1);\n    }\n  }\n\n  function goToSlide(index) {\n    const slides = container.querySelectorAll('.carousel-slide');\n    const dots = container.querySelectorAll('.carousel-dot');\n    \n    slides[currentIndex]?.classList.remove('active');\n    dots[currentIndex]?.classList.remove('active');\n    \n    currentIndex = index;\n    \n    slides[currentIndex]?.classList.add('active');\n    dots[currentIndex]?.classList.add('active');\n    \n    \/\/ Update counter\n    const counter = container.querySelector('.carousel-counter .current');\n    if (counter) counter.textContent = currentIndex + 1;\n  }\n\n  function startAutoplay() {\n    if (autoplayInterval) clearInterval(autoplayInterval);\n    autoplayInterval = setInterval(nextSlide, config.autoplay_speed);\n    \n    \/\/ Pause on hover\n    container.addEventListener('mouseenter', () => {\n      if (autoplayInterval) clearInterval(autoplayInterval);\n    });\n    \n    container.addEventListener('mouseleave', () => {\n      startAutoplay();\n    });\n  }\n\n  \/\/ Lightbox functions\n  function openLightbox(index) {\n    currentIndex = index;\n    const lightbox = document.getElementById(`lightbox-${containerId}`);\n    const img = lightbox.querySelector('img');\n    const caption = lightbox.querySelector('.lightbox-caption');\n    \n    img.src = images[index].original || images[index].src;\n    img.alt = images[index].alt || '';\n    caption.textContent = images[index].alt || '';\n    \n    lightbox.classList.add('active');\n    document.body.style.overflow = 'hidden';\n  }\n\n  function closeLightbox() {\n    const lightbox = document.getElementById(`lightbox-${containerId}`);\n    lightbox.classList.remove('active');\n    document.body.style.overflow = '';\n  }\n\n  function lightboxPrev() {\n    if (currentIndex > 0) {\n      openLightbox(currentIndex - 1);\n    } else {\n      openLightbox(images.length - 1);\n    }\n  }\n\n  function lightboxNext() {\n    if (currentIndex < images.length - 1) {\n      openLightbox(currentIndex + 1);\n    } else {\n      openLightbox(0);\n    }\n  }\n\n  \/\/ Close lightbox on ESC\n  document.addEventListener('keydown', (e) => {\n    if (e.key === 'Escape') closeLightbox();\n    if (e.key === 'ArrowLeft') lightboxPrev();\n    if (e.key === 'ArrowRight') lightboxNext();\n  });\n\n  \/\/ Export functions globally\n  window[`carouselAAR_${containerId}`] = {\n    nextSlide,\n    prevSlide,\n    goToSlide,\n    openLightbox,\n    closeLightbox,\n    lightboxPrev,\n    lightboxNext\n  };\n\n  \/\/ Initialize\n  loadImages();\n})();\n<\/script>\n\n\n<p>Grazie a tutti voi che avete voluto condividere questi momenti speciali. Ogni foto \u00e8 per me motivo di profonda gioia e gratitudine. Il libro continua il suo viaggio, e con esso il messaggio che porta: accogliere la vita con amore e gratitudine, in ogni suo momento.<\/p>\n\n<p>Se anche tu hai letto il libro e vuoi condividere la tua foto, sar\u00f2 felice di riceverla e di aggiungerla a questa galleria del cuore.<\/p>\n\n<p style=\"text-align: center; font-style: italic; margin-top: 30px;\">Con amore e gratitudine,<br>Emanuela<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Quando ho scritto &#8220;Accolgo amo e ringrazio&#8221;, non immaginavo quanto lontano sarebbe arrivato il suo messaggio. Questo piccolo libro, nato dal cuore e dall&#8217;esperienza, ha iniziato un viaggio meraviglioso, entrando nelle case di persone speciali che hanno voluto condividere con me un momento intimo e prezioso. Ogni fotografia che ho ricevuto racconta una storia unica:&hellip;&nbsp;<a href=\"http:\/\/rs.emanuelaboron.eu\/blog\/libro-aar\/aarnellecase\/\" rel=\"bookmark\">Leggi tutto &raquo;<span class=\"screen-reader-text\">Il viaggio di &#8220;Accolgo amo e ringrazio&#8221; nelle vostre case<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[30],"tags":[],"class_list":["post-535","post","type-post","status-publish","format-standard","hentry","category-libro-aar"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/rs.emanuelaboron.eu\/blog\/wp-json\/wp\/v2\/posts\/535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/rs.emanuelaboron.eu\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/rs.emanuelaboron.eu\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/rs.emanuelaboron.eu\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/rs.emanuelaboron.eu\/blog\/wp-json\/wp\/v2\/comments?post=535"}],"version-history":[{"count":1,"href":"http:\/\/rs.emanuelaboron.eu\/blog\/wp-json\/wp\/v2\/posts\/535\/revisions"}],"predecessor-version":[{"id":536,"href":"http:\/\/rs.emanuelaboron.eu\/blog\/wp-json\/wp\/v2\/posts\/535\/revisions\/536"}],"wp:attachment":[{"href":"http:\/\/rs.emanuelaboron.eu\/blog\/wp-json\/wp\/v2\/media?parent=535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/rs.emanuelaboron.eu\/blog\/wp-json\/wp\/v2\/categories?post=535"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/rs.emanuelaboron.eu\/blog\/wp-json\/wp\/v2\/tags?post=535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}