/* Native images become eligible after the gallery reserves their real positions.
   Keep two rows beyond the preview available as a warm expansion buffer. */
.elementor-43 .mm-v-justified-gallery:not(.mm-gallery-disclosure-ready):not(.mm-gallery-layout-fallback) img.mm-gallery-native-image,
.elementor-43 .e-gallery-item[inert]:not([data-mm-gallery-warm]) img.mm-gallery-native-image {
  display: none;
}
/* Native image sources inside Elementor's existing gallery geometry. */
.elementor-43 .e-gallery-image:has(> .mm-gallery-native-image) {
  position: relative;
  background-image: none !important;
}
.elementor-43 .e-gallery-image > img.mm-gallery-native-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.elementor .mm-video-context {
  width: 100%;
  margin-top: 16px !important;
  color: #5b5550;
  font: 400 16px/1.55 'Source Sans 3', sans-serif;
}
.elementor .mm-video-context p { margin: 0 0 8px; }
.elementor .mm-video-context p:last-child { margin-bottom: 0; }
.elementor .mm-form-privacy {
  margin: 0;
  font: 400 15px/1.55 'Source Sans 3', sans-serif;
  color: #5b5550;
}
.elementor .mm-form-privacy a { text-decoration: underline; text-underline-offset: .2em; }
/* Match the existing gallery's white 3px frame across all website images,
   including placeholders, carousel slides and dynamically opened lightboxes.
   Pro Gallery owns its frame on the item, so its native image stays unframed. */
body img:not(#wpadminbar img):not(.elementor-gallery-item img),
body .elementor-gallery-item {
  border: 3px solid #FFFFFF !important;
  box-sizing: border-box;
}

/* Fill the existing wedding introduction image window without letterboxing. */
.elementor-60 .mm-weddings-page .mm-v-hero .elementor-element-pv00002 img {
  object-fit: cover;
  object-position: center;
}

.elementor-755 .pp-note,
.elementor-755 .pp-package-notes,
.elementor-26 .mm-film-note,
.elementor-26 .mm-film-video-caption,
.elementor-76 .mm-svc-note {
  font-size: 15px !important;
  line-height: 1.6;
}

/* One full-width price answer, followed by the existing paired photo FAQs. */
.elementor.elementor-2 .mm-photo-faq-item.mm-photo-faq-price{grid-column:1 / -1;}
.elementor.elementor-2 .mm-photo-faq-price>.elementor-widget-text-editor{max-width:820px;}
.elementor.elementor-755 :is(#pakete,#pakete-6-stunden,#pakete-10-stunden){scroll-margin-top:120px;}
@media(max-width:767px){.elementor.elementor-755 :is(#pakete,#pakete-6-stunden,#pakete-10-stunden){scroll-margin-top:100px;}}

/* Lesbarer AGB-Titel auch auf schmalen Handys (Live-Abnahme). */
@media(max-width:767px){body.page-id-189 main h1{font-size:clamp(26px,7vw,30px);line-height:1.28;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;word-break:normal;text-wrap:balance}}
