/* Brood & Spelen, feature reserve (register #2579): reservations. Every selector starts with .f-reserve (THE BUILD PLAN).
   The look is lifted from the board: docs/scratch/row-2561/reservatie.py (R1 to R5, R7) and row-2569 (HM6, the door).
   A visible change here is a remark for the design owner first. */
.f-reserve{background:var(--table);width:100%}   /* the booking is a card that lies on the table, as the stamp card does */
.f-reserve[data-reserve-paper]{background:none}
.f-reserve .ttl{font-size:34px;margin-top:18px}
.f-reserve .end{margin-top:auto;padding-top:24px;padding-bottom:18px;display:flex;flex-direction:column;gap:12px}
.f-reserve a.btn{text-decoration:none}
.f-reserve .lab{font-family:var(--sg);font-weight:700;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--soft);margin-top:24px;margin-bottom:10px}
.f-reserve .fine.err{margin-top:14px}

/* people are bowls; the one who books carries an initial */
.f-reserve .pp{display:grid;gap:6px}
.f-reserve .pp .b{aspect-ratio:1;position:relative;border-radius:50%;padding:0}
.f-reserve .pp .b svg{width:100%;height:100%;display:block;filter:drop-shadow(0 1.5px 1.5px rgba(20,22,28,.16))}
.f-reserve .pp .b .ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--sg);font-weight:700;font-size:13px;color:var(--ink)}
.f-reserve .pp .b.empty{border:1.5px dashed rgba(20,22,28,.32)}
.f-reserve .pp .b.more{border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--sg);font-weight:700;font-size:18px}
.f-reserve .pp .b.more.on{background:var(--accent);border-color:var(--accent);color:#fff}
.f-reserve .bigt{font-size:30px;margin-top:54px}

/* a strip of days, a strip of hours: they run off the right edge and scroll */
.f-reserve .strip{display:flex;gap:8px;overflow-x:auto;margin:0 -20px;padding:0 20px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.f-reserve .strip::-webkit-scrollbar{display:none}
.f-reserve .dchip{flex:none;width:58px;height:64px;border:1.5px solid rgba(20,22,28,.22);border-radius:3px;background:var(--field);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:var(--sg);font-weight:700}
.f-reserve .dchip small{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.f-reserve .dchip b{font-size:21px;line-height:1}
.f-reserve .dchip.on{background:var(--ink);color:var(--stock);border-color:var(--ink)}
.f-reserve .dchip.on small{color:rgba(247,245,241,.65)}
.f-reserve .hchip{flex:none;width:80px;height:44px;border:1.5px solid rgba(20,22,28,.22);border-radius:3px;background:var(--field);font-family:var(--sg);font-weight:700;font-size:15px}
.f-reserve .hchip.on{background:var(--ink);color:var(--stock);border-color:var(--ink)}

/* the booking as a card: the hour is the biggest thing */
.f-reserve .state{margin-top:34px}
.f-reserve .back + .state{margin-top:20px}
.f-reserve .rcard{padding:20px 20px 18px}
.f-reserve .rcard .top{display:flex;justify-content:space-between;align-items:center}
.f-reserve .rcard .top .micro.f{font-size:8.5px}
.f-reserve .rcard .tm{font-family:var(--sg);font-weight:700;font-size:64px;line-height:1;letter-spacing:-.02em;margin-top:12px}
.f-reserve .rcard .dy{font-family:var(--sg);font-weight:700;font-size:21px;text-transform:uppercase;margin-top:8px}
.f-reserve .rcard .pp{grid-template-columns:repeat(8,34px);gap:8px;margin-top:16px}
.f-reserve .rcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid var(--hair)}
.f-reserve .rcard .foot .micro{font-size:9.5px}
.f-reserve .rcard .foot img{height:15px}
.f-reserve .rcard.gone{opacity:.45}
.f-reserve .rcard.gone .tm{text-decoration:line-through;text-decoration-thickness:4px}

/* on the home: paper */
.f-reserve .held{width:100%;text-align:left;overflow:hidden}
.f-reserve .held .pp{grid-template-columns:repeat(4,20px);gap:4px;margin-left:auto;flex:none}
.f-reserve .held .pp .b .ini{font-size:9px}

/* the door on the home: three bowls (board HM6) */
.f-reserve.bw3{display:flex;gap:4px;background:none;width:auto}
.f-reserve.bw3 svg{width:22px;height:22px;display:block;filter:drop-shadow(0 1px 1px rgba(20,22,28,.14))}

/* the owner's side (R7) */
.f-reserve .ottl{font-size:30px;margin-top:20px}
.f-reserve .tog{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0 4px;text-align:left}
.f-reserve .tog .nm{font-weight:700;font-size:15.5px}
.f-reserve .tog .sw{width:46px;height:26px;border-radius:13px;background:rgba(20,22,28,.2);position:relative;flex:none;transition:background .15s}
.f-reserve .tog .sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .15s}
.f-reserve .tog .sw.on{background:var(--accent)}
.f-reserve .tog .sw.on::after{left:23px}
.f-reserve .set{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:10px;margin-top:16px}
.f-reserve .set .field{padding:10px 12px 11px}
.f-reserve .set input{font-family:var(--sg);font-weight:700;min-width:0}
.f-reserve .set .val{display:flex;justify-content:space-between;align-items:center;margin-top:3px;font-family:var(--sg);font-weight:700;font-size:16px}
.f-reserve .set .val button{color:var(--accent);font-size:20px;line-height:1;padding:0 6px}
