.sab{--sab-navy:#0b1533;--sab-blue:#2563eb;--sab-blue-dark:#1d4ed8;--sab-yellow:#fbbf24;--sab-green:#16a34a;--sab-bg:#f7f8fc;--sab-card:#fff;--sab-border:#e6e9f2;--sab-text:#111827;--sab-muted:#6b7280;--sab-radius:14px;--sab-shadow:0 1px 2px rgba(16,24,40,.05),0 8px 24px rgba(16,24,40,.05);
box-sizing:border-box;color:var(--sab-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}
.sab *,.sab *::before,.sab *::after{box-sizing:border-box}
.sab h1,.sab h2,.sab h3,.sab h4{margin:0 0 .35em;line-height:1.25;color:var(--sab-text)}
.sab p{margin:0 0 .6em}
.sab a{color:var(--sab-blue);text-decoration:none}
.sab a:hover{text-decoration:underline}
.sab-muted{color:var(--sab-muted);font-size:13px}
.sab-card{background:var(--sab-card);border:1px solid var(--sab-border);border-radius:var(--sab-radius);box-shadow:var(--sab-shadow);padding:22px}
.sab-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;background:#f2f4f9;color:var(--sab-text);transition:.15s;text-decoration:none}
.sab-btn:hover{filter:brightness(.97);text-decoration:none}
.sab-btn-primary{background:var(--sab-blue);color:#fff}
.sab-btn-primary:hover{background:var(--sab-blue-dark);color:#fff}
.sab-btn-accent{background:var(--sab-yellow);color:#1f2937}
.sab-btn-wa{background:#25d366;color:#fff}
.sab-btn-light{background:#fff;color:var(--sab-text);border-color:var(--sab-border)}
.sab-btn-soft{background:#eef2ff;color:var(--sab-blue)}
.sab-btn-block{width:100%}
.sab-btn-lg{padding:14px 28px;font-size:16px;border-radius:12px}
.sab-btn-dashed{width:100%;border:1px dashed #c7d2fe;background:#f8faff;color:var(--sab-blue);padding:12px}
.sab-stars{color:var(--sab-yellow);letter-spacing:1px}
.sab-stars-sm{color:var(--sab-yellow);font-size:12px}
.sab-check{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.sab-chip{display:inline-block;background:#dcfce7;color:#15803d;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}
.sab-sep{opacity:.5;margin:0 6px}
.sab-open{color:#16a34a;font-weight:600}
.sab-closed{color:#dc2626;font-weight:600}
.sab-empty{grid-column:1/-1;text-align:center;padding:50px 20px;color:var(--sab-muted);background:#fff;border:1px dashed var(--sab-border);border-radius:var(--sab-radius)}

/* ---------- Shared business card (grid + list) ---------- */
.sab-bc{position:relative;background:#fff;border:1px solid var(--sab-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(16,24,40,.05);transition:.18s}
.sab-bc:hover{box-shadow:0 14px 30px rgba(16,24,40,.10);border-color:#d9e0f5;transform:translateY(-2px)}
.sab-bc-media{position:relative;display:block;height:150px;background:#eef2f9;overflow:hidden}
.sab-bc-media img{width:100%;height:100%;object-fit:cover;display:block}
.sab-bc-initial{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;color:#c3cbdb}
.sab-bc-verified{position:absolute;top:10px;left:10px;background:#7c3aed;color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:4px 10px;display:inline-flex;gap:5px;align-items:center;box-shadow:0 2px 8px rgba(124,58,237,.35)}
.sab-bc-heart{position:absolute;top:10px;right:10px;z-index:2;width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#8892a4;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 8px rgba(16,24,40,.18)}
.sab-bc-heart.is-on{color:#ef4444}
.sab-bc-body{padding:14px 16px 12px;display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.sab-bc-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.sab-bc-head h3{font-size:15.5px;font-weight:700;margin:0;line-height:1.3}
.sab-bc-head h3 a{color:var(--sab-text)}
.sab-bc-rate{font-size:12.5px;color:#b45309;white-space:nowrap;display:inline-flex;gap:4px;align-items:center}
.sab-bc-rate i{color:#f59e0b}
.sab-bc-rate em{font-style:normal;color:var(--sab-muted)}
.sab-bc-cat{font-size:12.5px;color:var(--sab-muted);margin:0}
.sab-bc-loc{font-size:12.5px;color:var(--sab-muted);margin:0;display:flex;gap:6px;align-items:center}
.sab-bc-tags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 2px}
.sab-bc-tags span{background:#f1f4fb;border-radius:8px;padding:4px 9px;font-size:11px;color:#475569}
.sab-bc-actions{display:flex;gap:14px;align-items:center;border-top:1px solid #eef1f7;padding-top:10px;margin-top:auto;font-size:12.5px}
.sab-bc-actions a{display:inline-flex;gap:6px;align-items:center;color:var(--sab-muted)}
.sab-bc-actions .sab-bc-wa{color:#16a34a}
.sab-bc-actions .sab-bc-view{margin-left:auto;font-weight:700;color:var(--sab-blue)}
/* list variant */
.sab-bc.is-list{flex-direction:row;border-radius:18px}
.sab-bc.is-list .sab-bc-media{width:290px;flex:0 0 290px;height:auto;min-height:190px}
.sab-bc.is-list .sab-bc-body{padding:20px 24px}
.sab-bc.is-list .sab-bc-head h3{font-size:20px}
.sab-bc.is-list .sab-bc-head h3 a{color:var(--sab-blue)}
.sab-bc.is-list .sab-bc-rate{font-size:14px}
.sab-bc.is-list .sab-bc-cat,.sab-bc.is-list .sab-bc-loc{font-size:13.5px}
.sab-bc.is-list .sab-bc-actions{font-size:13.5px;padding-top:14px}
@media(max-width:640px){.sab-bc.is-list{flex-direction:column}.sab-bc.is-list .sab-bc-media{width:100%;flex:auto;height:170px;min-height:0}}
