/* cohesion-fix: restore Divi static export — un-hide animated elements, neutralize
   builder anchoring that collapses without per-page builder JS/CSS. Loaded last. */

/* 1. un-hide Divi waypoint/fade animations that stay invisible without waypoints.js */
.et_pb_section, .et_pb_row, .et_pb_column, .et_pb_module,
.et-waypoint, .et_pb_animation_off, [class*="et_pb_animation_"],
.et_animated, .fade, .et_pb_slide {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
}

/* 2. lazy images forced visible */
img[loading="lazy"], img[data-src] { opacity: 1 !important; }

/* 3. Divi slider — show first slide as static hero (slider JS not recovered) */
.et_pb_slider .et_pb_slide { position: relative !important; display: block !important; }
.et_pb_slider .et_pb_slide:not(:first-child) { display: none !important; }
.et_pb_slider { height: auto !important; }
.et_pb_slide {
  min-height: clamp(320px, 55vh, 560px);
  background-size: cover !important;
  background-position: center !important;
  display: flex !important; align-items: center;
}
.et_pb_slide_description { position: relative; z-index: 2; width: 100%; }
.et_pb_slide::before {
  content: ""; position: absolute; inset: 0;
  background: rgba(0,0,0,.38); z-index: 1;
}
.et_pb_slide > .et_pb_container, .et_pb_slide_description { color: #fff; }

/* 4. centered containers + reflow columns (off-center / collapse fix) */
.et_pb_row, .et_pb_row_inner {
  width: 90% !important; max-width: 1080px !important;
  margin-left: auto !important; margin-right: auto !important;
  display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: flex-start;
}
.et_pb_column {
  float: none !important; box-sizing: border-box;
  flex: 1 1 280px; min-width: 0;
}
.et_pb_column_4_4 { flex-basis: 100%; }
.et_pb_section { padding: clamp(2rem,5vw,4rem) 0; }

/* 5. gallery grid */
.envira-gallery-wrap, .envira-gallery-public, ul.envira-gallery-public {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px; list-style: none; padding: 0; margin: 0;
}
.envira-gallery-item, .envira-gallery-item img { width: 100% !important; height: auto; margin: 0 !important; }
.envira-gallery-item img { aspect-ratio: 4/3; object-fit: cover; display: block; }

/* 6. mobile-first safety */
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
img, video { max-width: 100%; height: auto; }
body { font-size: 16px; line-height: 1.6; }
a, button, .et_pb_button { min-height: 1px; }
.et_pb_button, a.et_pb_button { display: inline-block; padding: 12px 22px; min-height: 44px; }

@media (max-width: 767px) {
  .et_pb_row, .et_pb_row_inner { width: 92% !important; flex-direction: column; }
  h1 { font-size: clamp(1.6rem, 7vw, 2.2rem); }
}
