/* BARFbike Liefercheck — Storefront-Widget. Alles unter #barfbike-liefercheck gescoped. */
#barfbike-liefercheck { --bb-line:#dcdcdc; --bb-ink:#1c1c1c; --bb-muted:#8a8a8a;
  --bb-hit:#2c7fb8; --bb-hitbg:#eef5fc; --bb-grey:#f4f4f4;
  margin:0 0 22px; font-size:15px; color:var(--bb-ink); }
#barfbike-liefercheck * { box-sizing:border-box; }
#barfbike-liefercheck .bb-card { border:1px solid var(--bb-line); border-radius:10px; padding:14px 16px; background:#fff; }
#barfbike-liefercheck .bb-row { display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap; }
#barfbike-liefercheck label { font-size:13px; font-weight:600; display:block; margin-bottom:5px; }
#barfbike-liefercheck input[type=text] { padding:10px 12px; font-size:16px; border:1px solid var(--bb-line);
  border-radius:8px; width:160px; }
#barfbike-liefercheck button.bb-go { padding:10px 16px; font-size:15px; font-weight:600; border:0;
  border-radius:8px; background:var(--bb-ink); color:#fff; cursor:pointer; }
#barfbike-liefercheck .bb-hint { font-size:12px; color:var(--bb-muted); margin-top:6px; }
#barfbike-liefercheck .bb-banner { padding:11px 14px; border-radius:8px; font-size:14px; margin-top:12px; }
#barfbike-liefercheck .bb-banner.info { background:var(--bb-hitbg); color:#23577f; }
#barfbike-liefercheck .bb-banner.no { background:#fbecec; color:#a23030; }
#barfbike-liefercheck .bb-note { margin-top:8px; padding:9px 12px; background:#fff8e6; border:1px solid #f0e3b8; border-radius:8px; font-size:13px; color:#6b5e2f; line-height:1.45; }
#barfbike-liefercheck .bb-nav { display:flex; align-items:center; gap:6px; margin-top:12px; }
#barfbike-liefercheck .bb-range { flex:1; text-align:center; font-weight:600; font-size:13px; }
#barfbike-liefercheck .bb-of { color:var(--bb-muted); font-weight:400; font-size:11px; }
#barfbike-liefercheck .bb-home { width:auto; padding:0 10px; font-size:12px; }
/* Wochenansicht */
#barfbike-liefercheck .bb-weekhead, #barfbike-liefercheck .bb-weekbody { display:grid; grid-template-columns:40px repeat(6,1fr); }
#barfbike-liefercheck .bb-weekhead { border-bottom:1px solid var(--bb-line); margin-top:8px; }
#barfbike-liefercheck .bb-dh { text-align:center; padding:6px 1px; font-size:11px; border-left:1px solid #eee; }
#barfbike-liefercheck .bb-dh .wd { font-weight:700; }
#barfbike-liefercheck .bb-dh .dt { color:var(--bb-muted); }
#barfbike-liefercheck .bb-axis { position:relative; }
#barfbike-liefercheck .bb-hr { position:absolute; right:5px; font-size:10px; color:var(--bb-muted); transform:translateY(-6px); }
#barfbike-liefercheck .bb-dcol { position:relative; border-left:1px solid #eee; }
#barfbike-liefercheck .bb-hl { position:absolute; left:0; right:0; border-top:1px solid #f3f3f3; }
#barfbike-liefercheck .bb-slot { position:absolute; border-radius:6px; padding:3px 4px; font-size:10px; line-height:1.18; overflow:hidden; }
#barfbike-liefercheck .bb-slot.ok { background:var(--bb-hit); color:#fff; cursor:pointer; font-weight:600; }
#barfbike-liefercheck .bb-slot.ok:hover { filter:brightness(1.08); }
#barfbike-liefercheck .bb-slot.ok.sel { outline:2px solid #111; }
#barfbike-liefercheck .bb-slot.off { background:var(--bb-off, #f0f0f0); color:#9a9a9a; }
#barfbike-liefercheck .bb-feehint { font-size:12px; color:var(--bb-muted); margin-top:6px; }
#barfbike-liefercheck .bb-slot .bb-fee { display:block; font-weight:400; opacity:.95; }
#barfbike-liefercheck .bb-days { display:flex; flex-direction:column; gap:8px; margin-top:0; }
#barfbike-liefercheck .bb-arrow { width:40px; border:1px solid var(--bb-line); background:#fff; border-radius:10px;
  font-size:18px; cursor:pointer; }
