/*
 * Lagerboks – hovedsidene i nytt design ([lagerboks_side], 2.14.0).
 * Bygger på minilager.css (farger, skrift, knapper, hero, kort, fordeler og steg) og legger til
 * delene de andre sidene trenger. Lastes etter refresh-stilarket.
 */

.lgbx-ml section[id] {
    scroll-margin-top: 92px;
}

body .lgbx-ml p a,
body .lgbx-ml li a:not([class]) {
    color: var(--ml-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body .lgbx-ml p a:hover,
body .lgbx-ml li a:not([class]):hover {
    color: var(--ml-blue-dark);
}

.lgbx-ml .lgbx-ml__hode--midt {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.lgbx-ml .lgbx-ml__seksjon--tett {
    padding-top: 0;
}

.lgbx-ml .lgbx-ml__knapper--midt {
    justify-content: center;
    margin: 36px 0 0;
}

body .lgbx-ml p.lgbx-ml__liten {
    margin-top: 18px;
    color: var(--ml-muted);
    font-size: 15px;
    text-align: center;
}

/* ── Hero: priskort oppå bildet, og en variant uten bilde ───────────────── */

.lgbx-ml .lgbx-ml__hero-media {
    position: relative;
}

.lgbx-ml .lgbx-ml__prisbrikke {
    position: absolute;
    bottom: -22px;
    left: -22px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 230px;
    padding: 18px 22px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
    box-shadow: 0 16px 40px rgba(11, 34, 57, 0.16);
    color: var(--ml-muted);
    font-size: 14px;
    line-height: 1.4;
}

.lgbx-ml .lgbx-ml__prisbrikke strong {
    color: var(--ml-navy);
    font-size: 34px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.lgbx-ml .lgbx-ml__prisbrikke strong small {
    color: var(--ml-muted);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
}

.lgbx-ml .lgbx-ml__hero--enkel {
    padding: 64px 0 48px;
}

.lgbx-ml .lgbx-ml__hero--enkel .lgbx-ml__h1 {
    max-width: 20ch;
}

.lgbx-ml .lgbx-ml__hero--enkel .lgbx-ml__knapper {
    margin-bottom: 0;
}

.lgbx-ml .lgbx-ml__hero .lgbx-ml__h1--bred {
    max-width: 17ch;
}

body .lgbx-ml p.lgbx-ml__hero-adresse {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin: 0 0 24px;
    color: var(--ml-ink);
    font-size: 16px;
    font-weight: 600;
}

.lgbx-ml .lgbx-ml__hero-adresse svg {
    width: 20px;
    height: 20px;
    color: var(--ml-blue);
}

.lgbx-ml .lgbx-ml__tilbud {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px;
    padding: 7px 14px;
    border-radius: 999px;
    background: var(--ml-green-soft);
    color: #14532d;
    font-size: 14px;
    font-weight: 700;
}

/* ── Tillitsstripe under heroen ─────────────────────────────────────────── */

.lgbx-ml .lgbx-ml__stripe {
    padding: 22px 0;
    border-top: 1px solid var(--ml-line);
    border-bottom: 1px solid var(--ml-line);
    background: #fff;
}

.lgbx-ml ul.lgbx-ml__stripe-liste {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__stripe-liste li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 0;
    color: var(--ml-navy);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__stripe-liste svg {
    width: 26px;
    height: 26px;
    color: var(--ml-blue);
}

/* ── Merker (kampanjer) ─────────────────────────────────────────────────── */

.lgbx-ml ul.lgbx-ml__merker {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__merker--midt {
    justify-content: center;
}

.lgbx-ml ul.lgbx-ml__merker li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 9px 16px;
    border-radius: 999px;
    background: var(--ml-green-soft);
    color: #14532d;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__merker svg {
    width: 16px;
    height: 16px;
    stroke-width: 3;
}

/* ── Tre steg med bilde ─────────────────────────────────────────────────── */

.lgbx-ml ol.lgbx-ml__bildesteg {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.lgbx-ml ol.lgbx-ml__bildesteg > li {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
    list-style: none;
}

.lgbx-ml .lgbx-ml__bildesteg-bilde {
    background: var(--ml-bg);
}

.lgbx-ml .lgbx-ml__bildesteg-bilde img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.lgbx-ml .lgbx-ml__bildesteg-tekst {
    position: relative;
    padding: 30px 24px 26px;
}

.lgbx-ml .lgbx-ml__bildesteg .lgbx-ml__nr {
    position: absolute;
    top: -20px;
    left: 24px;
    width: 40px;
    height: 40px;
    margin: 0;
    border: 3px solid #fff;
    font-size: 16px;
}

.lgbx-ml .lgbx-ml__bildesteg .lgbx-ml__h3 {
    margin-bottom: 8px;
}

body .lgbx-ml .lgbx-ml__bildesteg p {
    font-size: 16px;
}

/* ── Priskort ───────────────────────────────────────────────────────────── */

.lgbx-ml .lgbx-ml__planer {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.lgbx-ml .lgbx-ml__planer--seks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lgbx-ml .lgbx-ml__plan {
    display: flex;
    flex-direction: column;
    padding: 26px 24px 22px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
    box-shadow: var(--ml-shadow);
}

.lgbx-ml .lgbx-ml__plan-bilde {
    align-self: center;
    width: auto;
    max-width: 100%;
    height: 120px;
    margin-bottom: 18px;
    object-fit: contain;
}

.lgbx-ml .lgbx-ml__plan .lgbx-ml__h3 {
    font-size: 22px !important;
}

body .lgbx-ml p.lgbx-ml__plan-volum {
    margin: 6px 0 10px;
    color: var(--ml-blue);
    font-size: 15px;
    font-weight: 700;
}

body .lgbx-ml p.lgbx-ml__plan-passer {
    margin-bottom: 18px;
    font-size: 15.5px;
}

.lgbx-ml dl.lgbx-ml__plan-priser {
    display: grid;
    gap: 0;
    margin: auto 0 0;
    padding: 0;
    border-top: 1px solid var(--ml-line);
}

.lgbx-ml dl.lgbx-ml__plan-priser > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0 0;
}

.lgbx-ml dl.lgbx-ml__plan-priser dt {
    margin: 0;
    color: var(--ml-muted);
    font-size: 15px;
    font-weight: 500;
}

.lgbx-ml dl.lgbx-ml__plan-priser dd {
    margin: 0;
    color: var(--ml-muted);
    font-size: 14px;
    white-space: nowrap;
}

.lgbx-ml dl.lgbx-ml__plan-priser dd strong {
    margin-right: 3px;
    color: var(--ml-navy);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

/* Tre fordelskort i bredden (prissiden). Under 1000 px gjelder reglene i minilager.css. */
@media (min-width: 1001px) {
    .lgbx-ml .lgbx-ml__fordeler--tre {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ── Kort for tjenester (bilde, tekst og lenke) ─────────────────────────── */

.lgbx-ml .lgbx-ml__tjenester {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.lgbx-ml .lgbx-ml__tjeneste {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
    box-shadow: var(--ml-shadow);
}

.lgbx-ml .lgbx-ml__tjeneste-bilde {
    background: var(--ml-bg);
}

.lgbx-ml .lgbx-ml__tjeneste-bilde img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.lgbx-ml .lgbx-ml__tjeneste-merke {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(11, 34, 57, 0.18);
    color: #14532d;
    font-size: 13px;
    font-weight: 700;
}

.lgbx-ml .lgbx-ml__tjeneste-tekst {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
}

.lgbx-ml .lgbx-ml__tjeneste .lgbx-ml__h3 {
    margin-bottom: 8px;
    font-size: 22px !important;
}

body .lgbx-ml .lgbx-ml__tjeneste p {
    margin-bottom: 18px;
    font-size: 16px;
}

.lgbx-ml .lgbx-ml__tjeneste a.lgbx-ml__lenke {
    min-height: 44px;
    margin-top: auto;
}

/* Hele kortet er klikkbart via lenken nederst. */
.lgbx-ml .lgbx-ml__tjeneste a.lgbx-ml__lenke::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
}

/* ── Omtaler ────────────────────────────────────────────────────────────── */

.lgbx-ml .lgbx-ml__omtaler {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.lgbx-ml figure.lgbx-ml__omtale {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 28px 26px 24px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
}

.lgbx-ml .lgbx-ml__omtale blockquote {
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--ml-ink);
    font-size: 16px;
    font-style: normal;
    line-height: 1.6;
    quotes: none;
}

body .lgbx-ml .lgbx-ml__omtale blockquote p {
    color: var(--ml-ink);
    font-size: 16px;
}

.lgbx-ml .lgbx-ml__omtale blockquote::before,
.lgbx-ml .lgbx-ml__omtale blockquote::after {
    display: none;
    content: none;
}

.lgbx-ml svg.lgbx-ml__omtale-tegn {
    width: 30px;
    height: 22px;
    margin-bottom: 16px;
    fill: var(--ml-cyan);
    stroke: none;
}

.lgbx-ml .lgbx-ml__omtale figcaption {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--ml-line);
    color: var(--ml-muted);
    font-size: 14.5px;
    line-height: 1.45;
}

.lgbx-ml .lgbx-ml__omtale figcaption strong {
    display: block;
    color: var(--ml-navy);
    font-size: 16px;
    font-weight: 700;
}

.lgbx-ml .lgbx-ml__stjerner {
    display: flex;
    gap: 3px;
    margin-bottom: 14px;
}

.lgbx-ml .lgbx-ml__stjerner svg {
    width: 20px;
    height: 20px;
    fill: #f5a623;
    stroke: none;
}

.lgbx-ml .lgbx-ml__omtaler--en {
    grid-template-columns: minmax(0, 720px);
    justify-content: center;
}

.lgbx-ml .lgbx-ml__omtaler + .lgbx-ml__midt {
    margin-top: 28px;
}

/* ── Tilbudsmerket i toppfeltet er en lenke til prisene ─────────────────── */

.lgbx-ml a.lgbx-ml__tilbud {
    text-decoration: none;
}

.lgbx-ml a.lgbx-ml__tilbud:hover {
    background: #d5efdd;
    color: #14532d;
}

/* ── Spørsmål og svar ───────────────────────────────────────────────────── */

.lgbx-ml .lgbx-ml__faq {
    max-width: 860px;
    margin: 0 auto;
}

.lgbx-ml details.lgbx-ml__sporsmal {
    border-bottom: 1px solid var(--ml-line);
}

.lgbx-ml details.lgbx-ml__sporsmal:first-child {
    border-top: 1px solid var(--ml-line);
}

.lgbx-ml details.lgbx-ml__sporsmal > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 64px;
    padding: 14px 4px;
    color: var(--ml-navy);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    cursor: pointer;
    list-style: none;
}

.lgbx-ml details.lgbx-ml__sporsmal > summary::-webkit-details-marker {
    display: none;
}

.lgbx-ml details.lgbx-ml__sporsmal > summary:hover {
    color: var(--ml-blue);
}

.lgbx-ml details.lgbx-ml__sporsmal > summary:focus-visible {
    outline: 3px solid var(--ml-cyan);
    outline-offset: 2px;
}

.lgbx-ml details.lgbx-ml__sporsmal > summary svg {
    width: 34px;
    height: 34px;
    padding: 8px;
    border-radius: 50%;
    background: var(--ml-blue-soft);
    color: var(--ml-blue);
    transition: transform 0.15s ease;
}

.lgbx-ml details.lgbx-ml__sporsmal[open] > summary svg {
    transform: rotate(45deg);
}

.lgbx-ml .lgbx-ml__svar {
    max-width: 70ch;
    padding: 0 4px 22px;
    color: var(--ml-muted);
    font-size: 16.5px;
}

body .lgbx-ml .lgbx-ml__svar p {
    margin: 0 0 12px;
    font-size: 16.5px;
}

body .lgbx-ml .lgbx-ml__svar p:last-child {
    margin-bottom: 0;
}

.lgbx-ml .lgbx-ml__svar ul,
.lgbx-ml .lgbx-ml__svar ol {
    margin: 0 0 12px;
    padding-left: 22px;
}

.lgbx-ml .lgbx-ml__svar li {
    margin: 0 0 4px;
    color: var(--ml-muted);
    font-size: 16.5px;
}

/* ── Avslutning: mørkt bånd med knapp og telefon ────────────────────────── */

.lgbx-ml .lgbx-ml__avslutning {
    padding: 72px 0;
    background: var(--ml-navy);
    text-align: center;
}

.lgbx-ml .lgbx-ml__avslutning .lgbx-ml__h2 {
    max-width: 22ch;
    margin: 0 auto 14px;
    color: #fff;
}

body .lgbx-ml .lgbx-ml__avslutning p {
    max-width: 56ch;
    margin: 0 auto 30px;
    color: #c8d3e0;
    font-size: 18px;
}

.lgbx-ml .lgbx-ml__avslutning .lgbx-ml__knapper {
    justify-content: center;
    margin-bottom: 0;
}

.lgbx-ml .lgbx-ml__avslutning a.lgbx-ml__telefon {
    margin: 0;
    font-size: 22px;
}

.lgbx-ml .lgbx-ml__avslutning a.lgbx-ml__telefon:hover {
    color: #fff;
    text-decoration: underline;
}

/* ── Delt seksjon: bilde og tekst side om side ──────────────────────────── */

.lgbx-ml .lgbx-ml__delt {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 56px;
    align-items: center;
}

.lgbx-ml .lgbx-ml__delt--snu > :first-child {
    order: 2;
}

.lgbx-ml .lgbx-ml__delt--topp {
    align-items: start;
}

.lgbx-ml .lgbx-ml__delt-bilde {
    overflow: hidden;
    border-radius: 20px;
    background: var(--ml-bg);
    box-shadow: var(--ml-shadow);
}

.lgbx-ml .lgbx-ml__delt-bilde img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.lgbx-ml .lgbx-ml__delt-bilde--hel img {
    object-fit: contain;
    padding: 20px;
    background: #fff;
}

.lgbx-ml .lgbx-ml__delt .lgbx-ml__h2 {
    margin-bottom: 14px;
    font-size: clamp(24px, 2.6vw, 32px) !important;
}

body .lgbx-ml .lgbx-ml__delt p {
    margin-bottom: 14px;
}

.lgbx-ml .lgbx-ml__delt ul.lgbx-ml__punkter {
    margin: 6px 0 18px;
}

.lgbx-ml .lgbx-ml__delt a.lgbx-ml__lenke {
    min-height: 44px;
}

.lgbx-ml .lgbx-ml__seksjoner-tett > .lgbx-ml__delt + .lgbx-ml__delt {
    margin-top: 72px;
}

/* Tider (ukedag og klokkeslett) */

.lgbx-ml dl.lgbx-ml__tider {
    display: grid;
    margin: 6px 0 18px;
    padding: 6px 20px;
    border: 1px solid var(--ml-line);
    border-radius: 12px;
    background: #fff;
}

.lgbx-ml dl.lgbx-ml__tider > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ml-line);
}

.lgbx-ml dl.lgbx-ml__tider > div:last-child {
    border-bottom: 0;
}

.lgbx-ml dl.lgbx-ml__tider dt {
    margin: 0;
    color: var(--ml-ink);
    font-size: 16px;
    font-weight: 600;
}

.lgbx-ml dl.lgbx-ml__tider dd {
    margin: 0;
    color: var(--ml-muted);
    font-size: 16px;
    font-variant-numeric: tabular-nums;
}

/* Video bak samtykke-plassholderen */

.lgbx-ml .lgbx-ml__video {
    max-width: 860px;
    margin: 40px auto 0;
    overflow: hidden;
    border-radius: 20px;
    background: var(--ml-navy);
    box-shadow: var(--ml-shadow);
}

.lgbx-ml .lgbx-ml__video iframe {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border: 0;
}

/* ── Faktabokser og nøkkeltall ──────────────────────────────────────────── */

.lgbx-ml .lgbx-ml__boks {
    padding: 24px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
}

.lgbx-ml .lgbx-ml__boks + .lgbx-ml__boks {
    margin-top: 16px;
}

.lgbx-ml .lgbx-ml__boks--bla {
    border-color: transparent;
    background: var(--ml-blue-soft);
}

.lgbx-ml .lgbx-ml__boks .lgbx-ml__h3 {
    margin-bottom: 8px;
}

body .lgbx-ml .lgbx-ml__boks p {
    margin: 0 0 10px;
    font-size: 16px;
}

body .lgbx-ml .lgbx-ml__boks p:last-child {
    margin-bottom: 0;
}

.lgbx-ml ul.lgbx-ml__tall {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__tall li {
    margin: 0;
    padding: 26px 24px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
    color: var(--ml-muted);
    font-size: 16px;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__tall strong {
    display: block;
    margin-bottom: 4px;
    color: var(--ml-navy);
    font-size: 38px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.lgbx-ml .lgbx-ml__prosa {
    max-width: 760px;
}

/* Artikkel med en smal spalte ved siden av (Om oss). */
.lgbx-ml .lgbx-ml__artikkel {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 64px;
    align-items: start;
}

.lgbx-ml .lgbx-ml__artikkel-side {
    position: sticky;
    top: 108px;
    display: grid;
    gap: 20px;
}

body .lgbx-ml .lgbx-ml__artikkel-side p strong {
    color: var(--ml-navy);
}

body .lgbx-ml .lgbx-ml__prosa p {
    margin: 0 0 18px;
    font-size: 18px;
    line-height: 1.65;
}

.lgbx-ml .lgbx-ml__prosa .lgbx-ml__h2 {
    margin: 0 0 18px;
}

.lgbx-ml .lgbx-ml__prosa * + .lgbx-ml__h2 {
    margin-top: 44px;
}

/* ── Rommene på avdelingssidene ─────────────────────────────────────────── */

.lgbx-ml .lgbx-ml__rom-rute {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.lgbx-ml .lgbx-ml__rom {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 18px 18px 20px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
    box-shadow: var(--ml-shadow);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lgbx-ml .lgbx-ml__rom:hover {
    box-shadow: 0 16px 36px rgba(11, 34, 57, 0.14);
    transform: translateY(-2px);
}

.lgbx-ml .lgbx-ml__rom-bilde {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border-radius: 12px;
    background: var(--ml-bg);
}

.lgbx-ml .lgbx-ml__rom-bilde img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.lgbx-ml .lgbx-ml__rom .lgbx-ml__h3 {
    margin-bottom: 10px;
    font-size: 24px !important;
}

body .lgbx-ml p.lgbx-ml__rom-pris {
    margin: 0;
    color: var(--ml-navy);
    font-size: 15px;
    font-weight: 600;
}

.lgbx-ml .lgbx-ml__rom-pris strong {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

body .lgbx-ml p.lgbx-ml__rom-ordinar {
    margin: 2px 0 0;
    color: var(--ml-muted);
    font-size: 14px;
}

.lgbx-ml .lgbx-ml__rom a.lgbx-ml__knapp {
    width: 100%;
    min-height: 46px;
    margin-top: 16px;
    padding: 0 16px;
    box-shadow: none;
    font-size: 16px;
}

.lgbx-ml .lgbx-ml__rom-fot {
    margin-top: auto;
}

/* Knappen i kortet skal ikke flytte seg ved hover (2.15.2): en flyttet knapp blir rammen for sin egen klikkflate,
   så flaten krympet til knappen idet musen var over den, og klikk på bildet traff ikke lenken (NH 06.10.2026).
   Kortet løfter seg i stedet. */
.lgbx-ml .lgbx-ml__rom a.lgbx-ml__knapp:hover {
    transform: none;
}

/* Hele kortet er klikkbart via knappen. */
.lgbx-ml .lgbx-ml__rom a.lgbx-ml__knapp::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
}

/* Størrelser uten ledige rom: en kort liste under kortene. */
.lgbx-ml .lgbx-ml__utleid {
    margin-top: 28px;
    padding: 22px 24px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
}

.lgbx-ml .lgbx-ml__utleid .lgbx-ml__h3 {
    margin-bottom: 4px;
    font-size: 18px !important;
}

body .lgbx-ml .lgbx-ml__utleid p {
    margin-bottom: 14px;
    font-size: 15.5px;
}

.lgbx-ml ul.lgbx-ml__utleid-liste {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__utleid-liste li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml a.lgbx-ml__utleid-rom {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--ml-line);
    border-radius: 999px;
    background: var(--ml-bg);
    color: var(--ml-muted);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.lgbx-ml a.lgbx-ml__utleid-rom:hover {
    border-color: var(--ml-blue);
    color: var(--ml-blue);
}

.lgbx-ml .lgbx-ml__rom-hjelp {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 32px;
    margin-top: 32px;
}

/* Hopp til avdeling (øverst på «Ledige rom og priser») og overskrift med lenke til høyre */

.lgbx-ml ul.lgbx-ml__hopp {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__hopp li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml a.lgbx-ml__hopp-lenke {
    display: grid;
    grid-template-columns: 22px auto;
    gap: 0 10px;
    align-items: center;
    min-width: 200px;
    padding: 12px 20px 12px 16px;
    border: 1px solid var(--ml-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--ml-shadow);
    color: var(--ml-navy);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.lgbx-ml a.lgbx-ml__hopp-lenke:hover {
    border-color: var(--ml-blue);
    color: var(--ml-blue);
}

.lgbx-ml a.lgbx-ml__hopp-lenke svg {
    grid-row: span 2;
    width: 22px;
    height: 22px;
    color: var(--ml-blue);
}

.lgbx-ml a.lgbx-ml__hopp-lenke span {
    grid-column: 2;
    color: var(--ml-muted);
    font-size: 14px;
    font-weight: 500;
}

.lgbx-ml .lgbx-ml__hode--rad {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px 32px;
    max-width: none;
    margin-bottom: 28px;
}

.lgbx-ml .lgbx-ml__hode--rad .lgbx-ml__h2 {
    margin-bottom: 0;
}

.lgbx-ml .lgbx-ml__hode--rad p.lgbx-ml__adresse {
    margin: 8px 0 0;
}

.lgbx-ml .lgbx-ml__hode--rad a.lgbx-ml__lenke {
    min-height: 44px;
}

.lgbx-ml .lgbx-ml__seksjon > .lgbx-ml__wrap > .lgbx-ml__merknad {
    margin: 0 0 20px;
}

.lgbx-ml a.lgbx-ml__hopp-lenke--enkel {
    grid-template-columns: auto;
    min-width: 0;
    padding: 12px 20px;
}

.lgbx-ml a.lgbx-ml__hopp-lenke--enkel span {
    grid-column: 1;
}

.lgbx-ml .lgbx-ml__seksjon--smal {
    padding: 56px 0;
}

.lgbx-ml .lgbx-ml__seksjon--smal .lgbx-ml__hode {
    margin-bottom: 24px;
}

/* Kort med tider (åpningstider) */

.lgbx-ml .lgbx-ml__tidskort {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}

.lgbx-ml .lgbx-ml__tidskort > .lgbx-ml__boks {
    margin-top: 0;
    padding: 26px 24px;
}

.lgbx-ml .lgbx-ml__boks > .lgbx-ml__ikon {
    margin-bottom: 14px;
}

.lgbx-ml .lgbx-ml__boks dl.lgbx-ml__tider {
    margin: 12px 0 14px;
}

.lgbx-ml dl.lgbx-ml__tider--flat {
    padding: 0;
    border: 0;
}

.lgbx-ml dl.lgbx-ml__tider--flat > div {
    padding: 8px 0;
}

/* Kartet på adressesiden (temaets kart bak samtykke-plassholderen) */

.lgbx-ml .lgbx-ml__kart {
    position: relative;
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid var(--ml-line);
    border-radius: 20px;
    background: var(--ml-bg);
}

.lgbx-ml .lgbx-ml__kart .mk-advanced-gmaps {
    margin: 0 !important;
}

/* Kartet som bilde (det egne temaet, 2.16.0). */
.lgbx-ml .lgbx-ml__kart--bilde {
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding: 0;
}

.lgbx-ml .lgbx-ml__kart--bilde img {
    width: 100%;
    height: auto;
}

.lgbx-ml .lgbx-ml__kart-kilde {
    padding: 8px 14px;
    background: #fff;
    color: var(--ml-muted);
    font-size: 13px;
}

/* Bloggen (2.16.0): kort med bilde, dato, tittel og utdrag. */
.lgbx-ml .lgbx-ml__kort-rute--blogg .lgbx-ml__h3 {
    margin-bottom: 10px;
    font-size: 21px !important;
    line-height: 1.25;
}

.lgbx-ml .lgbx-ml__kort-rute--blogg .lgbx-ml__h3 a {
    color: inherit;
    text-decoration: none;
}

.lgbx-ml .lgbx-ml__kort-rute--blogg .lgbx-ml__h3 a:hover {
    color: var(--ml-blue);
    text-decoration: underline;
}

.lgbx-ml .lgbx-ml__kort-rute--blogg .lgbx-ml__liten {
    margin-bottom: 8px;
    text-align: left;
}

.lgbx-ml .lgbx-ml__kort-rute--blogg .lgbx-ml__lenke {
    margin-top: auto;
    padding-top: 14px;
}

/* Fliser med kort tekst (typiske kunder) */

.lgbx-ml ul.lgbx-ml__fliser {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__fliser li {
    margin: 0;
    padding: 20px 22px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
    color: var(--ml-muted);
    font-size: 16px;
    line-height: 1.5;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__fliser strong {
    display: block;
    margin-bottom: 2px;
    color: var(--ml-navy);
    font-size: 18px;
    font-weight: 700;
}

/* To brede kort ved siden av hverandre, og kort der bare lenken er klikkbar */

@media (min-width: 1001px) {
    .lgbx-ml .lgbx-ml__tjenester--to {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.lgbx-ml .lgbx-ml__tjeneste--rolig a.lgbx-ml__lenke::after {
    display: none;
}

.lgbx-ml .lgbx-ml__tjeneste--rolig p.lgbx-ml__adresse {
    margin: 0 0 12px;
}

body .lgbx-ml .lgbx-ml__tjeneste--rolig p.lgbx-ml__rom-pris {
    margin-bottom: 12px;
    font-size: 16px;
    font-weight: 500;
}

.lgbx-ml .lgbx-ml__hero-bilde--hel {
    background: #fff;
}

.lgbx-ml .lgbx-ml__hero-bilde--hel img {
    padding: 20px;
    object-fit: contain;
}

/* ── Galleri ────────────────────────────────────────────────────────────── */

.lgbx-ml .lgbx-ml__galleri {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.lgbx-ml .lgbx-ml__galleri img {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--ml-radius);
    object-fit: cover;
}

/* ── Kontakt ────────────────────────────────────────────────────────────── */

.lgbx-ml .lgbx-ml__kontakt-rute {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 48px;
    align-items: start;
}

.lgbx-ml .lgbx-ml__kontaktkort {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 4px 16px;
    align-items: center;
    padding: 20px 22px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
}

.lgbx-ml .lgbx-ml__kontaktkort + .lgbx-ml__kontaktkort {
    margin-top: 14px;
}

.lgbx-ml .lgbx-ml__kontaktkort .lgbx-ml__ikon {
    grid-row: span 2;
    margin: 0;
}

.lgbx-ml .lgbx-ml__kontaktkort a.lgbx-ml__kontaktkort-verdi,
.lgbx-ml .lgbx-ml__kontaktkort span.lgbx-ml__kontaktkort-verdi {
    color: var(--ml-navy);
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.lgbx-ml .lgbx-ml__kontaktkort a.lgbx-ml__kontaktkort-verdi:hover {
    color: var(--ml-blue);
    text-decoration: underline;
}

.lgbx-ml .lgbx-ml__kontaktkort small {
    color: var(--ml-muted);
    font-size: 14.5px;
    line-height: 1.45;
}

.lgbx-ml .lgbx-ml__kontakt-rute .lgbx-ml__boks {
    margin-top: 14px;
}

.lgbx-ml .lgbx-ml__skjema-hode {
    margin-bottom: 16px;
}

.lgbx-ml .lgbx-ml__skjema-hode .lgbx-ml__h2 {
    margin-bottom: 6px;
    font-size: 26px !important;
}

/* Emnevalget, «Hva gjelder det?» (2.19.0): det som hører til den valgte radioknappen, vises av
   stilarket, så valget virker uten emne.js. I nettlesere uten :has() setter skriptet klassene
   «er-valgt» og «har-skjema». Reglene med :has() står for seg, fordi en velger nettleseren ikke
   kjenner, tar med seg hele regelen. */

.lgbx-ml .lgbx-emne__valg {
    display: grid;
    gap: 10px;
}

.lgbx-ml .lgbx-emne__punkt {
    scroll-margin-top: 110px;
}

.lgbx-ml label.lgbx-emne__kort {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 56px;
    margin: 0;
    padding: 10px 16px 10px 46px;
    border: 1.5px solid #c9d3df;
    border-radius: 12px;
    background: #fff;
    color: var(--ml-navy);
    font-size: 16.5px;
    font-weight: 600;
    line-height: 1.3;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.lgbx-ml label.lgbx-emne__kort:hover {
    border-color: #9aa8b8;
}

.lgbx-ml label.lgbx-emne__kort input[type="radio"] {
    position: absolute;
    top: 50%;
    left: 16px;
    width: 18px;
    height: 18px;
    margin: -9px 0 0;
    accent-color: var(--ml-blue);
    cursor: pointer;
}

.lgbx-ml label.lgbx-emne__kort small {
    display: block;
    margin-top: 2px;
    color: var(--ml-muted);
    font-size: 14.5px;
    font-weight: 400;
}

.lgbx-ml label.lgbx-emne__kort:has(input:checked) {
    border-color: var(--ml-blue);
    background: var(--ml-blue-soft);
}

.lgbx-ml label.lgbx-emne__kort:has(input:focus-visible) {
    outline: 3px solid var(--ml-cyan);
    outline-offset: 2px;
}

.lgbx-ml .lgbx-emne__punkt.er-valgt label.lgbx-emne__kort {
    border-color: var(--ml-blue);
    background: var(--ml-blue-soft);
}

.lgbx-ml .lgbx-emne__vei,
.lgbx-ml .lgbx-emne__hjelp,
.lgbx-ml .lgbx-emne__skjema {
    display: none;
}

.lgbx-ml .lgbx-emne__punkt:has(input:checked) > .lgbx-emne__vei,
.lgbx-ml .lgbx-emne__punkt:has(input:checked) > .lgbx-emne__hjelp,
.lgbx-ml .lgbx-emne:has(input[data-mal="skjema"]:checked) .lgbx-emne__skjema {
    display: block;
}

.lgbx-ml .lgbx-emne__punkt.er-valgt > .lgbx-emne__vei,
.lgbx-ml .lgbx-emne__punkt.er-valgt > .lgbx-emne__hjelp,
.lgbx-ml .lgbx-emne.har-skjema .lgbx-emne__skjema {
    display: block;
}

.lgbx-ml .lgbx-emne .lgbx-emne__vei {
    margin-top: 10px;
}

.lgbx-ml .lgbx-emne__vei a.lgbx-ml__knapp {
    margin-top: 6px;
}

.lgbx-ml p.lgbx-emne__hjelp {
    margin: 8px 2px 4px;
    font-size: 16px;
    line-height: 1.5;
}

.lgbx-ml .lgbx-emne__skjema {
    margin-top: 28px;
}

.lgbx-ml .lgbx-emne__skjema > .lgbx-ml__h3 {
    margin-bottom: 14px;
}

/* Meldingen er sendt: valget står, men kan ikke endres. */
.lgbx-ml .lgbx-emne--sendt label.lgbx-emne__kort,
.lgbx-ml .lgbx-emne--sendt label.lgbx-emne__kort input[type="radio"] {
    cursor: default;
}

.lgbx-ml .lgbx-ml__steder {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.lgbx-ml .lgbx-ml__sted {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
}

.lgbx-ml .lgbx-ml__sted .lgbx-ml__merke {
    margin-bottom: 8px;
    font-size: 12px;
}

.lgbx-ml .lgbx-ml__sted .lgbx-ml__h3 {
    margin-bottom: 6px;
}

body .lgbx-ml .lgbx-ml__sted p {
    margin-bottom: 14px;
    font-size: 16px;
}

.lgbx-ml .lgbx-ml__sted a.lgbx-ml__lenke {
    min-height: 44px;
    margin-top: auto;
}

.lgbx-ml ul.lgbx-ml__snarveier {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__snarveier li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__snarveier a.lgbx-ml__snarvei {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 64px;
    padding: 12px 20px;
    border: 1px solid var(--ml-line);
    border-radius: 12px;
    background: #fff;
    color: var(--ml-navy);
    font-size: 16.5px;
    font-weight: 600;
    text-decoration: none;
}

.lgbx-ml ul.lgbx-ml__snarveier a.lgbx-ml__snarvei:hover {
    border-color: var(--ml-blue);
    color: var(--ml-blue);
}

.lgbx-ml ul.lgbx-ml__snarveier svg {
    width: 20px;
    height: 20px;
    color: var(--ml-blue);
}

/* ── Nettbrett ──────────────────────────────────────────────────────────── */

@media (max-width: 1100px) {
    .lgbx-ml .lgbx-ml__planer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lgbx-ml .lgbx-ml__rom-rute {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lgbx-ml .lgbx-ml__steder,
    .lgbx-ml ul.lgbx-ml__snarveier {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lgbx-ml ul.lgbx-ml__stripe-liste {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lgbx-ml .lgbx-ml__prisbrikke {
        left: 16px;
    }
}

@media (max-width: 1000px) {
    .lgbx-ml ol.lgbx-ml__bildesteg,
    .lgbx-ml .lgbx-ml__tjenester,
    .lgbx-ml .lgbx-ml__omtaler {
        grid-template-columns: minmax(0, 1fr);
    }

    .lgbx-ml ol.lgbx-ml__bildesteg > li,
    .lgbx-ml .lgbx-ml__tjeneste {
        flex-direction: row;
    }

    /* Bildet fyller høyden teksten gir. Uten position: absolute har height: 100 % ingenting å regne mot,
       og bildet fikk sin egen høyde (1 500 px) mellom 761 og 1000 px (#229). */
    .lgbx-ml .lgbx-ml__bildesteg-bilde,
    .lgbx-ml .lgbx-ml__tjeneste-bilde {
        position: relative;
        flex: 0 0 38%;
        min-height: 220px;
    }

    .lgbx-ml .lgbx-ml__bildesteg-bilde img,
    .lgbx-ml .lgbx-ml__tjeneste-bilde img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        aspect-ratio: auto;
    }

    .lgbx-ml .lgbx-ml__bildesteg .lgbx-ml__nr {
        position: static;
        margin-bottom: 12px;
        border: 0;
    }

    .lgbx-ml .lgbx-ml__bildesteg-tekst {
        padding: 24px;
    }

    .lgbx-ml .lgbx-ml__kontakt-rute,
    .lgbx-ml .lgbx-ml__artikkel {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .lgbx-ml .lgbx-ml__artikkel-side {
        position: static;
    }
}

/* ── Mobil ──────────────────────────────────────────────────────────────── */

@media (max-width: 760px) {
    .lgbx-ml section[id] {
        scroll-margin-top: 76px;
    }

    .lgbx-ml .lgbx-ml__hero--enkel {
        padding: 36px 0 32px;
    }

    .lgbx-ml .lgbx-ml__hero .lgbx-ml__h1--bred,
    .lgbx-ml .lgbx-ml__hero--enkel .lgbx-ml__h1 {
        max-width: none;
    }

    .lgbx-ml .lgbx-ml__prisbrikke {
        position: relative;
        bottom: auto;
        left: auto;
        width: calc(100% - 32px);
        margin: -40px auto 0;
        padding: 14px 18px;
    }

    .lgbx-ml .lgbx-ml__prisbrikke strong {
        font-size: 28px;
    }

    .lgbx-ml ul.lgbx-ml__stripe-liste {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .lgbx-ml ul.lgbx-ml__merker {
        margin-top: 22px;
    }

    .lgbx-ml ul.lgbx-ml__merker li {
        width: 100%;
        border-radius: 12px;
    }

    .lgbx-ml ol.lgbx-ml__bildesteg > li,
    .lgbx-ml .lgbx-ml__tjeneste {
        flex-direction: column;
    }

    .lgbx-ml .lgbx-ml__bildesteg-bilde,
    .lgbx-ml .lgbx-ml__tjeneste-bilde {
        position: static;
        flex: none;
        min-height: 0;
    }

    .lgbx-ml .lgbx-ml__bildesteg-bilde img,
    .lgbx-ml .lgbx-ml__tjeneste-bilde img {
        position: static;
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .lgbx-ml .lgbx-ml__bildesteg-tekst,
    .lgbx-ml .lgbx-ml__tjeneste-tekst {
        padding: 20px;
    }

    .lgbx-ml .lgbx-ml__planer,
    .lgbx-ml .lgbx-ml__planer--seks {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .lgbx-ml .lgbx-ml__plan {
        padding: 20px;
    }

    .lgbx-ml .lgbx-ml__plan-bilde {
        height: 96px;
    }

    .lgbx-ml .lgbx-ml__knapper--midt {
        margin-top: 26px;
    }

    .lgbx-ml .lgbx-ml__knapper a.lgbx-ml__telefon {
        justify-content: center;
    }

    .lgbx-ml details.lgbx-ml__sporsmal > summary {
        font-size: 17px;
    }

    .lgbx-ml .lgbx-ml__avslutning {
        padding: 52px 0;
    }

    .lgbx-ml .lgbx-ml__avslutning a.lgbx-ml__knapp {
        width: 100%;
    }

    .lgbx-ml .lgbx-ml__delt {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .lgbx-ml .lgbx-ml__delt--snu > :first-child {
        order: 0;
    }

    .lgbx-ml .lgbx-ml__seksjoner-tett > .lgbx-ml__delt + .lgbx-ml__delt {
        margin-top: 48px;
    }

    .lgbx-ml .lgbx-ml__video {
        margin-top: 28px;
        border-radius: 14px;
    }

    .lgbx-ml ul.lgbx-ml__tall {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .lgbx-ml ul.lgbx-ml__tall li {
        padding: 18px 20px;
    }

    .lgbx-ml ul.lgbx-ml__tall strong {
        font-size: 30px;
    }

    body .lgbx-ml .lgbx-ml__prosa p {
        font-size: 17px;
    }

    .lgbx-ml .lgbx-ml__rom-rute {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .lgbx-ml .lgbx-ml__rom {
        padding: 12px 12px 14px;
    }

    .lgbx-ml .lgbx-ml__rom .lgbx-ml__h3 {
        font-size: 20px !important;
    }

    .lgbx-ml .lgbx-ml__rom-pris strong {
        font-size: 19px;
    }

    .lgbx-ml .lgbx-ml__rom a.lgbx-ml__knapp {
        font-size: 15px;
    }

    .lgbx-ml .lgbx-ml__utleid {
        padding: 18px;
    }

    .lgbx-ml .lgbx-ml__galleri {
        grid-template-columns: minmax(0, 1fr);
    }

    .lgbx-ml ul.lgbx-ml__hopp {
        display: grid;
        gap: 10px;
    }

    .lgbx-ml .lgbx-ml__tidskort,
    .lgbx-ml ul.lgbx-ml__fliser {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .lgbx-ml .lgbx-ml__seksjon--smal {
        padding: 40px 0;
    }

    .lgbx-ml dl.lgbx-ml__tider dt,
    .lgbx-ml dl.lgbx-ml__tider dd {
        font-size: 15.5px;
    }

    .lgbx-ml a.lgbx-ml__hopp-lenke {
        min-width: 0;
    }

    .lgbx-ml .lgbx-ml__steder,
    .lgbx-ml ul.lgbx-ml__snarveier {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .lgbx-ml .lgbx-ml__kontaktkort a.lgbx-ml__kontaktkort-verdi,
    .lgbx-ml .lgbx-ml__kontaktkort span.lgbx-ml__kontaktkort-verdi {
        font-size: 18px;
    }
}

/* ── Tilbudsbrikken under bildet (2.14.3, enklere i 2.15.0 etter NH 06.10.2026) ────────
   Hvit og enkel, som priskortet ved siden av. Navnet står i sesongens farge (Lagerboks_Sesong):
   grønt uten sesong, varmt om høsten, blått i jula og gult i påsken. På forsiden faller
   sesongpynten ned og blir liggende oppå brikken (assets/css/sesong.css). */

.lgbx-ml a.lgbx-ml__tilbud--stor {
    --tb-aksent: var(--ml-green);
    position: relative;
    gap: 14px;
    max-width: 100%;
    margin: 0;
    padding: 14px 18px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
    box-shadow: 0 16px 40px rgba(11, 34, 57, 0.16);
    color: var(--ml-navy);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    transition: border-color 0.15s ease, transform 0.15s ease;
}

.lgbx-ml a.lgbx-ml__tilbud--stor:hover {
    border-color: var(--tb-aksent);
    background: #fff;
    color: var(--ml-navy);
    transform: translateY(-1px);
}

.lgbx-ml a.lgbx-ml__tilbud--stor:focus-visible {
    outline: 3px solid var(--ml-cyan);
    outline-offset: 3px;
}

.lgbx-ml a.lgbx-ml__tilbud--host {
    --tb-aksent: #b45309;
}

.lgbx-ml a.lgbx-ml__tilbud--jul {
    --tb-aksent: #2f6fa8;
}

.lgbx-ml a.lgbx-ml__tilbud--paske {
    --tb-aksent: #a16207;
}

.lgbx-ml .lgbx-ml__tilbud-tekst {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.lgbx-ml .lgbx-ml__tilbud-navn {
    color: var(--tb-aksent);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lgbx-ml .lgbx-ml__tilbud-tekst strong {
    color: var(--ml-navy);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

.lgbx-ml .lgbx-ml__tilbud-tekst > span:last-child {
    color: var(--ml-muted);
    font-size: 14px;
}

.lgbx-ml a.lgbx-ml__tilbud--stor > svg {
    flex: none;
    width: 20px;
    height: 20px;
    margin-left: auto;
    color: var(--tb-aksent);
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

@media (prefers-reduced-motion: reduce) {
    .lgbx-ml a.lgbx-ml__tilbud--stor,
    .lgbx-ml a.lgbx-ml__tilbud--stor:hover {
        transform: none;
        transition: none;
    }
}

/* Under bildet (NH 05.10.2026): priskortet og tilbudsbrikken side om side, dratt litt opp over
   kanten av bildet. Er spalten for smal til begge, legger brikken seg under priskortet.
   På mobil står tilbudet først, rett under bildet, så løvet lander der man ser det (NH 06.10.2026),
   og priskortet under. */

.lgbx-ml .lgbx-ml__hero-fot {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 12px;
    margin: -44px 16px 0 -22px;
}

.lgbx-ml .lgbx-ml__hero-fot .lgbx-ml__prisbrikke {
    position: static;
    flex: 0 1 auto;
    min-width: 220px;
}

.lgbx-ml .lgbx-ml__hero-fot a.lgbx-ml__tilbud--stor {
    flex: 1 1 250px;
}

.lgbx-ml .lgbx-ml__hero-fot .lgbx-ml__tilbud-tekst strong {
    font-size: 17px;
}

/* Mobilt minilager og avdelingssidene (2.15.2) har ikke priskort: brikken alene, ikke bredere enn den trenger. */
.lgbx-ml--mobilt .lgbx-ml__hero-fot,
.lgbx-ml--avdeling .lgbx-ml__hero-fot {
    margin-top: -36px;
}

.lgbx-ml--mobilt .lgbx-ml__hero-fot a.lgbx-ml__tilbud--stor,
.lgbx-ml--avdeling .lgbx-ml__hero-fot a.lgbx-ml__tilbud--stor {
    flex: 0 1 auto;
}

@media (max-width: 1100px) {
    .lgbx-ml .lgbx-ml__hero-fot {
        margin-left: 16px;
    }
}

@media (max-width: 760px) {
    .lgbx-ml .lgbx-ml__hero-fot {
        flex-direction: column;
        gap: 10px;
        margin: -40px 16px 0;
    }

    .lgbx-ml .lgbx-ml__hero-fot .lgbx-ml__prisbrikke {
        width: auto;
        margin: 0;
    }

    .lgbx-ml .lgbx-ml__hero-fot a.lgbx-ml__tilbud--stor,
    .lgbx-ml--mobilt .lgbx-ml__hero-fot a.lgbx-ml__tilbud--stor,
    .lgbx-ml--avdeling .lgbx-ml__hero-fot a.lgbx-ml__tilbud--stor {
        display: flex;
        flex: none;
        order: -1;
    }

    .lgbx-ml .lgbx-ml__tilbud-tekst strong {
        font-size: 17px;
    }
}

/* ── Minilager-rom og flyttebutikk på forsiden (2.15.3) ─────────────────────────────────
   To seksjoner i full bredde i stedet for to kort (deler/tjenester-brede.php): bilde og tekst side
   om side, avdelingene som egne rader med ledige rom og pris, og de mest kjøpte varene som kort.
   Flyttebutikken ligger på en lys flate, så seksjonene skiller seg fra hverandre uten at to
   seksjoner med lys bakgrunn havner etter hverandre. */

/* Skilleteksten «Mer fra Lagerboks» over de to seksjonene, med hopp til hver av dem. */
.lgbx-ml .lgbx-ml__mer {
    padding-top: 80px;
}

.lgbx-ml .lgbx-ml__mer .lgbx-ml__hode {
    margin-bottom: 0;
}

.lgbx-ml .lgbx-ml__mer + .lgbx-ml__bred {
    padding-top: 56px;
}

.lgbx-ml .lgbx-ml__mer-lenker {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}

.lgbx-ml a.lgbx-ml__mer-lenke {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 20px;
    border: 1px solid var(--ml-line);
    border-radius: 999px;
    background: #fff;
    color: var(--ml-navy);
    font-size: 15.5px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.lgbx-ml a.lgbx-ml__mer-lenke:hover {
    border-color: var(--ml-blue);
    color: var(--ml-blue);
}

.lgbx-ml a.lgbx-ml__mer-lenke:focus-visible {
    outline: 3px solid var(--ml-cyan);
    outline-offset: 2px;
}

/* Overskriftene i de to seksjonene er ett nivå under skilleteksten, og litt mindre enn den. */
.lgbx-ml .lgbx-ml__bred-tekst .lgbx-ml__h2 {
    font-size: clamp(24px, 2.5vw, 32px) !important;
}

.lgbx-ml .lgbx-ml__bred-rute {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    align-items: center;
    gap: 72px;
}

.lgbx-ml .lgbx-ml__bred--snudd {
    padding-top: 0;
}

.lgbx-ml .lgbx-ml__bred--snudd .lgbx-ml__bred-rute {
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    gap: 64px;
}

.lgbx-ml .lgbx-ml__bred-flate {
    padding: 56px;
    border: 1px solid var(--ml-line);
    border-radius: 28px;
    background: linear-gradient(180deg, #eef6fc 0%, var(--ml-bg) 100%);
}

.lgbx-ml .lgbx-ml__bred-media {
    position: relative;
}

.lgbx-ml .lgbx-ml__bred-bilde {
    overflow: hidden;
    border-radius: 24px;
    background: var(--ml-bg);
    box-shadow: 0 24px 60px rgba(11, 34, 57, 0.16);
}

.lgbx-ml .lgbx-ml__bred-bilde img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* Høyt bilde på pc. Bildet er bredere enn ruta og beskjæres av den, så nettleseren, som velger
   bildefil etter bredden bildet har på siden, henter en utgave som er skarp i full høyde. */
@media (min-width: 1001px) {
    .lgbx-ml .lgbx-ml__bred-bilde--hoy {
        aspect-ratio: 5 / 6;
    }

    .lgbx-ml .lgbx-ml__bred-bilde--hoy img {
        width: auto;
        max-width: none;
        height: 100%;
        margin-left: 50%;
        transform: translateX(-50%);
    }
}

.lgbx-ml .lgbx-ml__bred-merke {
    position: absolute;
    top: 18px;
    left: 18px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(11, 34, 57, 0.18);
    color: #14532d;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.3;
}

/* Lite kort som ligger halvveis ut over kanten av bildet. */
.lgbx-ml .lgbx-ml__bred-fakta {
    position: absolute;
    right: -24px;
    bottom: 32px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px 14px 14px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(11, 34, 57, 0.18);
    color: var(--ml-muted);
    font-size: 14.5px;
    line-height: 1.35;
}

.lgbx-ml .lgbx-ml__bred--snudd .lgbx-ml__bred-fakta {
    right: auto;
    left: -24px;
}

.lgbx-ml .lgbx-ml__bred-fakta svg {
    width: 44px;
    height: 44px;
    padding: 11px;
    border-radius: 12px;
    background: var(--ml-blue-soft);
    color: var(--ml-blue);
}

.lgbx-ml .lgbx-ml__bred-fakta strong {
    display: block;
    color: var(--ml-navy);
    font-size: 16px;
    font-weight: 700;
}

.lgbx-ml .lgbx-ml__bred-tekst .lgbx-ml__h2 {
    margin-bottom: 14px;
    text-wrap: balance;
}

body .lgbx-ml .lgbx-ml__bred-tekst p.lgbx-ml__ingress {
    margin-bottom: 22px;
}

.lgbx-ml .lgbx-ml__bred-tekst .lgbx-ml__knapper {
    margin-top: 28px;
}

/* Avdelingene: hver rad er en lenke til avdelingssiden. */
.lgbx-ml ul.lgbx-ml__lokaler {
    display: grid;
    gap: 12px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__lokaler li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml a.lgbx-ml__lokale {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto 20px;
    align-items: center;
    gap: 4px 16px;
    min-height: 88px;
    padding: 12px 18px 12px 12px;
    border: 1px solid var(--ml-line);
    border-radius: 14px;
    background: #fff;
    color: var(--ml-ink);
    line-height: 1.35;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lgbx-ml a.lgbx-ml__lokale:hover {
    border-color: var(--ml-blue);
    box-shadow: var(--ml-shadow);
    transform: translateY(-1px);
}

.lgbx-ml a.lgbx-ml__lokale:focus-visible,
.lgbx-ml a.lgbx-ml__vare:focus-visible {
    outline: 3px solid var(--ml-cyan);
    outline-offset: 2px;
}

.lgbx-ml .lgbx-ml__lokale-bilde {
    display: block;
    width: 64px;
    height: 64px;
    overflow: hidden;
    border-radius: 10px;
    background: var(--ml-bg);
}

.lgbx-ml .lgbx-ml__lokale-bilde img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lgbx-ml .lgbx-ml__lokale-navn {
    display: block;
    color: var(--ml-navy);
    font-size: 17.5px;
    font-weight: 700;
}

.lgbx-ml .lgbx-ml__lokale-navn small {
    margin-left: 8px;
    color: var(--ml-muted);
    font-size: 14px;
    font-weight: 500;
}

.lgbx-ml .lgbx-ml__lokale-adresse {
    display: block;
    color: var(--ml-muted);
    font-size: 14.5px;
}

.lgbx-ml .lgbx-ml__lokale-ledig {
    text-align: right;
}

.lgbx-ml .lgbx-ml__lokale-ledig b {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 4px 11px;
    border-radius: 999px;
    background: var(--ml-green-soft);
    color: #14532d;
    font-size: 13.5px;
    font-weight: 700;
    white-space: nowrap;
}

.lgbx-ml .lgbx-ml__lokale-ledig b::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ml-green);
    content: "";
}

.lgbx-ml .lgbx-ml__lokale-ledig--tom b {
    background: #fff4d6;
    color: #6b4500;
}

.lgbx-ml .lgbx-ml__lokale-ledig--tom b::before {
    background: #b45309;
}

.lgbx-ml .lgbx-ml__lokale-ledig span {
    display: block;
    margin-top: 4px;
    color: var(--ml-muted);
    font-size: 13.5px;
}

.lgbx-ml a.lgbx-ml__lokale svg {
    width: 20px;
    height: 20px;
    color: var(--ml-blue);
    transition: transform 0.15s ease;
}

.lgbx-ml a.lgbx-ml__lokale:hover svg {
    transform: translateX(3px);
}

/* De mest kjøpte varene i flyttebutikken. */
.lgbx-ml .lgbx-ml__varer-hode {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin: 48px 0 20px;
    padding-top: 32px;
    border-top: 1px solid var(--ml-line);
}

.lgbx-ml .lgbx-ml__varer-hode .lgbx-ml__h3 {
    font-size: 21px !important;
}

.lgbx-ml ul.lgbx-ml__varer {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml ul.lgbx-ml__varer li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lgbx-ml a.lgbx-ml__vare {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 14px 16px 16px;
    border: 1px solid var(--ml-line);
    border-radius: var(--ml-radius);
    background: #fff;
    color: var(--ml-ink);
    line-height: 1.3;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.lgbx-ml a.lgbx-ml__vare:hover {
    border-color: var(--ml-blue);
    box-shadow: var(--ml-shadow);
    transform: translateY(-2px);
}

.lgbx-ml .lgbx-ml__vare-bilde {
    display: block;
    aspect-ratio: 4 / 3;
    margin-bottom: 12px;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
}

.lgbx-ml .lgbx-ml__vare-bilde img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lgbx-ml .lgbx-ml__vare-navn {
    color: var(--ml-navy);
    font-size: 15.5px;
    font-weight: 600;
}

.lgbx-ml .lgbx-ml__vare-pris {
    margin-top: auto;
    padding-top: 6px;
    color: var(--ml-ink);
    font-size: 18px;
    font-weight: 800;
}

@media (prefers-reduced-motion: reduce) {
    .lgbx-ml a.lgbx-ml__lokale,
    .lgbx-ml a.lgbx-ml__lokale svg,
    .lgbx-ml a.lgbx-ml__vare {
        transition: none;
    }

    .lgbx-ml a.lgbx-ml__lokale:hover,
    .lgbx-ml a.lgbx-ml__lokale:hover svg,
    .lgbx-ml a.lgbx-ml__vare:hover {
        transform: none;
    }
}

@media (max-width: 1000px) {
    .lgbx-ml .lgbx-ml__bred-rute,
    .lgbx-ml .lgbx-ml__bred--snudd .lgbx-ml__bred-rute {
        grid-template-columns: minmax(0, 1fr);
        gap: 36px;
    }

    /* Bildet først i begge seksjonene. */
    .lgbx-ml .lgbx-ml__bred--snudd .lgbx-ml__bred-media {
        order: -1;
    }

    .lgbx-ml .lgbx-ml__bred-bilde img {
        aspect-ratio: 16 / 10;
    }

    /* Faktakortet ligger på nedre kant av bildet, så det ikke dekker motivet. */
    .lgbx-ml .lgbx-ml__bred-media {
        margin-bottom: 20px;
    }

    .lgbx-ml .lgbx-ml__bred-fakta,
    .lgbx-ml .lgbx-ml__bred--snudd .lgbx-ml__bred-fakta {
        right: 16px;
        bottom: -24px;
        left: auto;
    }

    .lgbx-ml .lgbx-ml__bred-flate {
        padding: 36px;
    }
}

@media (max-width: 760px) {
    /* Flaten går helt ut til kantene på mobil, så innholdet får hele bredden. */
    .lgbx-ml .lgbx-ml__bred-flate {
        margin: 0 -20px;
        padding: 40px 20px;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }

    .lgbx-ml .lgbx-ml__bred-bilde {
        border-radius: 18px;
    }

    .lgbx-ml .lgbx-ml__bred-merke {
        top: 12px;
        left: 12px;
    }

    .lgbx-ml .lgbx-ml__bred-fakta,
    .lgbx-ml .lgbx-ml__bred--snudd .lgbx-ml__bred-fakta {
        right: 12px;
        bottom: -22px;
        gap: 10px;
        padding: 9px 14px 9px 9px;
        border-radius: 14px;
        font-size: 13.5px;
    }

    .lgbx-ml .lgbx-ml__bred-fakta svg {
        width: 36px;
        height: 36px;
        padding: 9px;
        border-radius: 10px;
    }

    .lgbx-ml .lgbx-ml__bred-fakta strong {
        font-size: 14.5px;
    }

    .lgbx-ml .lgbx-ml__bred-tekst a.lgbx-ml__knapp {
        width: 100%;
    }

    .lgbx-ml .lgbx-ml__mer {
        padding-top: 52px;
    }

    .lgbx-ml .lgbx-ml__mer + .lgbx-ml__bred {
        padding-top: 36px;
    }

    /* Avdelingsraden: bilde, navn og adresse øverst, ledige rom og pris på linja under. */
    .lgbx-ml a.lgbx-ml__lokale {
        grid-template-columns: 52px minmax(0, 1fr) 18px;
        gap: 6px 12px;
        padding: 12px 14px 12px 12px;
    }

    .lgbx-ml .lgbx-ml__lokale-bilde {
        grid-row: 1 / span 2;
        align-self: start;
        width: 52px;
        height: 52px;
    }

    .lgbx-ml .lgbx-ml__lokale-ledig {
        display: flex;
        flex-wrap: wrap;
        grid-row: 2;
        grid-column: 2;
        align-items: center;
        gap: 4px 10px;
        text-align: left;
    }

    .lgbx-ml .lgbx-ml__lokale-ledig span {
        margin-top: 0;
    }

    .lgbx-ml a.lgbx-ml__lokale svg {
        grid-row: 1 / span 2;
        grid-column: 3;
        width: 18px;
        height: 18px;
    }

    .lgbx-ml .lgbx-ml__varer-hode {
        margin-top: 36px;
        padding-top: 28px;
    }

    .lgbx-ml ul.lgbx-ml__varer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .lgbx-ml a.lgbx-ml__vare {
        padding: 12px 12px 14px;
    }
}
