
.stb-directory{width:100%;max-width:1200px;margin:0 auto;color:var(--stb-text);font-family:var(--stb-font-family)}
.stb-directory *{box-sizing:border-box}
.stb-directory-filters{background:var(--stb-card-bg);border:1px solid var(--stb-border);border-radius:var(--stb-radius);box-shadow:var(--stb-shadow);padding:34px 26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px 32px;align-items:end;margin-bottom:28px}
.stb-field{display:flex;flex-direction:column;gap:10px}
.stb-field label{font-size:var(--stb-label-font-size);font-weight:var(--stb-label-font-weight);color:var(--stb-text)}
.stb-field input,.stb-field select{width:100%;height:50px;border:1px solid var(--stb-input);border-radius:var(--stb-input-radius);padding:0 16px;font-size:var(--stb-input-font-size);color:var(--stb-text);background:#fff;outline:none}
.stb-search-btn{height:50px;border:0;border-radius:var(--stb-button-radius);background:var(--stb-button-bg)!important;color:var(--stb-button-text)!important;font-size:var(--stb-button-font-size)!important;font-weight:var(--stb-button-font-weight)!important;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:none;min-width:124px;padding:var(--stb-button-padding-y) var(--stb-button-padding-x)}
.stb-search-btn:hover{background:var(--stb-button-hover)!important}
.stb-search-btn span{font-size:22px;line-height:0}
.stb-per-page{flex-direction:row;align-items:center}.stb-per-page select{width:92px}
.stb-counter{margin:0 0 16px;font-weight:700;color:var(--stb-muted)}
.stb-table-wrap{background:var(--stb-card-bg);border:1px solid var(--stb-border);border-radius:var(--stb-radius);box-shadow:none;overflow:hidden}
.stb-table{width:100%;border-collapse:collapse;background:var(--stb-card-bg);margin:0!important;table-layout:auto}
.stb-table thead th{padding:28px var(--stb-cell-padding-x);text-align:left;font-size:var(--stb-table-header-font-size);font-weight:var(--stb-table-header-font-weight);color:var(--stb-primary);border-bottom:1px solid var(--stb-border);background:var(--stb-card-bg)}
.stb-table tbody td{padding:var(--stb-cell-padding-y) var(--stb-cell-padding-x);font-size:var(--stb-table-font-size);font-weight:var(--stb-table-font-weight);line-height:1.35;color:var(--stb-text);border-bottom:1px solid var(--stb-border);background:var(--stb-card-bg)}
.stb-table tbody tr:hover td{background:var(--stb-hover-bg)}
.stb-cell-button{display:inline-flex;background:var(--stb-button-bg);color:var(--stb-button-text)!important;padding:var(--stb-button-padding-y) var(--stb-button-padding-x);border-radius:var(--stb-button-radius);text-decoration:none!important;font-size:var(--stb-button-font-size);font-weight:var(--stb-button-font-weight)}
.stb-cell-image{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--stb-border)}
.stb-pagination{display:flex;justify-content:center;gap:8px;margin-top:24px;flex-wrap:wrap}
.stb-pagination a{min-width:38px;height:38px;border:1px solid var(--stb-border);border-radius:var(--stb-input-radius);display:flex;align-items:center;justify-content:center;text-decoration:none!important;color:var(--stb-text);font-weight:800}
.stb-pagination a.active,.stb-pagination a:hover{background:var(--stb-button-bg);color:var(--stb-button-text)!important;border-color:var(--stb-button-bg)}
@media(max-width:767px){
  .stb-directory-filters{grid-template-columns:1fr;padding:22px 18px}
  .stb-per-page{flex-direction:column;align-items:flex-start}
  .stb-mobile-scroll .stb-table-wrap{overflow-x:auto}
  .stb-mobile-scroll .stb-table{min-width:780px}
  .stb-mobile-cards .stb-table thead{display:none}
  .stb-mobile-cards .stb-table,.stb-mobile-cards .stb-table tbody,.stb-mobile-cards .stb-table tr,.stb-mobile-cards .stb-table td{display:block;width:100%}
  .stb-mobile-cards .stb-table-wrap{border:0;background:transparent;overflow:visible}
  .stb-mobile-cards .stb-table tbody tr{background:var(--stb-card-bg);border:1px solid var(--stb-border);border-radius:14px;margin-bottom:14px;overflow:hidden}
  .stb-mobile-cards .stb-table tbody td{display:flex;justify-content:space-between;gap:20px;padding:14px 18px;font-size:15px;text-align:right}
  .stb-mobile-cards .stb-table tbody td::before{content:attr(data-label);color:var(--stb-primary);font-weight:900;text-align:left}
}


.stb-sort-link{
  color:var(--stb-primary)!important;
  text-decoration:none!important;
  font-weight:var(--stb-table-header-font-weight);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.stb-sort-link:hover,
.stb-sort-link.active{
  color:var(--stb-primary-hover)!important;
}
