.book{max-width:1440px;margin:0 auto;padding:24px 20px 48px}.book>h1,.book__lead,.book-nojs,.book-done{max-width:760px}.book-form{max-width:900px}.book h1{text-wrap:balance;font-size:2rem}.book__lead{margin:0 0 24px;font-size:1.1875rem}.book-form{display:none}.js .book-form{display:block}.js .book-nojs{display:none}.book-nojs{border:2px solid var(--border);background:#fff;border-radius:12px;padding:16px 20px}.book-step{border:0;min-width:0;margin:0 0 28px;padding:0}.book-step>legend,.book-step__title{float:none;width:100%;color:var(--navy);font-family:var(--font-heading);margin:0 0 10px;padding:0;font-size:1.4375rem;font-weight:600;line-height:1.25}.book-step__title label{display:block}.book-step select{border:2px solid var(--text-muted);width:100%;max-width:520px;min-height:52px;color:var(--text);font:400 1.125rem var(--font-body);cursor:pointer;background:#fff;border-radius:10px;padding:0 12px}.book-step select[aria-invalid=true]{border-color:#b3261e}.book-step>.field-hint:empty{display:none}.book-chosen{color:var(--text-strong);flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 6px;font-size:1.1875rem;display:flex}.book-chosen__change{border:2px solid var(--navy);background:var(--cream);min-height:48px;color:var(--navy);font:700 1.0625rem var(--font-body);cursor:pointer;border-radius:10px;padding:0 20px}#step-type [hidden]{display:none}.book-status{margin:0 0 12px}.book-when{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.cal{flex:0 440px;width:100%;min-width:0}.cal__nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.cal__title{font-family:var(--font-heading);text-align:center;flex:1;margin:0;font-size:1.3125rem;font-weight:600}.cal__btn{border:2px solid var(--navy);background:var(--cream);min-width:48px;min-height:48px;color:var(--navy);font:700 1.5rem var(--font-body);cursor:pointer;border-radius:10px;line-height:1}.cal__btn[disabled]{opacity:.35;cursor:not-allowed}.cal__grid{table-layout:fixed;border-collapse:separate;border-spacing:4px;width:100%}.cal__grid th{color:var(--text-muted);padding:4px 0;font-size:1rem;font-weight:700}.cal__grid abbr{text-decoration:none}.cal__grid td{text-align:center;padding:0}.cal__day{border:2px solid var(--navy);background:var(--cream);width:100%;min-height:48px;color:var(--navy);font:700 1.125rem var(--font-body);cursor:pointer;border-radius:10px;padding:0}.cal__day[aria-pressed=true]{background:var(--navy);color:#fff}.cal__day:focus-visible{outline:3px solid var(--slate);outline-offset:2px}.cal__off{color:#7a8494;min-height:48px;line-height:48px;display:block}.cal__legend{margin-top:6px}.book-times{border:0;flex:220px;min-width:0;margin:0;padding:0}.book-times>legend{color:var(--navy);margin:0 0 8px;padding:0;font-weight:700}.book-times__list{flex-wrap:wrap;gap:10px;display:flex}.pick{position:relative}.pick input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.pick span{border:2px solid var(--navy);background:var(--cream);min-width:64px;min-height:48px;color:var(--navy);border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-weight:700;display:flex}.pick input:checked+span{background:var(--navy);color:#fff}.pick input:focus-visible+span{outline:3px solid var(--slate);outline-offset:3px}.book-reminder{color:var(--text-muted);margin:0 0 12px;font-size:1rem}.book-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.book-errors{color:var(--text);background:#fff;border:2px solid #b3261e;border-radius:12px;margin:0 0 24px;padding:16px 20px}.book-errors[hidden]{display:none}.book-errors strong{color:#b3261e;margin-bottom:6px;display:block}.book-errors ul{margin:0;padding-left:20px}.book-errors a{color:var(--text);font-weight:700}.book-summary{color:var(--navy);margin:0 0 24px;font-size:1.1875rem;font-weight:700}.book-summary:empty{display:none}.book-submit{cursor:pointer;width:100%}.book-submit[disabled]{opacity:.7;cursor:wait}.book-done{border:2px solid var(--rust);background:#fff;border-radius:12px;padding:24px}.book-done[hidden]{display:none}.book-done__what{color:var(--navy);font-size:1.25rem;font-weight:700}@media (width>=768px){.book{padding:40px 40px 64px}.book h1{font-size:2.5rem}.book-submit{width:auto;min-width:320px}}@media (width>=1280px){.book{padding-inline:80px}}
