/* v4 card blocks — works inside v3+ themes (uses --v3-*) and classic themes (uses --card-*) */
.v4b, .v4b-classic{
  --b-text: var(--v3-text, var(--card-font-color, #111827));
  --b-muted: var(--v3-muted, #6b7280);
  --b-line: var(--v3-line, rgba(0,0,0,.08));
  --b-chip: var(--v3-chip, rgba(0,0,0,.05));
  --b-accent: var(--v3-accent, #6777ef);
  color: var(--b-text);
}
.v4b-classic{ text-align:left; padding:18px !important; }
.v4b-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.v4b-ic{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-size:16px}
.v4b-title{font-size:17px;font-weight:800;margin:0;color:var(--b-text);letter-spacing:-.01em;text-transform:none}
.v4b-note{font-size:13px;color:var(--b-muted);margin:10px 0 0}
.v4b-muted{color:var(--b-muted);font-size:13.5px;padding:10px 0}

/* hours */
.v4b-pill{margin-left:auto;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;white-space:nowrap}
.v4b-pill.open{background:rgba(34,197,94,.14);color:#15803d}
.v4b-pill.closed{background:rgba(239,68,68,.12);color:#b91c1c}
.v4b-hours{list-style:none;margin:0;padding:0}
.v4b-hours li{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px dashed var(--b-line);font-size:14px}
.v4b-hours li:last-child{border-bottom:0}
.v4b-hours li.today{font-weight:800}
.v4b-hours li.today span:first-child::after{content:" · today";font-weight:600;color:var(--b-accent);font-size:12px}
.v4b-hours em{color:var(--b-muted);font-style:normal}

/* UPI */
.v4b-upi{display:flex;gap:16px;align-items:center}
.v4b-upi-qr{flex:0 0 132px;width:132px;height:132px;background:#fff;border-radius:14px;padding:8px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.v4b-upi-qr svg{width:100%;height:100%;display:block}
.v4b-upi-info{min-width:0}
.v4b-upi-info strong{display:block;font-size:16px}
.v4b-copy{border:0;background:var(--b-chip);color:var(--b-text);border-radius:8px;padding:5px 9px;margin-top:6px;font-size:13px;font-family:inherit;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v4b-amt{font-weight:800;color:var(--b-accent);margin-top:8px}
.v4b-apps{font-size:11.5px;color:var(--b-muted);margin-top:6px}
.v4b-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:12px;padding:13px 16px;margin-top:14px;font-weight:800;font-size:15px;color:#fff !important;background:var(--b-accent);text-decoration:none !important;cursor:pointer;font-family:inherit}
.v4b-btn:hover{filter:brightness(1.06)}
.v4b-btn-upi{background:linear-gradient(135deg,#5F259F,#8B3FD9)}

/* review */
.v4b-review{text-align:center;padding:4px 0}
.v4b-stars{color:#FBBC05;font-size:22px;letter-spacing:4px}
.v4b-review p{margin:8px 0 14px;font-size:14.5px;color:var(--b-text)}
.v4b-gbtn{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#3c4043 !important;border:1px solid #dadce0;border-radius:999px;padding:11px 20px;font-weight:700;font-size:15px;text-decoration:none !important;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.v4b-gbtn:hover{box-shadow:0 3px 10px rgba(0,0,0,.12)}

/* booking */
.v4b-dates{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.v4b-dates::-webkit-scrollbar{height:4px}
.v4b-date{flex:0 0 62px;scroll-snap-align:start;border:1px solid var(--b-line);background:transparent;color:var(--b-text);border-radius:12px;padding:8px 4px;text-align:center;cursor:pointer;font-family:inherit;line-height:1.15}
.v4b-date small{display:block;font-size:11px;color:var(--b-muted);text-transform:uppercase;letter-spacing:.05em}
.v4b-date b{display:block;font-size:19px}
.v4b-date.sel{background:var(--b-accent);border-color:var(--b-accent);color:#fff}
.v4b-date.sel small{color:rgba(255,255,255,.85)}
.v4b-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px;margin-top:6px}
.v4b-slots .v4b-muted{grid-column:1/-1}
.v4b-slot{border:1px solid var(--b-line);background:transparent;color:var(--b-text);border-radius:10px;padding:9px 4px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit}
.v4b-slot:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.v4b-slot.sel{background:var(--b-accent);border-color:var(--b-accent);color:#fff}
.v4b-form{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.v4b-form input,.v4b-form textarea{width:100%;border:1px solid var(--b-line);background:transparent;color:var(--b-text);border-radius:11px;padding:11px 13px;font-size:15px;font-family:inherit;outline:none}
.v4b-form input:focus,.v4b-form textarea:focus{border-color:var(--b-accent)}
.v4b-chosen{font-weight:700;font-size:14px;background:var(--b-chip);border-radius:10px;padding:9px 12px}
.v4b-msg{font-size:13.5px}
.v4b-msg.err{color:#dc2626}
.v4b-done{text-align:center;padding:10px 0}
.v4b-done .ok{width:56px;height:56px;border-radius:50%;background:rgba(34,197,94,.15);color:#16a34a;display:inline-flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:8px}
.v4b-done h3{font-size:18px;margin:4px 0;color:var(--b-text)}
.v4b-done p{color:var(--b-muted);font-size:14px;margin:0 0 10px}
.v4b-done .v4b-btn{margin-top:8px}
.v4b-btn-light{background:var(--b-chip) !important;color:var(--b-text) !important}
.v4b-btn-wa{background:#25D366 !important}

/* status pill shown under the name in v3+ themes */
.v4-status{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:999px}
.v4-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.v4-status.open{background:rgba(34,197,94,.14);color:#15803d}
.v4-status.closed{background:rgba(239,68,68,.12);color:#b91c1c}
.v3-midnight .v4-status.open,.v3-midnight .v4b-pill.open{color:#4ade80}
.v3-midnight .v4-status.closed,.v3-midnight .v4b-pill.closed{color:#f87171}

/* brand-coloured icons (icon style = brand) */
.v4-brand .v3-list .ic,.v4-brand .v3-quick a span,.v4-brand .v3-socials a,.v4-brand .v3-details i.v4-bi{color:#fff !important;border-color:transparent !important}
.v4-brand .v3-quick a span{box-shadow:0 6px 16px -6px rgba(0,0,0,.35)}
.v4-brand .v3-details i.v4-bi{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:15px}
.v4-brand.v3-minimal .v3-list .ic{width:36px;flex:0 0 36px;height:36px;border-radius:10px;justify-content:center}
