/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 08 2026 | 05:32:40 */
/* Curved bordeaux frame around image */
.wa-image {
  position: relative;
}

.wa-image .wpb_wrapper {
  position: relative;
  display: inline-block;
  padding: 20px 20px 28px 20px;
}

.wa-image .wpb_wrapper::after {
  content: '';
  position: absolute;
  top: -15px;
  left: -15px;
  right: -15px;
  bottom: -15px;
  border: 1px solid #722f378c;
  border-radius: 60% 40% 45% 55% / 50% 60% 40% 50%;
  pointer-events: none;
  z-index: 1;
}

.wa-image img {
  display: block;
  position: relative;
  z-index: 2;
  border-radius: 50% 40% 45% 55% / 45% 55% 40% 50%;
}

/* Alternative curved bordeaux frame */
.wa-image-alt {
  position: relative;
}

.wa-image-alt .wpb_wrapper {
  position: relative;
  display: inline-block;
  padding: 20px 20px 28px 20px;
}

.wa-image-alt .wpb_wrapper::after {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  bottom: -20px;
  left: -20px;
  border: 1px solid #722f378c;
  border-radius: 30% 70% 60% 40% / 65% 35% 65% 35%;
  pointer-events: none;
  z-index: 1;
}

.wa-image-alt .wpb_wrapper::before {
  content: '';
  position: absolute;
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
  border: 1px solid rgba(114, 47, 55, 0.2);
  border-radius: 45% 55% 35% 65% / 55% 40% 60% 45%;
  pointer-events: none;
  z-index: 1;
}

.wa-image-alt img {
  display: block;
  position: relative;
  z-index: 2;
  border-radius: 40% 60% 55% 45% / 50% 45% 55% 50%;
}

/* Subtle curved bordeaux frame */
.wa-image-subtle {
  position: relative;
}

.wa-image-subtle .wpb_wrapper {
  position: relative;
  display: inline-block;
  padding: 20px 20px 28px 20px;
}

.wa-image-subtle .wpb_wrapper::after {
  content: '';
  position: absolute;
  top: 10px;
  right: -25px;
  bottom: -25px;
  left: 10px;
  border: 2px solid rgba(114, 47, 55, 0.25);
  border-radius: 50% 50% 45% 55% / 55% 45% 50% 50%;
  pointer-events: none;
  z-index: 0;
}

.wa-image-subtle img {
  display: block;
  position: relative;
  z-index: 2;
  border-radius: 48% 52% 50% 50% / 50% 50% 48% 52%;
}

/* ============================================
   Responsive sizing - reduce on <= 1366px
   ============================================ */

@media (max-width: 1440px) {

  .wa-image,
  .wa-image-alt,
  .wa-image-subtle {
    max-width: 55% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .wa-image .wpb_wrapper,
  .wa-image-alt .wpb_wrapper,
  .wa-image-subtle .wpb_wrapper {
    display: block !important;
    width: 100% !important;
    padding: 24px 24px 32px 24px;
  }

  .wa-image .wpb_wrapper img,
  .wa-image-alt .wpb_wrapper img,
  .wa-image-subtle .wpb_wrapper img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 1024px) {

  .wa-image,
  .wa-image-alt,
  .wa-image-subtle {
    max-width: 65% !important;
  }
}

@media (max-width: 768px) {

  .wa-image,
  .wa-image-alt,
  .wa-image-subtle {
    max-width: 90% !important;
  }

  .wa-image .wpb_wrapper,
  .wa-image-alt .wpb_wrapper,
  .wa-image-subtle .wpb_wrapper {
    padding: 18px 18px 24px 18px;
  }
}

/**
 * wa-media-library – Custom Gallery Styling
 * Aesthetic: Warm clinic / organic light — matches site's beige + burgundy palette
 */

/* ── Wrapper ─────────────────────────────────────────── */
.wa-media-library {
  --clr-bg:        #f5f0eb;
  --clr-border:    #7a2530;
  --clr-overlay:   rgba(122, 37, 48, 0.18);
  --clr-light:     #ffffff;
  --gap:           6px;
  --transition:    0.55s cubic-bezier(0.22, 1, 0.36, 1);

  background: var(--clr-bg);
  padding: 6px;
  border-radius: 16px;
  overflow: hidden;
  border: 1.5px solid rgba(122, 37, 48, 0.15);
}

/* ── Grid container ──────────────────────────────────── */
.wa-media-library .wpb_image_grid_ul {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: var(--gap) !important;
  list-style: none;
  position: relative !important;
  height: auto !important;
}

/* ── Grid items ──────────────────────────────────────── */
.wa-media-library .isotope-item {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  overflow: hidden;
  border-radius: 10px;
  aspect-ratio: 4 / 3;

  /* Staggered entrance animation */
  opacity: 0;
  transform: scale(0.97) translateY(8px);
  animation: gridReveal 0.65s var(--transition) forwards;
}

.wa-media-library .isotope-item:nth-child(1) { animation-delay: 0.05s; }
.wa-media-library .isotope-item:nth-child(2) { animation-delay: 0.12s; }
.wa-media-library .isotope-item:nth-child(3) { animation-delay: 0.19s; }
.wa-media-library .isotope-item:nth-child(4) { animation-delay: 0.26s; }
.wa-media-library .isotope-item:nth-child(5) { animation-delay: 0.33s; }
.wa-media-library .isotope-item:nth-child(6) { animation-delay: 0.40s; }

@keyframes gridReveal {
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

/* ── Anchor wrapper ──────────────────────────────────── */
.wa-media-library .isotope-item a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

/* Warm burgundy overlay on hover */
.wa-media-library .isotope-item a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--clr-overlay);
  opacity: 0;
  transition: opacity var(--transition);
  z-index: 1;
}

/* Zoom icon reveal */
.wa-media-library .isotope-item a::after {
  content: '⊕';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: var(--clr-light);
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 2;
  text-shadow: 0 1px 8px rgba(0,0,0,0.2);
}

.wa-media-library .isotope-item:hover a::before { opacity: 1; }
.wa-media-library .isotope-item:hover a::after  {
  opacity: 1;
  transform: scale(1);
}

/* ── Images ──────────────────────────────────────────── */
.wa-media-library .isotope-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform var(--transition);
}

.wa-media-library .isotope-item:hover img {
  transform: scale(1.07);
}

/* ── Burgundy border on hover ────────────────────────── */
.wa-media-library .isotope-item::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 2px solid transparent;
  border-radius: 10px;
  transition: border-color 0.3s ease;
  z-index: 3;
  pointer-events: none;
}

.wa-media-library .isotope-item:hover::after {
  border-color: var(--clr-border);
}

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 600px) {
  .wa-media-library .wpb_image_grid_ul {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}