.amsp-wrap { max-width: 1200px; margin: 0 auto; padding: 10px 16px 40px; }
.amsp-title { font-size: 28px; margin: 10px 0 6px; }
.amsp-subtitle { font-size: 20px; margin: 18px 0 12px; }

.amsp-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}

.amsp-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(0,0,0,.06);
  display: flex; flex-direction: column;
}
.amsp-thumb {
  width: 100%; height: 140px;
  background-size: cover; background-position: center;
}
.amsp-body { padding: 12px; display:flex; flex-direction:column; gap:8px; }
.amsp-name { font-size: 16px; margin: 0; }
.amsp-meta { display:flex; gap:10px; font-size: 13px; color:#555; }
.amsp-type { font-size: 12px; color:#666; }
.amsp-btn {
  margin-top: 6px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #e74c3c;
  background: transparent;
  color: #e74c3c;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  transition: .2s ease;
}
.amsp-btn:hover { background:#e74c3c; color:#fff; }
.amsp-outline { }

.amsp-filters {
  background:#fff; border:1px solid #eee; border-radius:14px; padding:16px; margin:10px 0 16px;
}
.amsp-filter-row { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; }
.amsp-label { display:flex; flex-direction:column; font-size:14px; gap:6px; min-width:154px; }
.amsp-ico { opacity:.8; margin-right:6px; }
.amsp-select, .amsp-input {
  height: 36px; padding: 6px 8px; border:1px solid #ddd; border-radius:10px; background:#fafafa;
}
.amsp-empty { padding: 12px; color:#666; }
.book-service-form label{width:100% !important;}

@media (max-width: 900px){
	.amsp-grid{ grid-template-columns: repeat(2,1fr);} 
    .amsp-label {min-width: 100%;}
}
@media (max-width: 560px){ .amsp-grid{ grid-template-columns: 1fr; } }
