
.underside .side-topp { border-bottom: 1px solid var(--strek); }
.vu-liste { display: grid; gap: var(--gap); margin: 6px 0 18px; }
.vu-liste .vu-kort { box-shadow: 0 1px 0 var(--strek); padding-bottom: 18px; }
.vu-liste .vu-jobb { color: var(--tekst-dempet); }
.rel-tittel { font-size: clamp(1.6rem, 1.25rem + 1.4vw, 2.3rem); margin-bottom: var(--gap-stor); }
.rel-alle { margin-top: 26px; }
.tekstblokk a { text-underline-offset: 3px; }
@media (min-width: 760px) { .vu-liste { grid-template-columns: 1fr 1fr; } }
.kommuner { display: grid; gap: 8px 40px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); margin-bottom: 18px; }
.kommune h3 { font-size: 1.15rem; margin: 18px 0 4px; }
.kommune .stedliste { grid-template-columns: 1fr; }
.oversikt-tekst { margin-bottom: var(--gap-stor); }
.oversikt-spm { margin-top: var(--gap-stor); }

.pp-del + .pp-del { margin-top: var(--gap-stor); }
.pp-del-topp { display: flex; flex-direction: column; gap: 8px; margin-bottom: var(--gap); }
.pp-galleri { columns: 1; column-gap: var(--gap); }
@media (min-width: 640px) { .pp-galleri { columns: 2; } }
@media (min-width: 1100px) { .pp-galleri { columns: 3; } }
.pp-bilde { break-inside: avoid; margin: 0 0 var(--gap); }
.pp-bilde img, .pp-steg img { width: 100%; height: auto; border-radius: var(--radius); }
.pp figcaption { margin-top: 10px; font-size: var(--liten); line-height: 1.45; color: var(--tekst-dempet); }
.pp-stegliste { display: grid; gap: var(--gap) 12px; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; list-style: none; }
@media (max-width: 639px) { .pp-steg figcaption { font-size: 0.8125rem; } .pp-steg-nr { top: 8px; left: 8px; } }
@media (min-width: 640px) { .pp-stegliste { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .pp-stegliste { grid-template-columns: repeat(4, 1fr); } }
.pp-steg { position: relative; }
.pp-steg figure { margin: 0; }
.pp-steg img { aspect-ratio: 4 / 5; object-fit: cover; }
.pp-steg-nr { position: absolute; top: 12px; left: 12px; z-index: 1; padding: 5px 10px; border-radius: 999px; background: var(--mork); color: var(--mork-tekst);
  font-size: 0.78rem; letter-spacing: 0.08em; font-variant-numeric: tabular-nums; }
.pp-tj { margin-top: var(--gap-stor); }
.tj-lenker { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.tj-lenke { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--strek); border-radius: 999px;
  font-weight: var(--vekt-halv); text-decoration: none; }
.tj-lenke:hover { border-color: var(--strek-sterk); }
.tj-lenke svg { width: 14px; height: 14px; }
.pp-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--gap); align-items: center; margin-top: var(--gap-stor); padding-top: var(--gap); border-top: 1px solid var(--strek); }
.pp-nav a { display: flex; flex-direction: column; gap: 4px; text-decoration: none; }
.pp-nav a span { font-size: var(--liten); color: var(--tekst-dempet); }
.pp-nav .pp-neste { align-items: flex-end; text-align: right; }
.pp-nav .pp-alle { font-weight: var(--vekt-halv); }
@media (max-width: 639px) { .pp-nav { grid-template-columns: 1fr 1fr; } .pp-nav .pp-alle { grid-column: 1 / -1; order: 3; align-items: center; } }
.tp .ua-rutenett { margin-top: var(--gap); }
@media (min-width: 640px) { .pp-galleri.par { columns: 2; } }
