/* SSMPRO CSS */
.ssmpro-map { width: 100%; border-radius: 12px; overflow: hidden; }
.ssmpro-panel { margin-top: 10px; }

.ssmpro-filters { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; margin-bottom: 8px; }
.ssmpro-filters .search { padding: 8px 10px; border: 1px solid #ddd; border-radius: 8px; }
.ssmpro-filters .clear { padding: 8px 12px; border: 1px solid #ddd; border-radius: 8px; background: #f9f9f9; cursor: pointer; }
.ssmpro-filters .chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; grid-column: 1 / -1; }
.ssmpro-filters .chips-title { font-size: 0.9rem; font-weight: 600; width: 100%; }
.ssmpro-filters .chip { padding: 6px 10px; border: 1px solid #ddd; border-radius: 999px; background: #fff; cursor: pointer; }
.ssmpro-filters .chip.active { background: #333; color: #fff; border-color: #333; }

.ssmpro-list { display: grid; gap: 10px; }
.ssmpro-item { display: grid; grid-template-columns: 96px 1fr; gap: 10px; padding: 10px; border: 1px solid #eee; border-radius: 10px; background: #fff; }
.ssmpro-item img { width: 96px; height: 72px; object-fit: cover; border-radius: 8px; }

/* ★ 下のリストを控えめサイズに */
.ssmpro-list, .ssmpro-list * { font-size: 0.9rem; line-height: 1.5; }
@media (max-width: 768px) { .ssmpro-list { font-size: 0.85rem; } }

.ssmpro-name { font-weight: 600; }
.ssmpro-meta { color: #666; font-size: 0.85em; }
.ssmpro-summary { color: #333; }

.ssmpro-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.tag { padding: 3px 8px; border: 1px solid #ddd; border-radius: 999px; font-size: 0.8em; background: #fff; }
.tag.accent { background: #f1f7ff; border-color: #cfe1ff; }
.tag.subtle { background: #f8f8f8; border-color: #e5e5e5; }

.leaflet-popup-content { margin: 12px 16px; }
