/* Native photo galleries retain the existing background and frame. */
.elementor-43 .mm-v-justified-gallery.mm-gallery-disclosure-ready {
  max-height: var(--mm-gallery-visible-height);
  overflow: hidden;
  transition: max-height .32s ease;
}
.elementor-43 .mm-gallery-disclosure-controls[hidden] {
  display: none !important;
}
.elementor-43 .elementor-widget-html:has(.mm-gallery-disclosure-controls[hidden]) {
  display: none;
}
.elementor-43 .mm-gallery-disclosure-controls {
  width: 100%;
}
.elementor-43 .mm-gallery-disclosure-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid #A8875F;
  border-radius: 0;
  background: #F4EFE6;
  color: #44372B;
  font: 400 17px/1.5 'Source Sans 3', sans-serif;
  cursor: pointer;
}
.elementor-43 .mm-gallery-disclosure-button:hover {
  background: #E8DDCD;
  border-color: #725A42;
}
.elementor-43 .mm-gallery-disclosure-button:focus-visible {
  outline: 3px solid #725A42;
  outline-offset: 4px;
}
.elementor-43 .mm-gallery-disclosure-button svg {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  transition: transform .2s ease;
}
.elementor-43 .mm-gallery-disclosure-button[aria-expanded="true"] svg {
  transform: rotate(180deg);
}
@media (prefers-reduced-motion: reduce) {
  .elementor-43 .mm-v-justified-gallery.mm-gallery-disclosure-ready,
  .elementor-43 .mm-gallery-disclosure-button svg {
    transition: none;
  }
}

/* Consistent hierarchy: full-width editorial bands and distinct gallery introductions. */
.elementor-43 .mm-photo-gallery-page .elementor-widget-image img {
  border:3px solid #FFFFFF; box-sizing:border-box;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-v-section {
  margin:0 auto; padding:56px 32px; gap:28px; border-top:1px solid #DCD4C9;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-v-hero {
  width:100%; max-width:none; margin:28px auto 40px; border-top:0;
  padding:44px max(32px,calc((100% - 1136px)/2));
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-v-copy {
  max-width:820px; gap:18px;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-gallery-report-copy {
  width:100%; max-width:none; align-self:stretch; text-align:left; padding-top:8px;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-gallery-title {
  width:100%; text-align:center; margin-bottom:14px;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-gallery-title .elementor-heading-title {
  max-width:1020px; margin-inline:auto;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-gallery-section-intro {
  width:100%; gap:16px; padding:28px 32px; margin-bottom:8px;
  background:#F1ECE4; border-top:2px solid #A8875F; align-items:center; text-align:center;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-gallery-section-intro > .elementor-widget-heading {
  width:100%; max-width:960px; margin:0; padding:0; text-align:center;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-gallery-section-intro > :is(.elementor-widget-text-editor,.mm-v-copy) {
  width:100%; max-width:820px; align-self:center; text-align:center;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-gallery-block {
  width:100%; padding:0; gap:24px;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-v-close {
  margin:24px auto 56px; border-top:0; padding:40px 32px;
}
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .elementor-widget-html:has(.mm-gallery-disclosure-controls),
.elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-reportage-controls { margin-bottom:0; }
@media(max-width:767px) {
  .elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-v-section {
    padding:36px 20px; gap:24px;
  }
  .elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-v-hero {
    margin:20px auto 28px; padding:28px 20px;
  }
  .elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-gallery-title { margin-bottom:10px; }
  .elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-gallery-section-intro {
    padding:24px 16px; gap:14px; margin-bottom:6px;
  }
  .elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-gallery-section-intro > :is(.elementor-widget-text-editor,.mm-v-copy) {
    text-align:left;
  }
  .elementor-43 .mm-photo-gallery-page.mm-photo-gallery-refined .mm-v-close { margin:20px auto 40px; padding:32px 20px; }
}
