/* v93 - Contact page final dropdown + What Happens Next spacing
   Keep one reliable custom Service picker on desktop and mobile. The native
   select remains in the DOM only as the submitted form value. */

/* ---------- Contact Service picker: desktop + mobile ---------- */
#contact-form .contact-page-subject-field{
  display:grid!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
#contact-form .contact-page-subject-field>label{
  display:block!important;
  margin:0!important;
  color:#4c5661!important;
  font-size:11px!important;
  font-weight:700!important;
}
/* Never invoke the browser-native option popup on the Contact page. */
#contact-form .contact-page-subject-field>select,
#contact-form select[name="subject"][data-contact-page-subject-select]{
  display:none!important;
}
#contact-form .contact-page-mobile-select{
  display:grid!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  position:static!important;
}
#contact-form .contact-page-mobile-select-toggle{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  padding:11px 42px 11px 13px!important;
  border:1px solid #dfe3e7!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#1c2733!important;
  font:inherit!important;
  font-size:13px!important;
  line-height:1.25!important;
  text-align:left!important;
  position:relative!important;
  cursor:pointer!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
#contact-form .contact-page-mobile-select-toggle:hover{
  border-color:#ffb27c!important;
}
#contact-form .contact-page-mobile-select-toggle:focus-visible{
  outline:none!important;
  border-color:#ff7417!important;
  box-shadow:0 0 0 3px rgba(255,116,23,.10)!important;
}
#contact-form .contact-page-mobile-select-chevron{
  position:absolute!important;
  right:15px!important;
  top:50%!important;
  width:8px!important;
  height:8px!important;
  border-right:2px solid #52616f!important;
  border-bottom:2px solid #52616f!important;
  transform:translateY(-65%) rotate(45deg)!important;
  transition:transform .18s ease!important;
  pointer-events:none!important;
}
#contact-form .contact-page-mobile-select-toggle[aria-expanded="true"] .contact-page-mobile-select-chevron{
  transform:translateY(-30%) rotate(225deg)!important;
}
/* In-flow list: opens reliably on desktop and never overlaps/clips the form. */
#contact-form .contact-page-mobile-select-menu{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  display:block;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:220px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  border:1px solid #dfe3e7!important;
  border-radius:8px!important;
  background:#fff!important;
  padding:5px!important;
  margin:0!important;
  box-shadow:0 8px 22px rgba(7,29,52,.10)!important;
  z-index:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin;
  scrollbar-color:#b9c2ca #f4f6f8;
}
#contact-form .contact-page-mobile-select-menu[hidden]{display:none!important}
#contact-form .contact-page-mobile-select-option{
  display:block!important;
  width:100%!important;
  min-height:40px!important;
  padding:9px 11px!important;
  margin:0!important;
  border:0!important;
  border-radius:5px!important;
  background:#fff!important;
  color:#162536!important;
  font:inherit!important;
  font-size:13px!important;
  line-height:1.3!important;
  text-align:left!important;
  white-space:normal!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
#contact-form .contact-page-mobile-select-option + .contact-page-mobile-select-option{margin-top:2px!important}
#contact-form .contact-page-mobile-select-option:hover,
#contact-form .contact-page-mobile-select-option:focus-visible,
#contact-form .contact-page-mobile-select-option.is-selected{
  outline:none!important;
  background:#fff1e7!important;
  color:#c9580d!important;
}
#contact-form .contact-form-card,
#contact-form .contact-form,
#contact-form .form-row{
  min-width:0!important;
  max-width:100%!important;
}
#contact-form .contact-form-card,
#contact-form .contact-form{overflow:visible!important}

/* ---------- What Happens Next: separated equal cards ---------- */
.contact-conversion-page > .contact-next-steps .next-step-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
  margin-top:34px!important;
}
.contact-conversion-page > .contact-next-steps .next-step-grid:before{
  display:none!important;
}
.contact-conversion-page > .contact-next-steps .next-step-grid article{
  width:100%!important;
  min-width:0!important;
  min-height:210px!important;
  margin:0!important;
  padding:24px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
}
.contact-conversion-page > .contact-next-steps .next-step-grid .process-icon{
  flex:0 0 auto!important;
  margin:0 auto 16px!important;
}
.contact-conversion-page > .contact-next-steps .next-step-grid h3{
  margin:0 0 9px!important;
  text-align:center!important;
}
.contact-conversion-page > .contact-next-steps .next-step-grid p{
  margin:0 auto!important;
  max-width:220px!important;
  text-align:center!important;
}

@media(max-width:991px){
  .contact-conversion-page > .contact-next-steps .next-step-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .contact-conversion-page > .contact-next-steps .next-step-grid article{
    min-height:195px!important;
  }
}
@media(max-width:560px){
  #contact-form .contact-page-mobile-select-menu{max-height:190px!important;box-shadow:none!important}
  .contact-conversion-page > .contact-next-steps .next-step-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-top:26px!important;
  }
  .contact-conversion-page > .contact-next-steps .next-step-grid article{
    min-height:0!important;
    padding:20px 16px!important;
  }
}
