/* Book a table page. Same header and colours as the customer menu. */
.rs-title{font:400 22px/1.2 "Marcellus",Georgia,serif;color:#fff;margin:18px 0 0;letter-spacing:.04em}
.cv-head{padding-bottom:26px}
.rs-main{background:#5c1327;padding:22px 12px 48px;min-height:60vh}
.rs-card{max-width:620px;margin:0 auto;background:#fff;border-radius:20px;padding:20px 18px 22px;color:#2a1a1f;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.rs-sec{padding:6px 0 16px;border-bottom:1px solid #f0e6e2;margin-bottom:14px}
.rs-sec h2{font:800 11px/1 "Manrope",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#b38c4d;margin:6px 0 12px}
.rs-two{display:grid;grid-template-columns:auto 1fr;gap:22px}
.rs-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none;scroll-snap-type:x mandatory}
.rs-days::-webkit-scrollbar{display:none}
.rs-day{flex:none;scroll-snap-align:start;width:64px;border:1.5px solid #eadfdb;background:#fff;border-radius:14px;padding:8px 4px;text-align:center;cursor:pointer;font:inherit;color:#2a1a1f}
.rs-day b{display:block;font:400 22px/1.1 "Marcellus",Georgia,serif}
.rs-day small{display:block;font-size:11px;font-weight:700;color:#8a7478;text-transform:uppercase;letter-spacing:.06em}
.rs-day.on{background:#480c1d;border-color:#480c1d;color:#fff}
.rs-day.on small{color:#e8cf9f}
.rs-more{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#7d6a6f;margin-top:8px}
.rs-more input{border:1px solid #eadfdb;border-radius:10px;padding:6px 8px;font:inherit;color:#2a1a1f}
.rs-step{display:inline-flex;align-items:center;border:1.5px solid #eadfdb;border-radius:999px;overflow:hidden}
.rs-step button{width:42px;height:42px;border:0;background:#faf6f4;font:700 20px/1 "Manrope",sans-serif;color:#480c1d;cursor:pointer}
.rs-step button:disabled{opacity:.35;cursor:default}
.rs-step output{min-width:44px;text-align:center;font:400 22px/1 "Marcellus",Georgia,serif}
.rs-pills{display:flex;gap:8px;flex-wrap:wrap}
.rs-pill{border:1.5px solid #eadfdb;background:#fff;border-radius:999px;padding:10px 16px;font:700 13px/1 "Manrope",sans-serif;cursor:pointer;color:#2a1a1f}
.rs-pill.on{background:#b38c4d;border-color:#b38c4d;color:#2b1a08}
.rs-group{font-size:11.5px;font-weight:800;color:#8a7478;margin:4px 0 8px;letter-spacing:.06em}
.rs-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin-bottom:12px}
.rs-slot{border:1.5px solid #eadfdb;background:#fff;border-radius:12px;padding:10px 4px;font:700 13.5px/1 "Manrope",sans-serif;cursor:pointer;color:#2a1a1f;font-variant-numeric:tabular-nums}
.rs-slot.on{background:#480c1d;border-color:#480c1d;color:#fff}
.rs-slot:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.rs-hint{color:#8a7478;font-size:13px;margin:0}
.rs-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rs-fields label,.rs-note{display:grid;gap:6px;font-size:12px;font-weight:800;color:#7d6a6f;letter-spacing:.03em}
.rs-note{margin-top:12px}
.rs-card input:not([type=date]),.rs-card textarea{width:100%;box-sizing:border-box;border:1.5px solid #eadfdb;border-radius:12px;padding:11px 12px;font:500 15px/1.4 "Manrope",sans-serif;color:#2a1a1f;background:#fff}
.rs-card input:focus,.rs-card textarea:focus,.rs-card button:focus-visible{outline:2px solid #b38c4d;outline-offset:1px}
.rs-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.rs-err{background:#fbe9e7;color:#b3261e;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:600;margin-bottom:12px}
.rs-go{width:100%;border:0;border-radius:14px;background:#480c1d;color:#fff;padding:15px;font:800 15px/1 "Manrope",sans-serif;letter-spacing:.04em;cursor:pointer;transition:background-color .2s,transform .15s}
.rs-go:hover{background:#5c1528}
.rs-go:active{transform:scale(.98)}
.rs-go:disabled{opacity:.6;cursor:wait}
.rs-small{font-size:12px;color:#8a7478;text-align:center;margin:12px 0 0}
.rs-small a{color:#480c1d;font-weight:700}
.rs-done{text-align:center;padding:30px 20px}
.rs-done h2{font:400 26px/1.2 "Marcellus",Georgia,serif;margin:12px 0 6px;color:#480c1d}
.rs-done p{color:#5d4d51;margin:0 0 6px}
.rs-sum{display:grid;gap:6px;background:#faf6f4;border:1px solid #f0e6e2;border-radius:14px;padding:14px;margin:16px 0;text-align:left;font-size:14px}
.rs-sum b{font-weight:800}
.rs-ref{font:800 13px/1 "Manrope",sans-serif;letter-spacing:.14em;color:#b38c4d}
.rs-actions{display:grid;gap:10px;margin-top:6px}
.rs-wa{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:#25d366;color:#fff;border-radius:14px;padding:14px;font:800 14px/1 "Manrope",sans-serif;text-decoration:none}
.rs-back{color:#480c1d;font-weight:800;font-size:13.5px;text-decoration:none;padding:8px}
.rs-tick{width:72px;height:72px;margin:0 auto}
.rs-tick circle{fill:none;stroke:#b38c4d;stroke-width:3}
.rs-tick path{fill:none;stroke:#480c1d;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:520px){.rs-fields{grid-template-columns:1fr}.rs-two{grid-template-columns:1fr;gap:4px}}

/* motion */
@media (prefers-reduced-motion:no-preference){
  .rs-title{animation:cvFade .6s .1s ease both}
  .rs-card{animation:cvBox .6s cubic-bezier(.2,.8,.2,1) both}
  .rs-sec{animation:cvUp .5s cubic-bezier(.2,.7,.2,1) both}
  .rs-sec:nth-child(2){animation-delay:.08s}.rs-sec:nth-child(3){animation-delay:.16s}.rs-sec:nth-child(4){animation-delay:.24s}
  .rs-day,.rs-pill,.rs-slot{transition:background-color .2s,border-color .2s,color .2s,transform .15s}
  .rs-day:hover,.rs-pill:hover,.rs-slot:not(:disabled):hover{border-color:#b38c4d;transform:translateY(-2px)}
  .rs-day.pop,.rs-pill.pop,.rs-slot.pop{animation:cvChip .45s cubic-bezier(.2,.7,.2,1)}
  .rs-slot{animation:cvIn .4s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*18ms)}
  .rs-err{animation:rsShake .35s}
  .rs-tick circle{stroke-dasharray:190;stroke-dashoffset:190;animation:rsDraw .7s .1s ease forwards}
  .rs-tick path{stroke-dasharray:50;stroke-dashoffset:50;animation:rsDraw .45s .7s ease forwards}
  .rs-done>*{animation:cvUp .5s cubic-bezier(.2,.7,.2,1) both}
  .rs-done>*:nth-child(2){animation-delay:.5s}.rs-done>*:nth-child(3){animation-delay:.6s}.rs-done>*:nth-child(4){animation-delay:.7s}.rs-done>*:nth-child(5){animation-delay:.8s}
}
@keyframes rsDraw{to{stroke-dashoffset:0}}
@keyframes rsShake{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
