/*
 * Bilforhandler Lager
 * Skrifttyper arves fra temaet. Accentfarven bruges kun som flade (prisskilt,
 * primær knap, markeringer) med en automatisk valgt tekstfarve ovenpå, så
 * enhver farve fra indstillingerne kan læses.
 */
.bfl {
	--bfl-accent: #ffd60a;
	--bfl-accent-ink: #14171a;
	--bfl-ink: #14171a;
	--bfl-muted: #5c646c;
	--bfl-line: #dfe2e5;
	--bfl-soft: #f3f4f5;
	--bfl-surface: #ffffff;
	--bfl-r: 6px;
	--bfl-on-ink: #ffffff;
	--bfl-field: #ffffff;
	--bfl-field-line: #b9bfc6;
	color: var(--bfl-ink);
	line-height: 1.5;
	text-align: left;
}
.bfl *, .bfl *::before, .bfl *::after { box-sizing: border-box; }
.bfl [hidden] { display: none !important; }
.bfl img { max-width: 100%; height: auto; display: block; }
.bfl h1, .bfl h2, .bfl h3 { color: inherit; }
.bfl .bfl-icon { flex: none; display: block; }
.bfl .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.bfl a:focus-visible, .bfl button:focus-visible, .bfl input:focus-visible, .bfl select:focus-visible, .bfl textarea:focus-visible, .bfl-slider__track:focus-visible {
	outline: 3px solid var(--bfl-ink); outline-offset: 2px; box-shadow: 0 0 0 5px var(--bfl-surface);
}

.bfl-page { max-width: 1240px; margin: 0 auto; padding: 32px 20px 64px; }

/* ---------- Knapper ---------- */
.bfl .bfl-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 12px 22px; margin: 0;
	border: 2px solid var(--bfl-ink) !important; border-radius: var(--bfl-r);
	font: inherit; font-weight: 700; line-height: 1.2; text-decoration: none !important; text-transform: none; letter-spacing: 0;
	cursor: pointer; transition: filter .15s ease, background-color .15s ease;
}
.bfl .bfl-btn--primary { background: var(--bfl-accent) !important; border-color: var(--bfl-accent) !important; color: var(--bfl-accent-ink) !important; }
.bfl .bfl-btn--primary:hover { filter: brightness(.93); }
.bfl .bfl-btn--ghost { background: var(--bfl-surface) !important; color: var(--bfl-ink) !important; }
.bfl .bfl-btn--ghost:hover { background: var(--bfl-soft) !important; }

/* Små værktøjsknapper */
.bfl .bfl-tool, .bfl .bfl-share, .bfl .bfl-print, .bfl .bfl-fav--text {
	display: inline-flex; align-items: center; gap: 6px;
	min-height: 44px; padding: 8px 12px; margin: 0;
	border: 1px solid var(--bfl-line) !important; border-radius: var(--bfl-r);
	background: var(--bfl-surface) !important; color: var(--bfl-ink) !important;
	font: inherit; font-size: 15px; font-weight: 600; line-height: 1; text-transform: none; letter-spacing: 0; cursor: pointer;
}
.bfl .bfl-tool:hover, .bfl .bfl-share:hover, .bfl .bfl-print:hover, .bfl .bfl-fav--text:hover { border-color: var(--bfl-ink) !important; }
.bfl .bfl-tool[aria-pressed="true"] { background: var(--bfl-ink) !important; border-color: var(--bfl-ink) !important; color: var(--bfl-on-ink) !important; }

