body.listing-page { --accent: #7a1f3d; }
body.listing-page { margin: 0; background: #fff; color: #1a1a1a; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
.listing-page #filterform { max-width: 1200px; margin: 0 auto; padding: 0 16px 40px; }
.searchrow { display: flex; flex-wrap: nowrap; gap: 8px; padding: 20px 0; align-items: center; }
.searchrow input[type=search] { flex: 1; min-width: 0; font-size: 1rem; padding: 10px 12px; border: 1px solid #999; border-radius: 4px; background: #fff; color: #1a1a1a; }
.listing-page button { font: inherit; padding: 10px 16px; border: 1px solid #7a1f3d; background: #7a1f3d; color: #fff; border-radius: 4px; cursor: pointer; }
.viewtoggle { display: flex; }
.viewtoggle button { background: #fff; color: #7a1f3d; border-color: #7a1f3d; padding: 10px 12px; border-radius: 0; }
.viewtoggle button:first-child { border-radius: 4px 0 0 4px; }
.viewtoggle button:last-child { border-radius: 0 4px 4px 0; border-left: 0; }
.viewtoggle button[aria-pressed=true] { background: #7a1f3d; color: #fff; }
.layout { display: grid; grid-template-columns: 240px 1fr; gap: 28px; align-items: start; }
.filters label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: 12px; }
.filters select, .filters input { display: block; width: 100%; box-sizing: border-box; margin-top: 4px; padding: 7px 8px; font: inherit; font-weight: 400; border: 1px solid #999; border-radius: 4px; background: #fff; color: #1a1a1a; }
.filters .err { display: block; color: #b00020; font-weight: 400; font-size: .8rem; margin-top: 2px; }
.filter-actions { display: flex; gap: 12px; align-items: center; }
.filter-actions a { color: var(--accent); }
.count { margin: 0 0 12px; color: #555; font-size: .9rem; }
.cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.cards.grid { grid-template-columns: repeat(3, 1fr); }
.cards.list { grid-template-columns: 1fr; }
.card { border: 1px solid var(--accent); background: #fff; }
.card a { display: flex; gap: 12px; padding: 10px; color: inherit; text-decoration: none; height: 100%; box-sizing: border-box; }
.card a:hover { background: #f6f6f6; }
.card img, .card .noimg { flex: 0 0 auto; width: 52px; max-height: 200px; object-fit: contain; align-self: flex-start; }
.card .noimg { height: 120px; }
.info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.c-score { flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: #7a1f3d; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.05rem; line-height: 1; margin-bottom: 3px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.c-cat { font-size: .8rem; color: #555; }
.c-title { font-size: 1rem; line-height: 1.25; }
.c-area, .c-meta { font-size: .85rem; color: #333; }
.empty { padding: 24px 0; color: #555; }
.pager { display: flex; gap: 16px; justify-content: center; margin-top: 24px; }
.pager a { color: var(--accent); }
@media (max-width: 980px) { .cards.grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) {
  .listing-page button { padding: 10px 12px; }
  .layout { grid-template-columns: 1fr; }
  .cards.grid { grid-template-columns: 1fr; }
}

/* /nyheter/ (iframe): ingen meny, kun 3x2 kort */
body.news-page { background: transparent; }
.news-wrap { padding: 8px; }
