/* Rezervační okno. Staví na tokenech a modalu .gal ze stránky. */
.rz .gal-panel{width:min(640px,100%)}
.rz-step{border-top:1px solid var(--line-soft);padding:20px 0 4px}
.rz-step:first-of-type{border-top:0;padding-top:0}
.rz-step h4{font-size:0.95rem;font-weight:600;margin:0 0 12px;letter-spacing:-0.01em}
.rz-step h4 span{color:var(--muted);font-weight:400}
.rz-opts{display:grid;gap:8px}
.rz-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);padding:12px 14px;cursor:pointer;
  transition:border-color 150ms ease, box-shadow 150ms ease, transform 120ms var(--ease-out)}
.rz-opt:active{transform:scale(0.985)}
.rz-opt[aria-pressed="true"],.rz-opt:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.rz-opt:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px}
.rz-opt b{font-weight:600}
.rz-opt small{display:block;color:var(--muted);font-size:0.83rem;margin-top:2px}
.rz-opt .rz-p{margin-left:auto;white-space:nowrap;font-weight:600}
.rz-opt input{accent-color:var(--accent);width:18px;height:18px;flex:none}
.rz-hours{display:flex;align-items:center;gap:10px;margin-top:10px}
.rz-hours button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--bg);font:inherit;font-size:1.1rem;cursor:pointer;color:var(--ink)}
.rz-hours output{min-width:60px;text-align:center;font-weight:600}
.rz-times{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;min-height:38px}
.rz-time{font:inherit;font-size:0.92rem;padding:8px 13px;border-radius:980px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;transition:border-color 150ms ease, background 150ms ease}
.rz-time[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.rz-time:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px}
.rz-muted{color:var(--muted);font-size:0.9rem}
.rz-sum{position:sticky;bottom:calc(-1 * clamp(20px,3vw,32px));margin:20px calc(-1 * clamp(20px,3vw,32px)) calc(-1 * clamp(20px,3vw,32px));
  padding:16px clamp(20px,3vw,32px) clamp(20px,3vw,32px);background:rgba(255,255,255,0.94);border-top:1px solid var(--line-soft);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.rz-lines{font-size:0.88rem;color:var(--ink-2);margin-bottom:12px;display:grid;gap:3px}
.rz-lines div{display:flex;justify-content:space-between;gap:12px}
.rz-total{display:flex;justify-content:space-between;font-weight:600;font-size:1.05rem;margin-bottom:12px}
.rz-err{color:#d70015;font-size:0.9rem;margin:0 0 12px}
.rz-check{display:flex;gap:10px;align-items:flex-start;font-size:0.9rem;color:var(--ink-2);margin-top:4px}
.rz-check input{accent-color:var(--accent);width:18px;height:18px;margin-top:2px;flex:none}
.rz-check a{color:var(--accent)}
.rz-done{text-align:center;padding:18px 4px 6px}
.rz-done h3{font-size:1.5rem;margin:12px 0 8px}
.rz-done p{color:var(--ink-2);max-width:44ch;margin:0 auto 12px}
.rz-ok{width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;margin:0 auto}
.rz-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (min-width:560px){.rz .field-row{grid-template-columns:1fr 1fr}}