/* ---------- Prisskiltet ---------- */
.bfl-tag {
	display: inline-flex; flex-direction: column; align-items: flex-start;
	padding: 7px 12px 8px; border-radius: 3px;
	background: var(--bfl-accent); color: var(--bfl-accent-ink);
	line-height: 1.1; box-shadow: 0 2px 0 rgba(0, 0, 0, .18);
	-webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.bfl-tag__price { font-size: 21px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.01em; white-space: nowrap; }
.bfl-tag__old { margin-bottom: 2px; font-size: 13px; font-weight: 600; opacity: .75; text-decoration: line-through; white-space: nowrap; }
.bfl-tag--large { padding: 10px 16px 12px; }
.bfl-tag--large .bfl-tag__price { font-size: clamp(30px, 4vw, 38px); }
.bfl-tag--large .bfl-tag__old { font-size: 15px; }

/* ---------- Mærkater ---------- */
.bfl-badges { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none; }
.bfl-badge { padding: 4px 9px; border-radius: 3px; background: var(--bfl-ink); color: var(--bfl-on-ink); font-size: 13px; font-weight: 700; line-height: 1.2; }
.bfl-badge--ny { background: var(--bfl-accent); color: var(--bfl-accent-ink); }
.bfl-badge--nedsat { background: #b3261e; color: #fff; }
.bfl-badge--reserveret { background: #9a5b00; color: #fff; }

/* ---------- Søgning, filtre og værktøjslinje ---------- */
.bfl-searchbar { display: flex; gap: 10px; margin: 0 0 12px; }
.bfl-searchbar__q { flex: 1; min-width: 0; }
.bfl .bfl-filters-toggle { display: none; }
.bfl-filters-toggle__n { min-width: 20px; padding: 2px 6px; border-radius: 10px; background: var(--bfl-accent); color: var(--bfl-accent-ink); font-size: 12px; text-align: center; }
.bfl-filters {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px;
	margin: 0 0 18px; padding: 0;
}
.bfl-filters label, .bfl-soeg label, .bfl-form label, .bfl-calc label {
	display: block; margin: 0 0 4px; font-size: 13px; font-weight: 600; color: var(--bfl-muted); text-transform: none; letter-spacing: 0;
}
.bfl-filters select, .bfl-searchbar input, .bfl-soeg select, .bfl .bfl-sort,
.bfl-form input[type="text"], .bfl-form input[type="tel"], .bfl-form input[type="email"], .bfl-form input[type="date"], .bfl-form select, .bfl-form textarea,
.bfl-calc input, .bfl-calc select {
	width: 100%; min-height: 46px; padding: 10px 12px; margin: 0;
	border: 1px solid #b9bfc6; border-radius: var(--bfl-r);
	background-color: var(--bfl-field); color: var(--bfl-ink); font: inherit; font-size: 16px; line-height: 1.3;
}
.bfl-searchbar input { min-height: 50px; padding-left: 14px; }

.bfl-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 18px; padding: 12px 0 0; border-top: 1px solid var(--bfl-line); }
.bfl-count { margin: 0; color: var(--bfl-muted); white-space: nowrap; }
.bfl-count strong { color: var(--bfl-ink); font-size: 1.15em; }
.bfl-chips { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; min-width: 0; }
.bfl .bfl-chipbtn {
	display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 8px 4px 10px; margin: 0;
	border: 0 !important; border-radius: 3px; background: var(--bfl-soft) !important; color: var(--bfl-ink) !important;
	font: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; text-transform: none; letter-spacing: 0; cursor: pointer;
}
.bfl .bfl-chipbtn:hover { background: var(--bfl-line) !important; }
.bfl .bfl-chipbtn .bfl-icon { width: 14px; height: 14px; }
.bfl .bfl-chipbtn--reset { background: none !important; text-decoration: underline; padding-left: 4px; }
.bfl-toolbar__tools { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.bfl .bfl-sort { width: auto; min-height: 44px; padding: 8px 34px 8px 12px; font-size: 15px; }
.bfl-favtoggle__n { min-width: 20px; padding: 2px 6px; border-radius: 10px; background: var(--bfl-soft); color: var(--bfl-ink); font-size: 12px; text-align: center; }
.bfl-view { display: flex; }
.bfl .bfl-view__btn { padding: 8px 11px; }
.bfl .bfl-view__btn:first-child { border-radius: var(--bfl-r) 0 0 var(--bfl-r); }
.bfl .bfl-view__btn:last-child { border-radius: 0 var(--bfl-r) var(--bfl-r) 0; margin-left: -1px; }
.bfl-empty { padding: 40px 16px; margin: 0; text-align: center; color: var(--bfl-muted); background: var(--bfl-soft); border-radius: var(--bfl-r); }
.bfl .bfl-reset { padding: 0; margin: 0; border: 0 !important; background: none !important; color: var(--bfl-ink) !important; font: inherit; font-weight: 700; text-decoration: underline; text-transform: none; cursor: pointer; }
.bfl-more { margin: 28px 0 0; text-align: center; }

/* ---------- Bilkort ---------- */
.bfl-grid { --bfl-cols: 3; display: grid; gap: 28px 24px; grid-template-columns: repeat(auto-fill, minmax(max(250px, calc((100% - (var(--bfl-cols) - 1) * 24px) / var(--bfl-cols))), 1fr)); }
.bfl-grid--2 { --bfl-cols: 2; }
.bfl-grid--4 { --bfl-cols: 4; }
.bfl-card {
	position: relative; display: flex; flex-direction: column; margin: 0;
	background: var(--bfl-surface); border: 1px solid var(--bfl-line); border-radius: var(--bfl-r);
	transition: border-color .15s ease;
}
.bfl-card:hover, .bfl-card:focus-within { border-color: var(--bfl-ink); }
.bfl-card__media { position: relative; aspect-ratio: 4 / 3; background: var(--bfl-soft); border-radius: 5px 5px 0 0; }
.bfl-card__media > img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; border-radius: 5px 5px 0 0; }
.bfl-card__noimg { position: absolute; inset: 0; display: grid; place-items: center; color: var(--bfl-muted); font-size: 14px; }
.bfl-card__media .bfl-tag { position: absolute; left: 14px; bottom: -16px; z-index: 2; }
.bfl-card__count { position: absolute; right: 10px; bottom: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 3px; background: rgba(20, 23, 26, .72); color: #fff; font-size: 13px; font-weight: 600; }
.bfl-card__count .bfl-icon { width: 15px; height: 15px; }
.bfl .bfl-fav {
	position: absolute; top: 8px; right: 8px; z-index: 3;
	display: grid; place-items: center; width: 44px; height: 44px; padding: 0; margin: 0;
	border: 0 !important; border-radius: 50%; background: rgba(255, 255, 255, .94) !important; color: #14171a !important; cursor: pointer;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .2);
}
.bfl .bfl-fav[aria-pressed="true"] .bfl-icon { fill: #d1242f; stroke: #d1242f; }
.bfl .bfl-fav--text { position: static; display: inline-flex; flex-direction: row; white-space: nowrap; width: auto; height: auto; border-radius: var(--bfl-r); box-shadow: none; background: var(--bfl-surface) !important; color: var(--bfl-ink) !important; }
.bfl-card__body { display: flex; flex-direction: column; flex: 1; padding: 30px 16px 14px; }
.bfl .bfl-card__title { margin: 0; font-size: 18px; line-height: 1.3; font-weight: 700; text-transform: none; letter-spacing: 0; }
.bfl .bfl-card__link { color: inherit !important; text-decoration: none !important; }
.bfl .bfl-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--bfl-r); }
.bfl-card__variant { margin: 2px 0 0; font-size: 14px; color: var(--bfl-muted); }
.bfl .bfl-card__facts { display: grid; grid-template-columns: 1fr 1fr; margin: 14px 0 0; padding: 0; border-top: 1px solid var(--bfl-line); }
.bfl .bfl-card__facts > div { padding: 8px 0; border-bottom: 1px solid var(--bfl-line); }
.bfl .bfl-card__facts > div:nth-child(odd) { padding-right: 10px; }
.bfl .bfl-card__facts > div:nth-child(even) { padding-left: 10px; border-left: 1px solid var(--bfl-line); }
.bfl .bfl-card__facts dd { margin: 0; padding: 0; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.bfl-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; margin-top: auto; padding-top: 6px; }
.bfl-card__monthly { font-size: 14px; color: var(--bfl-muted); }
.bfl-cmp { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 7px; min-height: 44px; margin: 0 !important; font-size: 14px; font-weight: 600; color: var(--bfl-ink); cursor: pointer; }
.bfl-cmp input { width: 18px; height: 18px; margin: 0; accent-color: var(--bfl-ink); }
.bfl-card--solgt .bfl-card__media > img { filter: grayscale(1); opacity: .7; }
.bfl-card--solgt .bfl-tag { background: var(--bfl-ink); color: var(--bfl-on-ink); }

/* Listevisning */
.bfl-lager[data-visning="liste"] .bfl-grid { grid-template-columns: 1fr; gap: 16px; }
.bfl-lager[data-visning="liste"] .bfl-card { display: grid; grid-template-columns: minmax(180px, 300px) minmax(0, 1fr); }
.bfl-lager[data-visning="liste"] .bfl-card__media { height: 100%; min-height: 170px; aspect-ratio: auto; border-radius: 5px 0 0 5px; }
.bfl-lager[data-visning="liste"] .bfl-card__media > img { position: absolute; inset: 0; border-radius: 5px 0 0 5px; }
.bfl-lager[data-visning="liste"] .bfl-card__media .bfl-tag { bottom: 12px; left: 12px; }
.bfl-lager[data-visning="liste"] .bfl-card__count { top: 10px; bottom: auto; right: 60px; }
.bfl-lager[data-visning="liste"] .bfl-card__body { padding: 18px 20px 12px; }
.bfl-lager[data-visning="liste"] .bfl-card__facts { display: flex; flex-wrap: wrap; row-gap: 4px; border-top: 0; }
.bfl-lager[data-visning="liste"] .bfl-card__facts dd { white-space: nowrap; }
.bfl-lager[data-visning="liste"] .bfl-card__facts > div { padding: 0 14px !important; border-bottom: 0; border-left: 1px solid var(--bfl-line); }
.bfl-lager[data-visning="liste"] .bfl-card__facts > div:first-child { padding-left: 0 !important; border-left: 0; }

.bfl-udvalgte__more { margin: 28px 0 0; text-align: center; }

/* Sammenligning */
.bfl-cmpbar {
	position: fixed; left: 50%; bottom: 16px; z-index: 9990; transform: translateX(-50%);
	display: flex; align-items: center; gap: 12px; max-width: calc(100vw - 24px); padding: 10px 10px 10px 18px;
	border-radius: var(--bfl-r); background: var(--bfl-ink); color: var(--bfl-on-ink); box-shadow: 0 8px 28px rgba(0, 0, 0, .3);
}
.bfl-cmpbar__text { font-weight: 600; white-space: nowrap; }
.bfl .bfl-cmpbar .bfl-btn { min-height: 40px; padding: 8px 16px; }
.bfl .bfl-cmpbar__clear { padding: 8px; margin: 0; border: 0 !important; background: none !important; color: var(--bfl-on-ink) !important; font: inherit; text-decoration: underline; text-transform: none; cursor: pointer; }

.bfl-dialog { padding: 0; border: 0; border-radius: var(--bfl-r); background: var(--bfl-surface); color: var(--bfl-ink); max-width: min(1000px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); width: 100%; }
.bfl-dialog::backdrop { background: rgba(10, 12, 14, .7); }
.bfl-dialog__head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; background: var(--bfl-surface); border-bottom: 1px solid var(--bfl-line); }
.bfl .bfl-dialog__head h2 { margin: 0; font-size: 20px; font-weight: 800; }
.bfl .bfl-dialog__close { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; margin: 0; border: 0 !important; border-radius: 50%; background: var(--bfl-soft) !important; color: var(--bfl-ink) !important; cursor: pointer; }
.bfl-cmpdialog__body { overflow-x: auto; padding: 0 18px 18px; }
.bfl .bfl-cmptable { width: 100%; min-width: 520px; margin: 0; border-collapse: collapse; border: 0; table-layout: fixed; font-size: 15px; }
.bfl .bfl-cmptable th, .bfl .bfl-cmptable td { padding: 10px 12px 10px 0; border: 0; border-bottom: 1px solid var(--bfl-line); background: none; text-align: left; vertical-align: top; }
.bfl .bfl-cmptable tbody th { width: 130px; font-weight: 400; color: var(--bfl-muted); }
.bfl .bfl-cmptable thead th { vertical-align: top; font-weight: 700; }
.bfl .bfl-cmptable thead img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; margin-bottom: 8px; }
.bfl .bfl-cmptable thead a { color: inherit; }
.bfl .bfl-cmptable td { font-weight: 400; color: var(--bfl-muted); font-variant-numeric: tabular-nums; }
.bfl .bfl-cmptable tr.is-diff td { font-weight: 700; color: var(--bfl-ink); }

