/* ==========================================================================
   Baltnor Motor — EV/hybrid pages (SP Page Builder)
   Load once for the whole site: Helix Ultimate → templates/shaper_helixultimate/css/custom.css
   (or Template Options → Custom Code → Custom CSS). All classes are prefixed bm-.
   Section/column/addon classes are set in SPPB → Settings → "CSS Class".
   ========================================================================== */

:root {
  --bm-navy: #092a42; --bm-navy2: #0b3651; --bm-blue: #0e4a70; --bm-blue50: #e9f1f7;
  --bm-ox: #841919; --bm-ox-h: #6c1313; --bm-hv: #e8731a; --bm-grey: #f4f4f4;
  --bm-line: #e3e7eb; --bm-muted: #6b7c88; --bm-ink: #1f2d38;
  --bm-r: 10px; --bm-shadow: 0 6px 24px rgba(9, 42, 66, .08); --bm-shadow-h: 0 10px 30px rgba(9, 42, 66, .14);
  --bm-head: "Montserrat", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Sections ---------- */
.bm-sec { color: var(--bm-ink); }
.bm-sec .sppb-row-container { max-width: 1180px; }
.bm-sec--grey { background-color: var(--bm-grey); }
.bm-sec--blue { background-color: var(--bm-blue50); }
.bm-sec--dark { background-color: var(--bm-navy); color: #c9d6de; }

/* ---------- Typography (addon class on Heading / Text Block) ---------- */
.bm-h1 .sppb-addon-title { font: 700 clamp(2rem, 4.4vw, 3.2rem)/1.15 var(--bm-head); color: #fff; margin: 0 0 20px; }
.bm-h2 .sppb-addon-title { font: 700 clamp(1.65rem, 3vw, 2.3rem)/1.2 var(--bm-head); color: var(--bm-blue); margin: 0 0 14px; }
.bm-h3 .sppb-addon-title { font: 600 1.2rem/1.3 var(--bm-head); color: var(--bm-blue); margin: 0 0 8px; }
.bm-sec--dark .bm-h2 .sppb-addon-title, .bm-hero .bm-h2 .sppb-addon-title, .bm-cta .bm-h2 .sppb-addon-title { color: #fff; }
.bm-lead .sppb-addon-content { font-size: 1.125rem; line-height: 1.65; color: var(--bm-muted); }
.bm-lead.bm-center .sppb-addon-content, .bm-center .bm-lead .sppb-addon-content { max-width: 720px; margin: 0 auto; }
.bm-text .sppb-addon-content { font-size: 1.0625rem; line-height: 1.65; color: var(--bm-ink); }
.bm-sub .sppb-addon-title { font: 600 1rem/1.3 var(--bm-head); color: var(--bm-ox); margin: 0 0 10px; }
.bm-head-wrap { margin-bottom: 40px; }

/* EV tag (small orange label — max once per block) */
.bm-ev-tag { display: inline-block; padding: 4px 12px; border-radius: 25px; background: rgba(232,115,26,.12); color: #a14a06; font: 600 .8125rem/1.4 var(--bm-head); }

/* ---------- Hero ---------- */
.bm-hero { color: #e3ecf2; }
.bm-hero .bm-lead .sppb-addon-content { color: #d6e1e8; font-size: 1.1875rem; max-width: 620px; }
.bm-hero .bm-crumbs, .bm-hero .bm-crumbs a { font-size: .8125rem; color: #a9bccb; }
.bm-hero .bm-crumbs a { color: #fff; }
.bm-points ul { display: flex; flex-wrap: wrap; gap: 10px 26px; list-style: none; padding: 0; margin: 28px 0 0; color: #fff; font-size: .9375rem; }
.bm-points li { display: flex; align-items: center; gap: 9px; }
.bm-points li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #e05a5a; }
@media (max-width: 767px) { .bm-hero .bm-lead .sppb-addon-content { font-size: 1.0625rem; } }

/* ---------- Buttons (Button Group addon, class bm-btns) ---------- */
.bm-btns .sppb-addon-content { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 !important; }
.bm-center .bm-btns .sppb-addon-content, .bm-btns.bm-center .sppb-addon-content { justify-content: center; }
.bm-btns .sppb-btn { min-height: 50px; padding: 14px 26px; border-radius: 6px !important; font: 600 .9375rem/1.2 var(--bm-head); border-width: 2px; margin: 0 !important; display: inline-flex; align-items: center; }
.bm-btns .sppb-btn-outline { border: 2px solid currentColor !important; }
.bm-btns .sppb-btn-outline:hover { border-color: transparent !important; }

/* ---------- Cards (column class bm-card — bg/radius/shadow also set natively) ---------- */
/* equal-height cards: column wrapper becomes a flex column, the card grows to fill it */
.bm-sec .sppb-row-column { display: flex; flex-direction: column; }
.sppb-column.bm-card { background: #fff; border: 1px solid var(--bm-line); border-radius: var(--bm-r); box-shadow: var(--bm-shadow); flex: 1 0 auto; height: auto; margin-bottom: 28px; position: relative; transition: box-shadow .15s, transform .15s; }
.sppb-column.bm-card > .sppb-column-addons { width: 100%; }
.sppb-column.bm-card.bm-center { text-align: center; }
.sppb-column.bm-card--accent { border-top: 4px solid var(--bm-ox); }
.sppb-column.bm-card--blue { border-top: 4px solid var(--bm-blue); }
.sppb-column.bm-card--link:hover { box-shadow: var(--bm-shadow-h); transform: translateY(-2px); }
.bm-card .bm-h3 .sppb-addon-title { margin-bottom: 6px; }
.bm-card .sppb-addon-text-block .sppb-addon-content { color: #4a5a66; font-size: .9875rem; line-height: 1.6; }
.bm-sec--dark .sppb-column.bm-card:not(.bm-form-card), .bm-cta .sppb-column.bm-card:not(.bm-form-card) { background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.16); box-shadow: none; }
.bm-sec--dark .bm-card .sppb-addon-title, .bm-cta .bm-card .sppb-addon-title { color: #fff; }
.bm-sec--dark .bm-card .sppb-addon-content, .bm-cta .bm-card .sppb-addon-content { color: #d6e1e8; }

/* Feature Box inside a card: big SVG icon (optionally in a circle) + title + text */
.bm-feature { text-align: center; }
.bm-feature .sppb-img-container, .bm-feature .sppb-addon-feature-image { display: block; margin: 0 auto 20px; }
.bm-feature img { width: 64px; height: 64px; object-fit: contain; margin: 0 auto; }
.bm-feature.bm-circle .sppb-img-container, .bm-feature.bm-circle .sppb-addon-feature-image { width: 96px; height: 96px; border-radius: 50%; background: var(--bm-blue50); display: grid !important; place-items: center; }
.bm-feature.bm-circle img { width: 58px; height: 58px; }
.bm-feature .sppb-addon-title, .bm-feature .sppb-feature-box-title { font: 600 1.125rem/1.3 var(--bm-head); color: var(--bm-blue); margin: 0 0 8px; }
.bm-feature .sppb-addon-title a { color: inherit; text-decoration: none; }
.bm-feature .sppb-addon-title a::after { content: ""; position: absolute; inset: 0; } /* whole card clickable */
.bm-feature .sppb-addon-text { color: #4a5a66; font-size: .9375rem; line-height: 1.6; }
.bm-sec--dark .bm-feature .sppb-addon-title, .bm-cta .bm-feature .sppb-addon-title { color: #fff; }
.bm-sec--dark .bm-feature .sppb-addon-text, .bm-cta .bm-feature .sppb-addon-text { color: #d6e1e8; }

/* Phones: 2-up compact icon cards (section class bm-m2; column xs width 50% set natively) */
@media (max-width: 575px) {
  .bm-m2 .sppb-row-column { padding-left: 6px; padding-right: 6px; }
  .bm-m2 .sppb-column.bm-card { padding: 20px 10px !important; margin-bottom: 12px !important; }
  .bm-m2 .bm-feature img { width: 46px; height: 46px; }
  .bm-m2 .bm-feature.bm-circle .sppb-img-container, .bm-m2 .bm-feature.bm-circle .sppb-addon-feature-image { width: 70px; height: 70px; margin-bottom: 12px; }
  .bm-m2 .bm-feature .sppb-addon-title { font-size: .9375rem; }
  .bm-m2 .bm-feature .sppb-addon-text { display: none; }
}

/* Step number (Heading addon with class bm-step, text "1") */
.bm-step .sppb-addon-title { width: 52px; height: 52px; border-radius: 50%; background: var(--bm-ox); color: #fff; display: grid; place-items: center; font: 700 1.25rem var(--bm-head); margin: 0 auto 20px; box-shadow: 0 0 0 6px rgba(132,25,25,.1); }

/* Photo card: image on top of a card (image addon class bm-card-img) */
.bm-card-img { margin: -36px -28px 22px; }
.bm-card-img img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: var(--bm-r) var(--bm-r) 0 0; }
.bm-link a, a.bm-link { font: 600 .9375rem var(--bm-head); color: var(--bm-ox); text-decoration: none; }

/* ---------- Lists ---------- */
.bm-checks ul { list-style: none; padding: 0; margin: 0; }
.bm-checks li { position: relative; padding: 8px 0 8px 34px; }
.bm-checks li::before { content: ""; position: absolute; left: 0; top: 11px; width: 22px; height: 22px; border-radius: 50%; background: var(--bm-ox) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat; }
.bm-sec--dark .bm-checks li::before { background-color: #c0392b; }
.bm-card .bm-checks li { text-align: left; font-size: .9375rem; }

/* ---------- Raw HTML blocks ---------- */
.bm-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; text-align: center; }
.bm-stats b { display: block; font: 700 clamp(2rem, 3.4vw, 2.6rem)/1.1 var(--bm-head); color: var(--bm-ox); }
.bm-stats span { display: block; margin-top: 6px; color: var(--bm-muted); font-size: .9375rem; }
@media (max-width: 767px) { .bm-stats { grid-template-columns: repeat(2, 1fr); } }

.bm-brands { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; list-style: none; padding: 0; margin: 0; }
.bm-brands li { padding: 10px 20px; background: #fff; border: 1px solid var(--bm-line); border-radius: 25px; font: 600 .9375rem var(--bm-head); color: var(--bm-blue); box-shadow: 0 2px 8px rgba(9,42,66,.05); }

.bm-figure { background: #fff; border: 1px solid var(--bm-line); border-radius: var(--bm-r); box-shadow: var(--bm-shadow); padding: 32px; }
.bm-figure img { width: 100%; height: auto; }
.bm-legend { display: flex; flex-wrap: wrap; gap: 10px 22px; list-style: none; padding: 0; margin: 22px 0 0; font-size: .9375rem; }
.bm-legend li { display: flex; align-items: center; gap: 8px; }
.bm-legend i { font-style: normal; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font: 700 .8125rem var(--bm-head); background: var(--bm-blue); color: #fff; }
.bm-legend i.hv { background: var(--bm-hv); }

.bm-cmp-wrap { background: #fff; border: 1px solid var(--bm-line); border-radius: var(--bm-r); box-shadow: var(--bm-shadow); overflow: hidden; }
.bm-cmp { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.bm-cmp th, .bm-cmp td { text-align: left; padding: 16px 20px; border-bottom: 1px solid var(--bm-line); vertical-align: top; }
.bm-cmp thead th { font-family: var(--bm-head); color: var(--bm-blue); background: #fafbfc; }
.bm-cmp tr:last-child td, .bm-cmp tr:last-child th { border-bottom: 0; }
.bm-cmp .us { background: #fbf3f3; }
.bm-cmp thead .us { background: var(--bm-ox); color: #fff; }
@media (max-width: 767px) {
  .bm-cmp thead { display: none; }
  .bm-cmp tr { display: block; border-bottom: 1px solid var(--bm-line); padding: 8px 0; }
  .bm-cmp td, .bm-cmp tbody th { display: block; border: 0; padding: 6px 18px; }
  .bm-cmp td::before { content: attr(data-l); display: block; font: 600 .75rem var(--bm-head); color: var(--bm-muted); }
}

.bm-ph { border-radius: var(--bm-r); background: #e9edf0; aspect-ratio: 4/3; display: grid; place-items: center; text-align: center; padding: 20px; color: var(--bm-muted); font-size: .875rem; border: 2px dashed #cdd6dc; }
.bm-ph b { display: block; color: var(--bm-blue); font-family: var(--bm-head); }
.bm-media img, img.bm-media { border-radius: var(--bm-r); box-shadow: var(--bm-shadow); width: 100%; aspect-ratio: 4/3; object-fit: cover; }

/* ---------- Accordion (class bm-acc) ---------- */
.bm-acc .sppb-panel { border: 1px solid var(--bm-line) !important; border-radius: var(--bm-r) !important; box-shadow: 0 2px 10px rgba(9,42,66,.05); background: #fff; margin-bottom: 14px; overflow: hidden; }
.bm-acc .sppb-panel-heading { padding: 20px 56px 20px 24px !important; background: #fff !important; position: relative; }
.bm-acc .sppb-panel-title { font: 600 1.0625rem/1.4 var(--bm-head) !important; color: var(--bm-blue) !important; margin: 0; }
.bm-acc .sppb-panel-body { padding: 0 24px 22px !important; color: #4a5a66; }
.bm-acc .sppb-toggle-direction { color: var(--bm-ox); }
.bm-acc-body .sppb-addon-content p:last-child { margin-bottom: 0; }

/* ---------- Form (Form Builder addon, class bm-form) ---------- */
.bm-form-card { background: #fff; border-radius: var(--bm-r); box-shadow: 0 16px 48px rgba(9,42,66,.18); }
.bm-form label { font: 600 .875rem var(--bm-head); color: var(--bm-ink); margin-bottom: 6px; }
.bm-form .sppb-form-control { min-height: 50px; padding: 12px 14px; font-size: 1rem; color: var(--bm-ink); background: #fafbfc; border: 1px solid #c9d3da; border-radius: 6px; box-shadow: none; }
.bm-form .sppb-form-control:focus { background: #fff; border-color: var(--bm-blue); box-shadow: 0 0 0 3px rgba(14,74,112,.15); outline: none; }
.bm-form textarea.sppb-form-control { min-height: 120px; }
.bm-form .sppb-form-builder-field-0 .sppb-form-control { text-transform: uppercase; font-weight: 700; letter-spacing: .08em; border-left: 12px solid #1f4e9c; background: #fff; }
.bm-form .sppb-form-check-label, .bm-form .sppb-form-group label[for*="policy"] { font-weight: 400; font-size: .875rem; line-height: 1.5; color: #4a5a66; }
.bm-form .sppb-btn { width: 100%; min-height: 54px; font: 600 1rem var(--bm-head); border-radius: 6px !important; }
.bm-form-foot .sppb-addon-content, .bm-form-foot { font-size: .8125rem; color: var(--bm-muted); }
.bm-contact .bm-phone a, .bm-phone { font: 700 1.6rem var(--bm-head); color: #fff; text-decoration: none; }

/* ---------- Final CTA (section class bm-cta; photo + oxblood overlay set natively) ---------- */
.bm-cta { color: #fff; }
.bm-cta .bm-lead .sppb-addon-content { color: #f3d9d9; }
.bm-cta .bm-lead a { color: #fff; font-weight: 700; }

/* Generic helpers */
.bm-center, .bm-center .sppb-addon-content, .bm-center .sppb-addon-title { text-align: center; }
.bm-mt { margin-top: 28px; }
.bm-hide-xs { }
@media (max-width: 575px) { .bm-hide-xs { display: none !important; } }

/* Gallery (Raw HTML .bm-gallery) */
.bm-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 8px; }
.bm-gallery .bm-media, .bm-gallery .bm-ph { width: 100%; aspect-ratio: 16/10; }
@media (max-width: 767px) { .bm-gallery { grid-template-columns: 1fr 1fr; gap: 12px; } }

/* Card inner layout: addons stack vertically, buttons/links pinned to the bottom with a gap */
.sppb-column.bm-card > .sppb-column-addons { display: flex; flex-direction: column; flex: 1 1 auto; }
.bm-card .addon-root-button-group { margin-top: auto; padding-top: 22px; }
.bm-card .addon-root-feature + .addon-root-button-group { padding-top: 24px; }

/* ==========================================================================
   Responsive layer (added 2026-09) — shared by all pages
   ========================================================================== */
/* Phones: side gutter ≥ 20px (Bootstrap default is 15px) */
@media (max-width: 1199px) { .bm-sec > .sppb-row-container { padding-left: 20px; padding-right: 20px; } }
@media (max-width: 575px) { .sppb-column.bm-card { margin-bottom: 20px; } }
@media (min-width: 576px) and (max-width: 767px) {
  .sppb-column.bm-card { margin-bottom: 24px; }
}
/* 2-up phone cards: keep the outer gutter equal to the section gutter */
@media (max-width: 575px) {
  .bm-m2 > .sppb-row-container > .sppb-row { margin-left: -6px; margin-right: -6px; }
}
/* Incomplete rows (e.g. 3 cards at 2-up on tablets) are centred — section class bm-row-center */
.bm-row-center .sppb-row { justify-content: center; }
/* Hide an (empty) column below 992px — column class bm-hide-md */
@media (max-width: 991px) { .sppb-row-column:has(> .bm-hide-md) { display: none; } }
.bm-nowrap { white-space: nowrap; }

/* Photo card image: bleed to the card edges at every breakpoint (card padding 36/28 → 28/20 below 768) */
.bm-card-img .sppb-addon-single-image-container { display: block; }
.bm-card-img img { display: block; max-width: none; height: auto; }
@media (max-width: 767px) { .bm-card-img { margin: -28px -20px 18px; } }

/* Phones: compact horizontal photo cards (column class bm-card--photo): thumbnail left, text right */
@media (max-width: 575px) {
  .sppb-column.bm-card--photo { padding: 0 !important; overflow: hidden; }
  .sppb-column.bm-card--photo > .sppb-column-addons { display: grid; grid-template-columns: 116px 1fr; column-gap: 16px; align-content: start; padding-right: 16px; }
  .bm-card--photo .addon-root-image { grid-row: 1 / span 3; margin: 0; }
  .bm-card--photo .bm-card-img { margin: 0; height: 100%; }
  .bm-card--photo .bm-card-img .sppb-addon-content, .bm-card--photo .bm-card-img .sppb-addon-single-image-container { height: 100%; }
  .bm-card--photo .bm-card-img img { height: 100%; min-height: 120px; aspect-ratio: auto; border-radius: var(--bm-r) 0 0 var(--bm-r); }
  .bm-card--photo .addon-root-heading { padding-top: 14px; }
  .bm-card--photo .bm-h3 .sppb-addon-title { font-size: 1.0625rem; margin-bottom: 4px; }
  .bm-card--photo .sppb-addon-text-block .sppb-addon-content { font-size: .875rem; line-height: 1.5; }
  .bm-card--photo .sppb-addon-text-block .sppb-addon-content p { margin-bottom: 6px; }
  .bm-card--photo .addon-root-text-block:last-child { padding-bottom: 12px; }
}

/* Phones: compact horizontal step cards (column class bm-card--step): number left, title + text right */
@media (max-width: 575px) {
  .sppb-column.bm-card--step { padding: 20px 20px 16px !important; }
  .sppb-column.bm-card--step > .sppb-column-addons { display: grid; grid-template-columns: 44px 1fr; column-gap: 16px; align-content: start; }
  .bm-card--step .addon-root-heading:first-child { grid-row: 1 / span 2; }
  .bm-card--step .bm-step .sppb-addon-title { width: 44px; height: 44px; font-size: 1.0625rem; margin: 0; box-shadow: 0 0 0 4px rgba(132,25,25,.1); }
  .bm-card--step .sppb-addon-header, .bm-card--step .sppb-addon-title, .bm-card--step .sppb-addon-content { text-align: left !important; }
  .bm-card--step .bm-h3 .sppb-addon-title { font-size: 1.0625rem; margin: 2px 0 4px; }
  .bm-card--step .sppb-addon-content p { margin-bottom: 0; font-size: .9375rem; }
}

/* Tablets: gallery 2-up, figure padding */
@media (max-width: 991px) { .bm-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 575px) { .bm-gallery { gap: 12px; } .bm-ph { padding: 10px; font-size: .8125rem; } }
.bm-gallery > * { min-width: 0; }
@media (max-width: 575px) { .bm-figure { padding: 18px; } .bm-legend { gap: 8px 16px; font-size: .875rem; } }
/* Hero buttons: full width on narrow phones so they never wrap unevenly */
@media (max-width: 359px) { .bm-hero .bm-btns .sppb-btn { flex: 1 1 100%; justify-content: center; } }

/* Phones: compact horizontal icon cards (column class bm-card--row, Feature Box inside): icon left, text right */
@media (max-width: 575px) {
  .sppb-column.bm-card--row { padding: 20px 20px 18px !important; }
  .bm-card--row .bm-feature .sppb-addon-content { display: grid; grid-template-columns: 64px 1fr; column-gap: 16px; align-items: start; text-align: left; }
  .bm-card--row .bm-feature .sppb-img-container { margin: 0 !important; }
  .bm-card--row .bm-feature.bm-circle .sppb-img-container { width: 64px; height: 64px; }
  .bm-card--row .bm-feature.bm-circle img { width: 40px; height: 40px; }
  .bm-card--row .bm-feature .sppb-media-content, .bm-card--row .bm-feature .sppb-addon-title, .bm-card--row .bm-feature .sppb-addon-text { text-align: left !important; }
  .bm-card--row .bm-feature .sppb-feature-box-title { font-size: 1.0625rem; margin: 2px 0 4px; }
  .bm-card--row .bm-feature .sppb-addon-text { font-size: .9375rem; }
}

/* Final CTA heading: keep a readable measure */
.bm-cta .bm-h2 .sppb-addon-title { max-width: 780px; margin-left: auto; margin-right: auto; }
/* Very narrow phones (≤359px) */
@media (max-width: 359px) {
  .bm-stats { gap: 20px 12px; }
  .bm-stats b { font-size: 1.625rem; }
  .sppb-column.bm-card--photo > .sppb-column-addons { grid-template-columns: 96px 1fr; column-gap: 12px; padding-right: 12px; }
  .bm-card--photo .bm-h3 .sppb-addon-title, .bm-card--row .bm-feature .sppb-feature-box-title, .bm-card--step .bm-h3 .sppb-addon-title { font-size: 1rem; }
  .bm-card--row .bm-feature .sppb-addon-content { grid-template-columns: 52px 1fr; column-gap: 12px; }
  .bm-card--row .bm-feature.bm-circle .sppb-img-container { width: 52px; height: 52px; }
  .bm-card--row .bm-feature.bm-circle img { width: 34px; height: 34px; }
}
.bm-card .sppb-addon-title { overflow-wrap: anywhere; }


/* ---------- Form Builder details (shared by all pages with the mini form) ---------- */
/* ---------- Form Builder ---------- */
/* SPPB gutter bug: +16px margin on form AND +16px padding on groups (fields indented 32px). Real gutter = 16px. */
.bm-form .sppb-addon-form-builder-form { margin: 0 -8px !important; }
.bm-form .sppb-addon-form-builder-form .sppb-form-group { padding: 0 8px !important; margin-bottom: 16px; }
.bm-form .sppb-form-check,
.bm-form .sppb-form-builder-btn { margin: 0 8px !important; width: calc(100% - 16px); }
.bm-form label { display: block; line-height: 1.3; }
.bm-form .sppb-field-required { display: none; }          /* mockup: no stars, optional field says (valgfritt) */
.bm-form .sppb-form-control { height: auto; line-height: 1.5; font-family: inherit; }
.bm-form .sppb-form-control::placeholder { color: #8a97a1; }
.bm-form textarea.sppb-form-control { height: 120px; min-height: 120px; resize: vertical; }
/* reg.nr = Norwegian plate */
.bm-form .sppb-form-builder-field-0 .sppb-form-control { border-left-width: 12px; border-left-color: #1f4e9c; }

/* validation state (SPPB adds .sppb-has-field-error + shows span) */
.bm-form .sppb-form-control.sppb-has-field-error { border-color: #b42318 !important; background: #fff !important; }
.bm-form .sppb-form-builder-field-0 .sppb-form-control.sppb-has-field-error { border-left-color: #1f4e9c !important; }
.bm-form .sppb-form-builder-required { font-size: .8125rem; color: #b42318; margin-top: 4px; line-height: 1.35; }

/* captcha (the only group without a field-N class): compact row */
.bm-form .sppb-addon-form-builder-form > .sppb-form-group:not([class*="field-"]) { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.bm-form .sppb-addon-form-builder-form > .sppb-form-group:not([class*="field-"]) label { margin: 0; white-space: nowrap; }
.bm-form .sppb-addon-form-builder-form > .sppb-form-group:not([class*="field-"]) label::before { content: "Kontrollspørsmål: "; font-weight: 400; color: #4a5a66; }
.bm-form .sppb-addon-form-builder-form > .sppb-form-group:not([class*="field-"]) .sppb-form-control { width: 88px; flex: none; text-align: center; }
.bm-form .sppb-addon-form-builder-form > .sppb-form-group:not([class*="field-"]) .sppb-form-control::placeholder { color: transparent; }

/* policy checkbox: 20px square, text normal weight */
.bm-form .sppb-form-check { position: relative; padding-left: 30px; margin-bottom: 16px !important; }
.bm-form .sppb-form-check-input { top: 0; left: 0; width: 20px; height: 20px; margin: 0; }
.bm-form .sppb-form-check-label { display: block; margin: 0; font-family: var(--bm-body, inherit); font-weight: 400; font-size: .875rem; line-height: 1.5; color: #4a5a66; cursor: pointer; }
.bm-form .sppb-form-check-label::before { width: 20px !important; height: 20px !important; top: 1px !important; left: 0 !important; border: 1px solid #c9d3da !important; border-radius: 4px !important; background: #fafbfc; box-sizing: border-box; }
.bm-form .sppb-form-check-label::after { top: 3px; left: 4px; font-size: 14px; }
.bm-form .sppb-form-check-input:checked + .sppb-form-check-label::before { background: var(--bm-ox); border-color: var(--bm-ox); }
.bm-form .sppb-form-check-input:focus-visible + .sppb-form-check-label::before { box-shadow: 0 0 0 3px rgba(14,74,112,.2); }
.bm-form .sppb-form-check-input.sppb-has-field-error + .sppb-form-check-label::before { border-color: #b42318; }
.bm-form .sppb-form-check-label a { color: inherit; }
.bm-form .sppb-form-builder-btn .sppb-btn { display: block; }
.bm-form .sppb-ajax-contact-status { font-size: .9375rem; }

/* mockup: 2 columns down to 621px (SPPB drops w=50 fields to 100% below 768) */
@media (min-width: 621px) and (max-width: 767.98px) {
  .bm-form .sppb-form-builder-field-0, .bm-form .sppb-form-builder-field-1,
  .bm-form .sppb-form-builder-field-5, .bm-form .sppb-form-builder-field-6 { width: 50% !important; }
}
@media (max-width: 420px) {
  .bm-form .sppb-addon-form-builder-form > .sppb-form-group:not([class*="field-"]) label::before { content: "Kontroll: "; }
}

/* native validation after a submit attempt (form has no novalidate → SPPB error spans never show) */
.bm-form .sppb-form-control:user-invalid { border-color: #b42318 !important; background: #fff !important; }
.bm-form .sppb-form-builder-field-0 .sppb-form-control:user-invalid { border-left-color: #1f4e9c !important; }
.bm-form .sppb-form-check-input:user-invalid + .sppb-form-check-label::before { border-color: #b42318; }

/* ---------- Gallery: Image addons with class bm-gal (section class bm-gallery-sec) ---------- */
.bm-gal .sppb-addon-single-image-container { position: relative; display: block; overflow: hidden; border-radius: var(--bm-r); box-shadow: var(--bm-shadow); cursor: zoom-in; aspect-ratio: 4 / 3; background: #dfe5ea; }
.bm-gal .sppb-addon-single-image-container img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.bm-gal .sppb-addon-single-image-container::after {
  content: ""; position: absolute; inset: 0; opacity: 0; transition: opacity .3s ease;
  background: rgba(110, 18, 18, .55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-5-5M11 8v6M8 11h6'/%3E%3C/svg%3E") center / 44px no-repeat;
}
.bm-gal .sppb-addon-single-image-container:hover img, .bm-gal .sppb-addon-single-image-container:focus-visible img { transform: scale(1.06); }
.bm-gal .sppb-addon-single-image-container:hover::after, .bm-gal .sppb-addon-single-image-container:focus-visible::after { opacity: 1; }
.bm-gal .sppb-addon-single-image-container:focus-visible { outline: 3px solid var(--bm-blue); outline-offset: 3px; }
.bm-gallery-sec .sppb-row-column { margin-bottom: 24px; }
@media (max-width: 767px) { .bm-gallery-sec .sppb-row-column { margin-bottom: 12px; padding-left: 6px; padding-right: 6px; } }
@media (hover: none) { .bm-gal .sppb-addon-single-image-container::after { opacity: 0; } }

/* ---------- Lightbox (baltnor-ev.js) ---------- */
.bm-lb { position: fixed; inset: 0; z-index: 10000; background: rgba(6, 22, 35, .94); display: none; align-items: center; justify-content: center; }
.bm-lb.is-open { display: flex; }
.bm-lb figure { margin: 0; max-width: min(1200px, 92vw); text-align: center; }
.bm-lb img { max-width: 100%; max-height: 80vh; border-radius: 6px; box-shadow: 0 20px 60px rgba(0,0,0,.5); user-select: none; }
.bm-lb figcaption { color: #d6e1e8; font-size: .9375rem; margin-top: 14px; }
.bm-lb .bm-lb-count { color: #8fa6b6; font-size: .8125rem; margin-left: 10px; }
.bm-lb button { position: absolute; border: 0; background: rgba(255,255,255,.1); color: #fff; width: 52px; height: 52px; border-radius: 50%; font-size: 26px; line-height: 1; cursor: pointer; display: grid; place-items: center; transition: background .2s; }
.bm-lb button:hover, .bm-lb button:focus-visible { background: var(--bm-ox); outline: none; }
.bm-lb .bm-lb-close { top: 18px; right: 18px; }
.bm-lb .bm-lb-prev { left: 18px; top: 50%; transform: translateY(-50%); }
.bm-lb .bm-lb-next { right: 18px; top: 50%; transform: translateY(-50%); }
@media (max-width: 767px) {
  .bm-lb .bm-lb-prev, .bm-lb .bm-lb-next { top: auto; bottom: 18px; transform: none; }
  .bm-lb .bm-lb-prev { left: calc(50% - 64px); } .bm-lb .bm-lb-next { right: calc(50% - 64px); }
  .bm-lb img { max-height: 70vh; }
}
body.bm-lb-lock { overflow: hidden; }


/* ---- elbil-reparasjon.css ---- */
/* elbil-reparasjon: page additions — every selector scoped with .bm-p-elbil (section class) */
.bm-p-elbil .bm-anchor { display: block; position: relative; top: -100px; }
.bm-p-elbil.bm-sec[id] { scroll-margin-top: 96px; }
.bm-p-elbil .bm-note .sppb-addon-content { margin-top: 24px; color: var(--bm-muted); font-size: .9375rem; }
.bm-p-elbil .bm-addr address { font-style: normal; color: var(--bm-muted); }
.bm-p-elbil .bm-cmp tbody th { font: 600 .9375rem/1.4 var(--bm-head); color: var(--bm-ink); width: 22%; }
@media (max-width: 767px) { .bm-p-elbil .bm-cmp tbody th { width: auto; padding: 12px 18px 4px; color: var(--bm-blue); } }
/* form card stays white inside the dark section (overrides the translucent dark-card rule) */
.bm-p-elbil.bm-sec--dark .sppb-column.bm-card.bm-form-card { background: #fff !important; border-color: transparent; box-shadow: 0 16px 48px rgba(9,42,66,.18); }
.bm-p-elbil.bm-sec--dark .bm-form-card .sppb-addon-content { color: var(--bm-ink); }
.bm-p-elbil.bm-sec--dark .bm-form-card .bm-form-foot .sppb-addon-content { color: var(--bm-muted); }

/* ---- layout ---- */
/* card text link ("Les mer") pinned to the card bottom */
.bm-p-elbil .bm-card .sppb-addon-wrapper:has(.sppb-addon.bm-link) { margin-top: auto; padding-top: 18px; }
/* section heading like mockup .sec-head (max 720px) */
.bm-p-elbil .bm-center .bm-h2 .sppb-addon-title { max-width: 720px; margin-left: auto; margin-right: auto; }
/* inline text links like mockup (blue, underlined) instead of the template gold */
.bm-p-elbil:not(.bm-sec--dark):not(.bm-hero) .sppb-addon-text-block .sppb-addon-content a:not(.bm-link),
.bm-p-elbil .bm-form-card .sppb-addon-text-block .sppb-addon-content a,
.bm-p-elbil .bm-form a { color: var(--bm-blue); text-decoration: underline; }
.bm-p-elbil.bm-hero .bm-crumbs a { color: #fff; text-decoration: underline; }
.bm-p-elbil .bm-addr a { color: var(--bm-blue); text-decoration: underline; }
/* card rows: an odd last card (3-up → 2-up on tablets) is centred */
.bm-p-elbil .sppb-row:has(> .sppb-row-column > .bm-card) { justify-content: center; }
/* check list → following paragraph */
.bm-p-elbil .addon-root-text-block:has(.bm-checks) + .addon-root-text-block { margin-top: 12px; }
/* check list → button gap */
.bm-p-elbil .addon-root-text-block + .addon-root-button-group { margin-top: 24px; }
/* text + media splits: vertically centred; stacked below 992px with a gap */
.bm-p-elbil.bm-split .sppb-row { align-items: center; }
.bm-p-elbil.bm-split--top .sppb-row { align-items: flex-start; }
@media (max-width: 991px) {
  .bm-p-elbil.bm-split .sppb-row-column + .sppb-row-column { margin-top: 36px; }
}
/* phones: ≥16px gutters; hero overlay flat for readability (mockup) */
@media (max-width: 991px) { .bm-p-elbil > .sppb-row-container { padding-left: 16px; padding-right: 16px; } }
@media (max-width: 767px) {
  .bm-p-elbil.bm-hero .sppb-row-overlay { background: rgba(9,42,66,.84) !important; }
}
/* phones: 2-up icon cards, 12px gap, cards flush with the 16px gutter */
@media (max-width: 575px) {
  .bm-p-elbil.bm-m2 .sppb-row { margin-left: -6px; margin-right: -6px; }
  .bm-p-elbil.bm-m2 .sppb-column.bm-card { padding: 20px 12px !important; }
}

/* ---- accordion (SPPB panel-modern markup) ---- */
.bm-p-elbil .bm-acc { max-width: 880px; margin: 32px auto 0; }
.bm-p-elbil .bm-acc .sppb-panel-heading { display: block; width: 100%; text-align: left; cursor: pointer; }
.bm-p-elbil .bm-acc .sppb-panel-body { border-top: 0 !important; }
.bm-p-elbil .bm-acc .sppb-panel-body .sppb-section { padding: 0 !important; margin: 0 !important; }
.bm-p-elbil .bm-acc .sppb-panel-body .sppb-row-column, .bm-p-elbil .bm-acc .sppb-panel-body .sppb-row { padding: 0; margin: 0; }
.bm-p-elbil .bm-acc .sppb-panel-body p:last-child { margin-bottom: 0; }
.bm-p-elbil .bm-acc .sppb-toggle-direction { position: absolute; right: 22px !important; top: 50% !important; transform: translateY(-50%) !important; width: 30px; height: 30px; border-radius: 50%; background: var(--bm-blue50); display: grid !important; place-items: center; color: var(--bm-ox); }
.bm-p-elbil .bm-acc .sppb-toggle-direction i { display: none; }
.bm-p-elbil .bm-acc .sppb-toggle-direction::after { content: "+"; font: 600 1.25rem/1 var(--bm-head); }
.bm-p-elbil .bm-acc .sppb-panel-heading.active .sppb-toggle-direction::after { content: "\2013"; }

/* ---- form in the dark section ---- */
.bm-p-elbil .bm-form-foot .sppb-addon-content p { margin: 10px 0 0; }
@media (max-width: 767px) {
  .bm-p-elbil .sppb-column.bm-form-card { padding: 24px 20px !important; }
}


/* ---- fa-tilbud-elbil.css ---- */
/* Få tilbud – elbil og hybrid (/fa-tilbud-elbil) — all rules scoped with .bm-p-tilbud (class on every section) */
.bm-p-tilbud.bm-hero--short .bm-h1 .sppb-addon-title { font-size: clamp(1.75rem, 3.6vw, 2.6rem); margin-bottom: 14px; }
.bm-p-tilbud.bm-hero--short .bm-crumbs p { margin: 0 0 14px; }
.bm-p-tilbud.bm-hero--short .bm-lead { max-width: 680px; }

.bm-p-tilbud .bm-form-card .bm-h2 .sppb-addon-title { font-size: clamp(1.4rem, 2.4vw, 1.75rem); margin-bottom: 6px; }
.bm-p-tilbud .bm-form-intro .sppb-addon-content { color: var(--bm-muted); font-size: .9375rem; margin-bottom: 24px; }
.bm-p-tilbud .bm-form-intro p { margin: 0; }
.bm-p-tilbud .bm-form-foot p { margin: 10px 0 0; }


/* ---------- layout: form + side cards; 1 column below 992 (mockup: 900) ---------- */
@media (max-width: 991.98px) {
  .bm-p-tilbud#fa-tilbud > .sppb-row-container > .sppb-row > .sppb-row-column { max-width: 100% !important; flex-basis: 100% !important; }
  .bm-p-tilbud .sppb-column.bm-form-card { margin-bottom: 24px !important; }
}

/* side cards (nested row, stacked) */
.bm-p-tilbud .bm-side .sppb-column.bm-card { height: auto; margin-bottom: 20px !important; }
.bm-p-tilbud .bm-side .sppb-row-column:last-child .sppb-column.bm-card { margin-bottom: 0 !important; }
.bm-p-tilbud .bm-side-card .bm-h3 .sppb-addon-title { font-size: 1.0625rem; margin-bottom: 12px; }
.bm-p-tilbud .bm-side-card p { margin: 0; }
.bm-p-tilbud .bm-side-card .sppb-addon-text-block:not(.bm-phone) a, .bm-p-tilbud .bm-form-foot a { color: var(--bm-blue); text-decoration: underline; text-underline-offset: 2px; }
.bm-p-tilbud .bm-side-card a[href^="tel:"] { white-space: nowrap; }
@media (max-width: 620px) {
  .bm-p-tilbud .bm-side .sppb-column.bm-card { margin-bottom: 14px !important; padding: 22px 20px !important; }
}

/* numbered steps */
.bm-p-tilbud .bm-how { list-style: none; counter-reset: bmhow; padding: 0; margin: 0; display: grid; gap: 12px; font-size: .9375rem; color: #4a5a66; }
.bm-p-tilbud .bm-how li { counter-increment: bmhow; display: flex; gap: 12px; align-items: flex-start; }
.bm-p-tilbud .bm-how li::before { content: counter(bmhow); flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--bm-ox); color: #fff; display: grid; place-items: center; font: 700 .8125rem var(--bm-head); }

/* big phone inside a light card (base .bm-phone is white-on-dark) */
.bm-p-tilbud .bm-card .bm-phone, .bm-p-tilbud .bm-card .bm-phone a { font: 700 1.5rem/1.2 var(--bm-head); color: var(--bm-ox); text-decoration: none; }
.bm-p-tilbud .bm-card .bm-phone a:hover { color: var(--bm-ox-h); }
.bm-p-tilbud .bm-card .bm-phone p { margin: 0 0 6px; }

/* FAQ */
.bm-p-tilbud .bm-faq .bm-acc { max-width: 860px; margin: 32px auto 0; }
.bm-p-tilbud .bm-faq-more { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; list-style: none; padding: 0; margin: 32px 0 0; }


/* ---- hybrid-reparasjon.css ---- */
/* hybrid-reparasjon: page additions — every selector scoped with .bm-p-hybrid (class on each top-level section).
   Section-level classes sit on the same element as .bm-p-hybrid → compound selectors (.bm-p-hybrid.bm-hero). */

/* ---------- general ---------- */
.bm-p-hybrid .bm-anchor { display: block; position: relative; top: -100px; }
.bm-p-hybrid[id] { scroll-margin-top: 96px; }
.bm-p-hybrid .bm-center .bm-h2 .sppb-addon-title { max-width: 760px; margin-left: auto; margin-right: auto; }
.bm-p-hybrid .sppb-addon-text-block a:not(.bm-link):not(.sppb-btn),
.bm-p-hybrid .bm-nap a { color: var(--bm-blue); text-decoration: underline; text-underline-offset: 2px; }
.bm-p-hybrid.bm-sec--dark .bm-contact .sppb-addon-text-block a:not(.bm-link):not(.sppb-btn) { color: #fff; }
.bm-p-hybrid.bm-hero .bm-crumbs a { color: #fff !important; }
/* cards: spacing is set natively on the column wrapper only */
.bm-p-hybrid .sppb-column.bm-card { margin-bottom: 0 !important; }
.bm-p-hybrid .bm-note .sppb-addon-content { max-width: 720px; margin: 8px auto 0; color: var(--bm-muted); font-size: .9375rem; line-height: 1.6; }
@media (max-width: 767px) {
  .bm-p-hybrid > .sppb-row-container { padding-left: 16px; padding-right: 16px; }
}

/* ---------- hero: text left, photo right ---------- */
.bm-p-hybrid.bm-hero .sppb-row { align-items: center; }
.bm-p-hybrid.bm-hero .bm-crumbs a { text-decoration: underline; }
.bm-p-hybrid.bm-hero .bm-media img { aspect-ratio: 4/3; box-shadow: 0 20px 50px rgba(0,0,0,.35); }
@media (max-width: 991px) { .bm-p-hybrid.bm-hero .sppb-row-column + .sppb-row-column { margin-top: 40px; } }
@media (max-width: 767px) { .bm-p-hybrid.bm-hero .bm-btns .sppb-btn { padding: 14px 20px; } }
@media (min-width: 360px) and (max-width: 400px) { .bm-p-hybrid.bm-hero .bm-btns .sppb-btn { flex: 0 1 auto; } }

/* ---------- to verdener: figure + left-aligned feature cards with links ---------- */
.bm-p-hybrid .bm-figure { padding: clamp(18px, 3vw, 32px); }
@media (max-width: 991px) { .bm-p-hybrid .bm-figure { margin-top: 40px !important; } }
.bm-p-hybrid .bm-feature.bm-left, .bm-p-hybrid .bm-feature.bm-left .sppb-addon-title, .bm-p-hybrid .bm-feature.bm-left .sppb-addon-text { text-align: left !important; }
.bm-p-hybrid .bm-feature.bm-left .sppb-img-container { display: grid !important; place-items: center; width: 96px; height: 96px; border-radius: 50%; background: var(--bm-blue50); margin: 0 0 22px !important; }
.bm-p-hybrid .bm-feature.bm-left .sppb-img-container img { margin: 0 !important; }
/* icon circle: SPPB's own .sppb-img-container{display:block} beats the shared grid rule at some widths */
.bm-p-hybrid .bm-feature.bm-circle .sppb-img-container { display: grid !important; place-items: center; }
.bm-p-hybrid .bm-feature.bm-circle .sppb-img-container img { display: block !important; margin: 0 !important; }
.bm-p-hybrid .bm-links p { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 18px 0 0; }
.bm-p-hybrid .bm-usp .sppb-addon-content { font: 700 clamp(1.2rem, 2.2vw, 1.5rem)/1.3 var(--bm-head); color: var(--bm-blue); }
.bm-p-hybrid .bm-usp .sppb-addon-content p { margin: 0; }

/* ---------- services: 2-up on phones with ≥16px outer gutter ---------- */
@media (max-width: 575px) {
  .bm-p-hybrid.bm-m2 .sppb-row { margin-left: -6px; margin-right: -6px; }
}

/* ---------- accordion (brands + FAQ) ---------- */
.bm-p-hybrid.bm-acc-wrap .bm-acc { max-width: 880px; margin: 0 auto; }
.bm-p-hybrid .bm-acc .sppb-panel-heading { display: flex; align-items: center; min-height: 64px; padding: 18px 60px 18px 24px !important; text-align: left; }
.bm-p-hybrid .bm-acc .sppb-panel-title { font-size: 1rem !important; }
.bm-p-hybrid .bm-acc .sppb-toggle-direction { position: absolute; right: 20px; top: 50%; width: 26px; height: 26px; margin-top: -13px; transform: none !important; border-radius: 50%; background: #eef2f5; display: grid; place-items: center; }
.bm-p-hybrid .bm-acc .sppb-toggle-direction i { display: none; }
.bm-p-hybrid .bm-acc .sppb-toggle-direction::before { content: "+"; font: 700 1rem/1 var(--bm-head); color: var(--bm-ox); }
.bm-p-hybrid .bm-acc .sppb-panel-heading.active .sppb-toggle-direction::before { content: "\2212"; }
.bm-p-hybrid .bm-acc .sppb-panel-body { border-top: 0 !important; padding: 0 24px 24px !important; }
.bm-p-hybrid .bm-acc-body .sppb-addon-content { font-size: 1rem; line-height: 1.65; color: #3d4c57; }
.bm-p-hybrid .bm-acc-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 28px; align-items: start; }
.bm-p-hybrid .bm-acc-grid p { margin: 0; }
.bm-p-hybrid .bm-acc-grid .bm-ph { aspect-ratio: 4/3; }
@media (max-width: 767px) { .bm-p-hybrid .bm-acc-grid { grid-template-columns: 1fr; gap: 16px; } .bm-p-hybrid .bm-acc-grid .bm-ph { aspect-ratio: 16/9; max-width: 420px; } }
@media (max-width: 575px) {
  .bm-p-hybrid .bm-acc .sppb-panel-heading { padding: 16px 52px 16px 18px !important; }
  .bm-p-hybrid .bm-acc .sppb-toggle-direction { right: 14px; }
  .bm-p-hybrid .bm-acc .sppb-panel-body { padding: 0 18px 20px !important; }
  .bm-p-hybrid .bm-btns.bm-center .sppb-btn-outline { width: 100%; justify-content: center; text-align: center; }
}

/* ---------- symptoms + advice card ---------- */
.bm-p-hybrid .bm-sym-icon { display: block; width: 52px; height: 52px; margin-bottom: 18px; }
.bm-p-hybrid .bm-sym .bm-h3 .sppb-addon-title { font-size: 1.0625rem; }
.bm-p-hybrid .bm-sym .sppb-addon-text-block .sppb-addon-content { font-size: .9375rem; }
.bm-p-hybrid .bm-sym .sppb-addon-text-block p { margin: 0; }
.bm-p-hybrid .bm-advice .sppb-row { align-items: center; }
.bm-p-hybrid .bm-advice .bm-h3 .sppb-addon-title { margin-bottom: 6px; }
.bm-p-hybrid .bm-advice .sppb-addon-text-block p { margin: 0; }
@media (min-width: 768px) { .bm-p-hybrid .bm-advice-btn .sppb-addon-content { justify-content: flex-end; } }
@media (max-width: 767px) { .bm-p-hybrid .bm-advice-btn { margin-top: 0; } .bm-p-hybrid .bm-advice-btn .sppb-addon-content { justify-content: flex-start !important; } }

/* ---------- comparison table ---------- */
.bm-p-hybrid .bm-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bm-p-hybrid .bm-cmp tbody th { font: 600 .9375rem/1.4 var(--bm-head); color: var(--bm-ink); width: 36%; }
@media (max-width: 767px) {
  .bm-p-hybrid .bm-cmp tr { padding: 6px 0 0; }
  .bm-p-hybrid .bm-cmp tbody th { display: block; width: auto; padding: 12px 18px 4px; }
  .bm-p-hybrid .bm-cmp td { padding: 6px 18px 8px; }
  .bm-p-hybrid .bm-cmp td.us { margin-top: 2px; }
}

/* ---------- steps ---------- */
.bm-p-hybrid .bm-steps .sppb-addon-text-block p { margin: 0; }

/* ---------- safety: guarantee row under the photo ---------- */
.bm-p-hybrid .bm-garanti { display: flex; align-items: center; gap: 20px; margin-top: 24px; padding: 24px 26px; background: #fff; border: 1px solid var(--bm-line); border-radius: var(--bm-r); box-shadow: var(--bm-shadow); }
.bm-p-hybrid .bm-garanti-ic { flex: none; width: 64px; height: 64px; border-radius: 50%; background: var(--bm-blue50); display: grid; place-items: center; }
.bm-p-hybrid .bm-garanti-ic img { width: 40px; height: 40px; }
.bm-p-hybrid .bm-garanti p { margin: 0; font: 600 1.0625rem/1.4 var(--bm-head); color: var(--bm-blue); }
@media (max-width: 991px) { .bm-p-hybrid#sikkerhet .sppb-row-column + .sppb-row-column { margin-top: 32px; } }
@media (max-width: 767px) {
  .bm-p-hybrid .bm-garanti { padding: 18px; gap: 16px; }
  .bm-p-hybrid .bm-garanti-ic { width: 52px; height: 52px; }
}

/* ---------- area ---------- */
.bm-p-hybrid .bm-nap address { font-style: normal; margin: 24px 0; padding: 18px 0; border-top: 1px solid var(--bm-line); border-bottom: 1px solid var(--bm-line); line-height: 1.7; }
.bm-p-hybrid .bm-nap p:empty { display: none; }
@media (max-width: 991px) { .bm-p-hybrid#omrade .sppb-row-column + .sppb-row-column { margin-top: 32px; } }

/* ---------- final form section (dark) ---------- */
.bm-p-hybrid.bm-sec--dark .sppb-row { align-items: flex-start; }
.bm-p-hybrid .bm-contact .sppb-addon-text-block .sppb-addon-content { color: #d6e1e8; }
.bm-p-hybrid .bm-contact .bm-phone a { font: 700 1.6rem var(--bm-head); color: #fff !important; text-decoration: none !important; }
.bm-p-hybrid .bm-contact .bm-checks li { color: #fff; }
@media (min-width: 992px) { .bm-p-hybrid .bm-contact { padding-right: 32px !important; } }
@media (max-width: 991px) { .bm-p-hybrid .bm-contact { margin-bottom: 28px; } }
.bm-p-hybrid .sppb-column.bm-form-card { background: #fff !important; border: 0; box-shadow: 0 16px 48px rgba(0,0,0,.28); padding: 32px !important; }
.bm-p-hybrid .bm-form-foot .sppb-addon-content, .bm-p-hybrid .bm-form-foot p { margin: 12px 0 0; font-size: .8125rem; line-height: 1.5; color: var(--bm-muted); }
.bm-p-hybrid .bm-form-foot a { color: var(--bm-blue) !important; }
@media (max-width: 575px) {
  .bm-p-hybrid .sppb-column.bm-form-card { padding: 24px 18px !important; }
}

/* ---------- phones: compact horizontal cards for symptoms and steps ---------- */
@media (max-width: 575px) {
  .bm-p-hybrid.bm-syms .bm-card .sppb-column-addons { display: grid; grid-template-columns: 40px 1fr; gap: 2px 14px; }
  .bm-p-hybrid.bm-syms .bm-card { padding: 18px 16px !important; }
  .bm-p-hybrid.bm-syms .bm-card .sppb-column-addons > :first-child { grid-row: span 2; }
  .bm-p-hybrid.bm-syms .bm-sym-icon { width: 40px; height: 40px; margin: 2px 0 0; }
  .bm-p-hybrid.bm-syms .bm-h3 .sppb-addon-title { font-size: 1.0625rem; margin: 0 0 2px; }
  .bm-p-hybrid.bm-steps .bm-card { padding: 20px 18px !important; }
  .bm-p-hybrid.bm-steps .bm-card .sppb-column-addons { display: grid; grid-template-columns: 44px 1fr; gap: 2px 16px; align-items: start; }
  .bm-p-hybrid.bm-steps .bm-card .sppb-column-addons > :first-child { grid-row: span 2; }
  .bm-p-hybrid.bm-steps .bm-card .sppb-addon-header, .bm-p-hybrid.bm-steps .bm-card .sppb-addon-title, .bm-p-hybrid.bm-steps .bm-card .sppb-addon-content, .bm-p-hybrid.bm-steps .bm-card .sppb-addon-wrapper > div { text-align: left !important; }
  .bm-p-hybrid.bm-steps .bm-card .bm-step, .bm-p-hybrid.bm-steps .bm-card .bm-step .sppb-addon-header { text-align: center !important; }
  .bm-p-hybrid.bm-steps .bm-step .sppb-addon-title { width: 40px; height: 40px; font-size: 1.05rem; margin: 2px 0 0; box-shadow: 0 0 0 4px rgba(132,25,25,.1); text-align: center !important; }
  .bm-p-hybrid.bm-steps .bm-h3 .sppb-addon-title { margin: 0 0 2px; font-size: 1.0625rem; }
}

/* photos (hero, area): image addon fills its column */
.bm-p-hybrid .bm-media .sppb-addon-single-image-container, .bm-p-hybrid .bm-media .sppb-addon-content { display: block; width: 100%; }
.bm-p-hybrid .bm-media img { display: block; width: 100%; height: auto; }
