/* v0.3.1 styles (sama kuin v0.3) */
.kshe-wrap { margin: 1rem 0; }
.kshe-form { margin-bottom: 12px; }
.kshe-filters { display: grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap: 8px; align-items: end; }
.kshe-filters label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.kshe-filters .kshe-check { flex-direction: row; align-items: center; gap: 6px; }
.kshe-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill,minmax(280px,1fr)); gap: 12px; }
.kshe-item { background: #fff; border: 1px solid #e5e5e5; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.kshe-link { display: flex; color: inherit; text-decoration: none; min-height: 90px; }
.kshe-thumb img { width: 120px; height: 100%; object-fit: cover; display: block; }
.kshe-meta { padding: 10px; display: flex; flex-direction: column; gap: 4px; }
.kshe-title { font-weight: 600; }
.kshe-time, .kshe-loc { color: #666; font-size: 0.9em; }
.kshe-kws { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 4px; }
.kshe-kw { background: #f2f5ff; color: #2f4cb0; padding: 2px 6px; border-radius: 999px; font-size: 12px; }
.kshe-empty, .kshe-error { color: #900; }
.kshe-source { margin-top: 8px; font-size: 0.85em; color: #777; }
.kshe-pager { display: flex; gap: 10px; align-items: center; margin-top: 12px; }

/* Modal */
.kshe-modal__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);} 
.kshe-modal__dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;max-width:800px;width:90vw;max-height:85vh;overflow:auto;border-radius:10px;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.3);} 
.kshe-modal__close{position:absolute;right:8px;top:8px;background:transparent;border:0;font-size:22px;line-height:1;cursor:pointer;}
