.fris-cat{max-width:1200px;margin:0 auto}
.fris-cat-search{display:flex;gap:.5rem;margin-bottom:1rem}
.fris-cat-search input{flex:1;padding:.7rem 1rem;border:1px solid #c9d3da;border-radius:6px;font-size:1rem}
.fris-cat button{background:#0A577D;color:#fff;border:0;border-radius:6px;padding:.7rem 1.2rem;font-size:1rem;cursor:pointer}
.fris-cat button:hover{background:#e8761f}
.fris-cat-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem;align-items:start}
.fris-cat-filter{border:1px solid #d5dde3;border-radius:6px;background:#fff}
.fris-cat-filter summary{padding:.55rem .8rem;cursor:pointer;font-weight:500;color:#0A577D}
.fris-cat-opts{max-height:240px;overflow:auto;padding:.3rem .8rem .8rem;display:flex;flex-direction:column;gap:.25rem}
.fris-cat-opts label{font-size:.92rem;display:flex;gap:.4rem;align-items:center;cursor:pointer}
.fris-cat-opts label span{color:#8a97a0;margin-left:auto;font-size:.8rem}
.fris-cat-actions{margin:1rem 0;display:flex;gap:1rem;align-items:center}
.fris-cat-count{color:#55636d;margin:1rem 0}
.fris-cat-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.fris-cat-grid a{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #e1e7eb;border-radius:8px;overflow:hidden;transition:box-shadow .2s}
.fris-cat-grid a:hover{box-shadow:0 4px 14px rgba(10,87,125,.18)}
.fris-cat-img{display:block;aspect-ratio:4/5;background:#ececec}
.fris-cat-img img{width:100%;height:100%;object-fit:cover;display:block}
.fris-cat-title{display:block;padding:.7rem .8rem 0;font-weight:500;color:#0A577D;line-height:1.3}
.fris-cat-meta{display:block;padding:.2rem .8rem .8rem;font-size:.85rem;color:#6b7a84}
.fris-cat-pages{margin:2rem 0;text-align:center}
.fris-cat-pages .page-numbers{display:inline-block;padding:.4rem .8rem;margin:0 .15rem;border:1px solid #d5dde3;border-radius:5px;text-decoration:none}
.fris-cat-pages .current{background:#0A577D;color:#fff;border-color:#0A577D}
.fris-obj-dl{display:grid;grid-template-columns:max-content 1fr;gap:.45rem 1.2rem;margin:1rem 0}
.fris-obj-dl dt{font-weight:500;color:#0A577D}
.fris-obj-dl dd{margin:0}
@media(max-width:1000px){.fris-cat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.fris-cat-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}.fris-cat-search{flex-direction:column}}
