/* =========================================================
   0) ENVIRA – MOBILE VISIBILITY & LAZY LOAD (ALL GALLERIES)
   ========================================================= */

/* Make sure thumbnails show on mobile even with lazy loading */
@media (max-width: 768px) {
  .envira-gallery-wrap,
  .envira-gallery-public,
  .envira-gallery,
  .envira-gallery-item,
  .envira-gallery-image {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .envira-gallery-item img {
    max-width: 100% !important;
    height: auto !important;
  }
}

.envira-gallery img[loading="lazy"],
.envira-gallery img[data-lazyloaded],
.envira-gallery img.jetpack-lazy-image {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transition: none !important;
}


/* =========================================================
   1) ENVIRA LIGHTBOX – CLEAN CAPTION & CONTROLS (GLOBAL)
   ========================================================= */

/* Kill Envira's wide gray underlay bar behind the caption */
.envirabox-wrap .envirabox-title-wrap,
.envirabox-wrap .envirabox-caption-wrap,
.envirabox-wrap .envirabox-toolbar {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Remove any pseudo-element backgrounds that Envira may add */
.envirabox-wrap .envirabox-title-wrap::before,
.envirabox-wrap .envirabox-title-wrap::after,
.envirabox-wrap .envirabox-caption-wrap::before,
.envirabox-wrap .envirabox-caption-wrap::after {
  display: none !important;
}

/* Caption wrapper – pinned to bottom, centered, never behind image */
.envirabox-caption-wrap {
  position: fixed !important;          /* always above the image */
  bottom: 14px !important;             /* move caption to bottom */
  top: auto !important;                /* ensure top is not used */
  left: 0 !important;
  width: 100% !important;

  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  text-align: center !important;

  padding: 0 20px !important;          /* breathing room at edges */
  pointer-events: none !important;     /* don't block clicks */
  z-index: 999998 !important;          /* high, but below toolbar */

  opacity: 1;                          /* starting state for fade */
}

/* Caption & title pill styling */
.envirabox-title,
.envirabox-caption {
  font-size: 15px !important;
  line-height: 1.4 !important;
  color: #fff !important;
  text-align: center !important;

  background: rgba(0, 0, 0, 0.55) !important;  /* nice semi-transparent */
  padding: 12px 18px !important;
  border-radius: 10px !important;

  max-width: 840px !important;
  margin: 0 auto !important;

  pointer-events: none !important;     /* so the X & arrows are clickable */
}

/* Extra space between title and caption if both are shown */
.envirabox-title + .envirabox-caption {
  margin-top: 6px !important;
}

/* Make sure the close "X" and arrows sit ABOVE the caption */
.envirabox-toolbar,
.envirabox-navigation {
  z-index: 999999 !important;          /* above caption pill */
  pointer-events: auto !important;
}


/* =========================================================
   2) CAPTION FADE – ANIMATION (TRIGGERED BY JS)
   ========================================================= */

/* When JS adds this class, the fade animation runs */
.envirabox-caption-wrap.envira-caption-fade {
  animation: enviraCaptionFade 4s ease-in forwards;
}

/* 0–70%: fully visible, 70–100%: fade out */
@keyframes enviraCaptionFade {
  0%   { opacity: 1; }
  70%  { opacity: 1; }
  100% { opacity: 0; }
}
/* === Desktop: make header the same width as the main content === */
@media (min-width: 1024px) {

  /* Limit the header background to the site content width */
  header.site-header,
  header.site-header > .kadence-header-inner,
  header.site-header .site-header-main-section {
    max-width: 1152px;      /* Match your Content Max Width */
    margin-left: auto;
    margin-right: auto;
  }
}
/* Main title */
.header-title {
    font-family: "Cormorant Garamond", serif;
    font-size: 34px;
    font-weight: 700;
    color: #cfcfcf;
    text-align: center;
    margin-bottom: 4px;
}

/* Subtitle */
.header-subtitle {
    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
    font-weight: 400;
    color: #cfcfcf;
    text-align: center;
}
/* Make the hero gallery row a positioning context */
.hero-watermark {
  position: relative;
  overflow: hidden;
}

/* Bottom-left watermark overlay */
.hero-watermark::after {
  content: "";
  position: absolute;
  left: 2rem;                /* distance from left edge */
  bottom: 2rem;              /* distance from bottom edge */
  width: 150px;              /* requested width */
  height: 220px;             /* give it some height so it's visible */
  background-image: url("/wp-content/uploads/2025/11/watermark-logo.png");
  background-repeat: no-repeat;
  background-size: contain;  /* keep proportions */
  background-position: left bottom;
  opacity: 0.85;             /* subtle watermark */
  pointer-events: none;      /* doesn't block slider arrows */
  z-index: 10;
}

/* Slightly smaller watermark on phones */
@media (max-width: 768px) {
  .hero-watermark::after {
    width: 100px;
    height: 150px;
    left: 1rem;
    bottom: 1rem;
  }
}
/* Match all footer text to header font */
.site-footer,
.site-footer *,
.site-footer .footer-navigation,
.site-footer .footer-navigation a,
.site-footer .footer-navigation a:visited,
.site-footer .site-info,
.site-footer .site-info a {
  font-family: 'Cormorant Garamond', serif !important;
}
/* Vertically center all items in Footer Row 2 */
.site-footer .footer-row.footer-row-2 {
    display: flex !important;
    align-items: center !important;
}
/* Add breathing room above footer row content */
.site-footer .footer-row.footer-row-2 {
    padding-top: 18px;
    padding-bottom: 10px;
}
/* Vertically center content in the top footer row */
.site-footer .footer-row:first-child {
  display: flex;
  align-items: center;
}
.site-footer .footer-row:first-child {
  padding-top: 28px;
  padding-bottom: 28px;
}
/* Footer - vertically nudge the logo down */
.site-footer .footer-widget-area .widget:first-child img {
  transform: translateY(22px) !important; /* increase/decrease until it lines up */
  display: inline-block;
}
/* MOBILE - center the footer logo and remove the desktop nudge */
@media (max-width: 768px) {

  /* kill the desktop translate on mobile */
  .site-footer .footer-widget-1 img,
  .site-footer .footer-widget-area .widget:first-child img {
    transform: none !important;
  }

  /* center the whole left widget area */
  .site-footer .footer-widget-1,
  .site-footer .footer-widget-area .widget:first-child {
    text-align: center;
  }

  /* center the logo image itself */
  .site-footer .footer-widget-1 img,
  .site-footer .footer-widget-area .widget:first-child img {
    display: inline-block;
    margin: 0 auto 14px auto; /* add a little breathing room */
  }
}
@media (max-width: 768px) {
  .footer-logo img {
    margin-bottom: 0;
  }
}



