{"id":15,"date":"2026-06-26T12:00:00","date_gmt":"2026-06-26T12:00:00","guid":{"rendered":"https:\/\/www.shangri-la-boutique-oregon.com\/?page_id=15"},"modified":"2026-07-24T18:00:03","modified_gmt":"2026-07-24T18:00:03","slug":"accessories","status":"publish","type":"page","link":"https:\/\/review.sygnifistaging.com\/?page_id=15","title":{"rendered":"Accessories"},"content":{"rendered":"<section class=\"sg-hero sg-hero--compact\">\n<p class=\"sg-kicker\">Gallery<\/p>\n<h1>Accessories<\/h1>\n<p class=\"sg-hero-text\">Browse the accessories collection gallery.<\/p>\n<\/section>\n<section class=\"sg-section sg-section--white\">\n<div class=\"sg-container\">\n<p class=\"sg-eyebrow\">Explore the collection<\/p>\n<h2>Accessories with personality and style.<\/h2>\n<p>Discover jewelry, handbags, decorative accents, and unique finishing touches at Shangri-la Boutique. The selection changes often, giving every visit a chance to uncover something new.<\/p>\n<\/p><\/div>\n<\/section>\n<div class=\"sg-gallery-grid sg-container\">\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/e55284a1a54cd7c94df8f9272c31573e-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/e55284a1a54cd7c94df8f9272c31573e-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/e448f03d3fdd77e1e733e9d50af13f1b-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/e448f03d3fdd77e1e733e9d50af13f1b-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/831d63085b5980b03eefc0739b541802-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/831d63085b5980b03eefc0739b541802-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/fbde7f6aec94809e1b08b8fdae143a9a-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/fbde7f6aec94809e1b08b8fdae143a9a-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/c946abeba245b485115f47cb5f0c0325-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/c946abeba245b485115f47cb5f0c0325-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/4073a09ae890f9c69d3bf86d8b60b34f-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/4073a09ae890f9c69d3bf86d8b60b34f-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/525d652676b7b78805f4a6c21c7b3a89-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/525d652676b7b78805f4a6c21c7b3a89-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/a8c2607783997cb4faef01818b9e97c6-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/a8c2607783997cb4faef01818b9e97c6-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/62c2da377487be9f0e39e106ae9c7ac8-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/62c2da377487be9f0e39e106ae9c7ac8-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/061deec731358a9a5d6bb16d9b463ab0-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/061deec731358a9a5d6bb16d9b463ab0-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/9124b7ae7f3c15cfb85b90d988eabeec-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/9124b7ae7f3c15cfb85b90d988eabeec-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/84625707ef17108de491d12d0a9057e1-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/84625707ef17108de491d12d0a9057e1-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/6f12aca3c5b9a843d305f51ff0e23207-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/6f12aca3c5b9a843d305f51ff0e23207-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/c522a89430e647aababd47e2a0ff043a-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/c522a89430e647aababd47e2a0ff043a-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/b4c5bd7ac6f9e81708c81fa895de5a0d-scaled.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/b4c5bd7ac6f9e81708c81fa895de5a0d-scaled.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<figure class=\"sg-gallery-item\"><a href=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/95f4ef5216733c7f88c23f38eb52ef67.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/review.sygnifistaging.com\/wp-content\/uploads\/2026\/06\/95f4ef5216733c7f88c23f38eb52ef67.jpg\" alt=\"Accessories gallery image\"><\/a><\/figure>\n<\/div>\n\n\n<style data-wp-block-html=\"css\">\n\/* ---------- Gallery grid entrance animation ---------- *\/\n.sg-gallery-item {\n  opacity: 0;\n  transform: translateY(24px);\n  transition: opacity 0.6s ease, transform 0.6s ease;\n}\n.sg-gallery-item.sg-item-visible {\n  opacity: 1;\n  transform: translateY(0);\n}\n.sg-gallery-item img {\n  transition: transform 0.4s ease, filter 0.4s ease;\n  cursor: pointer;\n}\n.sg-gallery-item a:hover img {\n  transform: scale(1.04);\n  filter: brightness(1.05);\n}\n\n\/* ---------- Lightbox overlay ---------- *\/\n.sg-lightbox-overlay {\n  position: fixed;\n  inset: 0;\n  background: rgba(0, 0, 0, 0.9);\n  display: none;\n  align-items: center;\n  justify-content: center;\n  z-index: 9999;\n  opacity: 0;\n  transition: opacity 0.3s ease;\n}\n.sg-lightbox-overlay.sg-lightbox-open {\n  display: flex;\n  opacity: 1;\n}\n.sg-lightbox-content {\n  position: relative;\n  max-width: 90vw;\n  max-height: 90vh;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  overflow: hidden;\n}\n.sg-lightbox-content img {\n  max-width: 90vw;\n  max-height: 90vh;\n  object-fit: contain;\n  border-radius: 4px;\n  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);\n  opacity: 0;\n  transform: scale(0.92);\n  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),\n              opacity 0.35s ease;\n}\n.sg-lightbox-overlay.sg-lightbox-open .sg-lightbox-content img.sg-img-visible {\n  opacity: 1;\n  transform: scale(1);\n}\n\n\/* Directional slide classes applied just before swapping src *\/\n.sg-lightbox-content img.sg-slide-out-left {\n  opacity: 0;\n  transform: translateX(-60px) scale(0.96);\n}\n.sg-lightbox-content img.sg-slide-out-right {\n  opacity: 0;\n  transform: translateX(60px) scale(0.96);\n}\n.sg-lightbox-content img.sg-slide-in-left {\n  transform: translateX(-60px) scale(0.96);\n  opacity: 0;\n  transition: none;\n}\n.sg-lightbox-content img.sg-slide-in-right {\n  transform: translateX(60px) scale(0.96);\n  opacity: 0;\n  transition: none;\n}\n\n\/* Loading spinner *\/\n.sg-lightbox-spinner {\n  position: absolute;\n  width: 40px;\n  height: 40px;\n  border: 3px solid rgba(255, 255, 255, 0.2);\n  border-top-color: #fff;\n  border-radius: 50%;\n  animation: sg-spin 0.8s linear infinite;\n  opacity: 0;\n  transition: opacity 0.2s ease;\n  pointer-events: none;\n}\n.sg-lightbox-spinner.sg-spinner-visible {\n  opacity: 1;\n}\n@keyframes sg-spin {\n  to { transform: rotate(360deg); }\n}\n\n\/* Buttons *\/\n.sg-lightbox-close,\n.sg-lightbox-prev,\n.sg-lightbox-next {\n  position: fixed;\n  background: rgba(255, 255, 255, 0.1);\n  border: none;\n  color: #fff;\n  font-size: 22px;\n  width: 44px;\n  height: 44px;\n  border-radius: 50%;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: background 0.2s ease, transform 0.2s ease;\n  z-index: 10000;\n  opacity: 0;\n}\n.sg-lightbox-overlay.sg-lightbox-open .sg-lightbox-close,\n.sg-lightbox-overlay.sg-lightbox-open .sg-lightbox-prev,\n.sg-lightbox-overlay.sg-lightbox-open .sg-lightbox-next {\n  animation: sg-fade-in-btn 0.4s ease forwards;\n  animation-delay: 0.1s;\n}\n@keyframes sg-fade-in-btn {\n  to { opacity: 1; }\n}\n.sg-lightbox-close:hover {\n  background: rgba(255, 255, 255, 0.25);\n  transform: rotate(90deg);\n}\n.sg-lightbox-prev:hover {\n  background: rgba(255, 255, 255, 0.25);\n  transform: translateY(-50%) scale(1.15) translateX(-3px);\n}\n.sg-lightbox-next:hover {\n  background: rgba(255, 255, 255, 0.25);\n  transform: translateY(-50%) scale(1.15) translateX(3px);\n}\n.sg-lightbox-close {\n  top: 20px;\n  right: 20px;\n}\n.sg-lightbox-prev {\n  left: 20px;\n  top: 50%;\n  transform: translateY(-50%);\n}\n.sg-lightbox-next {\n  right: 20px;\n  top: 50%;\n  transform: translateY(-50%);\n}\n.sg-lightbox-counter {\n  position: fixed;\n  bottom: 20px;\n  left: 50%;\n  transform: translateX(-50%);\n  color: #fff;\n  font-size: 14px;\n  opacity: 0;\n  z-index: 10000;\n  transition: opacity 0.3s ease 0.2s;\n}\n.sg-lightbox-overlay.sg-lightbox-open .sg-lightbox-counter {\n  opacity: 0.8;\n}\n\n@media (max-width: 600px) {\n  .sg-lightbox-prev, .sg-lightbox-next, .sg-lightbox-close {\n    width: 38px;\n    height: 38px;\n    font-size: 18px;\n  }\n  .sg-lightbox-prev { left: 8px; }\n  .sg-lightbox-next { right: 8px; }\n  .sg-lightbox-close { top: 10px; right: 10px; }\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\n(function () {\n  var galleryLinks = Array.prototype.slice.call(\n    document.querySelectorAll('.sg-gallery-item a')\n  );\n\n  if (!galleryLinks.length) return;\n\n  var currentIndex = 0;\n\n  \/* ---------- Staggered entrance animation for grid items ---------- *\/\n  var items = document.querySelectorAll('.sg-gallery-item');\n  if ('IntersectionObserver' in window) {\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (entry.isIntersecting) {\n          var el = entry.target;\n          var idx = Array.prototype.indexOf.call(items, el);\n          setTimeout(function () {\n            el.classList.add('sg-item-visible');\n          }, (idx % 8) * 60); \/\/ stagger, cycles every 8 items\n          observer.unobserve(el);\n        }\n      });\n    }, { threshold: 0.1 });\n    items.forEach(function (el) { observer.observe(el); });\n  } else {\n    items.forEach(function (el) { el.classList.add('sg-item-visible'); });\n  }\n\n  \/* ---------- Lightbox markup ---------- *\/\n  var overlay = document.createElement('div');\n  overlay.className = 'sg-lightbox-overlay';\n  overlay.innerHTML =\n    '<button class=\"sg-lightbox-close\" aria-label=\"Close\">&times;<\/button>' +\n    '<button class=\"sg-lightbox-prev\" aria-label=\"Previous\">&#10094;<\/button>' +\n    '<div class=\"sg-lightbox-content\">' +\n      '<div class=\"sg-lightbox-spinner\"><\/div>' +\n      '<img decoding=\"async\" src=\"\" alt=\"\">' +\n    '<\/div>' +\n    '<button class=\"sg-lightbox-next\" aria-label=\"Next\">&#10095;<\/button>' +\n    '<div class=\"sg-lightbox-counter\"><\/div>';\n  document.body.appendChild(overlay);\n\n  var imgEl = overlay.querySelector('img');\n  var spinnerEl = overlay.querySelector('.sg-lightbox-spinner');\n  var counterEl = overlay.querySelector('.sg-lightbox-counter');\n  var closeBtn = overlay.querySelector('.sg-lightbox-close');\n  var prevBtn = overlay.querySelector('.sg-lightbox-prev');\n  var nextBtn = overlay.querySelector('.sg-lightbox-next');\n\n  var isAnimating = false;\n\n  function loadImage(index, direction) {\n    \/\/ direction: 'left' (next) | 'right' (prev) | null (first open)\n    var link = galleryLinks[index];\n    var fullSrc = link.getAttribute('href');\n    var altText = link.querySelector('img')\n      ? link.querySelector('img').getAttribute('alt')\n      : '';\n\n    spinnerEl.classList.add('sg-spinner-visible');\n\n    var preloader = new Image();\n    preloader.onload = function () {\n      imgEl.setAttribute('src', fullSrc);\n      imgEl.setAttribute('alt', altText || '');\n\n      if (direction === 'left') {\n        imgEl.classList.remove('sg-slide-in-right', 'sg-img-visible');\n        imgEl.classList.add('sg-slide-in-left');\n        \/\/ force reflow so the transition triggers\n        void imgEl.offsetWidth;\n        imgEl.classList.remove('sg-slide-in-left');\n        imgEl.style.transition = '';\n        requestAnimationFrame(function () {\n          imgEl.classList.add('sg-img-visible');\n        });\n      } else if (direction === 'right') {\n        imgEl.classList.remove('sg-slide-in-left', 'sg-img-visible');\n        imgEl.classList.add('sg-slide-in-right');\n        void imgEl.offsetWidth;\n        imgEl.classList.remove('sg-slide-in-right');\n        imgEl.style.transition = '';\n        requestAnimationFrame(function () {\n          imgEl.classList.add('sg-img-visible');\n        });\n      } else {\n        imgEl.classList.add('sg-img-visible');\n      }\n\n      spinnerEl.classList.remove('sg-spinner-visible');\n      isAnimating = false;\n    };\n    preloader.src = fullSrc;\n\n    counterEl.textContent = (index + 1) + ' \/ ' + galleryLinks.length;\n  }\n\n  function showImage(newIndex, direction) {\n    if (isAnimating) return;\n    isAnimating = true;\n\n    newIndex = (newIndex + galleryLinks.length) % galleryLinks.length;\n    currentIndex = newIndex;\n\n    if (!direction) {\n      loadImage(currentIndex, null);\n      return;\n    }\n\n    \/\/ Slide the current image out first, then load the new one\n    imgEl.classList.remove('sg-img-visible');\n    imgEl.classList.add(direction === 'left' ? 'sg-slide-out-left' : 'sg-slide-out-right');\n\n    setTimeout(function () {\n      imgEl.classList.remove('sg-slide-out-left', 'sg-slide-out-right');\n      loadImage(currentIndex, direction);\n    }, 220);\n  }\n\n  function openLightbox(index) {\n    currentIndex = index;\n    imgEl.className = ''; \/\/ reset animation classes\n    overlay.classList.add('sg-lightbox-open');\n    document.body.style.overflow = 'hidden';\n    showImage(index, null);\n  }\n\n  function closeLightbox() {\n    overlay.classList.remove('sg-lightbox-open');\n    document.body.style.overflow = '';\n    setTimeout(function () {\n      imgEl.classList.remove('sg-img-visible');\n      imgEl.setAttribute('src', '');\n    }, 300);\n  }\n\n  galleryLinks.forEach(function (link, index) {\n    link.addEventListener('click', function (e) {\n      e.preventDefault();\n      openLightbox(index);\n    });\n  });\n\n  closeBtn.addEventListener('click', closeLightbox);\n  prevBtn.addEventListener('click', function () { showImage(currentIndex - 1, 'right'); });\n  nextBtn.addEventListener('click', function () { showImage(currentIndex + 1, 'left'); });\n\n  overlay.addEventListener('click', function (e) {\n    if (e.target === overlay) closeLightbox();\n  });\n\n  document.addEventListener('keydown', function (e) {\n    if (!overlay.classList.contains('sg-lightbox-open')) return;\n    if (e.key === 'Escape') closeLightbox();\n    if (e.key === 'ArrowLeft') showImage(currentIndex - 1, 'right');\n    if (e.key === 'ArrowRight') showImage(currentIndex + 1, 'left');\n  });\n\n  \/* ---------- Basic swipe support for touch devices ---------- *\/\n  var touchStartX = 0;\n  overlay.addEventListener('touchstart', function (e) {\n    touchStartX = e.changedTouches[0].screenX;\n  }, { passive: true });\n  overlay.addEventListener('touchend', function (e) {\n    var deltaX = e.changedTouches[0].screenX - touchStartX;\n    if (Math.abs(deltaX) < 40) return;\n    if (deltaX < 0) showImage(currentIndex + 1, 'left');\n    else showImage(currentIndex - 1, 'right');\n  }, { passive: true });\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Explore jewelry, handbags, decorative accents, and unique finishing touches at Shangri-la Boutique in Milton-Freewater, Oregon.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":14,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-15","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/review.sygnifistaging.com\/index.php?rest_route=\/wp\/v2\/pages\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/review.sygnifistaging.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/review.sygnifistaging.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/review.sygnifistaging.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/review.sygnifistaging.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15"}],"version-history":[{"count":25,"href":"https:\/\/review.sygnifistaging.com\/index.php?rest_route=\/wp\/v2\/pages\/15\/revisions"}],"predecessor-version":[{"id":447,"href":"https:\/\/review.sygnifistaging.com\/index.php?rest_route=\/wp\/v2\/pages\/15\/revisions\/447"}],"up":[{"embeddable":true,"href":"https:\/\/review.sygnifistaging.com\/index.php?rest_route=\/wp\/v2\/pages\/14"}],"wp:attachment":[{"href":"https:\/\/review.sygnifistaging.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}