/* share-chat-concept S8: Book a time and the booked time (book.php, booking.php) in the visit pages' language (nvv-visit.css):
   the same cards, rows, fields and green button; chips for what, the day and the time (44 px targets), light and dark from the
   phone, right to left by the page's dir. */
.nvb-m{flex:1;padding:4px 16px 0;display:flex;flex-direction:column;gap:12px}
.nvb-h{font:500 30px/1.12 var(--f-brand);letter-spacing:-.4px;margin:8px 4px 0}
.nvb-lead{color:var(--soft);font-size:16px;line-height:1.4;margin:0 4px 4px}
.nvb-place .tx b{font-size:16.5px}
.nvb-step{display:flex;flex-direction:column;gap:8px}
.nvb-sh{font:600 13.5px/1.3 var(--f-body);color:var(--soft);margin:10px 4px 0;letter-spacing:.2px}
.nvb-chips{display:flex;flex-wrap:wrap;gap:8px}
.nvb-chip{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:22px;background:var(--card);box-shadow:inset 0 0 0 1px var(--hair);color:var(--ink0);text-decoration:none;font-weight:600;font-size:15.5px;white-space:nowrap;transition:transform .12s}
.nvb-chip:active{transform:scale(.97)}
.nvb-chip[aria-current=true]{background:var(--g1);color:var(--onG);box-shadow:none}
.nvb-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.nvb-time{position:relative;display:block}
.nvb-time input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}
.nvb-time span{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1px var(--hair);font-weight:650;font-size:16px;font-variant-numeric:tabular-nums;direction:ltr;transition:transform .12s}
.nvb-time input:checked+span{background:var(--g1);color:var(--onG);box-shadow:none}
.nvb-time input:focus-visible+span{outline:2.5px solid var(--g2);outline-offset:2px}
.nvb-time:active span{transform:scale(.97)}
.nvb-form .nvv-fl{margin-top:6px}
.nvb-note{color:var(--soft);font-size:14px;line-height:1.4;margin:2px 4px}
.nvb-go{margin-top:8px}
.nvb-go svg,.nvb-acts .nvv-btn svg{width:20px;height:20px}
/* the booked time */
.nvb-tk{display:flex;flex-direction:column;gap:8px;text-align:center;align-items:center;padding:22px 18px}
.nvb-st{display:inline-flex;align-items:center;gap:6px;font-weight:650;font-size:15px;color:var(--g3)}
.nvb-st svg{width:18px;height:18px}
.nvb-tk.is-done .nvb-st{color:var(--soft)}
.nvb-when{font:400 30px/1.15 var(--f-brand);letter-spacing:-.4px;color:var(--ink0)}
.nvb-tk.is-done .nvb-when{color:var(--soft);text-decoration:line-through;text-decoration-thickness:1.5px}
.nvb-at{display:inline-flex;align-items:center;gap:6px;font-size:16px;color:var(--ink0)}
.nvb-at svg{width:18px;height:18px;color:var(--g3);flex:none}
.nvb-who{color:var(--soft);font-size:14px}
.nvb-acts{display:flex;flex-direction:column;gap:10px}
.nvb-row{color:var(--ink0);text-decoration:none}
.nvb-chev{color:var(--soft);display:flex}.nvb-chev svg{width:18px;height:18px}[dir=rtl] .nvb-chev svg{transform:scaleX(-1)}
.nvb-cancel{color:var(--bad)}
:root{--palette-nvb-b91c1c:#b91c1c}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .nvb-cancel{color:var(--palette-nvb-b91c1c)}}:root[data-theme="light"] .nvb-cancel{color:var(--palette-nvb-b91c1c)}
/* I am here before the window opens: a quiet button that still reads clearly (no faded text) */
.nvb-acts .nvv-btn[disabled]{opacity:1;background:var(--card2);color:var(--soft);box-shadow:inset 0 0 0 1px var(--hair)}
.nvb-ask{display:flex;flex-direction:column;gap:10px;text-align:center}
.nvb-ask b{font:500 20px/1.25 var(--f-brand)}
.nvb-danger{background:var(--bad);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nvb-danger{color:var(--palette-nvv-0b1220)}}:root[data-theme="dark"] .nvb-danger{color:var(--palette-nvv-0b1220)}
/* the member's booked time on the visit page and the Book a time row of Join Ahead */
.nvb-mine,.nva-book{color:var(--ink0);text-decoration:none}
.nva-book{margin-top:12px}
.nvb-mine .tx small bdi{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.nvb-chip,.nvb-time span{transition:none}}
