/* Rize Venue Kit, 7 Oct 2026 (styles unchanged from 20261006). Every rule is scoped to .rzk- classes (plus three page hooks:
   #eventLine, .card.trunc via the page's own CSS, and the blocked request buttons).
   Colours, type and buttons come from each page's own tokens (--ink, --panel, --muted,
   --line, --serif, --t-btn, --ls-btn) with neutral fallbacks, so the kit takes on the
   look of whichever venue page it sits on. No italics; logical properties for RTL. */

.rzk-closed[hidden], .rzk-strip[hidden], .rzk-confirm[hidden], .rzk-seats[hidden] { display: none !important; }

/* ---------- #42 seat count on each table card ---------- */
.rzk-seats { font-size: 12px; line-height: 1.4; letter-spacing: .01em; opacity: .72; margin-top: 2px; font-variant-numeric: tabular-nums; }
.card.rzk-under { opacity: .62; }
#list .rzk-out { display: none !important; }
.rzk-nofit { grid-column: 1 / -1; font-size: 13px; line-height: 1.45; opacity: .75; padding: 4px 2px 10px; }
.card.rzk-under.sel, .card.rzk-under:hover, .card.rzk-under:focus-within { opacity: 1; }

/* ---------- #30 closed-night notice + blocked request buttons ---------- */
.rzk-closed {
  box-sizing: border-box; max-width: 560px; margin: 12px auto 0; padding: 12px 14px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 14px;
  border: 1px solid var(--line, rgba(17, 17, 17, .14)); border-radius: 10px;
  color: inherit; text-align: center; font-size: 13.5px; line-height: 1.5;
}
.rzk-closed-msg { margin: 0; flex: 1 1 220px; }
.rzk-closed-fix, .rzk-day, .rzk-btn, .rzk-done, .rzk-x {
  -webkit-tap-highlight-color: transparent; font: inherit; cursor: pointer; box-sizing: border-box;
}
.rzk-closed-fix {
  min-height: 44px; padding: 10px 18px; border-radius: 999px;
  border: 1px solid currentColor; background: transparent; color: inherit; font-weight: 600; font-size: 13px;
}
.rzk-closed-fix:hover { background: var(--ink, #111); color: var(--panel, #fff); border-color: var(--ink, #111); }
html.rzk-closed-day #eventLine { display: none !important; }
.rzk-blocked[aria-disabled="true"] { opacity: .38 !important; cursor: not-allowed !important; }

/* closed nights inside the venue calendar dialog (rize-calendar / decadence-calendar) */
.dec-calendar .dec-day.rzk-day-closed { opacity: .28; text-decoration: line-through; cursor: not-allowed; }

/* optional seven-night strip (pages with closed nights and a native date input) */
.rzk-strip { display: flex; gap: 6px; justify-content: center; flex-wrap: nowrap; overflow-x: auto; max-width: 100%; margin: 12px auto 0; padding: 2px; scrollbar-width: none; }
.rzk-strip::-webkit-scrollbar { display: none; }
.rzk-day {
  flex: 0 0 auto; min-width: 44px; min-height: 52px; padding: 6px 8px; border-radius: 10px;
  border: 1px solid var(--line, rgba(17, 17, 17, .14)); background: transparent; color: inherit;
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; line-height: 1.1;
}
.rzk-day-w { font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; opacity: .7; }
.rzk-day-n { font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.rzk-day[aria-pressed="true"] { background: var(--ink, #111); color: var(--panel, #fff); border-color: var(--ink, #111); }
.rzk-day.rzk-day-sig { border-color: currentColor; }
.rzk-day.rzk-day-closed, .rzk-day:disabled { opacity: .3; text-decoration: line-through; cursor: not-allowed; }

/* ---------- #83 Google Maps link (footer + "Where exactly are you?") ---------- */
.rzk-maps-foot { list-style: none; }
.rzk-maps {
  display: inline-flex; align-items: center; gap: 7px; min-height: 44px;
  color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.rzk-maps svg { width: 15px; height: 15px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
.rzk-maps-faq { margin: 4px 0 0; }

/* ---------- #74 confirmation sheet ---------- */
html.rzk-confirm-open { overflow: hidden; }
.rzk-confirm {
  position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center;
  padding: 16px; box-sizing: border-box; background: rgba(10, 10, 10, .62);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.rzk-sheet {
  position: relative; box-sizing: border-box; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
  overflow: auto; overscroll-behavior: contain; padding: 30px 22px 22px; border-radius: 16px;
  background: var(--panel, #fff); color: var(--ink, #111); border: 1px solid var(--line, rgba(17, 17, 17, .14));
  box-shadow: 0 24px 60px rgba(0, 0, 0, .28); text-align: start; font-size: 14px; line-height: 1.55;
}
.rzk-x {
  position: absolute; top: 6px; inset-inline-end: 6px; width: 44px; height: 44px; border: 0; border-radius: 50%;
  background: transparent; color: inherit; display: inline-flex; align-items: center; justify-content: center;
}
.rzk-x svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.6; fill: none; stroke-linecap: round; }
.rzk-kicker { margin: 0 0 6px; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--muted, #6b6b6b); padding-inline-end: 40px; }
.rzk-title { margin: 0; font-family: var(--serif, inherit); font-style: normal; font-weight: 700; font-size: clamp(22px, 6vw, 28px); line-height: 1.15; letter-spacing: 0; padding-inline-end: 40px; }
.rzk-lede { margin: 10px 0 0; color: var(--muted, #6b6b6b); }
.rzk-ref {
  margin: 18px 0 0; padding: 14px 16px; border: 1px solid var(--line, rgba(17, 17, 17, .14)); border-radius: 10px;
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap;
}
.rzk-ref-l { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted, #6b6b6b); }
.rzk-ref-v { font-size: 19px; font-weight: 700; letter-spacing: .06em; font-variant-numeric: tabular-nums; unicode-bidi: isolate; }
.rzk-rows { margin: 14px 0 0; padding: 0; }
.rzk-row { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--line-s, var(--line, rgba(17, 17, 17, .08))); }
.rzk-row:last-child { border-bottom: 0; }
.rzk-row dt { margin: 0; color: var(--muted, #6b6b6b); flex: none; }
.rzk-row dd { margin: 0; text-align: end; font-weight: 600; overflow-wrap: anywhere; }
.rzk-receipt, .rzk-next { margin: 12px 0 0; font-size: 13px; }
.rzk-receipt { color: var(--muted, #6b6b6b); }
.rzk-actions { margin-top: 20px; display: grid; gap: 10px; }
.rzk-cal { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rzk-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 12px 16px;
  border-radius: 2px; border: 1px solid var(--ink, #111); background: var(--ink, #111); color: var(--panel, #fff);
  font-size: var(--t-btn, 12px); letter-spacing: var(--ls-btn, .14em); text-transform: uppercase; font-weight: 500;
  text-decoration: none; text-align: center; line-height: 1.25;
}
.rzk-btn svg { width: 17px; height: 17px; flex: none; fill: currentColor; }
.rzk-btn.rzk-ghost { background: transparent; color: var(--ink, #111); min-height: 44px; }
.rzk-btn:hover { opacity: .88; }
.rzk-done { min-height: 44px; border: 0; background: transparent; color: var(--muted, #6b6b6b); text-decoration: underline; text-underline-offset: 3px; font-size: 13px; }
@media (max-width: 380px) { .rzk-cal { grid-template-columns: 1fr; } .rzk-sheet { padding: 28px 16px 18px; } }

/* ---------- focus + motion ---------- */
.rzk-closed-fix:focus-visible, .rzk-day:focus-visible, .rzk-maps:focus-visible, .rzk-btn:focus-visible,
.rzk-done:focus-visible, .rzk-x:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.rzk-btn:focus-visible { outline-color: var(--ink, #111); outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  .rzk-confirm:not([hidden]) { animation: rzk-fade .22s ease-out; }
  .rzk-confirm:not([hidden]) .rzk-sheet { animation: rzk-rise .28s cubic-bezier(.2, .7, .2, 1); }
  .rzk-closed:not([hidden]) { animation: rzk-fade .2s ease-out; }
  .rzk-closed-fix, .rzk-day, .rzk-btn { transition: background-color .18s, color .18s, opacity .18s; }
}
@keyframes rzk-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes rzk-rise { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }

/* offers slider in the "Your table" panel (Tim, 7 Oct 2026) */
.rzk-offer{margin:4px 0 12px;padding:12px 14px 10px;border:1px solid rgba(127,127,127,.35);border-radius:12px}
.rzk-offer[hidden]{display:none!important}
.rzk-offer-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.rzk-offer-h{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.rzk-offer output{font-size:14px;white-space:nowrap}
.rzk-offer output b{font-size:16px;font-weight:700}
.rzk-offer input[type=range]{display:block;width:100%;min-height:40px;margin:6px 0 0;padding:0;background:transparent;border:0;accent-color:currentColor;cursor:pointer;touch-action:pan-y}
.rzk-offer-ends{position:relative;display:flex;justify-content:space-between;font-size:11px;opacity:.7}
.rzk-offer-ends strong{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;font-weight:600}
.rzk-offer-hint{margin:8px 0 0;font-size:11.5px;line-height:1.45;opacity:.65}
@media(max-width:420px){.rzk-offer-ends{font-size:10px}.rzk-offer-ends strong{position:static;transform:none}}
/* the request form never runs off screen: it scrolls inside itself (Tim, 7 Oct 2026) */
#modal .box{max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* panels without a 360 preview (Raspoutine): keep the offer box clear of the close button */
.summary > .rzk-offer.rzk-offer-gap{margin-top:48px}
/* booking form close cross */
#modal .box .rzk-modal-x{position:sticky;top:0;float:right;z-index:6;width:40px;height:40px;margin:-6px -6px 0 8px;border-radius:50%;border:1px solid rgba(0,0,0,.18);background:rgba(255,255,255,.92);color:#111;font:400 24px/1 system-ui,sans-serif;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.15)}
#modal .box .rzk-modal-x:hover,#modal .box .rzk-modal-x:focus-visible{background:#fff}
/* offer chances (Tim, 7 Oct 2026) */
.rzk-chance{display:inline-block;margin-left:8px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;vertical-align:2px;color:#fff}
.rzk-chance-unlikely{background:#b4413a}
.rzk-chance-likely{background:#c48a1c}
.rzk-chance-vlikely{background:#2f8a4e}
.rzk-offer input[type=range]{-webkit-appearance:none;appearance:none;height:40px;background:transparent}
.rzk-offer input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,#b4413a 0%,#c48a1c 50%,#2f8a4e 100%)}
.rzk-offer input[type=range]::-moz-range-track{height:6px;border-radius:6px;background:linear-gradient(90deg,#b4413a 0%,#c48a1c 50%,#2f8a4e 100%)}
.rzk-offer input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:#fff;border:2px solid #111;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.rzk-offer input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid #111}
.rzk-offer-ends i{display:block;font-style:normal;font-weight:700;font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.rzk-offer-ends .rzk-c-u{color:#d0625a}.rzk-offer-ends .rzk-c-l{color:#d9a032}.rzk-offer-ends .rzk-offer-hi{text-align:right}.rzk-offer-ends .rzk-c-v{color:#3fa964}
.rzk-offer-ends strong{text-align:center}
.rzk-offer-ends{min-height:30px}
/* booking form: date + guests editable (Tim, 7 Oct 2026) */
.rzk-edit{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;margin:0 0 14px}
.rzk-edit-f{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.95;min-width:0}
.rzk-edit-f[hidden]{display:none!important}
.rzk-edit-f select{width:100%;min-height:48px;padding:0 12px;border-radius:10px;border:1px solid rgba(127,127,127,.45);font:inherit;font-size:16px;letter-spacing:normal;text-transform:none;background:#fff;color:#111}
/* offer box: no "Your offer" label; the line under the slider reads "Make your offer" (Tim, 7 Oct 2026) */
.rzk-offer .rzk-offer-h{display:none!important}
.rzk-offer-top{justify-content:flex-end}
.rzk-offer-hint{font-size:12.5px;opacity:.8;text-align:center;letter-spacing:.02em}
.rzk-edit-f input[type=date]{width:100%;min-height:48px;padding:0 12px;border-radius:10px;border:1px solid rgba(127,127,127,.45);font:inherit;font-size:16px;letter-spacing:normal;text-transform:none;background:#fff;color:#111;color-scheme:light;box-sizing:border-box}
.rzk-edit-note{display:block;font-style:normal;font-size:11px;letter-spacing:normal;text-transform:none;opacity:.8;margin-top:2px}
.rzk-edit-note[hidden]{display:none}
/* food menu card + pop-up (Tim, 7 Oct 2026) */
.rzk-menu-card{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:18px 20px;border:1px solid rgba(127,127,127,.35);border-radius:16px}
.rzk-menu-t{font-size:15px;font-weight:600;letter-spacing:.02em}
.rzk-menu-btn{min-height:44px;padding:0 22px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.rzk-menu-btn:hover,.rzk-menu-btn:focus-visible{background:rgba(127,127,127,.18)}
.rzk-menu-pop{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.rzk-menu-pop.on{display:flex}
.rzk-menu-box{width:min(920px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:#111;color:#f4ead8;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.rzk-menu-bar{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.rzk-menu-bar b{flex:1;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rzk-menu-dl{font-size:12px;color:#f4ead8;text-decoration:underline;white-space:nowrap}
.rzk-menu-x{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font:400 24px/1 system-ui,sans-serif;cursor:pointer}
.rzk-menu-pages{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px;display:flex;flex-direction:column;gap:12px;background:#1b1b1b}
.rzk-menu-pages img{display:block;width:100%;height:auto;border-radius:6px;background:#fff}
html.rzk-menu-open,html.rzk-menu-open body{overflow:hidden}
.rzk-edit.rzk-edit-one{grid-template-columns:1fr}
.rzk-menu-card{justify-content:center;border:0;padding:4px 0;margin:0 0 16px}
.rzk-menu-card .rzk-menu-t{display:none}
.rzk-menu-btn{min-width:180px}
/* pills: equal spacing around, text optically centred (letter-spacing adds trailing space; text-indent balances it) (Tim, 7 Oct 2026) */
.rzk-menu-card{margin:24px 0 0!important;padding:0!important}
.rzk-menu-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;min-height:44px;padding:0 30px;line-height:1;letter-spacing:.14em;text-indent:.14em}
.rzk-chance{display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:4px 10px;text-indent:.04em}
.rzk-menu-card{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.rzk-menu-card .rzk-menu-btn{flex:0 1 auto;min-width:160px}
