.elementor-807 .elementor-element.elementor-element-0c9c042{--display:flex;}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-807 .elementor-element.elementor-element-78e3531{--image-border-color:var( --e-global-color-primary );--image-border-width:0px;--image-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-807 .elementor-element.elementor-element-93da613{--spacer-size:70px;}/* Start custom CSS for gallery, class: .elementor-element-78e3531 *//* =========================================================
   PAST CALENDARS GALLERY — FULL WIDGET CSS REPLACEMENT
   Widget: 78e3531
   ========================================================= */

/* Container spacing */
.elementor-element-78e3531 .elementor-gallery__container{
  gap:22px !important;
}

/* Each gallery item */
.elementor-element-78e3531 .e-gallery-item{
  position:relative !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:14px !important;
  text-decoration:none !important;
  background:#000 !important;
  box-shadow:0 4px 16px rgba(0,0,0,.35) !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
}

/* Image fill */
.elementor-element-78e3531 .e-gallery-image{
  background-size:cover !important;
  background-position:center !important;
  transition:transform .35s ease !important;
}

/* Dark wash + centered darker patch behind text */
.elementor-element-78e3531 .e-gallery-item::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(
      circle at center,
      rgba(0,0,0,.48) 0%,
      rgba(0,0,0,.34) 32%,
      rgba(0,0,0,.18) 68%,
      rgba(0,0,0,.18) 100%
    ) !important;
  z-index:1 !important;
  pointer-events:none !important;
  transition:background .25s ease !important;
}

/* Title overlay */
.elementor-element-78e3531 .e-gallery-item::after{
  content:attr(data-elementor-lightbox-title) !important;
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 18px !important;
  z-index:2 !important;
  pointer-events:none !important;

  font-family:var(--palm-font,'Montserrat',sans-serif) !important;
  font-size:clamp(20px,2vw,32px) !important;
  font-weight:800 !important;
  font-style:normal !important;
  line-height:1.08 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  text-align:center !important;
  color:#fff !important;
  text-shadow:
    0 2px 8px rgba(0,0,0,.45),
    0 0 18px rgba(0,0,0,.35) !important;

  white-space:normal !important;
  word-break:normal !important;
}

/* Hover */
.elementor-element-78e3531 .e-gallery-item:hover{
  transform:translateY(-2px) !important;
  box-shadow:
    0 0 20px rgba(233,84,33,.22) !important,
    0 6px 18px rgba(0,0,0,.40) !important;
}

.elementor-element-78e3531 .e-gallery-item:hover .e-gallery-image{
  transform:scale(1.05) !important;
}

.elementor-element-78e3531 .e-gallery-item:hover::before{
  background:
    radial-gradient(
      circle at center,
      rgba(0,0,0,.40) 0%,
      rgba(0,0,0,.28) 32%,
      rgba(0,0,0,.12) 68%,
      rgba(0,0,0,.12) 100%
    ) !important;
}

.elementor-element-78e3531 .e-gallery-item:hover::after{
  color:var(--global-palm-orange) !important;
}

/* Mobile */
@media (max-width:767px){
  .elementor-element-78e3531 .e-gallery-item::after{
    font-size:clamp(18px,5.4vw,24px) !important;
  }
}

/* =========================================================
   PAST CALENDARS LIGHTBOX — RESTORE NATIVE ZOOM
   Scoped only to slideshow 78e3531
   ========================================================= */

#elementor-lightbox-slideshow-78e3531 .dialog-message.dialog-lightbox-message{
  display:block !important;
}

#elementor-lightbox-slideshow-78e3531 .swiper{
  width:100% !important;
  height:100% !important;
  flex:1 1 auto !important;
}

#elementor-lightbox-slideshow-78e3531 .swiper-wrapper,
#elementor-lightbox-slideshow-78e3531 .swiper-slide,
#elementor-lightbox-slideshow-78e3531 .swiper-zoom-container{
  height:100% !important;
}

