.elementor-1652 .elementor-element.elementor-element-2568e13{--display:flex;}.elementor-widget-image-gallery .gallery-item .gallery-caption{font-family:var( --e-global-typography-accent-font-family ), varela round;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1652 .elementor-element.elementor-element-bde65d6 .gallery-item .gallery-caption{text-align:center;}.elementor-1652 .elementor-element.elementor-element-8a9a3ea{--display:flex;--margin-top:64px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}/* Start custom CSS for container, class: .elementor-element-8a9a3ea *//* PMG Gallery — modern, responsive grid */
.pmg-shortcode-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); /* adjust min width */
  gap: 14px;
  align-items: stretch;
  margin: 0 auto 24px;
}

/* each item — rounded card with subtle shadow */
.pmg-shortcode-gallery .pmg-item {
  overflow: hidden;
  border-radius: 12px;            /* radius */
  box-shadow: 0 8px 20px rgba(12,18,35,0.06);
  background: #fafcff;           /* small neutral bg to mask loading */
  position: relative;
  /* modern browsers will use aspect-ratio */
  aspect-ratio: 4 / 3;           /* change to 16/9 or 1/1 if you prefer */
}

/* image fills the box and is cropped (cover) */
.pmg-shortcode-gallery .pmg-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;             /* important — keeps consistent crop */
  display: block;
  transition: transform .35s cubic-bezier(.22,.9,.35,1), filter .25s ease;
  will-change: transform;
  transform-origin: center center;
  -webkit-backface-visibility: hidden;
}

/* hover effect */
.pmg-shortcode-gallery .pmg-item:hover img {
  transform: scale(1.06);
  filter: saturate(1.05) contrast(1.02);
}

/* small overlay (optional) for caption/icon space */
.pmg-shortcode-gallery .pmg-item .pmg-overlay {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 8px 10px;
  color: #fff;
  font-size: 13px;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.32) 100%);
  opacity: 0;
  transition: opacity .25s ease;
}
.pmg-shortcode-gallery .pmg-item:hover .pmg-overlay { opacity: 1; }

/* responsive tweaks — fewer columns on small screens */
@media (max-width: 900px) {
  .pmg-shortcode-gallery {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
  }
}
@media (max-width: 520px) {
  .pmg-shortcode-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .pmg-shortcode-gallery .pmg-item { aspect-ratio: 1 / 1; } /* square on small screens */
}

/* Fallback for very old browsers without aspect-ratio:
   this creates fixed-height boxes (change 75% to adjust aspect ratio) */
.pmg-shortcode-gallery .pmg-item--fallback {
  position: relative;
  width: 100%;
  padding-bottom: 75%; /* 4:3 -> 75% ; for 16:9 use 56.25% */
}
.pmg-shortcode-gallery .pmg-item--fallback img {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* PMG: gallery layout - fixed, modern look */
.pmg-shortcode-gallery {
  max-width: 1180px;
  margin: 18px auto 38px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 18px;
  align-items: start; /* keep top-aligned */
  padding: 0 12px;
  box-sizing: border-box;
}

/* card */
.pmg-shortcode-gallery .pmg-item {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(10,20,40,0.06);
  background: #fff;
  aspect-ratio: 4 / 3;      /* primary modern solution */
  min-height: 120px;       /* fallback for browsers without aspect-ratio */
  display: block;
}

/* ensure any placeholder background (Smush etc.) doesn't show */
.pmg-shortcode-gallery .pmg-item,
.pmg-shortcode-gallery .pmg-item img {
  background: transparent !important;
  background-image: none !important;
}

/* image fills card and is cropped */
.pmg-shortcode-gallery .pmg-item img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  display: block;
  transform-origin: center center;
  transition: transform .35s cubic-bezier(.22,.9,.35,1), filter .25s ease;
}

/* hover zoom */
.pmg-shortcode-gallery .pmg-item:hover img {
  transform: scale(1.06);
  filter: saturate(1.04) contrast(1.02);
}

/* remove empty-looking bottoms if plugin inserts placeholders */
.pmg-shortcode-gallery .pmg-item:empty { display: none !important; }

/* responsive tweaks */
@media (max-width: 900px) {
  .pmg-shortcode-gallery { gap: 12px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
  .pmg-shortcode-gallery .pmg-item { aspect-ratio: 1 / 1; } /* make square on small screens */
}/* End custom CSS */