/* 律所列表页面样式 - 从 Lawfirmquery.vue 转换 */
.image-grid-container {
  max-width: var(--max-width-view); width: 80vw; margin: 0 auto;
  display: flex; flex-wrap: wrap; justify-content: center; gap: 20px;
  padding: 10px; background-color: #fff;
}
.image-item {
  max-width: 280px; width: 19vw; aspect-ratio: 1 / 1;
  border-radius: 4px; box-shadow: 0 0 4px rgba(0,0,0,0.2); position: relative;
}
.image-item .card {
  height: 100%; min-height: 320px; background-color: #fff; border: 1px solid #eee;
  border-radius: 6px; padding: 16px; box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}
.image-item .card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.image-item .card .logo {
  width: 85%; height: 40%; margin: 0 auto; display: flex; align-items: center;
  border-radius: 4px; margin-bottom: 8px; overflow: hidden;
}
.image-item .card .logo img { width: 100%; height: auto; }
.image-item .card .firm-name {
  font-size: 18px; font-weight: 600; margin: 8px 0 4px; color: var(--primary-color);
  text-align: center; border-top: #eee 1px solid; padding: 8px 0; margin-top: 18px;
}
.image-item .card .full-name,
.image-item .card .website,
.image-item .card .style-feature,
.image-item .card .desc {
  font-size: var(--font-size-base); color: #666; margin: 4px 0; line-height: 1.4;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.image-item .card .full-name span,
.image-item .card .website span { color: #000; }
.image-item .card .desc { color: #000; line-height: 1.55; font-size: 12px; }
.image-item .card .website a { color: #007bff; text-decoration: none; }
.image-item .card .website a:hover { text-decoration: underline; }
.image-item .image-text {
  display: none; width: 100%; height: 50%; background-color: rgba(0,0,0,0.4);
  position: absolute; bottom: 0; color: #fff; cursor: pointer;
  justify-content: center; align-items: end; padding: 35px 0;
}
.image-item .image-text .image-text-more {
  display: flex; justify-content: space-between; padding: 5px 15px; width: 60%;
  border-radius: 20px; border: var(--primary-color) 1px solid;
  background-color: #fe9906; color: #fff !important; cursor: pointer;
}
.image-item:hover .image-text { display: flex; }
.title-deta { margin: 40px auto; }
.title-PC { display: block; }
.title-web { display: none; }
@media (max-width: 768px) {
  .title-PC { display: none !important; }
  .title-web { display: block; }
  .image-item { width: 60vw; }
}