#elementor-lightbox-slideshow-78e3531 .elementor-lightbox-image{
  max-height:calc(100vh - 56px) !important;
}

/* PAST CALENDARS — darken cards so overlay text reads better */
.elementor-element-78e3531 .e-gallery-item{
  overflow:hidden !important;
  border-radius:14px !important;
  background:#000 !important;
}

.elementor-element-78e3531 .e-gallery-image{
  filter:brightness(.62) !important;
  transition:transform .35s ease, filter .25s ease !important;
}

.elementor-element-78e3531 .e-gallery-item:hover .e-gallery-image{
  filter:brightness(.68) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c9c042 */<style>
/* =========================================================
   PAST CALENDARS — HOMEPAGE-STYLE OVERLAY TITLES
   Scoped to gallery widget 78e3531 only
   ========================================================= */

/* card shell */
.elementor-element-78e3531 .e-gallery-item{
  position:relative !important;
  overflow:hidden !important;
  border-radius:14px !important;
  background:#000 !important;
  box-shadow:0 4px 16px rgba(0,0,0,.35) !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
}

/* image layer */
.elementor-element-78e3531 .e-gallery-image{
  position:relative !important;
  transition:transform .35s ease !important;
}

/* dark wash like homepage */
.elementor-element-78e3531 .e-gallery-item::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:rgba(0,0,0,.16) !important;
  z-index:1 !important;
  pointer-events:none !important;
  transition:background .25s ease !important;
}

/* kill native gallery content styling if Elementor injects any */
.elementor-element-78e3531 .elementor-gallery-item__content,
.elementor-element-78e3531 .elementor-gallery-item__overlay,
.elementor-element-78e3531 .e-gallery-item .elementor-gallery-item__title,
.elementor-element-78e3531 .e-gallery-item .elementor-gallery-item__description{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* custom injected title */
.elementor-element-78e3531 .palm-gallery-title{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 18px !important;
  margin:0 !important;
  z-index:3 !important;
  pointer-events:none !important;

  font-family:var(--palm-font,'Montserrat',sans-serif) !important;
  font-weight:800 !important;
  font-style:normal !important;
  font-size:clamp(20px,2vw,32px) !important;
  line-height:1.08 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  text-align:center !important;
  text-decoration:none !important;
  color:#fff !important;
  text-shadow:0 2px 8px rgba(0,0,0,.35) !important;

  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:color .25s ease !important;

  white-space:normal !important;
  word-break:normal !important;
}

/* hover behavior like homepage */
.elementor-element-78e3531 .e-gallery-item:hover{
  transform:translateY(-2px) !important;
  box-shadow:
    0 0 20px rgba(233,84,33,.22) !important,
    0 6px 18px rgba(0,0,0,.40) !important;
}

.elementor-element-78e3531 .e-gallery-item:hover::before{
  background:rgba(0,0,0,.10) !important;
}

.elementor-element-78e3531 .e-gallery-item:hover .e-gallery-image{
  transform:scale(1.05) !important;
}

.elementor-element-78e3531 .e-gallery-item:hover .palm-gallery-title{
  color:var(--global-palm-orange) !important;
}

/* mobile size like homepage */
@media (max-width:767px){
  .elementor-element-78e3531 .palm-gallery-title{
    font-size:clamp(18px,5.4vw,24px) !important;
  }
}
</style>

<script>
document.addEventListener("DOMContentLoaded", function () {
  document.querySelectorAll(".elementor-element-78e3531 .e-gallery-item").forEach(function (item) {
    const rawTitle = item.getAttribute("data-elementor-lightbox-title");
    if (!rawTitle) return;

    let overlay = item.querySelector(".palm-gallery-title");
    if (!overlay) {
      overlay = document.createElement("span");
      overlay.className = "palm-gallery-title";
      item.appendChild(overlay);
    }

    overlay.textContent = rawTitle;
  });
});
</script>/* End custom CSS */