/* NCCM v20 - Mobile quote form wrap/overflow fix
   Fixes Cotizar mobile form so fields/cards never create horizontal page scroll.
   Desktop remains untouched. */
@media (max-width: 760px){
  html,
  body,
  body.quote-page{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none!important;
  }

  body.quote-page *,
  body.quote-page *::before,
  body.quote-page *::after{
    box-sizing:border-box!important;
  }

  body.quote-page .quote-hero,
  body.quote-page .section,
  body.quote-page .container,
  body.quote-page .quote-shell,
  body.quote-page .quote-panel,
  body.quote-page .quote-form-card,
  body.quote-page .form,
  body.quote-page .form label,
  body.quote-page .quote-upload-box,
  body.quote-page .quote-list,
  body.quote-page .quote-list div{
    max-width:100%!important;
    min-width:0!important;
  }

  body.quote-page .section{
    overflow-x:hidden!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.quote-page .quote-shell{
    width:100%!important;
    margin:0!important;
    padding:0 14px 110px!important;
    display:block!important;
    overflow-x:hidden!important;
  }

  body.quote-page .quote-panel,
  body.quote-page .quote-form-card{
    width:100%!important;
    max-width:calc(100vw - 28px)!important;
    margin:0 auto 16px!important;
    padding:20px!important;
    border-radius:24px!important;
    overflow:visible!important;
  }

  body.quote-page .quote-panel h2,
  body.quote-page .quote-form-card h2,
  body.quote-page .quote-form-card .title{
    display:block!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto!important;
    font-size:clamp(29px,8.2vw,37px)!important;
    line-height:1.05!important;
    letter-spacing:-.45px!important;
  }

  body.quote-page .quote-panel p,
  body.quote-page .quote-form-card p,
  body.quote-page .quote-form-card .lead,
  body.quote-page .quote-list span,
  body.quote-page .quote-upload-help,
  body.quote-page .quote-status{
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    line-height:1.42!important;
  }

  body.quote-page .quote-list div{
    grid-template-columns:28px minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    overflow:visible!important;
  }

  body.quote-page .form{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:13px!important;
    overflow:visible!important;
  }

  body.quote-page .form .two,
  body.quote-page .form .three{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:13px!important;
  }

  body.quote-page .form label,
  body.quote-page .quote-upload-box > label{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }

  body.quote-page .form input,
  body.quote-page .form select,
  body.quote-page .form textarea,
  body.quote-page .quote-upload-box input[type="file"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    font-size:16px!important;
    line-height:1.35!important;
    overflow-x:hidden!important;
  }

  body.quote-page .form input,
  body.quote-page .form select{
    min-height:52px!important;
    white-space:nowrap!important;
    text-overflow:clip!important;
  }

  body.quote-page .form textarea{
    min-height:132px!important;
    white-space:pre-wrap!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    resize:vertical!important;
    overflow-y:auto!important;
  }

  body.quote-page .quote-upload-box{
    width:100%!important;
    overflow:visible!important;
  }

  body.quote-page .quote-photo-preview{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  body.quote-page .quote-photo-preview img{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    object-fit:cover!important;
  }

  body.quote-page .form .btn,
  body.quote-page .quote-form-card button[type="submit"]{
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    text-align:center!important;
    justify-content:center!important;
  }
}