#barfbike-liefercheck .bb-arrow:disabled { opacity:.3; cursor:default; }
#barfbike-liefercheck .bb-strip { display:flex; gap:8px; }
#barfbike-liefercheck .bb-day { flex:1; min-width:0; border:1px solid var(--bb-line); border-radius:10px;
  background:#fff; padding:8px 6px 10px; text-align:center; cursor:pointer; }
#barfbike-liefercheck .bb-day .wd { font-size:12px; color:var(--bb-muted); }
#barfbike-liefercheck .bb-day .dn { font-size:22px; font-weight:700; line-height:1.1; }
#barfbike-liefercheck .bb-day .mo { font-size:11px; color:var(--bb-muted); }
#barfbike-liefercheck .bb-day.sel { background:var(--bb-ink); border-color:var(--bb-ink); color:#fff; }
#barfbike-liefercheck .bb-day.sel .wd, #barfbike-liefercheck .bb-day.sel .mo { color:#cfcfcf; }
#barfbike-liefercheck .bb-grid { position:relative; border:1px solid var(--bb-line); border-radius:10px;
  margin-top:12px; padding:8px 8px 8px 52px; }
#barfbike-liefercheck .bb-hour { position:absolute; left:0; width:46px; text-align:right; padding-right:8px;
  font-size:12px; color:var(--bb-muted); transform:translateY(-7px); }
#barfbike-liefercheck .bb-line { position:absolute; left:52px; right:8px; border-top:1px solid #eee; }
#barfbike-liefercheck .bb-block { position:absolute; border:1px solid var(--bb-line); border-radius:10px;
  background:#fff; padding:8px 10px; overflow:hidden; cursor:pointer; }
#barfbike-liefercheck .bb-block .bt { font-weight:700; font-size:14px; }
#barfbike-liefercheck .bb-block .bf { font-size:13px; color:var(--bb-muted); margin-top:2px; }
#barfbike-liefercheck .bb-block .dot { position:absolute; top:8px; right:8px; width:9px; height:9px; border-radius:50%; }
#barfbike-liefercheck .bb-block.hit:hover { border-color:var(--bb-hit); }
#barfbike-liefercheck .bb-block.sel { background:var(--bb-hitbg); border-color:var(--bb-hit); }
#barfbike-liefercheck .bb-block.off { background:var(--bb-grey); border-style:dashed; cursor:not-allowed; color:#aaa; }
#barfbike-liefercheck .bb-block.off .bf { color:#b5b5b5; }
#barfbike-liefercheck .bb-block.off .dot { display:none; }
#barfbike-liefercheck .bb-tag { display:inline-block; background:#41ab5d; color:#fff; font-size:10px;
  font-weight:700; padding:1px 6px; border-radius:99px; vertical-align:middle; }
#barfbike-liefercheck .bb-opt { border:1px solid var(--bb-line); border-radius:10px; padding:13px 15px;
  margin-top:10px; cursor:pointer; }
#barfbike-liefercheck .bb-opt.alt { background:var(--bb-grey); color:#555; cursor:pointer; }
#barfbike-liefercheck .bb-busy { opacity:.5; pointer-events:none; }

/* Drei-Wege-Auswahl */
#barfbike-liefercheck .bb-q { font-size:16px; font-weight:700; margin:0 0 10px; }
#barfbike-liefercheck .bb-modes { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
#barfbike-liefercheck .bb-mode { display:block; text-align:left; border:1px solid var(--bb-line); border-radius:12px;
  background:#fff; padding:14px; cursor:pointer; font:inherit; color:inherit; width:100%; }
#barfbike-liefercheck .bb-mode:hover { border-color:var(--bb-hit); }
#barfbike-liefercheck .bb-mode.sel { border-color:var(--bb-ink); box-shadow:inset 0 0 0 1px var(--bb-ink); }
#barfbike-liefercheck .bb-mode .ic { font-size:22px; display:block; }
#barfbike-liefercheck .bb-mode .t { font-weight:700; display:block; margin-top:6px; }
#barfbike-liefercheck .bb-mode .d { font-size:12px; color:var(--bb-muted); display:block; margin-top:3px; }
@media (max-width:560px){ #barfbike-liefercheck .bb-modes { grid-template-columns:1fr; } }
#barfbike-liefercheck .bb-panel { margin-top:16px; }
#barfbike-liefercheck .bb-plzrow { display:flex; gap:8px; align-items:flex-end; }
#barfbike-liefercheck .bb-plz { width:100%; }
#barfbike-liefercheck .bb-cal { margin-top:4px; }
#barfbike-liefercheck .bb-banner.ok { background:#eef7ee; color:#2c6e2c; }
