/* MN Mobile UX — Utilities */

/* Hide-on-breakpoint (mobile-first) */
@media (min-width: 768px) {
  .mn-hide-desktop { display: none !important; }
}
@media (max-width: 767px) {
  .mn-hide-mobile { display: none !important; }
}

/* Aspect-Ratio-Container */
.mn-ar-4-5 { aspect-ratio: 4 / 5; }
.mn-ar-16-9 { aspect-ratio: 16 / 9; }
.mn-ar-21-9 { aspect-ratio: 21 / 9; }
.mn-ar-1-1 { aspect-ratio: 1 / 1; }

/* Object-Fit Cover auf Images im Container */
.mn-img-cover img,
img.mn-img-cover {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* Icon-Tile (für Leistungs-Cards und USP-Strip) */
.mn-icon-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: #f0f0ff;
  font-size: 22px;
}

@media (max-width: 767px) {
  .mn-icon-tile {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
}

/* Emoji-Icons: erzwinge Mindestgröße überall wo sie als <img> eingebunden sind */
img.emoji,
img[src*="/wp-includes/images/core/emoji/"],
img[src*=".svg"][alt]:where([alt=""]),
.elementor-icon-list-icon img,
.elementor-widget-icon-list img {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  display: inline-block !important;
  vertical-align: middle !important;
}
@media (max-width: 767px) {
  img.emoji,
  img[src*="/wp-includes/images/core/emoji/"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
  }
}
/* USP-Header-Strip Icons (oft 14 × 14 gerendert) bekommen forciert 28 × 28 */
.elementor-widget-image-box .elementor-image-box-img img,
.elementor-widget-icon-box .elementor-icon-wrapper img {
  min-width: 28px;
  min-height: 28px;
}


/* Hero reveal-animation override on mobile — force visible state */
@media (max-width: 767px) {
  html body .elementor .e-parent.mn-hero,
  html body .elementor .e-parent.mn-hero *,
  html body .elementor .e-parent.mn-hero .mn-reveal,
  html body .elementor .e-parent.mn-hero .e-con {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
  }
}

/* Utility-Container ohne visible content (critical-CSS, JSON-LD, Tracking) — kollabieren, damit sie kein Section-Padding erben */
@media (max-width: 767px) {
  html body .elementor .e-parent:has(> .elementor-widget-html:only-child):not(:has(h1)):not(:has(h2)):not(:has(h3)):not(:has(h4)):not(:has(img)):not(:has(.elementor-button)):not(.mn-hero):not(.mn-story):not(.mn-cta),
  html body .elementor .e-parent:has(> .e-con-inner > .elementor-widget-html:only-child):not(:has(h1)):not(:has(h2)):not(:has(h3)):not(:has(h4)):not(:has(img)):not(:has(.elementor-button)):not(.mn-hero):not(.mn-story):not(.mn-cta) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
  }
}