/* ---------- Søgeboks til forsiden ---------- */
.bfl-soeg__form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; padding: 16px; background: var(--bfl-surface); border-radius: var(--bfl-r); box-shadow: 0 6px 24px rgba(0, 0, 0, .12); }
.bfl-soeg__form .bfl-filters__field { flex: 1 1 160px; }
.bfl-soeg__form .bfl-btn { flex: 1 1 160px; min-height: 46px; padding-top: 10px; padding-bottom: 10px; }

/* ---------- Bilside ---------- */
.bfl-printhead { display: none; }
.bfl-back { margin: 0 0 16px; }
.bfl .bfl-back a { color: var(--bfl-muted); font-weight: 600; text-decoration: none; }
.bfl .bfl-back a:hover { color: var(--bfl-ink); text-decoration: underline; }

.bfl-single__top { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.bfl-gallery { min-width: 0; }
.bfl-gallery__stage { position: relative; border-radius: var(--bfl-r); overflow: hidden; background: var(--bfl-soft); }
.bfl-gallery__stage--empty { aspect-ratio: 4 / 3; display: grid; place-items: center; color: var(--bfl-muted); }
.bfl-slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.bfl-slider__track::-webkit-scrollbar { display: none; }
.bfl-slider__slide { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.bfl-gallery__stage .bfl-slider__slide { aspect-ratio: 4 / 3; cursor: zoom-in; }
.bfl-gallery__stage .bfl-slider__slide img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.bfl .bfl-slider__nav {
	position: absolute; top: 50%; z-index: 2; transform: translateY(-50%);
	display: grid; place-items: center; width: 44px; height: 44px; padding: 0 0 4px; margin: 0;
	border: 0 !important; border-radius: 50%; background: rgba(255, 255, 255, .94) !important; color: #14171a !important;
	font-size: 28px; line-height: 1; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}
.bfl-slider__nav--prev { left: 12px; }
.bfl-slider__nav--next { right: 12px; }
.bfl-slider__counter { position: absolute; right: 12px; bottom: 12px; z-index: 2; padding: 3px 10px; border-radius: 3px; background: rgba(20, 23, 26, .72); color: #fff; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.bfl .bfl-gallery__zoom { position: absolute; top: 10px; right: 10px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; margin: 0; border: 0 !important; border-radius: 50%; background: rgba(255, 255, 255, .94) !important; color: #14171a !important; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); }
.bfl-gallery__thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.bfl .bfl-gallery__thumb { flex: 0 0 88px; aspect-ratio: 4 / 3; padding: 0; margin: 0; overflow: hidden; border: 2px solid transparent !important; border-radius: 4px; background: var(--bfl-soft) !important; cursor: pointer; opacity: .6; }
.bfl .bfl-gallery__thumb:hover { opacity: 1; }
.bfl .bfl-gallery__thumb.is-active { border-color: var(--bfl-ink) !important; opacity: 1; }
.bfl-gallery__thumb img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }

/* Fuld skærm */
.bfl-lightbox { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; background: #0c0e10; color: #fff; overflow: hidden; }
.bfl-lightbox .bfl-slider__track { height: 100%; }
.bfl-lightbox .bfl-slider__slide { display: grid; place-items: center; height: 100%; padding: 56px 12px; }
.bfl-lightbox .bfl-slider__slide img { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 100%; object-fit: contain; }
.bfl .bfl-lightbox .bfl-dialog__close { position: absolute; top: 8px; right: 8px; z-index: 3; background: rgba(255, 255, 255, .14) !important; color: #fff !important; }
.bfl-lightbox .bfl-slider__counter { left: 50%; right: auto; bottom: 16px; transform: translateX(-50%); background: rgba(255, 255, 255, .14); }

.bfl-summary { position: sticky; top: 24px; }
.bfl-summary__brand { margin: 0 0 2px; font-size: 15px; font-weight: 600; color: var(--bfl-muted); }
.bfl .bfl-summary__title { margin: 0; font-size: clamp(26px, 3.2vw, 36px); line-height: 1.15; font-weight: 800; text-wrap: balance; text-transform: none; letter-spacing: -.01em; }
.bfl-summary__variant { margin: 6px 0 0; font-size: 17px; color: var(--bfl-muted); }
.bfl .bfl-summary__facts { display: grid; grid-template-columns: 1fr 1fr; margin: 20px 0 0; padding: 0; border-top: 1px solid var(--bfl-line); }
.bfl .bfl-summary__facts > div { padding: 10px 0; border-bottom: 1px solid var(--bfl-line); }
.bfl .bfl-summary__facts > div:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--bfl-line); }
.bfl .bfl-summary__facts dt, .bfl .bfl-summary__facts dd, .bfl .bfl-specs dt, .bfl .bfl-specs dd { margin: 0; padding: 0; }
.bfl-summary__facts dt, .bfl-specs dt { font-size: 13px; font-weight: 400; color: var(--bfl-muted); }
.bfl-summary__facts dd { font-weight: 700; font-variant-numeric: tabular-nums; }
.bfl-summary__pricing { margin-top: 22px; }
.bfl-summary__note { margin: 8px 0 0; font-size: 14px; color: var(--bfl-muted); }
.bfl-summary__note:first-of-type { font-weight: 600; color: var(--bfl-ink); }
.bfl-summary__actions { display: grid; gap: 10px; margin-top: 22px; }
.bfl-summary__tools { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.bfl-summary__tools > * { flex: 1 1 auto; justify-content: center; }
.bfl .bfl-usp { margin: 22px 0 0; padding: 16px 0 0; list-style: none; border-top: 1px solid var(--bfl-line); }
.bfl .bfl-usp li { display: flex; gap: 10px; margin: 0; padding: 4px 0; font-weight: 600; }
.bfl .bfl-usp .bfl-icon { margin-top: 2px; }
.bfl-notice { margin: 16px 0 0; padding: 12px 14px; border-radius: var(--bfl-r); background: var(--bfl-soft); font-size: 15px; }
.bfl-notice--ok { background: #e3f4e8; color: #14532d; }
.bfl-notice--error { background: #fdecec; color: #7f1d1d; }

.bfl-calc { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--bfl-line); }
.bfl .bfl-calc__title { margin: 0 0 12px; font-size: 17px; font-weight: 700; }
.bfl-calc__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bfl-calc__row p { margin: 0; }
.bfl-calc__result { margin: 14px 0 6px; font-size: 18px; }
.bfl-calc__amount { font-size: 22px; font-variant-numeric: tabular-nums; }
.bfl-calc__note { margin: 0; font-size: 12px; line-height: 1.45; color: var(--bfl-muted); }

.bfl-single__details { max-width: 820px; }
.bfl-section { margin-top: 52px; }
.bfl .bfl-section > h2 { margin: 0 0 18px; font-size: 24px; line-height: 1.25; font-weight: 800; text-transform: none; letter-spacing: -.01em; }
.bfl .bfl-specs { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; margin: 0; }
.bfl-specs > div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--bfl-line); }
.bfl-specs dt { font-size: 15px; }
.bfl-specs dd { font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.bfl .bfl-equipment { columns: 2; column-gap: 40px; margin: 0; padding: 0; list-style: none; }
.bfl .bfl-equipment li { position: relative; margin: 0; padding: 5px 0 5px 26px; break-inside: avoid; }
.bfl-equipment li::before { content: ""; position: absolute; left: 3px; top: 12px; width: 12px; height: 7px; border-left: 2.5px solid var(--bfl-ink); border-bottom: 2.5px solid var(--bfl-ink); transform: rotate(-45deg); }
.bfl-description { max-width: 68ch; }
.bfl-description > :last-child { margin-bottom: 0; }
.bfl-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--bfl-r); overflow: hidden; background: #000; }
.bfl-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Formularer ---------- */
.bfl-contact { padding: 28px; background: var(--bfl-soft); border-radius: var(--bfl-r); scroll-margin-top: 100px; }
.bfl-saelg { scroll-margin-top: 100px; }
.bfl-contact .bfl-notice, .bfl-saelg .bfl-notice { margin-top: 0; }
.bfl-contact .bfl-notice--error, .bfl-saelg .bfl-notice--error { margin-bottom: 16px; }
.bfl-form p { margin: 0 0 14px; }
.bfl-form > p:last-child { margin-bottom: 0; }
.bfl-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.bfl-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bfl .bfl-form__types { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; border: 0; }
.bfl-chip { margin: 0 !important; cursor: pointer; }
.bfl-chip input { position: absolute; opacity: 0; pointer-events: none; }
.bfl-chip span { display: inline-block; padding: 10px 16px; border: 1px solid var(--bfl-field-line); border-radius: var(--bfl-r); background: var(--bfl-field); color: var(--bfl-ink); font-size: 15px; font-weight: 600; }
.bfl-chip input:checked + span { background: var(--bfl-ink); border-color: var(--bfl-ink); color: var(--bfl-on-ink); }
.bfl-chip input:focus-visible + span { outline: 3px solid var(--bfl-ink); outline-offset: 2px; }
.bfl-form__consent label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 14px; color: var(--bfl-ink); }
.bfl-form__consent input { margin: 3px 0 0; width: 18px; height: 18px; flex: none; accent-color: var(--bfl-ink); }

.bfl-others { margin-top: 64px; }

/* Fast kontaktbjælke på mobil */
.bfl-mobilebar { display: none; }

/* ---------- Mindre skærme ---------- */
@media (max-width: 1000px) {
	.bfl-single__top { grid-template-columns: 1fr; gap: 24px; }
	.bfl-summary { position: static; }
}
@media (max-width: 720px) {
	.bfl .bfl-filters-toggle { display: inline-flex; }
	.bfl-filters { display: none; grid-template-columns: 1fr 1fr; padding: 14px; background: var(--bfl-soft); border-radius: var(--bfl-r); }
	.bfl-filters.is-open { display: grid; }
	.bfl-toolbar__tools { margin-left: 0; width: 100%; }
	.bfl .bfl-sort { flex: 1; min-width: 0; }
	.bfl-favtoggle > span:not(.bfl-favtoggle__n) { display: none; }
	.bfl-chips { order: 3; flex-basis: 100%; }
}
@media (max-width: 640px) {
	.bfl-page { padding: 20px 16px 48px; }
	.bfl-grid { grid-template-columns: 1fr; gap: 24px; }
	.bfl-lager[data-visning="liste"] .bfl-card { grid-template-columns: 130px minmax(0, 1fr); }
	.bfl-lager[data-visning="liste"] .bfl-card__media { min-height: 130px; }
	.bfl-lager[data-visning="liste"] .bfl-card__media .bfl-tag { left: 6px; bottom: 6px; padding: 4px 7px 5px; }
	.bfl-lager[data-visning="liste"] .bfl-tag__price { font-size: 15px; }
	.bfl-lager[data-visning="liste"] .bfl-tag__old, .bfl-lager[data-visning="liste"] .bfl-card__count, .bfl-lager[data-visning="liste"] .bfl-fav { display: none; }
	.bfl-lager[data-visning="liste"] .bfl-card__body { padding: 12px 12px 6px; }
	.bfl-lager[data-visning="liste"] .bfl-card__title { font-size: 16px; }
	.bfl-lager[data-visning="liste"] .bfl-card__facts { display: grid; grid-template-columns: 1fr 1fr; margin-top: 8px; row-gap: 2px; }
	.bfl-lager[data-visning="liste"] .bfl-card__facts > div { padding: 0 !important; border: 0; }
	.bfl-lager[data-visning="liste"] .bfl-card__facts dd { font-size: 14px; font-weight: 400; color: var(--bfl-muted); }
	.bfl .bfl-specs { grid-template-columns: 1fr; }
	.bfl .bfl-equipment { columns: 1; }
	.bfl-form__row { grid-template-columns: 1fr; }
	.bfl-contact { padding: 20px 16px; }
	.bfl-section { margin-top: 40px; }
	.bfl .bfl-gallery__thumb { flex-basis: 68px; }
	.bfl-single { padding-bottom: 76px; }
	.bfl-mobilebar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 9980;
		display: flex; align-items: center; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: var(--bfl-surface); border-top: 1px solid var(--bfl-line); box-shadow: 0 -4px 16px rgba(0, 0, 0, .08);
		transition: transform .2s ease;
	}
	.bfl-mobilebar.is-hidden { transform: translateY(110%); }
	.bfl-mobilebar__price { flex: 1; min-width: 0; font-size: 18px; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.bfl .bfl-mobilebar .bfl-btn { min-height: 44px; padding: 8px 16px; }
	.bfl-cmpbar { bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) {
	.bfl *, .bfl *::before, .bfl *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Udskrift: salgsopstilling på én side ---------- */
@media print {
	body * { visibility: hidden !important; }
	.bfl-single, .bfl-single * { visibility: visible !important; }
	.bfl-single { position: absolute; left: 0; top: 0; width: 100%; padding: 0 !important; font-size: 11pt; }
	.bfl-printhead { display: block; margin: 0 0 10pt; padding-bottom: 6pt; border-bottom: 1pt solid #000; font-size: 11pt; }
	.bfl-back, .bfl-gallery__thumbs, .bfl-slider__nav, .bfl-slider__counter, .bfl-gallery__zoom, .bfl-dialog, .bfl-summary__actions, .bfl-summary__tools,
	.bfl-calc, .bfl-contact, .bfl-others, .bfl-mobilebar, .bfl-videosection, .bfl-badges { display: none !important; }
	.bfl-single__top { grid-template-columns: 1fr 1fr; gap: 18pt; }
	.bfl-slider__track { overflow: hidden; }
	.bfl-slider__slide:not(:first-child) { display: none; }
	.bfl-summary { position: static; }
	.bfl-section { margin-top: 16pt; break-inside: avoid; }
	.bfl .bfl-section > h2 { margin-bottom: 6pt; font-size: 13pt; }
	.bfl-specs > div { padding: 3pt 0; }
	.bfl .bfl-equipment { columns: 3; }
	.bfl .bfl-equipment li { padding-top: 1pt; padding-bottom: 1pt; }
}

/* ---------- Mørkt tema ---------- */
.bfl.bfl--dark, .bfl--dark .bfl {
	--bfl-ink: #f2f5f8;
	--bfl-on-ink: #0b1622;
	--bfl-muted: #9aa8bb;
	--bfl-line: #26364a;
	--bfl-soft: #132131;
	--bfl-surface: #111c2a;
	--bfl-field: #0f1a27;
	--bfl-field-line: #2e3d4f;
}
.bfl--dark .bfl-notice--ok { background: #12301f; color: #a7e3bd; }
.bfl--dark .bfl-notice--error { background: #3a1416; color: #f5b5b5; }
.bfl--dark select option { background: #0f1a27; color: #f2f5f8; }
