/* Maschinenverleih Kraus - mobile hardening v5
   Loaded after the editorial stylesheet under a unique filename to avoid stale mobile caches. */

@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  html,
  body.public-body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  body.public-body .ed-hero {
    width: 100%;
    max-width: 100vw;
    min-height: clamp(690px, 94svh, 820px);
    overflow: hidden !important;
  }

  body.public-body .ed-hero-content {
    width: min(100% - 28px, var(--ed-max));
    max-width: calc(100vw - 28px);
    min-width: 0;
    min-height: clamp(690px, 94svh, 820px);
    margin-inline: auto;
    padding-top: 104px;
    padding-bottom: 28px;
    justify-content: flex-end;
    overflow: visible;
  }

  /* Desktop-only decorative pieces must never enter the mobile composition. */
  body.public-body .ed-hero-meta,
  body.public-body .ed-hero-price,
  body.public-body .ed-cta::before,
  body.public-body .ed-delivery-section::before,
  body.public-body .accessory-upsell-section::before {
    display: none !important;
    visibility: hidden !important;
    content: none !important;
  }

  /* The mobile hero uses three normal block lines. No masked wrappers, vertical writing or transforms. */
  body.public-body .ed-hero-title,
  body.public-body .ed-hero-title > *,
  body.public-body .ed-hero-title span {
    position: static !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    clip-path: none !important;
    transform: none !important;
    translate: none !important;
  }

  body.public-body .ed-hero-title {
    z-index: 3;
    margin: 0;
    font-size: clamp(2.55rem, 12.3vw, 4.05rem) !important;
    line-height: .91 !important;
    letter-spacing: -.052em !important;
    text-wrap: balance;
  }

  body.public-body .ed-hero-title > span {
    margin-bottom: .04em !important;
  }

  body.public-body .ed-hero-title .line-1,
  body.public-body .ed-hero-title .line-2 {
    color: #fff !important;
  }

  body.public-body .ed-hero-title .ed-outline {
    color: #fff !important;
    -webkit-text-stroke: 0 !important;
    text-stroke: 0 !important;
  }

  body.public-body .ed-hero-title .line-3 {
    color: var(--ed-yellow) !important;
  }

  /* Do not allow reveal helpers to change the headline geometry on touch. */
  body.public-body .ed-hero-title .motion-reveal,
  body.public-body .ed-hero-title [data-reveal],
  body.public-body .ed-hero-title .motion-mask,
  body.public-body .ed-hero-title .motion-mask > * {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    transition: none !important;
    overflow: visible !important;
  }

  body.public-body .ed-kicker {
    max-width: 100%;
    margin-bottom: 10px;
    font-size: clamp(.72rem, 3.35vw, .86rem);
    line-height: 1.35;
    white-space: normal;
  }

  body.public-body .ed-brand-slogan {
    width: 100%;
    max-width: 100%;
    margin: 0 0 18px;
    gap: 7px;
  }

  body.public-body .ed-brand-slogan span {
    width: fit-content;
    max-width: 100%;
    padding: 7px 10px;
    font-size: .72rem;
    line-height: 1.22;
    white-space: normal;
  }

  body.public-body .ed-brand-slogan strong {
    max-width: 100%;
    font-size: clamp(1rem, 4.6vw, 1.2rem);
    line-height: 1.18;
  }

  body.public-body .ed-hero-bottom {
    grid-template-columns: 1fr !important;
    width: 100%;
    min-width: 0;
    margin-top: 22px;
    gap: 18px;
  }

  body.public-body .ed-hero-bottom p {
    max-width: 100%;
    margin: 0;
    font-size: clamp(1rem, 4.25vw, 1.1rem);
    line-height: 1.52;
  }

  body.public-body .ed-hero-bottom .btn {
    width: 100%;
    min-height: 58px;
  }

  body.public-body .ed-hero-media img {
    height: 104%;
    object-position: 58% center;
    transform: scale(1.015) !important;
    translate: none !important;
    will-change: auto !important;
  }

  body.public-body .ed-hero-shade {
    background:
      linear-gradient(0deg, rgba(5,6,8,.96) 0%, rgba(5,6,8,.77) 43%, rgba(5,6,8,.42) 68%, rgba(5,6,8,.24) 100%),
      linear-gradient(90deg, rgba(5,6,8,.50), rgba(5,6,8,.06)) !important;
  }

  body.public-body .ed-marquee,
  body.public-body .ed-marquee-track,
  body.public-body .ed-marquee-group {
    max-width: none;
  }

  body.public-body .ed-marquee {
    width: 100%;
    max-width: 100vw;
    overflow: hidden !important;
    contain: inline-size;
  }
}

@media (max-width: 430px) {
  body.public-body .ed-hero-content {
    width: calc(100% - 20px);
    max-width: calc(100vw - 20px);
    padding-top: 92px;
  }

  body.public-body .ed-hero-title {
    font-size: clamp(2.35rem, 12vw, 3.65rem) !important;
  }
}

@media (max-width: 360px) {
  body.public-body .ed-hero-title {
    font-size: clamp(2.18rem, 11.8vw, 3.25rem) !important;
  }
}
