/* LieferCH – Aktionen für Restaurants (B2B) + Bestellanfrage. Entwurf d28, 2026-11-02 */
.akt-head { display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:baseline; justify-content:space-between; }
.akt-valid { display:inline-block; background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; border-radius:999px; padding:.2rem .7rem; font-weight:700; font-size:.88rem; }
.akt-filter { display:flex; flex-wrap:wrap; gap:.4rem; margin:.8rem 0 1rem; }
.akt-filter button { font:inherit; font-size:.85rem; border:1px solid var(--line,#ddd); background:#fff; border-radius:999px; padding:.3rem .75rem; cursor:pointer; }
.akt-filter button[aria-pressed="true"] { background:var(--brand,#5b21d6); color:#fff; border-color:transparent; }
.prod-grid { list-style:none; padding:0; margin:0; display:grid; gap:.8rem; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); }
.prod-card { position:relative; display:grid; grid-template-columns:84px 1fr; gap:.75rem; background:var(--card,#fff); border:1px solid var(--line,#e5e5e5); border-radius:14px; padding:.8rem; box-shadow:var(--shadow,none); }
.prod-card[hidden] { display:none; }
.prod-fig { margin:0; text-align:center; }
.prod-fig img { width:84px; height:84px; display:block; }
.prod-fig figcaption { font-size:.68rem; color:var(--muted,#666); margin-top:.15rem; }
.prod-card h3 { font-size:.98rem; margin:0 0 .15rem; padding-right:3.2rem; line-height:1.25; }
.prod-pct { position:absolute; top:.6rem; right:.6rem; background:var(--coral,#e5484d); color:#fff; font-weight:800; font-size:.78rem; border-radius:999px; padding:.15rem .5rem; }
.prod-meta { margin:0; color:var(--muted,#666); font-size:.82rem; }
.prod-price { margin:.3rem 0 0; font-size:1rem; }
.prod-price s { color:var(--muted,#777); font-size:.85rem; margin-left:.25rem; }
.prod-price b { color:var(--coral-dark,#b42318); font-size:1.12rem; }
.prod-geb { margin:.1rem 0 0; font-size:.82rem; }
.prod-kurier { margin:.15rem 0 0; font-size:.82rem; font-weight:600; }
.prod-qty { display:flex; align-items:center; gap:.35rem; margin-top:.45rem; }
.prod-qty button { width:2.1rem; height:2.1rem; border-radius:10px; border:1px solid var(--line,#ccc); background:#fff; font-size:1.1rem; font-weight:700; cursor:pointer; }
.prod-qty output { min-width:1.6rem; text-align:center; font-weight:800; }
.prod-qty span { font-size:.8rem; color:var(--muted,#666); }
.legal-foot { font-size:.82rem; color:var(--muted,#555); border-top:1px solid var(--line,#e5e5e5); margin-top:1rem; padding-top:.7rem; }
.cart-box { border:2px solid var(--brand,#5b21d6); border-radius:14px; padding:1rem; background:#faf8ff; }
.cart-box ul { margin:.4rem 0; padding-left:1.1rem; }
.cart-box .cart-empty { color:var(--muted,#666); margin:.2rem 0; }
.cart-total { font-weight:800; margin:.4rem 0 0; }
.b2b-form { display:grid; gap:.85rem; grid-template-columns:1fr 1fr; margin-top:1rem; }
.b2b-form .full { grid-column:1 / -1; }
.b2b-form label { display:flex; flex-direction:column; gap:.3rem; font-weight:600; font-size:.92rem; }
.b2b-form input, .b2b-form select, .b2b-form textarea { font:inherit; font-weight:400; border:1px solid #cfd6dd; border-radius:10px; padding:.6rem .7rem; background:#fff; }
.b2b-form textarea { min-height:4.5rem; resize:vertical; }
.b2b-form .chk { flex-direction:row; align-items:flex-start; font-weight:400; }
.b2b-form .chk input { margin-top:.25rem; }
.b2b-form .hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.b2b-msg { grid-column:1 / -1; margin:0; font-weight:600; }
.b2b-msg.ok { color:var(--ok,#047857); } .b2b-msg.err { color:var(--coral-dark,#b42318); }
.sticky-cart { position:sticky; bottom:calc(64px + env(safe-area-inset-bottom,0px)); z-index:5; display:none; margin:1rem 0; }
.sticky-cart.on { display:block; }
.sticky-cart a { display:flex; justify-content:space-between; gap:.5rem; background:var(--brand,#5b21d6); color:#fff; text-decoration:none; border-radius:12px; padding:.7rem 1rem; font-weight:700; box-shadow:0 6px 18px rgba(0,0,0,.18); }
.steps-mini { margin:.4rem 0 0; padding-left:1.2rem; }
@media (max-width:640px) { .b2b-form { grid-template-columns:1fr; } }
.prod-fig img { object-fit:contain; background:#fff; border-radius:10px; }
.bild-note { font-size:.78rem; color:var(--muted,#666); margin:.9rem 0 .2rem; }
.bildquellen { font-size:.74rem; color:var(--muted,#666); }
.bildquellen summary { cursor:pointer; }
.bildquellen ul { margin:.35rem 0 0; padding-left:1.1rem; }
.bildquellen li { margin:.12rem 0; overflow-wrap:anywhere; }
