/* Bilforum Brugte Biler */
.bfbb-list, .bfbb-detail { --bf-primary:#263140; --bf-brand:#5B7995; --bf-accent:#2374E7; --bf-fg:#181D25; --bf-muted:#6A7181; --bf-cool:#F5F7FA; --bf-border:#E5E7EB; font-family:"Open Sans",system-ui,sans-serif; color:var(--bf-fg); }

/* Filters */
.bfbb-filters { display:grid; grid-template-columns:2fr repeat(4,1fr); gap:12px; background:#fff; border:1px solid var(--bf-border); border-radius:12px; padding:16px; }
.bfbb-f { display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:600; color:var(--bf-fg); margin:0; }
.bfbb-f input, .bfbb-f select { width:100%; padding:10px 12px; border:1px solid var(--bf-border); border-radius:8px; background:#fff; font:inherit; font-weight:400; font-size:14px; color:var(--bf-fg); min-height:42px; }
.bfbb-f input:focus, .bfbb-f select:focus { outline:none; border-color:transparent; box-shadow:0 0 0 2px var(--bf-accent); }
.bfbb-count { margin:20px 0 16px; color:var(--bf-muted); font-size:14px; }
.bfbb-count [data-count] { font-weight:700; color:var(--bf-fg); }

/* Grid + cards */
.bfbb-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.bfbb-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--bf-border); border-radius:12px; overflow:hidden; color:inherit !important; text-decoration:none !important; transition:box-shadow .3s ease, transform .3s ease, border-color .3s ease; }
.bfbb-card:hover { box-shadow:0 20px 40px -12px rgba(0,0,0,.18); transform:translateY(-4px); border-color:rgba(35,116,231,.3); }
.bfbb-card__img { aspect-ratio:3/2; background:var(--bf-cool); overflow:hidden; }
.bfbb-card__img img { width:100%; height:100%; object-fit:cover; display:block; }
.bfbb-card__body { padding:18px 20px 20px; display:flex; flex-direction:column; gap:10px; flex:1; }
.bfbb-card__title { font-size:18px; line-height:1.3; font-weight:700; margin:0; color:var(--bf-fg); }
.bfbb-card__specs { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.bfbb-card__specs li { background:var(--bf-cool); border-radius:6px; padding:4px 8px; font-size:13px; color:var(--bf-muted); margin:0; }
.bfbb-card__foot { margin-top:auto; padding-top:8px; display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
.bfbb-card__price { font-size:20px; font-weight:700; color:var(--bf-fg); }
.bfbb-card__cta { font-size:14px; font-weight:700; color:var(--bf-accent); }
.bfbb-noimg { width:100%; height:100%; min-height:200px; background:var(--bf-cool) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512" fill="%235B7995" opacity=".35"><path d="M171 96h298c27 0 51 17 60 43l38 101c33 6 57 35 57 69v119c0 18-14 32-32 32h-32c-18 0-32-14-32-32v-32H112v32c0 18-14 32-32 32H48c-18 0-32-14-32-32V309c0-34 24-63 57-69l38-101c9-26 33-43 60-43zm0 64c-1 0-2 1-3 2l-30 78h364l-30-78c-1-1-2-2-3-2H171zm-43 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm416-32a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"/></svg>') center/64px no-repeat; }
.bfbb-none, .bfbb-empty { text-align:center; color:var(--bf-muted); padding:32px 16px; }
.bfbb-empty { background:var(--bf-cool); border:1px solid var(--bf-border); border-radius:12px; padding:48px 24px; max-width:760px; margin:0 auto; }
.bfbb-empty h3 { color:var(--bf-fg); font-size:26px; margin:0 0 12px; }

/* Detail */
.bfbb-single .page-header, .bfbb-single .entry-title { display:none; }
.bfbb-single .site-main { max-width:1400px; padding:32px 32px 80px; }
.bfbb-back { display:inline-block; margin-bottom:20px; font-weight:600; font-size:14px; color:var(--bf-accent); text-decoration:none; }
.bfbb-detail__top { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); gap:32px; align-items:start; }
.bfbb-gallery__main { position:relative; aspect-ratio:3/2; background:var(--bf-cool); border-radius:12px; overflow:hidden; }
.bfbb-gallery__main img { width:100%; height:100%; object-fit:cover; display:block; }
.bfbb-nav { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:var(--bf-fg); font-size:28px; line-height:44px; padding:0; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.2); }
.bfbb-nav--prev { left:12px; } .bfbb-nav--next { right:12px; }
.bfbb-gallery__count { position:absolute; right:12px; bottom:12px; background:rgba(24,29,37,.7); color:#fff; font-size:13px; padding:4px 10px; border-radius:20px; }
.bfbb-thumbs { display:flex; gap:8px; margin-top:10px; overflow-x:auto; padding-bottom:4px; }
.bfbb-thumbs button { flex:0 0 96px; height:64px; padding:0; border:2px solid transparent; border-radius:8px; overflow:hidden; background:none; cursor:pointer; opacity:.75; }
.bfbb-thumbs button.is-active { border-color:var(--bf-accent); opacity:1; }
.bfbb-thumbs img { width:100%; height:100%; object-fit:cover; display:block; }
.bfbb-box { background:#fff; border:1px solid var(--bf-border); border-radius:12px; padding:28px; position:sticky; top:110px; display:flex; flex-direction:column; gap:12px; }
.bfbb-box__eyebrow { margin:0; color:var(--bf-brand); font-size:13px; font-weight:600; letter-spacing:2px; text-transform:uppercase; }
.bfbb-box__title { margin:0; font-size:28px; line-height:1.2; font-weight:700; color:var(--bf-fg); }
.bfbb-box__price { margin:4px 0; font-size:30px; font-weight:700; color:var(--bf-fg); }
.bfbb-box__keys { list-style:none; margin:4px 0 8px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.bfbb-box__keys li { margin:0; background:var(--bf-cool); border-radius:8px; padding:10px 12px; display:flex; flex-direction:column; font-size:12px; color:var(--bf-muted); }
.bfbb-box__keys strong { font-size:15px; color:var(--bf-fg); }
.bfbb-btn { display:block; text-align:center; background:var(--bf-brand); color:#fff !important; font-weight:600; font-size:16px; padding:14px 20px; border-radius:8px; text-decoration:none !important; box-shadow:0 6px 16px -6px rgba(0,0,0,.25); transition:background .2s ease; }
.bfbb-btn:hover { background:#4E6981; }
.bfbb-btn--ghost { background:#fff; color:var(--bf-primary) !important; border:1px solid var(--bf-border); box-shadow:none; }
.bfbb-btn--ghost:hover { background:#F3F4F6; }
.bfbb-box__small { margin:4px 0 0; font-size:13px; line-height:1.6; color:var(--bf-muted); }
.bfbb-box__small a { color:var(--bf-accent); }
.bfbb-detail__body { max-width:900px; margin-top:48px; }
.bfbb-sec { margin-bottom:40px; }
.bfbb-sec h2 { font-size:24px; font-weight:700; color:var(--bf-fg); margin:0 0 16px; }
.bfbb-desc { color:var(--bf-muted); line-height:1.7; }
.bfbb-specs { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; margin:0; }
.bfbb-specs div { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--bf-border); }
.bfbb-specs dt { color:var(--bf-muted); font-weight:400; margin:0; }
.bfbb-specs dd { margin:0; font-weight:600; text-align:right; color:var(--bf-fg); }
.bfbb-equip { columns:2; column-gap:32px; list-style:none; margin:0; padding:0; }
.bfbb-equip li { break-inside:avoid; padding:6px 0 6px 24px; position:relative; color:var(--bf-fg); margin:0; }
.bfbb-equip li::before { content:""; position:absolute; left:0; top:12px; width:12px; height:7px; border-left:2px solid var(--bf-accent); border-bottom:2px solid var(--bf-accent); transform:rotate(-45deg); }
.bfbb-disclaimer { font-size:13px; color:var(--bf-muted); }

@media (max-width:1024px) {
  .bfbb-filters { grid-template-columns:repeat(2,1fr); }
  .bfbb-f--search { grid-column:1 / -1; }
  .bfbb-grid { grid-template-columns:repeat(2,1fr); }
  .bfbb-detail__top { grid-template-columns:minmax(0,1fr); }
  .bfbb-box { position:static; }
}
@media (max-width:767px) {
  .bfbb-single .site-main { padding:20px 16px 56px; }
  .bfbb-grid { grid-template-columns:1fr; gap:16px; }
  .bfbb-filters { padding:12px; gap:10px; }
  .bfbb-box { padding:20px; }
  .bfbb-box__title { font-size:23px; }
  .bfbb-box__price { font-size:26px; }
  .bfbb-specs { grid-template-columns:1fr; }
  .bfbb-equip { columns:1; }
  .bfbb-thumbs button { flex-basis:76px; height:52px; }
  .bfbb-nav { width:38px; height:38px; line-height:38px; font-size:24px; }
}

.bfbb-card__variant { margin:-4px 0 0; font-size:13px; line-height:1.4; color:var(--bf-muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bfbb-box__variant { margin:-4px 0 0; color:var(--bf-muted); font-size:15px; line-height:1.5; }
.bfbb-equip.is-collapsed .bfbb-more { display:none; }
.bfbb-equip-toggle { display:inline-block; margin-top:16px; cursor:pointer; font-family:inherit; }
.bfbb-gallery, .bfbb-box, .bfbb-detail__body { min-width:0; }
.bfbb-detail { max-width:100%; overflow-x:hidden; }
