/* PHASE 9.22 — APPROVED FFL DEALERS & REQUEST FORM */
.ja922-page{background:#f4f4f2;color:#111419}
.ja922-inner{width:min(1180px,calc(100% - 40px));margin:0 auto}
.ja922-inner.narrow{width:min(920px,calc(100% - 40px))}
.ja922-hero{
  background:#0f1115;
  color:#fff;
  padding:62px 0 56px;
  border-bottom:4px solid #d71920
}
.ja922-hero span{
  display:block;
  color:#d71920;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:8px
}
.ja922-hero h1{margin:0;font-size:2.7rem;line-height:1.05}
.ja922-hero p{
  max-width:760px;
  margin:14px 0 22px;
  color:#c0c6cd;
  font-size:.92rem;
  line-height:1.65
}
.ja922-primary{
  display:inline-flex;
  background:#d71920;
  color:#fff;
  padding:12px 17px;
  font-size:.72rem;
  font-weight:900;
  text-decoration:none
}
.ja922-content{padding:34px 0 60px}

.ja922-toolbar{
  background:#fff;
  border:1px solid #d9dde1;
  margin-bottom:20px
}
.ja922-toolbar form{
  display:grid;
  grid-template-columns:minmax(0,2fr) 180px auto auto;
  align-items:end;
  gap:12px;
  padding:18px
}
.ja922-toolbar label,
.ja922-request-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#545d67;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.04em
}
.ja922-toolbar input,
.ja922-toolbar select,
.ja922-request-form input{
  width:100%;
  min-height:42px;
  border:1px solid #cfd4da;
  background:#fff;
  color:#111419;
  padding:9px 11px;
  font:inherit
}
.ja922-toolbar button{
  min-height:42px;
  border:0;
  background:#111419;
  color:#fff;
  padding:0 15px;
  font-size:.68rem;
  font-weight:900;
  cursor:pointer
}
.ja922-toolbar form>a{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cfd4da;
  color:#626b75;
  padding:0 14px;
  font-size:.68rem;
  font-weight:900;
  text-decoration:none
}

.ja922-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}
.ja922-dealer-card{
  background:#fff;
  border:1px solid #d9dde1;
  box-shadow:0 4px 12px rgba(0,0,0,.035)
}
.ja922-dealer-top{
  padding:18px 19px;
  border-bottom:1px solid #e6e9ec
}
.ja922-dealer-top span{
  display:block;
  color:#2d7d32;
  font-size:.57rem;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:5px
}
.ja922-dealer-top strong{display:block;font-size:.95rem}
.ja922-dealer-top small{
  display:block;
  color:#727b85;
  font-size:.68rem;
  margin-top:4px
}
.ja922-dealer-body{padding:8px 19px 18px}
.ja922-dealer-body>div{
  padding:10px 0;
  border-bottom:1px solid #edf0f2
}
.ja922-dealer-body>div:last-child{border-bottom:0}
.ja922-dealer-body span{
  display:block;
  color:#7a828c;
  font-size:.58rem;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:5px
}
.ja922-dealer-body strong{
  display:block;
  font-size:.76rem;
  line-height:1.5
}
.ja922-empty{
  background:#fff;
  border:1px solid #d9dde1;
  text-align:center;
  padding:55px 24px
}
.ja922-empty strong{display:block;font-size:1rem}
.ja922-empty p{
  max-width:650px;
  margin:8px auto 18px;
  color:#6d7680;
  font-size:.78rem;
  line-height:1.55
}
.ja922-info{
  margin-top:24px;
  background:#111419;
  color:#fff;
  padding:20px 22px;
  border-left:4px solid #d71920
}
.ja922-info strong{display:block;font-size:.88rem}
.ja922-info p{
  margin:6px 0 10px;
  color:#bbc2ca;
  font-size:.74rem;
  line-height:1.5
}
.ja922-info a{color:#fff;font-size:.68rem;font-weight:900}

/* form */
.ja922-request-form>section{
  background:#fff;
  border:1px solid #d9dde1;
  margin-bottom:18px
}
.ja922-section-title{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  padding:17px 20px;
  border-bottom:1px solid #e3e6e9
}
.ja922-section-title>span{
  width:32px;
  height:32px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111419;
  color:#fff;
  font-size:.62rem;
  font-weight:900
}
.ja922-section-title strong{display:block;font-size:.86rem}
.ja922-section-title small{
  display:block;
  color:#747d87;
  font-size:.68rem;
  margin-top:3px
}
.ja922-form-grid{
  display:grid;
  gap:16px;
  padding:20px
}
.ja922-form-grid.two{grid-template-columns:1fr 1fr}
.ja922-form-grid.one{grid-template-columns:1fr;padding-top:0}
.ja922-form-grid.address{
  grid-template-columns:2fr 1.2fr .55fr .85fr
}
.ja922-form-grid.address .street{grid-column:auto}
.ja922-request-form input[type=file]{
  padding:8px;
  height:auto
}
.ja922-verification-choice{
  display:grid;
  grid-template-columns:1fr 55px 1fr;
  gap:14px;
  align-items:center;
  padding:20px
}
.ja922-verification-choice small{
  display:block;
  color:#747d87;
  font-size:.68rem;
  margin-top:7px;
  line-height:1.4
}
.ja922-verification-choice .or{
  display:flex;
  align-items:center;
  justify-content:center
}
.ja922-verification-choice .or span{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#f1f2f3;color:#68717a;
  font-size:.6rem;font-weight:900
}
.ja922-form-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:20px
}
.ja922-form-actions>a{
  display:inline-flex;
  align-items:center;
  border:1px solid #cfd4da;
  color:#5f6872;
  padding:11px 15px;
  font-size:.68rem;
  font-weight:900;
  text-decoration:none
}
.ja922-form-actions button{
  border:0;
  background:#d71920;
  color:#fff;
  padding:12px 17px;
  font-size:.68rem;
  font-weight:900;
  cursor:pointer
}
.ja922-errors{
  background:#fff0f0;
  border:1px solid #e4a5a5;
  border-left:4px solid #b62a2a;
  padding:16px 18px;
  margin-bottom:18px;
  color:#7e2525
}
.ja922-errors strong{font-size:.8rem}
.ja922-errors ul{margin:8px 0 0;padding-left:18px;font-size:.72rem;line-height:1.6}
.ja922-success{
  background:#fff;
  border:1px solid #d9dde1;
  border-left:4px solid #2d7d32;
  padding:30px
}
.ja922-success strong{display:block;font-size:1.05rem}
.ja922-success p{
  color:#66707a;
  font-size:.78rem;
  line-height:1.55;
  margin:8px 0 15px
}
.ja922-success a{color:#c5161d;font-size:.68rem;font-weight:900}

@media(max-width:950px){
  .ja922-grid{grid-template-columns:1fr 1fr}
  .ja922-toolbar form{grid-template-columns:1fr 1fr}
  .ja922-toolbar .search{grid-column:1/-1}
  .ja922-form-grid.address{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .ja922-hero h1{font-size:2rem}
  .ja922-grid,
  .ja922-toolbar form,
  .ja922-form-grid.two,
  .ja922-form-grid.address,
  .ja922-verification-choice{grid-template-columns:1fr}
  .ja922-verification-choice .or{padding:4px 0}
  .ja922-form-actions{justify-content:flex-start;flex-wrap:wrap}
}
