:root{
  --bg:#f3f4f6;
  --card:#ffffff;
  --border:#d9dde3;
  --text:#16324f;
  --muted:#5a6778;
  --link:#1f5faa;
}

body{
  background:var(--bg);
  color:var(--text);
  font-family: Arial, Helvetica, sans-serif;
}

.directory-wrap{
  max-width:1400px;
  margin:0 auto;
  padding:0 20px;
  box-sizing:border-box;
}


.directory-search-form{
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr)) auto;
  gap:18px !important;
  align-items:end;
  margin:11px 0 5px !important;
  padding:1px 18px 5px !important;
}


.directory-search-form label{
  display:flex;
  flex-direction:column;
  gap:12px !important;
  font-size:14px !important;
  line-height:1.3 !important;
  font-weight:600;
  color:#374151;
}


.directory-search-form select,
.directory-search-form input{
  height:38px;
  border:1px solid var(--border);
  border-radius:8px;
  padding:0 10px;
  background:#fff;
  color:var(--text);
}

.directory-search-form button{
  height:36px;
  min-width:130px;
  padding:0 18px;
  border:1px solid #8f98a3;
  border-radius:8px;
  background:#7f8894;
  color:#fff;
  font-weight:700;
  letter-spacing:.2px;
  cursor:pointer;
}

.directory-search-form button:hover{
  background:#6f7884;
}


.result-count{
  display:inline-block;
  margin:10px 0 18px;
  padding:8px 14px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#f8f9fb;
  color:var(--text);
  font-size:14px;
  font-weight:600;
}

.carrier-cards{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:17px;
}

.carrier-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  padding:11px;
  box-sizing:border-box;
  width:auto;
  min-width:0;
}

.carrier-card-title{
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  margin-bottom:6px;
}

.carrier-card-title a{
  color:var(--link);
  text-decoration:none;
}

.carrier-card-address{
  font-size:12px;
  color:var(--muted);
  line-height:1.35;
  margin-bottom:8px;
}

.carrier-card-item{
  font-size:12px;
  line-height:1.35;
}

.carrier-card-item b{
  font-weight:700;
}

.pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin:24px 0 8px;
}

.pagination a,
.pagination span{
  display:inline-block;
  min-width:36px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#fff;
  color:var(--link);
  text-align:center;
  text-decoration:none;
  font-size:14px;
  line-height:1;
}

.pagination .current{
  background:#7f8894;
  border-color:#7f8894;
  color:#fff;
  font-weight:700;
}

@media (max-width:1350px){
  .carrier-cards{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width:900px){
  .carrier-cards{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .directory-search-form{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}

@media (max-width:600px){
  .carrier-cards{
    grid-template-columns:1fr;
  }

  .directory-search-form{
    grid-template-columns:1fr 1fr;
  }
}