/* === PATCH: Divi Supreme Masonry – restore hover overlay/captions === */

/* 0) Base positioning so overlay can sit on top */
.dsm_masonry_gallery,
.dsm-masonry-gallery {
  position: relative;
}
.dsm_masonry_gallery .grid-item,
.dsm-masonry-gallery .grid-item {
  position: relative;
  overflow: hidden;
}

/* 1) Image below overlay */
.dsm_masonry_gallery .grid-item img,
.dsm-masonry-gallery .grid-item img {
  display: block;              /* remove inline-gap */
  width: 100%;
  height: auto;
  z-index: 1;
  position: relative;
}

/* 2) The overlay itself (DSM uses .dsm-overlay) */
.dsm_masonry_gallery .grid-item .dsm-overlay,
.dsm-masonry-gallery .grid-item .dsm-overlay,
.dsm_masonry_gallery_0 .grid-item .dsm-overlay {  /* your instance */
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background: rgba(0,0,0,.55) !important;         /* dark translucent */
  transition: opacity .28s ease !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* 3) Show overlay on hover/focus */
.dsm_masonry_gallery .grid-item:hover .dsm-overlay,
.dsm_masonry_gallery .grid-item:focus-within .dsm-overlay,
.dsm-masonry-gallery .grid-item:hover .dsm-overlay,
.dsm-masonry-gallery .grid-item:focus-within .dsm-overlay,
.dsm_masonry_gallery_0 .grid-item:hover .dsm-overlay,
.dsm_masonry_gallery_0 .grid-item:focus-within .dsm-overlay {
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* 4) Title & caption inside overlay – keep readable and unaffected by global links */
.dsm_masonry_gallery .grid-item .dsm-overlay,
.dsm-masonry-gallery .grid-item .dsm-overlay {
  color: #fff !important;
}
.dsm_masonry_gallery .grid-item .dsm-overlay a,
.dsm_masonry_gallery .grid-item .dsm-overlay a:hover,
.dsm_masonry_gallery .grid-item .dsm-overlay a:focus,
.dsm-masonry-gallery .grid-item .dsm-overlay a,
.dsm-masonry-gallery .grid-item .dsm-overlay a:hover,
.dsm-masonry-gallery .grid-item .dsm-overlay a:focus {
  color: inherit !important;
  text-decoration: none !important;
}

/* 5) Safety: don’t let global heading flex styles touch overlay text */
.dsm_masonry_gallery .dsm-overlay h1,
.dsm_masonry_gallery .dsm-overlay h2,
.dsm_masonry_gallery .dsm-overlay h3,
.dsm_masonry_gallery .dsm-overlay h4,
.dsm_masonry_gallery .dsm-overlay h5,
.dsm_masonry_gallery .dsm-overlay h6,
.dsm-masonry-gallery .dsm-overlay h1,
.dsm-masonry-gallery .dsm-overlay h2,
.dsm-masonry-gallery .dsm-overlay h3,
.dsm-masonry-gallery .dsm-overlay h4,
.dsm-masonry-gallery .dsm-overlay h5,
.dsm-masonry-gallery .dsm-overlay h6 {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}


/* === DSM Masonry: remove center icon + fix rounded overlay === */

/* 1) Remove the orange "+" (various possible classes) */
.dsm_masonry_gallery .grid-item .dsm-overlay .et-pb-icon,
.dsm_masonry_gallery .grid-item .dsm-overlay .et_overlay,
.dsm_masonry_gallery .grid-item .dsm-zoom-icon,
.dsm-masonry-gallery .grid-item .dsm-overlay .et-pb-icon,
.dsm-masonry-gallery .grid-item .dsm-overlay .et_overlay,
.dsm-masonry-gallery .grid-item .dsm-zoom-icon {
  display: none !important;
}

/* 2) Ensure the tile clips children and shares the same radius */
.dsm_masonry_gallery .grid-item,
.dsm-masonry-gallery .grid-item {
  position: relative;
  overflow: hidden;          /* clip overlay to corners */
  border-radius: inherit;    /* if parent/column gives a radius, pass it down */
}

/* If the radius is set only on the IMG, propagate it to the wrapper too */
.dsm_masonry_gallery .grid-item img,
.dsm-masonry-gallery .grid-item img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: inherit;    /* keeps image corners aligned with wrapper */
}

/* 3) Overlay must inherit the same radius so it matches the image */
.dsm_masonry_gallery .grid-item .dsm-overlay,
.dsm-masonry-gallery .grid-item .dsm-overlay {
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;   /* <-- rounded overlay */
  background: rgba(0,0,0,.55) !important;
  opacity: 0 !important;
  transition: opacity .28s ease !important;
  z-index: 3 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  pointer-events: none !important;
}

/* 4) Hover/focus state */
.dsm_masonry_gallery .grid-item:hover .dsm-overlay,
.dsm_masonry_gallery .grid-item:focus-within .dsm-overlay,
.dsm-masonry-gallery .grid-item:hover .dsm-overlay,
.dsm-masonry-gallery .grid-item:focus-within .dsm-overlay {
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* 5) Caption text hygiene (avoid global heading rules) */
.dsm_masonry_gallery .dsm-overlay h1,
.dsm_masonry_gallery .dsm-overlay h2,
.dsm_masonry_gallery .dsm-overlay h3,
.dsm_masonry_gallery .dsm-overlay h4,
.dsm_masonry_gallery .dsm-overlay h5,
.dsm_masonry_gallery .dsm-overlay h6,
.dsm-masonry-gallery .dsm-overlay h1,
.dsm-masonry-gallery .dsm-overlay h2,
.dsm-masonry-gallery .dsm-overlay h3,
.dsm-masonry-gallery .dsm-overlay h4,
.dsm-masonry-gallery .dsm-overlay h5,
.dsm-masonry-gallery .dsm-overlay h6 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  color: inherit !important;
}
/* === Remove the orange "+" / zoom icon from Divi Supreme Masonry === */

/* Covers all known DSM & Divi overlay icon classes */
.dsm_masonry_gallery .dsm-overlay .et-pb-icon,
.dsm_masonry_gallery .dsm-overlay .et_overlay,
.dsm_masonry_gallery .dsm-overlay .dsm-zoom-icon,
.dsm_masonry_gallery .dsm-overlay::before,
.dsm-masonry-gallery .dsm-overlay .et-pb-icon,
.dsm-masonry-gallery .dsm-overlay .et_overlay,
.dsm-masonry-gallery .dsm-overlay .dsm-zoom-icon,
.dsm-masonry-gallery .dsm-overlay::before,
.dsm_masonry_gallery_0 .dsm-overlay .et-pb-icon,
.dsm_masonry_gallery_0 .dsm-overlay .et_overlay,
.dsm_masonry_gallery_0 .dsm-overlay .dsm-zoom-icon,
.dsm_masonry_gallery_0 .dsm-overlay::before {
  display: none !important;
  content: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}
