
/* v107: mobile-first polish for application form and public pages */
body.apply-page{
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
}
body.apply-page .nn-public-footer{
  display:none!important;
}
body.apply-page .nn-main-nav{
  border-bottom:1px solid #edf1f6!important;
  box-shadow:0 8px 24px rgba(16,24,40,.04)!important;
}
body.has-mobile-cta{
  padding-bottom:84px!important;
}
body.apply-page .section{
  padding-top:34px!important;
  padding-bottom:64px!important;
}
body.apply-page .container{
  max-width:1040px!important;
}
.nn-form-head-v106{
  position:relative;
  overflow:hidden;
  border:0!important;
  background:
    radial-gradient(circle at 92% 8%, rgba(230,0,35,.08), transparent 16rem),
    #fff!important;
  box-shadow:0 22px 70px rgba(16,24,40,.08)!important;
}
.nn-form-head-v106:after{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-70px;
  width:180px;
  height:180px;
  border-radius:999px;
  background:rgba(230,0,35,.045);
}
.nn-form-head-v106 > *{
  position:relative;
  z-index:1;
}
#applicationCustomerForm .field-card{
  border:0!important;
  background:#fff!important;
  box-shadow:0 16px 50px rgba(16,24,40,.065)!important;
}
#applicationCustomerForm .field-card + .field-card{
  margin-top:2px;
}
#applicationCustomerForm .form-section-title{
  border-bottom:1px solid #edf1f6;
  padding-bottom:14px;
}
#applicationCustomerForm .form-section-title h2{
  color:#101828!important;
  letter-spacing:-.02em;
}
#applicationCustomerForm .form-label{
  margin-bottom:8px!important;
}
#applicationCustomerForm .form-control,
#applicationCustomerForm .form-select{
  min-height:52px!important;
  font-size:16px!important;
  background:#fff!important;
}
#applicationCustomerForm textarea.form-control{
  min-height:120px!important;
}
#applicationCustomerForm .form-check{
  border:1px solid #edf1f6;
  background:#f8fafc;
  border-radius:14px;
  padding:16px 16px 16px 46px;
}
#applicationCustomerForm .form-check-input{
  width:22px;
  height:22px;
  margin-left:-30px;
  margin-top:.15rem;
  accent-color:#e60023;
}
#applicationCustomerForm .form-check-label{
  font-weight:850;
  color:#344054;
}
#applicationCustomerForm .form-control[type=file]{
  min-height:auto!important;
  border-style:dashed!important;
  background:#fffafa!important;
}
#applicationCustomerForm .is-invalid,
#applicationCustomerForm :invalid:focus{
  border-color:#e60023!important;
}
.mobile-sticky-cta{
  display:none;
}
@media(max-width:991px){
  body.apply-page .nn-main-nav .container{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  body.apply-page .navbar-brand .brand-name-text{
    font-size:.95rem;
  }
  body.apply-page .brand-mark{
    width:38px!important;
    height:38px!important;
    font-size:.78rem!important;
  }
}
@media(max-width:760px){
  body.apply-page .section{
    padding-top:14px!important;
    padding-bottom:30px!important;
  }
  body.apply-page .container{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .nn-form-head-v106{
    margin:0 0 12px!important;
    padding:18px 16px!important;
    border-radius:18px!important;
    box-shadow:0 12px 34px rgba(16,24,40,.06)!important;
  }
  .nn-form-head-v106 span{
    font-size:.78rem!important;
    margin-bottom:4px!important;
  }
  .nn-form-head-v106 h1{
    font-size:1.35rem!important;
    line-height:1.22!important;
  }
  .nn-form-head-v106 p{
    font-size:.88rem!important;
    line-height:1.55!important;
  }
  #applicationCustomerForm .field-card{
    border-radius:18px!important;
    box-shadow:0 10px 28px rgba(16,24,40,.055)!important;
  }
  #applicationCustomerForm .field-card .card-body{
    padding:17px 14px!important;
  }
  #applicationCustomerForm .form-section-title{
    gap:10px!important;
    margin-bottom:16px!important;
    padding-bottom:12px!important;
  }
  #applicationCustomerForm .form-section-title h2{
    font-size:1.02rem!important;
  }
  #applicationCustomerForm .form-section-title .index{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
    font-size:.78rem!important;
  }
  #applicationCustomerForm .form-label{
    font-size:.9rem!important;
  }
  #applicationCustomerForm .form-control,
  #applicationCustomerForm .form-select{
    min-height:50px!important;
    border-radius:11px!important;
  }
  #applicationCustomerForm .form-text{
    font-size:.75rem!important;
  }
  #applicationCustomerForm .col-md-4,
  #applicationCustomerForm .col-md-6,
  #applicationCustomerForm .col-md-8,
  #applicationCustomerForm .col-md-12{
    width:100%!important;
  }
  .mobile-sticky-cta{
    display:block!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
  }
  .mobile-sticky-cta .btn{
    min-height:54px!important;
    font-size:1rem!important;
  }
}
/* confirm page mobile polish */
.confirm-shell,
.confirm-block,
.confirm-product-card{
  border-radius:20px!important;
}
@media(max-width:760px){
  .confirm-shell .card-body{
    padding:18px 14px!important;
  }
  .confirm-hero{
    padding:0!important;
  }
  .confirm-grid{
    grid-template-columns:1fr!important;
  }
  .confirm-product-card{
    margin-top:0!important;
  }
  form[action="/apply/complete"]{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1050;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    border-top:1px solid #edf1f6;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    box-shadow:0 -12px 34px rgba(16,24,40,.10);
  }
  form[action="/apply/complete"] .btn{
    flex:1 1 0;
    border-radius:999px!important;
    min-height:50px;
    font-weight:950!important;
  }
}
