/* STAGEO - MOBILE EMERGENCY FIX 20260523
   Corregge visualizzazione da telefono e chat.
   Caricare dopo tutti gli altri CSS.
*/
html,body{
  max-width:100%;
  overflow-x:hidden;
}

/* ----- HEADER / MENU MOBILE ----- */
@media(max-width:900px){
  .site-header,
  #stageoHeaderUnified,
  .stageo-main-header{
    position:sticky!important;
    top:0!important;
    z-index:9998!important;
    width:100%!important;
    min-height:auto!important;
    padding:10px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(0,0,0,.12)!important;
  }

  .site-header .logo,
  .stageo-logo{
    display:flex!important;
    align-items:center!important;
    max-width:185px!important;
    flex:0 0 auto!important;
  }

  .site-header .logo img,
  .stageo-logo img,
  header img{
    max-width:180px!important;
    width:auto!important;
    height:auto!important;
    max-height:58px!important;
    object-fit:contain!important;
  }

  .menu-toggle,
  .stageo-menu{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    border:0!important;
    border-radius:8px!important;
    background:#f26a00!important;
    color:#fff!important;
    font-size:24px!important;
    font-weight:900!important;
    margin-left:auto!important;
  }

  .main-nav,
  .stageo-nav{
    display:none!important;
    flex:0 0 100%!important;
    width:100%!important;
    order:10!important;
    background:#071014!important;
    padding:10px!important;
    margin:6px 0 0!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .main-nav.open,
  .main-nav.is-open,
  .stageo-nav.open,
  .stageo-nav.is-open{
    display:grid!important;
  }

  .main-nav a,
  .stageo-nav a{
    display:flex!important;
    min-height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    padding:9px 10px!important;
    background:rgba(255,255,255,.06)!important;
    color:#fff!important;
    font-size:15px!important;
    line-height:1.1!important;
    text-align:center!important;
    text-decoration:none!important;
    font-weight:900!important;
  }

  .quote,
  .stageo-quote{
    order:11!important;
    flex:0 0 100%!important;
    width:100%!important;
    min-height:48px!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    margin:0!important;
    padding:0 12px!important;
    font-size:15px!important;
    background:#f26a00!important;
    color:#fff!important;
    text-align:center!important;
    text-decoration:none!important;
  }
}

/* ----- HOME / SEZIONI MOBILE ----- */
@media(max-width:768px){
  .hero{
    min-height:620px!important;
    height:auto!important;
    padding:96px 18px 38px!important;
    display:flex!important;
    align-items:flex-end!important;
  }
  .hero-content{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    max-width:100%!important;
    width:100%!important;
    padding:0!important;
    z-index:4!important;
  }
  .hero-content h1{
    font-size:clamp(42px,14vw,72px)!important;
    line-height:.86!important;
    letter-spacing:.01em!important;
    word-break:normal!important;
  }
  .hero-content p{
    max-width:100%!important;
    font-size:16px!important;
    line-height:1.45!important;
  }
  .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }
  .hero-actions .btn,
  .btn.primary,
  .btn.secondary{
    width:100%!important;
    justify-content:center!important;
    min-height:48px!important;
    padding:0 12px!important;
    font-size:14px!important;
  }

  .slides,
  .slide,
  .slide img{
    height:100%!important;
  }
  .slide img{
    object-fit:cover!important;
    object-position:center!important;
  }

  .services-strip{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:1px!important;
    overflow:visible!important;
  }
  .services-strip a{
    min-width:0!important;
    width:100%!important;
    padding:16px 10px!important;
    min-height:112px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .services-strip strong{
    font-size:16px!important;
    line-height:1.05!important;
  }
  .services-strip small{
    font-size:12px!important;
  }

  .about-preview,
  .private-inner,
  .certs,
  .footer{
    display:grid!important;
    grid-template-columns:1fr!important;
    padding-left:18px!important;
    padding-right:18px!important;
    gap:22px!important;
  }

  .about-copy h2,
  .private-copy h2{
    font-size:clamp(34px,11vw,54px)!important;
    line-height:.92!important;
  }

  .blade-gallery{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    height:auto!important;
  }
  .blade-gallery .blade{
    height:180px!important;
    min-height:180px!important;
    width:100%!important;
  }
  .blade-gallery img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  .private-services{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .city-tags{
    flex-wrap:wrap!important;
  }
}

@media(max-width:480px){
  .services-strip{grid-template-columns:1fr!important}
  .blade-gallery{grid-template-columns:1fr!important}
  .hero{min-height:560px!important}
}

/* ----- CHAT MOBILE ----- */
.stageo-chat-widget{
  z-index:2147483000!important;
}

@media(max-width:768px){
  .stageo-chat-widget{
    position:fixed!important;
    right:10px!important;
    bottom:10px!important;
    left:auto!important;
    top:auto!important;
    z-index:2147483000!important;
  }

  .stageo-chat-button{
    min-width:128px!important;
    width:128px!important;
    min-height:72px!important;
    border-radius:999px!important;
    padding:10px 12px!important;
    text-align:center!important;
    box-shadow:0 16px 38px rgba(0,0,0,.35)!important;
  }
  .stageo-chat-button span{
    font-size:10px!important;
    line-height:1!important;
  }
  .stageo-chat-button strong{
    font-size:17px!important;
    line-height:1!important;
  }
  .stageo-chat-button em{
    display:block!important;
    font-size:10px!important;
    line-height:1.1!important;
  }

  .stageo-chat-nudge{
    display:none!important;
  }

  .stageo-chat-panel{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    top:8px!important;
    bottom:8px!important;
    width:auto!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    border-radius:18px!important;
    display:none!important;
    grid-template-rows:auto 1fr auto auto auto!important;
    overflow:hidden!important;
  }

  .stageo-chat-panel.is-open,
  .stageo-chat-panel.open,
  .stageo-chat-panel.active{
    display:grid!important;
  }

  .stageo-chat-header{
    min-height:62px!important;
    padding:12px 12px!important;
    background:#f26a00!important;
  }
  .stageo-chat-header strong{
    font-size:16px!important;
    letter-spacing:.04em!important;
  }
  .stageo-chat-header span{
    color:#fff!important;
    opacity:.9!important;
    font-size:11px!important;
  }
  .stageo-chat-controls{
    gap:6px!important;
  }
  .stageo-chat-controls button{
    width:34px!important;
    height:34px!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.16)!important;
    color:#fff!important;
    font-size:18px!important;
  }

  .stageo-chat-messages{
    min-height:0!important;
    overflow:auto!important;
    padding:14px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .stageo-msg{
    max-width:94%!important;
    font-size:14px!important;
    line-height:1.45!important;
  }
  .stageo-chat-upload{
    padding:8px 12px!important;
  }
  .stageo-chat-upload input{
    max-width:140px!important;
  }

  .stageo-chat-actions{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    padding:7px 12px 0!important;
    background:#101820!important;
    border-top:1px solid rgba(255,255,255,.05)!important;
  }
  .stageo-chat-actions .stageo-chat-reset{
    border:0!important;
    background:transparent!important;
    color:#ffb16e!important;
    font-size:11px!important;
    font-weight:900!important;
    cursor:pointer!important;
    padding:2px 0!important;
    text-transform:uppercase!important;
    letter-spacing:.03em!important;
  }

  .stageo-chat-form{
    padding:10px!important;
    gap:8px!important;
  }
  .stageo-chat-form input{
    min-height:48px!important;
    font-size:16px!important;
  }
  .stageo-chat-form button{
    min-width:74px!important;
    font-size:14px!important;
  }
}
