html,body{overflow-x:hidden!important;max-width:100vw}
/* === MOBILE-POLISH (07.05.2026) ===
 * Globale Mobile-Optimierung für econsocial-sport.de
 * Wird per <link> auf jeder Seite eingebunden.
 */

@media (max-width:760px){

  /* === HEADER === */
  .nav-burger{
    width:44px!important;height:44px!important;
    border:1px solid rgba(234,88,12,.28)!important;
    border-radius:10px!important;
    background:rgba(234,88,12,.06)!important;
    padding:10px!important;
    transition:all .2s ease;
  }
  .nav-burger:active{background:rgba(234,88,12,.18)!important;transform:scale(.96)}
  .nav-burger span{background:#ea580c!important}

  /* Mobile-Termin-Link im Burger-Menu: prominent */
  .mobile-termin-link{
    margin:8px 16px 6px!important;
    padding:14px 20px!important;
    background:#ea580c!important;color:#fff!important;
    border-radius:12px!important;
    text-align:center;
    box-shadow:0 4px 14px -4px rgba(234,88,12,.5);
    font-size:15px!important;letter-spacing:-.01em;
  }

  /* Nav-Links: 44px Touch */
  .nav-links a{min-height:44px;display:flex;align-items:center;padding:12px 22px;font-size:15px}

  /* === HERO === */
  .hero{padding:96px 20px 56px!important}
  .hero h1{font-size:clamp(34px,7vw,44px)!important;line-height:1.05!important;letter-spacing:-.03em}
  .hero-sub,.hero p{font-size:17px!important;line-height:1.5!important}

  /* === BUTTONS / CTAs === */
  a.cta,a.btn,button.btn,.cta-btn,.hero-btn,.nav-cta,
  a[class*="btn"]:not(.nav-burger),
  button.submit-btn,.hero-cta a,.bl-cta a{
    min-height:48px!important;
    padding:14px 22px!important;
    font-size:15px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:12px;
  }

  /* Hero-Button-Reihe full-width stack */
  .hero-cta,.hero-cta-row,.hero-buttons,.hero-actions,.bl-cta{
    flex-direction:column!important;
    gap:12px!important;
    width:100%!important;
    max-width:340px;
    margin-left:auto!important;margin-right:auto!important;
  }
  .hero-cta>*,.hero-cta-row>*,.hero-buttons>*,.hero-actions>*,.bl-cta>*{
    width:100%!important;justify-content:center!important;
  }

  /* === SECTIONS === */
  .stats,.process,.led-section,.exclusive,.pillars,.anim-catalog,.feature-pills{
    padding-left:18px!important;padding-right:18px!important;
  }
  .stats{padding-top:72px!important;padding-bottom:40px!important}
  .process{padding:72px 18px 56px!important}
  .exclusive{padding:64px 18px 80px!important}
  .anim-catalog{padding:80px 18px 50px!important}

  .stats h2,.process-title,.bl-title,.exc-title{
    font-size:clamp(32px,7vw,42px)!important;
    line-height:1.1!important;letter-spacing:-.025em;
  }
  .stats-sub,.exc-sub,.bl-sub{font-size:16px!important;line-height:1.5!important}

  /* === FORMS === */
  input[type=text],input[type=email],input[type=tel],input[type=number],
  input[type=password],select,textarea{
    font-size:16px!important;padding:14px 16px!important;
    border-radius:12px!important;min-height:48px;
  }
  textarea{min-height:120px}
  label{font-size:13px;margin-bottom:8px}

  /* === TABLES === */
  table{display:block!important;overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:100%}

  /* === FOOTER === */
  footer{padding:32px 18px 28px!important}
  .footer-inner{flex-direction:column!important;align-items:flex-start!important;gap:16px!important}
  .footer-links{flex-wrap:wrap;gap:14px!important}

  /* === TOUCH-FEEDBACK === */
  a,button{-webkit-tap-highlight-color:rgba(234,88,12,.18)}

  /* === SAFE-AREA (iPhone X+) === */
  body{
    padding-bottom:env(safe-area-inset-bottom,0px);
    padding-left:env(safe-area-inset-left,0px);
    padding-right:env(safe-area-inset-right,0px);
  }

  /* === KONTAKT-SEITE: BOOKING === */
  .booking-body{padding:0 18px 28px!important}
  .panel-head{padding:24px 18px 16px!important}
  .panel-head h2{font-size:24px!important;line-height:1.1}

  .slot-grid{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
  .slot{
    padding:14px 6px!important;font-size:15px!important;
    min-height:50px!important;border-radius:12px!important;font-weight:600;
  }

  .day-strip{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:8px}
  .day-card{flex:0 0 78px!important;min-height:88px!important;padding:14px 0!important;scroll-snap-align:start}
  .day-card .num{font-size:24px!important}

  .submit-btn{padding:16px 24px!important;font-size:16px!important;min-height:54px!important;border-radius:14px!important;width:100%!important}

  .form-row{grid-template-columns:1fr!important;gap:14px!important}
  .form-note{font-size:13px!important;line-height:1.5!important}

  .selected-slot-info{font-size:14px!important;padding:14px 16px!important;flex-wrap:wrap;border-radius:12px}
  .booking-tag{padding:8px 14px!important;font-size:13px!important;min-height:36px}
}

/* === KLEINE MOBILE (< 380px) === */
@media (max-width:380px){
  .hero h1{font-size:30px!important}
  .hero-sub,.hero p{font-size:16px!important}
  .stats h2,.process-title,.bl-title{font-size:28px!important}
  .slot-grid{grid-template-columns:repeat(2,1fr)!important}
  .day-card{flex:0 0 72px!important}
}
