/* WarmPatch mobile fixed viewport app shell v23
   Keeps the v21 mobile content; pins it to the real viewport on mobile. */

@media (max-width: 640px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transform: none !important;
    background: #f7efe6 !important;
  }

  body.mpv21-enabled > :not(.mobile-production-v21):not(script):not(style) {
    display: none !important;
  }

  .mobile-production-v21 {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 999999 !important;
    background: #f7efe6 !important;
    color: #271d18 !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .mobile-production-v21 .mpv21-shell {
    display: block !important;
    width: min(330px, calc(100vw - 40px)) !important;
    max-width: calc(100vw - 40px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 18px 0 36px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    transform: none !important;
  }

  .mobile-production-v21 *,
  .mobile-production-v21 *::before,
  .mobile-production-v21 *::after {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-overflow: clip !important;
    transform: none !important;
  }

  .mobile-production-v21 .mpv21-header,
  .mobile-production-v21 .mpv21-hero,
  .mobile-production-v21 .mpv21-section,
  .mobile-production-v21 .mpv21-card,
  .mobile-production-v21 .mpv21-media,
  .mobile-production-v21 .mpv21-contact,
  .mobile-production-v21 .mpv21-footer,
  .mobile-production-v21 img,
  .mobile-production-v21 picture,
  .mobile-production-v21 figure {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .mobile-production-v21 img {
    display: block !important;
    height: auto !important;
  }

  .mobile-production-v21 .mpv21-media {
    overflow: hidden !important;
  }

  .mobile-production-v21 .mpv21-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .mobile-production-v21 .mpv21-nav a {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  .mobile-production-v21 .mpv21-title,
  .mobile-production-v21 .mpv21-lead,
  .mobile-production-v21 .mpv21-text,
  .mobile-production-v21 .mpv21-list,
  .mobile-production-v21 .mpv21-contact-line,
  .mobile-production-v21 .mpv21-card p,
  .mobile-production-v21 .mpv21-card li {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-overflow: clip !important;
  }

  .mobile-production-v21 .mpv21-title {
    font-size: 30px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
  }

  .mobile-production-v21 .mpv21-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .mobile-production-v21 .mpv21-actions a,
  .mobile-production-v21 .mpv21-actions button,
  .mobile-production-v21 .mpv21-button {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  .mobile-production-v21 .mpv21-contact-line {
    display: block !important;
    overflow-wrap: anywhere !important;
  }
}

@media (min-width: 641px) {
  .mobile-production-v21 {
    display: none !important;
  }
}
