/* 2.9.59 · Mobile Screenshot Fix
 * Screenshot-driven correction of 2.9.58 on real iPhone captures.
 * Desktop is intentionally untouched. The rules below remove clipped rails,
 * enforce shrink-safe dark modules and reduce mobile overlay collisions.
 */

@media(max-width:860px){
  body.home .leadinfo,
  body.home .bookingGrid,
  body.home .platformGrid,
  body.home .productPanel,
  body.home .flow,
  body.home .browserMock,
  body.home .browserBody{min-width:0!important;max-width:100%!important}

  body.home .leadinfo{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  body.home .leadinfo>*{min-width:0!important;max-width:100%!important;width:100%!important}
  body.home .bookingGrid{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  body.home .bookingGrid>*{min-width:0!important;max-width:100%!important;width:100%!important}
  body.home .platformGrid>*{min-width:0!important;max-width:100%!important}
}

@media(max-width:599px){
  /* Tighter global rhythm based on the actual iPhone screenshots. */
  body.home .bt-main .wrap{width:calc(100% - 24px)!important;max-width:100%!important}
  body.home .bt-main .section{padding-top:44px!important;padding-bottom:44px!important}
  body.home .bt-main .section-sm{padding-top:34px!important;padding-bottom:34px!important}
  body.home .references-strip{padding-top:34px!important}
  body.home .testimonialBand{padding-top:44px!important;padding-bottom:44px!important}
  body.home .finalCta{padding-top:44px!important;padding-bottom:48px!important}
  body.home .elementor-widget-bt-v4-industries .bt-widget-section .wrap>.reveal:first-child{margin-bottom:24px!important}

  /* Header remains premium but gives more room to the actual page. */
  body.home .navin{height:66px!important;grid-template-columns:106px 1fr auto!important;gap:8px!important}
  body.home .logo{width:100px!important;height:46px!important;border-radius:11px!important}
  body.home .navactions{gap:6px!important}
  body.home .navactions .btn.primary{min-height:40px!important;padding:9px 11px!important;font-size:.76rem!important;border-radius:10px!important}
  body.home .bt-mobile-nav summary,
  body.home .mobileToggle{font-size:1.18rem!important;padding:6px!important}

  /* 2.9.58 introduced swipe rails here; real iPhone captures show clipped cards.
     Return these content-heavy cards to a compact, fully visible one-column layout. */
  body.home .industries{display:grid!important;grid-template-columns:1fr!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:10px!important;overflow-x:visible!important;scroll-snap-type:none!important;padding-bottom:0!important}
  body.home .industry{min-width:0!important;max-width:100%!important;width:100%!important;min-height:0!important;padding:17px 18px!important;border-radius:16px!important;display:grid!important;grid-template-columns:68px minmax(0,1fr)!important;gap:15px!important;align-items:center!important;justify-content:stretch!important;scroll-snap-align:none!important}
  body.home .industry .art{width:68px!important;height:68px!important;min-width:68px!important}
  body.home .industry .art:before{width:84px!important;height:84px!important}
  body.home .industry .bt-industry-icon{width:58px!important;height:58px!important;border-radius:13px!important}
  body.home .industry h3{font-size:1.18rem!important;line-height:1.12!important;letter-spacing:-.025em!important;margin:0 0 7px!important;overflow-wrap:anywhere!important;word-break:normal!important;hyphens:auto!important}
  body.home .industry p{font-size:.82rem!important;line-height:1.48!important;margin:0!important;max-width:100%!important}

  body.home .trainGrid{display:grid!important;grid-template-columns:1fr!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:9px!important;overflow-x:visible!important;scroll-snap-type:none!important;padding-bottom:0!important}
  body.home .training{min-width:0!important;max-width:100%!important;width:100%!important;min-height:0!important;padding:17px 18px!important;scroll-snap-align:none!important}
  body.home .training h3{font-size:1rem!important;line-height:1.25!important;margin-top:9px!important;overflow-wrap:anywhere!important}
  body.home .training p{font-size:.81rem!important;line-height:1.48!important}

  /* Leadinfo: every layer must be allowed to shrink; the journey is vertical,
     not a clipped horizontal strip. */
  body.home .leadinfo{grid-template-columns:minmax(0,1fr)!important;padding:22px 16px!important;gap:22px!important;border-radius:20px!important;overflow:hidden!important}
  body.home .leadinfo>*{min-width:0!important;max-width:100%!important;width:100%!important}
  body.home .leadinfo .flow,
  body.home .leadinfo .browserMock{min-width:0!important;max-width:100%!important;width:100%!important}
  body.home .leadinfo.dark h2{color:#fff!important;font-size:clamp(1.9rem,8.2vw,2.28rem)!important;line-height:1.02!important;letter-spacing:-.04em!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
  body.home .leadinfo .lead,
  body.home .leadinfo>div>p{max-width:100%!important;font-size:.94rem!important;line-height:1.56!important;white-space:normal!important;overflow-wrap:break-word!important}
  body.home .bt-gold-badge{max-width:220px!important;margin:15px 0!important;padding:7px!important;border-radius:12px!important}
  body.home .flow{padding:11px!important;border-radius:16px!important}
  body.home .bt-leadinfo-visual-steps{display:grid!important;grid-template-columns:1fr!important;grid-auto-flow:row!important;gap:8px!important;overflow-x:visible!important;scroll-snap-type:none!important;padding:0!important;margin-bottom:10px!important}
  body.home .bt-leadinfo-visual-step{min-width:0!important;max-width:100%!important;width:100%!important;grid-template-columns:46px minmax(0,1fr)!important;padding:10px!important;scroll-snap-align:none!important}
  body.home .bt-leadinfo-visual-step img{width:46px!important;height:46px!important}
  body.home .browserMock{margin-top:10px!important;border-radius:12px!important}
  body.home .browserBody{grid-template-columns:1fr!important;min-width:0!important;max-width:100%!important;width:100%!important;padding:10px!important;gap:9px!important}
  body.home .browserBody>*{min-width:0!important;max-width:100%!important;width:100%!important}
  body.home .companyCard{min-width:0!important;max-width:100%!important;padding:11px!important}
  body.home .companyCard strong,
  body.home .companyCard p{overflow-wrap:anywhere!important;word-break:normal!important}

  /* Booking/contact block: explicit dark-heading colour and shrink-safe content. */
  body.home .bookingGrid{grid-template-columns:1fr!important;gap:20px!important;min-width:0!important;max-width:100%!important;width:100%!important}
  body.home .bookingGrid>*{min-width:0!important;max-width:100%!important;width:100%!important}
  body.home .bookingIntro{padding:4px 0 0!important;min-width:0!important}
  body.home .finalCta.dark h2{color:#fff!important;font-size:clamp(1.95rem,8.5vw,2.36rem)!important;line-height:1.04!important;letter-spacing:-.04em!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
  body.home .bookingIntro .lead{max-width:100%!important;font-size:.94rem!important;line-height:1.56!important;overflow-wrap:break-word!important}
  body.home .bookingProof{margin-top:18px!important;gap:9px!important}
  body.home .bookingProof span{font-size:.78rem!important;line-height:1.4!important}
  body.home .bookingCard{min-width:0!important;max-width:100%!important;width:100%!important;padding:10px!important;border-radius:18px!important}
  body.home .bookingTop{gap:10px!important;align-items:flex-start!important}
  body.home .calBody{grid-template-columns:1fr!important;gap:12px!important;padding:13px 4px 4px!important}
  body.home .timePanel{border-left:0!important;border-top:1px solid #e6eaeb!important;padding-left:0!important;padding-top:12px!important}

  /* Search fields stay 16px to avoid iOS focus zoom; only the long placeholder is smaller. */
  body.home .searchForm,
  .bt-v299-key-branchensuche .bt2954-search-embed .searchForm{min-width:0!important;max-width:100%!important;width:100%!important;padding:10px!important}
  body.home .searchForm input,
  body.home .searchForm select,
  body.home .searchForm button,
  .bt-v299-key-branchensuche .bt2954-search-embed .searchForm input,
  .bt-v299-key-branchensuche .bt2954-search-embed .searchForm select,
  .bt-v299-key-branchensuche .bt2954-search-embed .searchForm button{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}
  body.home .searchForm input::placeholder,
  .bt-v299-key-branchensuche .bt2954-search-embed .searchForm input::placeholder{font-size:12.5px!important;letter-spacing:-.01em!important}

  /* The website's own Erstgespräch launcher is redundant over the final booking block.
     Keep it smaller elsewhere and let JS hide it while #kontakt is visible. */
  .bt-first-conversation{right:10px!important;bottom:calc(72px + env(safe-area-inset-bottom))!important}
  .bt-first-conversation-launcher{min-height:42px!important;padding:9px 12px!important;font-size:.78rem!important;gap:8px!important;box-shadow:0 12px 32px rgba(4,18,22,.20)!important}
  .bt-first-conversation-launcher-dot{width:8px!important;height:8px!important;box-shadow:0 0 0 4px rgba(100,234,205,.12)!important}
  .bt-first-conversation.bt-contact-visible .bt-first-conversation-launcher{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(8px)!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important}
}

@media(max-width:390px){
  body.home .bt-main .wrap{width:calc(100% - 20px)!important}
  body.home .industry{grid-template-columns:60px minmax(0,1fr)!important;gap:12px!important;padding:15px!important}
  body.home .industry .art{width:60px!important;height:60px!important;min-width:60px!important}
  body.home .industry .bt-industry-icon{width:52px!important;height:52px!important}
  body.home .industry h3{font-size:1.08rem!important}
  body.home .leadinfo{padding:20px 14px!important}
}
