/* Reserve a set: the form that opens inside the ticket stub. Shared by the dive and the catalogue. */
.stub .btn[hidden],.rsv[hidden],.held[hidden]{display:none!important}
.stub.is-open .five,.stub.is-open small,.stub.is-done .five,.stub.is-done small{display:none}
.stub.is-open b,.stub.is-open .p,.stub.is-done b,.stub.is-done .p{font-size:34px;line-height:1;letter-spacing:-.03em}
.rsv{display:grid;gap:10px;width:100%;margin:0}
.rsv fieldset{border:0;padding:0;margin:0;min-width:0;display:flex;flex-wrap:wrap;gap:6px}
.rsv legend,.rsv .rsv-em span{display:block;padding:0;margin:0 0 6px;font:500 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.rsv .rsv-fin label{position:relative;display:flex;align-items:center;gap:6px;padding:7px 9px 7px 7px;border:1.5px solid var(--line);font:500 11px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.rsv .rsv-fin input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.rsv .rsv-fin i{width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 0 1.5px var(--ink);flex:none}
.rsv .rsv-fin label:hover{border-color:var(--ink)}
.rsv .rsv-fin label.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.rsv .rsv-fin label.is-on i{box-shadow:0 0 0 1.5px #fff}
.rsv .rsv-fin label:focus-within{outline:2px solid var(--pink);outline-offset:2px}
.rsv .rsv-em{display:block}
.rsv input[type=email]{display:block;width:100%;font:400 16px/1.2 var(--sans);padding:12px;border:1.5px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);-webkit-appearance:none;appearance:none}
.rsv input[type=email]::placeholder{color:#9a9e9a}
.rsv input[type=email]:focus{outline:2px solid var(--pink);outline-offset:1px}
.rsv .rsv-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.rsv .btn{width:100%;text-align:center}
.rsv .btn[disabled]{opacity:.6;cursor:progress}
.rsv .rsv-note{margin:0;font:400 10.5px/1.45 var(--mono);color:var(--mute);max-width:none}
.rsv .rsv-note.bad{color:#c1003c}
.held{display:grid;gap:10px;justify-items:start;width:100%;outline:0}
.held strong{display:inline-block;font:900 30px/1 var(--sans);letter-spacing:.03em;text-transform:uppercase;color:var(--pink);border:3px solid var(--pink);padding:7px 11px 5px;transform:rotate(-4deg);animation:stamp .5s cubic-bezier(.2,1.4,.4,1) both}
.held p{margin:0;font-size:14px;line-height:1.45;max-width:none}
.held .fin-name{font-weight:700}
.held .tl{background:none;border:0;padding:0;color:inherit}
@keyframes stamp{from{opacity:0;transform:rotate(-14deg) scale(1.7)}to{opacity:1;transform:rotate(-4deg) scale(1)}}
@media (prefers-reduced-motion:reduce){.held strong{animation:none}}
