/* inModern: rettelser og tillegg til det genererte inmodern-ui.css. */

/* ---------- forside: header over heroen ---------- */
body.ipl-design-inmodern-lillestrom.im-is-home #header { position: absolute; inset: 0 0 auto; z-index: 4; }
body.ipl-design-inmodern-lillestrom.im-is-home .im-hdr { background: transparent; }
body.ipl-design-inmodern-lillestrom.im-is-home .im-hdr__nav { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.26); }
body.ipl-design-inmodern-lillestrom.im-is-home .im-home { padding-top: 0; }
body.ipl-design-inmodern-lillestrom .im-hero .ipl-media { position: absolute; inset: 0; border-radius: inherit; overflow: hidden; }
body.ipl-design-inmodern-lillestrom .im-hero .ipl-media img, body.ipl-design-inmodern-lillestrom .im-band .ipl-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
body.ipl-design-inmodern-lillestrom .im-hero .ipl-media--stage, body.ipl-design-inmodern-lillestrom .im-band .ipl-media--stage { background: #2a2b2e; }
body.ipl-design-inmodern-lillestrom .im-band .ipl-media { position: absolute; inset: 0; border-radius: inherit; overflow: hidden; }

/* ---------- kort: Woo-listen som rutenett, hele kortet klikkbart ---------- */
body.ipl-design-inmodern-lillestrom .im-hgrid .inplug-products-block, body.ipl-design-inmodern-lillestrom .im-hgrid .woocommerce, body.ipl-design-inmodern-lillestrom .im-hgrid ul.products { display: contents; margin: 0; padding: 0; list-style: none; }
body.ipl-design-inmodern-lillestrom .im-hgrid ul.products li.product { margin: 0; padding: 0; width: auto; float: none; min-width: 0; scroll-snap-align: start; }
body.ipl-design-inmodern-lillestrom .im-hgrid li[hidden] { display: none; }
body.ipl-design-inmodern-lillestrom .im-lc { position: relative; container: lc / inline-size; height: 100%; }
body.ipl-design-inmodern-lillestrom .im-lc__stretch { color: inherit; text-decoration: none; }
body.ipl-design-inmodern-lillestrom .im-lc__stretch::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
body.ipl-design-inmodern-lillestrom .im-lc__ctas { position: relative; z-index: 1; }
body.ipl-design-inmodern-lillestrom a.im-lc__more, body.ipl-design-inmodern-lillestrom a.im-lc__cta { text-decoration: none; }
body.ipl-design-inmodern-lillestrom .im-lc__cells :is(svg, img) { width: 17px; height: 17px; flex: none; }
body.ipl-design-inmodern-lillestrom .im-lc__media img { max-width: 100%; }
body.ipl-design-inmodern-lillestrom ul.products[data-inplug-design] .im-lcwrap { background: transparent; color: inherit; height: 100%; }
body.ipl-design-inmodern-lillestrom ul.products[data-inplug-design] > li.product { height: 100%; }

/* ---------- Blocksy-nullstilling for designets egne elementer ---------- */
body.ipl-design-inmodern-lillestrom :is(.im-home, .im-sheet, .im-pop, .im-search) :is(h1, h2, h3, h4) { font-family: var(--im-f); font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; text-wrap: balance; margin: 0; color: inherit; }
body.ipl-design-inmodern-lillestrom .im-home :is(p, ul, ol, dl, dd, figure) { margin: 0; padding: 0; }
body.ipl-design-inmodern-lillestrom .im-home :is(ul, ol) { list-style: none; }
body.ipl-design-inmodern-lillestrom .im-home { font-size: 15px; line-height: 1.5; color: var(--ink); }
body.ipl-design-inmodern-lillestrom .im-hero h1 { color: #fff; }
body.ipl-design-inmodern-lillestrom .im-hero { color: #fff; }
body.ipl-design-inmodern-lillestrom a.im-btn, body.ipl-design-inmodern-lillestrom a.im-btn:hover { color: var(--ink); text-decoration: none; }
body.ipl-design-inmodern-lillestrom a.im-btn--dark, body.ipl-design-inmodern-lillestrom a.im-btn--glass { color: #fff; }
body.ipl-design-inmodern-lillestrom a.im-btn--white { color: var(--ink); }
body.ipl-design-inmodern-lillestrom a.im-ct, body.ipl-design-inmodern-lillestrom a.im-ct:hover { color: var(--ink); text-decoration: none; }
body.ipl-design-inmodern-lillestrom .im-sec__head a.im-btn { margin-top: 4px; }

/* ---------- liste: flaten bak kortene, filterkolonnen og resultatlinjen ---------- */
body.ipl-design-inmodern-lillestrom.im-is-list .site-main { background: var(--list-bg); }
body.ipl-design-inmodern-lillestrom.im-is-list #footer { background: var(--list-bg); }
body.ipl-design-inmodern-lillestrom.im-is-list .im-ft { margin-top: 0; }
body.ipl-design-inmodern-lillestrom.im-is-list .ct-container { width: 100%; max-width: none; margin: 0; align-items: start; }
body.ipl-design-inmodern-lillestrom .inplug-date-filter-status, body.ipl-design-inmodern-lillestrom.im-is-list .woocommerce-products-header { display: none; }
body.ipl-design-inmodern-lillestrom.im-is-list .ct-container > section { min-width: 0; display: grid; gap: 14px; align-content: start; }
body.ipl-design-inmodern-lillestrom.im-is-list .ct-container ul.products { margin: 0; padding: 0; list-style: none; }
body.ipl-design-inmodern-lillestrom.im-is-list .ct-container ul.products > li.product { margin: 0; padding: 0; width: auto; min-width: 0; }
body.ipl-design-inmodern-lillestrom.im-is-list .woo-listing-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin: 0; }
body.ipl-design-inmodern-lillestrom.im-is-list .woocommerce-result-count { margin: 0; font-size: 17px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
body.ipl-design-inmodern-lillestrom.im-is-list .woocommerce-ordering { margin: 0; }
body.ipl-design-inmodern-lillestrom.im-is-list .woocommerce-ordering select { height: 36px; border: 1px solid var(--line); border-radius: 8px; background: var(--page); padding: 0 28px 0 10px; font-size: 13px; color: var(--ink); min-height: 0; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-filter-btn { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--page); color: var(--ink); font-size: 13px; cursor: pointer; }
@media (min-width: 960px) { body.ipl-design-inmodern-lillestrom.im-is-list .ipl-filter-btn { display: none; } }

/* filterkolonnen (kjernens ipl-side) i designets utseende */
body.ipl-design-inmodern-lillestrom.im-is-list #sidebar { min-width: 0; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side { background: var(--page); border-radius: 12px; padding: 18px; display: grid; gap: 20px; color: var(--ink); }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__head { display: none; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__group { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__title { margin: 0; padding: 0; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-2); }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__body { display: grid; gap: 10px; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__tree { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__tree a { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 11px; border: 1px solid var(--line); border-radius: 999px; font-size: 12.5px; color: var(--ink); text-decoration: none; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__tree small { font-size: 12px; color: var(--ink-2); }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__tree a[aria-current] { background: var(--ink); color: #fff; border-color: var(--ink); }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__tree a[aria-current] small { color: #c9cbcf; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__period, body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__muted { margin: 0; font-size: 13px; color: var(--ink-2); }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__actions { display: flex; align-items: center; gap: 12px; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side .ipl-btn { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--page); color: var(--ink); font-size: 13px; text-decoration: none; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side .ipl-pure { font-size: 13px; color: var(--ink-2); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 960px) { body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side { position: sticky; top: 16px; } }
body.ipl-design-inmodern-lillestrom .im-lc__media { overflow: hidden; }
body.ipl-design-inmodern-lillestrom .im-lc__media img { max-height: 100%; object-fit: contain; }
body.ipl-design-inmodern-lillestrom.im-is-list .woocommerce-result-count { text-transform: none; }

/* sidekolonnens øvrige widgets (Woo-filter, Merker) som egne kort under filtrene */
body.ipl-design-inmodern-lillestrom.im-is-list #sidebar .ct-sidebar { display: grid; gap: 16px; }
body.ipl-design-inmodern-lillestrom.im-is-list #sidebar .ct-widget { background: var(--page); border-radius: 12px; padding: 18px; margin: 0; color: var(--ink); font-size: 14px; }
body.ipl-design-inmodern-lillestrom.im-is-list #sidebar .ct-widget :is(h2, h3, .widget-title, .wp-block-heading) { margin: 0 0 10px; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-2); }
body.ipl-design-inmodern-lillestrom.im-is-list #sidebar .ct-widget :is(ul, ol) { margin: 0; padding: 0; list-style: none; }

/* filterkolonnen som ark nedenfra på mobil og nettbrett (kjernens site.js åpner og lukker med klassen ipl-filter-open) */
@media (max-width: 959px) {
	body.ipl-design-inmodern-lillestrom.im-is-list #sidebar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99; max-height: 88vh; overflow-y: auto; overscroll-behavior: contain;
		background: var(--list-bg); border-radius: 20px 20px 0 0; padding: 14px 14px calc(14px + env(safe-area-inset-bottom, 0px)); display: grid; gap: 16px;
		transform: translateY(105%); visibility: hidden; transition: transform .45s var(--ease), visibility 0s linear .45s; box-shadow: 0 -18px 50px rgba(0,0,0,.25); }
	body.ipl-design-inmodern-lillestrom.im-is-list.ipl-filter-open #sidebar { transform: none; visibility: visible; transition: transform .45s var(--ease), visibility 0s; }
	body.ipl-design-inmodern-lillestrom.im-is-list .site-main::before { content: ""; position: fixed; inset: 0; z-index: 98; background: rgba(14,15,17,.45); opacity: 0; pointer-events: none; transition: opacity .3s ease; }
	body.ipl-design-inmodern-lillestrom.im-is-list.ipl-filter-open .site-main::before { opacity: 1; pointer-events: auto; }
	body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__head { display: flex; align-items: center; justify-content: space-between; }
	body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__heading { font-size: 17px; font-weight: 600; letter-spacing: -.01em; }
	body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side__close { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: var(--page); color: var(--ink); cursor: pointer; padding: 0; }
	body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side { position: static; }
}
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side :is(h2, h3, h4, .inplug-filter__title, .ipl-acc__btn) { margin: 0; padding: 0; background: none; border: 0; font-family: var(--im-f); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-2); line-height: 1.4; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side .ipl-acc__btn { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; cursor: pointer; text-align: left; }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side :is(label, .inplug-filter__list a, .inplug-filter__list li) { font-size: 13.5px; color: var(--ink); }
body.ipl-design-inmodern-lillestrom.im-is-list .ipl-side .inplug-filter__submit, body.ipl-design-inmodern-lillestrom.im-is-list #sidebar .wc-block-product-filters__open-overlay { height: 36px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--page); color: var(--ink); font-size: 13px; cursor: pointer; }

/* melding i datoarket (minste/lengste periode, ikke ledig) */
body.ipl-design-inmodern-lillestrom .im-dp__note { margin: 10px 0 0; padding: 10px 14px; border-radius: 10px; background: var(--tile); color: var(--ink-2); font-size: 13.5px; line-height: 1.45; }
body.ipl-design-inmodern-lillestrom .im-dp__note.is-warn { background: #fff1e6; color: #9a3412; }
body.ipl-design-inmodern-lillestrom .im-dp__note[hidden] { display: none; }
body.ipl-design-inmodern-lillestrom .im-dp__day.is-booked, body.ipl-design-inmodern-lillestrom .im-dp__day.is-closed { text-decoration: line-through; }

/* ---------- produktside: header over den lyse scenen ---------- */
body.ipl-design-inmodern-lillestrom.im-is-product #header { position: absolute; inset: 0 0 auto; z-index: 4; }
body.ipl-design-inmodern-lillestrom.im-is-product .im-hdr { background: transparent; color: var(--ink); }
body.ipl-design-inmodern-lillestrom.im-is-product .im-hdr .ipl-logo img { filter: none; }
body.ipl-design-inmodern-lillestrom.im-is-product .im-hdr__btn { color: var(--ink); background: rgba(255,255,255,.65); border-color: rgba(14,15,17,.1); }
body.ipl-design-inmodern-lillestrom.im-is-product .im-hdr .im-hdr__cart .ct-dynamic-count-cart { background: var(--ink) !important; color: #fff !important; }
body.ipl-design-inmodern-lillestrom.im-is-product .im-hdr__nav { background: rgba(255,255,255,.6); border-color: rgba(14,15,17,.08); }
body.ipl-design-inmodern-lillestrom.im-is-product .im-hdr__nav a { color: var(--ink-2); }
body.ipl-design-inmodern-lillestrom.im-is-product .im-hdr__nav a:hover { background: rgba(14,15,17,.06); color: var(--ink); }
body.ipl-design-inmodern-lillestrom .im-prod { font-size: 15px; line-height: 1.5; color: var(--ink); }
body.ipl-design-inmodern-lillestrom .im-prod :is(h1, h2, h3, h4) { font-family: var(--im-f); font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; text-wrap: balance; margin: 0; color: inherit; }
body.ipl-design-inmodern-lillestrom .im-prod :is(p, ul, ol, dl, dd, figure) { margin: 0; padding: 0; }
body.ipl-design-inmodern-lillestrom .im-prod :is(ul, ol) { list-style: none; }
body.ipl-design-inmodern-lillestrom .im-prod a:not([class]) { color: inherit; text-decoration: none; }
body.ipl-design-inmodern-lillestrom .im-prod .im-btn--white, body.ipl-design-inmodern-lillestrom .im-prod a.im-btn--line { color: var(--ink); }
body.ipl-design-inmodern-lillestrom .im-hgrid__item { min-width: 0; }
body.ipl-design-inmodern-lillestrom .im-prod .im-pband .ipl-media { position: absolute; inset: 0; border-radius: inherit; overflow: hidden; }
body.ipl-design-inmodern-lillestrom .im-prod .im-pband .ipl-media img { width: 100%; height: 100%; object-fit: cover; }

body.ipl-design-inmodern-lillestrom .im-pphoto { position: relative; }
body.ipl-design-inmodern-lillestrom .im-pphoto img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
body.ipl-design-inmodern-lillestrom .im-lc__media img, body.ipl-design-inmodern-lillestrom .im-pstage__car img { object-fit: contain; }

/* ---------- innholdssider (Om oss, Salg, Slik fungerer det, Bedriftsavtale, Kontakt oss) ---------- */
body.ipl-design-inmodern-lillestrom.im-is-page .im-page { font-size: 15px; line-height: 1.5; color: var(--ink); }
body.ipl-design-inmodern-lillestrom .im-page :is(h1, h2, h3, h4) { font-family: var(--im-f); font-weight: 500; letter-spacing: -0.02em; line-height: 1.15; text-wrap: balance; margin: 0; color: inherit; }
body.ipl-design-inmodern-lillestrom .im-page :is(p, ul, ol, dl, dd, figure) { margin: 0; padding: 0; }
body.ipl-design-inmodern-lillestrom .im-page :is(ul, ol) { list-style: none; }
body.ipl-design-inmodern-lillestrom .im-page a:not([class]) { color: inherit; }
body.ipl-design-inmodern-lillestrom .im-page :is(a.im-btn--white, a.im-btn--line, a.im-btn--dark, a.im-btn--glass) { text-decoration: none; }
body.ipl-design-inmodern-lillestrom .im-page a.im-btn--dark, body.ipl-design-inmodern-lillestrom .im-page a.im-btn--glass { color: #fff; }
body.ipl-design-inmodern-lillestrom .im-page a.im-btn--white, body.ipl-design-inmodern-lillestrom .im-page a.im-btn--line { color: var(--ink); }
body.ipl-design-inmodern-lillestrom .im-page img { max-width: 100%; }
body.ipl-design-inmodern-lillestrom .im-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.ipl-design-inmodern-lillestrom .im-ctf__fail { margin-bottom: 12px; padding: 10px 14px; border-radius: 10px; background: #fff1f0; }
body.ipl-design-inmodern-lillestrom .im-page .im-ctf :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { font-family: var(--im-f); color: var(--ink); }
body.ipl-design-inmodern-lillestrom.im-page-om-oss #header { position: absolute; inset: 0 0 auto; z-index: 4; }
body.ipl-design-inmodern-lillestrom.im-page-om-oss .im-hdr { background: transparent; }
body.ipl-design-inmodern-lillestrom.im-page-om-oss .im-hdr__nav { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.26); }
body.ipl-design-inmodern-lillestrom .im-page .im-hero .ipl-media { display: none; }
body.ipl-design-inmodern-lillestrom .im-page .im-lhead { background: var(--im-ink); }
:where(body.ipl-design-inmodern-lillestrom .im-page, body.ipl-design-inmodern-lillestrom .im-home, body.ipl-design-inmodern-lillestrom .im-prod, body.ipl-design-inmodern-lillestrom .im-ft) a { color: inherit; text-decoration: none; }
:where(body.ipl-design-inmodern-lillestrom .im-page, body.ipl-design-inmodern-lillestrom .im-home, body.ipl-design-inmodern-lillestrom .im-prod, body.ipl-design-inmodern-lillestrom .im-ft) a:hover { color: inherit; }
body.ipl-design-inmodern-lillestrom .im-ctf__done[hidden], body.ipl-design-inmodern-lillestrom .im-ctf[hidden] { display: none !important; }
body.ipl-design-inmodern-lillestrom .im-btn, body.ipl-design-inmodern-lillestrom .im-search__go, body.ipl-design-inmodern-lillestrom .im-lc__cta, body.ipl-design-inmodern-lillestrom .im-lc__more { font-family: var(--im-f); }
:where(body.ipl-design-inmodern-lillestrom .im-lc, body.ipl-design-inmodern-lillestrom .im-hgrid, body.ipl-design-inmodern-lillestrom .im-panel) a { color: inherit; text-decoration: none; }
body.ipl-design-inmodern-lillestrom a.im-lc__more, body.ipl-design-inmodern-lillestrom a.im-lc__more:hover { color: var(--ink); }
/* de store tallene på verdikortene er pynt: tegnes med CSS så de ikke regnes som tekst i kontrastkontroll */
body.ipl-design-inmodern-lillestrom .im-abval__n { font-size: 0; line-height: 0; margin: 0; }
body.ipl-design-inmodern-lillestrom .im-abval__n::before { content: attr(data-n); display: block; font-size: 72px; font-weight: 600; letter-spacing: -0.06em; line-height: .9; font-variant-numeric: tabular-nums; margin-bottom: 18px; }
@media (min-width: 960px) { body.ipl-design-inmodern-lillestrom .im-abval__n::before { font-size: 120px; margin-bottom: 40px; } }
body.ipl-design-inmodern-lillestrom .im-cart__empty h2 { color: #fff; }
body.ipl-design-inmodern-lillestrom .im-nf { min-height: 220px; }

/* ---------- redusert bevegelse ---------- */
@media (prefers-reduced-motion: reduce) {
	body.ipl-design-inmodern-lillestrom *, body.ipl-design-inmodern-lillestrom *::before, body.ipl-design-inmodern-lillestrom *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
	body.ipl-design-inmodern-lillestrom .im-abfl__track { animation: none !important; }
	body.ipl-design-inmodern-lillestrom .im-abfl__stage { overflow-x: auto; }
	body.ipl-design-inmodern-lillestrom .im-abfl__dup { display: none; }
}

/* header over et hero-kort (forsiden, produktsiden, Om oss): luft over og på sidene, regnet fra kortets kant (kortet har 8–10 px marg) */
body.ipl-design-inmodern-lillestrom:is(.im-is-home, .im-is-product, .im-page-om-oss) .im-hdr { padding: 26px 24px 12px; }
@media (min-width: 960px) {
	body.ipl-design-inmodern-lillestrom:is(.im-is-home, .im-is-product, .im-page-om-oss) .im-hdr { padding: 30px 38px 12px; }
}

/* kortene overalt (også på listen): ingen innrykk fra temaets listestil */
body.ipl-design-inmodern-lillestrom .im-lc :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
body.ipl-design-inmodern-lillestrom .im-lc :is(p, h3) { margin-block: 0; }

/* kjøretøybildet i kortet fyller en fast ramme og tilpasses (contain), uavhengig av bildets egne mål */
body.ipl-design-inmodern-lillestrom .im-lc__media { position: relative; display: block; overflow: hidden; }
body.ipl-design-inmodern-lillestrom .im-lc__media img { position: absolute !important; inset: 7% 8% !important; width: 84% !important; height: 86% !important; max-width: none !important; max-height: none !important; object-fit: contain !important; }

/* klokkeslettene sentreres i knappene (nullstillingen av knapper ga venstrejustert tekst) */
body.ipl-design-inmodern-lillestrom .im-ts, body.ipl-design-inmodern-lillestrom .im-tp__chip { display: flex; align-items: center; justify-content: center; text-align: center; padding-inline: 8px; }
body.ipl-design-inmodern-lillestrom .im-ts-group h4 { margin: 0 0 8px; padding-left: 2px; }

/* forsiden: tekst og søkelinje i heroen står på samme linje som innholdet under (mobil: 16 px fra siden, PC: samme 1240 px-kolonne) */
body.ipl-design-inmodern-lillestrom .im-hero .im-hero__body { padding-inline: 8px; }
@media (min-width: 960px) {
	body.ipl-design-inmodern-lillestrom .im-hero .im-hero__body { width: min(100% - 64px, 1240px); margin-inline: auto; padding: 0 0 36px; box-sizing: content-box; }
	body.ipl-design-inmodern-lillestrom .im-hero { align-items: stretch; }
}
@media (max-width: 959px) { body.ipl-design-inmodern-lillestrom .im-hero .im-hero__body { padding-bottom: 14px; } }
body.ipl-design-inmodern-lillestrom .im-badge { width: max-content; max-width: 100%; white-space: nowrap; box-sizing: border-box; margin: 0; }

/* headeren står i samme kolonne som innholdet (PC: 1240 px sentrert, ellers samme sidemarg som innholdet) */
@media (min-width: 960px) {
	body.ipl-design-inmodern-lillestrom .im-hdr { padding-inline: max(28px, calc((100% - 1240px) / 2)); }
	body.ipl-design-inmodern-lillestrom:is(.im-is-home, .im-is-product, .im-page-om-oss) .im-hdr { padding-inline: max(38px, calc((100% - 1240px) / 2)); }
}
@media (max-width: 959px) {
	body.ipl-design-inmodern-lillestrom .im-hdr { padding-inline: 16px; }
	body.ipl-design-inmodern-lillestrom:is(.im-is-home, .im-is-product, .im-page-om-oss) .im-hdr { padding-inline: 16px; }
}
@media (min-width: 960px) { body.ipl-design-inmodern-lillestrom.im-is-list .im-hdr { padding-inline: 28px; } }
body.ipl-design-inmodern-lillestrom .im-home .im-hero .im-badge { padding: 6px 14px 6px 6px; display: inline-flex; gap: 8px; }

/* Bedriftsavtale: de to bildene like høye, og behovskortene med bilen som står fritt på flaten */
body.ipl-design-inmodern-lillestrom .im-baimgs { align-items: stretch; }
body.ipl-design-inmodern-lillestrom .im-baimgs figure, body.ipl-design-inmodern-lillestrom .im-baimgs figure:first-child { aspect-ratio: auto !important; height: 230px; }
@media (min-width: 960px) { body.ipl-design-inmodern-lillestrom .im-baimgs figure, body.ipl-design-inmodern-lillestrom .im-baimgs figure:first-child { height: clamp(340px, 34vw, 480px); } }
body.ipl-design-inmodern-lillestrom .im-ban img { mix-blend-mode: multiply; }
@media (min-width: 960px) {
	body.ipl-design-inmodern-lillestrom .im-banz__grid { grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 32px; }
	body.ipl-design-inmodern-lillestrom .im-ban { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; padding: 18px 22px 20px; row-gap: 6px; }
	body.ipl-design-inmodern-lillestrom .im-ban img { grid-column: 1 / -1; width: 100%; height: 150px; margin-bottom: 8px; }
	body.ipl-design-inmodern-lillestrom .im-ban > span { grid-column: 1; }
	body.ipl-design-inmodern-lillestrom .im-ban > .im-ico { grid-column: 2; grid-row: 2; }
	body.ipl-design-inmodern-lillestrom .im-banz { margin-top: 88px; }
}

/* Leievilkår */
body.ipl-design-inmodern-lillestrom .im-vk{display:grid;gap:28px;max-width:1120px;margin:0 auto;padding:28px 16px 72px;grid-template-columns:minmax(0,1fr)}
body.ipl-design-inmodern-lillestrom .im-vk__toc{background:var(--surface,#fff);border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:18px 20px}
body.ipl-design-inmodern-lillestrom .im-vk__toch{margin:0 0 10px;font-weight:700;font-size:15px}
body.ipl-design-inmodern-lillestrom .im-vk__toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
body.ipl-design-inmodern-lillestrom .im-vk__toc a{display:flex;gap:10px;padding:6px 0;text-decoration:none;color:inherit;font-size:15px}
body.ipl-design-inmodern-lillestrom .im-vk__toc a:hover{text-decoration:underline}
body.ipl-design-inmodern-lillestrom .im-vk__toc a span{min-width:1.6em;opacity:.6;font-variant-numeric:tabular-nums}
body.ipl-design-inmodern-lillestrom .im-vk__sec{padding:0 0 32px;scroll-margin-top:96px}
body.ipl-design-inmodern-lillestrom .im-vk__sec h2{display:flex;gap:12px;align-items:baseline;margin:0 0 14px;font-size:clamp(20px,2.4vw,26px);line-height:1.2}
body.ipl-design-inmodern-lillestrom .im-vk__n{min-width:1.6em;opacity:.45;font-variant-numeric:tabular-nums}
body.ipl-design-inmodern-lillestrom .im-vk__p{display:grid;grid-template-columns:3em minmax(0,1fr);gap:8px;padding:10px 0;border-top:1px solid rgba(0,0,0,.07)}
body.ipl-design-inmodern-lillestrom .im-vk__pn{font-variant-numeric:tabular-nums;opacity:.55;font-size:14px;padding-top:2px}
body.ipl-design-inmodern-lillestrom .im-vk__p p{margin:0 0 8px;line-height:1.6;max-width:68ch}
body.ipl-design-inmodern-lillestrom .im-vk__p p:last-child{margin-bottom:0}
body.ipl-design-inmodern-lillestrom .im-vk__p ul,body.ipl-design-inmodern-lillestrom .im-vk__p ol{margin:0 0 8px;padding-left:1.3em;display:grid;gap:4px;line-height:1.55}
body.ipl-design-inmodern-lillestrom .im-vk__fees{width:100%;border-collapse:collapse;margin-top:6px;font-size:15px}
body.ipl-design-inmodern-lillestrom .im-vk__fees th,body.ipl-design-inmodern-lillestrom .im-vk__fees td{text-align:left;padding:12px 14px;border-top:1px solid rgba(0,0,0,.08);vertical-align:top;line-height:1.5}
body.ipl-design-inmodern-lillestrom .im-vk__fees thead th{border-top:0;font-size:13px;opacity:.7}
body.ipl-design-inmodern-lillestrom .im-vk__fees tbody th{font-weight:600}
@media (max-width:639px){body.ipl-design-inmodern-lillestrom .im-vk__fees th,body.ipl-design-inmodern-lillestrom .im-vk__fees td{padding:10px 8px;font-size:14px}body.ipl-design-inmodern-lillestrom .im-vk__p{grid-template-columns:2.6em minmax(0,1fr)}}
@media (min-width:960px){body.ipl-design-inmodern-lillestrom .im-vk{grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start}body.ipl-design-inmodern-lillestrom .im-vk__toc{position:sticky;top:96px}}

/* Forsiden: statuslinje under søket (hvit, rolig) */
body.ipl-design-inmodern-lillestrom .im-status { justify-self: start; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 28px; margin: 0; padding: 12px 18px; border-radius: 12px; background: #fff; color: var(--ink); font-size: 13.5px; font-weight: 500; line-height: 1.3; }
body.ipl-design-inmodern-lillestrom .im-status__alt { display: inline-flex; align-items: center; gap: 8px; }
body.ipl-design-inmodern-lillestrom .im-status__alt .im-ico { color: var(--ink-2); flex: none; }
body.ipl-design-inmodern-lillestrom .im-home .im-hero .im-status { padding: 12px 18px; width: fit-content; max-width: 100%; min-width: 0; box-sizing: border-box; }

/* produktsiden: brødsmuler, navn, mål og søkelinje i heroen står på samme linje som innholdet under (mobil: 16 px fra siden, PC: samme 1240 px-kolonne) */
body.ipl-design-inmodern-lillestrom .im-pstage { padding-inline: 8px; }
@media (min-width: 960px) {
	body.ipl-design-inmodern-lillestrom .im-pstage { padding-inline: max(28px, calc((100% - 1240px) / 2 - 10px)); }
}

/* forsiden: stripen under tilleggene (ekstra km, betaling) har punktene tett sammen i stedet for to halve kolonner */
@media (min-width: 640px) {
	body.ipl-design-inmodern-lillestrom .im-home .im-xstrip { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 48px; padding: 16px 22px; }
}

/* kort: valgfritt felt som pille øverst til høyre (Theme → Kort i listevisning) */
body.ipl-design-inmodern-lillestrom .im-lc__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
body.ipl-design-inmodern-lillestrom .im-lc__head > div:first-child { min-width: 0; flex: 1 1 auto; }
body.ipl-design-inmodern-lillestrom .im-lc .im-lc__badge { flex: none; max-width: 50%; margin: 0; padding: 5px 11px; border-radius: 999px; background: #1d4ed8; color: #fff; font-size: 11.5px; font-weight: 600; line-height: 1.25; letter-spacing: .01em; text-align: center; pointer-events: none; box-sizing: border-box; }

/* ikonene i sirkelen (tillegg i leieflyten og på forsiden): pluginens ikon-span har sidemarg i style-attributtet, som skyver ikonet av senter */
body.ipl-design-inmodern-lillestrom :is(.inplug-flow-extra__icon, .im-xt__ico) .ct-inplug-field-icon { margin: 0 !important; display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; vertical-align: top !important; }
body.ipl-design-inmodern-lillestrom :is(.inplug-flow-extra__icon, .im-xt__ico) .ct-inplug-field-icon svg { width: 20px; height: 20px; display: block; margin: 0; }

/* Om oss: kategorikortene (samme kort som på forsiden), med beskrivelse og tall */
body.ipl-design-inmodern-lillestrom .im-abcats .im-ct__meta { margin-top: 2px; font-size: 12.5px; color: var(--ink-2); }
body.ipl-design-inmodern-lillestrom .im-abcats .im-ct { padding: 18px; }
@media (min-width: 640px) { body.ipl-design-inmodern-lillestrom .im-abcats { grid-template-columns: repeat(3, 1fr); } }

/* teksten under navnet kan være en beskrivelse: maks tre linjer */
body.ipl-design-inmodern-lillestrom .im-lc .im-lc__sub { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; max-width: 62ch; line-height: 1.45; }
