/* The brewery's paper booking docket. Scoped so the shop and homepage stay independent. */
.toc-booking-page{--booking-paper:#fff8e8;--booking-ink:#242c22;--booking-tile:#315b52;color:var(--booking-ink)}
.toc-booking-intro{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid}
.toc-booking-copy{padding:70px 10% 56px;align-self:center}
.toc-booking-copy .eyebrow{line-height:1.7;font-size:.72rem;max-width:30em}
.toc-booking-copy h1{font-size:clamp(4.5rem,7.5vw,7.7rem);margin:25px 0 30px;letter-spacing:-.065em;line-height:.98}
.toc-booking-lead{font-size:1.16rem;max-width:30em}
.toc-booking-small{font:.8rem/1.6 monospace;margin-top:18px;max-width:32em}
.toc-booking-photo{margin:0;background:#deab62;padding:25px 25px 0;display:flex;flex-direction:column;min-width:0;min-height:0;border-left:2px solid}
.toc-booking-photo img{width:100%;height:100%;min-height:360px;max-height:590px;object-fit:cover;border:2px solid;box-shadow:6px 6px 0 #242c22}
.toc-booking-photo figcaption{padding:22px 0;font:bold .7rem/1.6 monospace;display:flex;align-items:center;justify-content:space-between;gap:15px;letter-spacing:.06em}
.toc-booking-photo figcaption span{font-size:2.6rem;line-height:1}
.toc-booking-ribbon{display:flex;justify-content:space-evenly;align-items:center;gap:25px;background:#dd7527;padding:18px 5%;border-bottom:2px solid;font:bold .78rem/1.5 monospace;letter-spacing:.12em}
.toc-booking-ribbon b{font-size:1.7rem;line-height:1}
.toc-booking-main{padding:85px 6% 100px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:8%;background:radial-gradient(ellipse at 0 100%,#4c73634d,transparent 60%),#284d43;color:var(--booking-paper)}
.toc-booking-aside{padding-top:15px}
.toc-booking-aside .eyebrow{color:#e1b677;margin-bottom:25px}
.toc-booking-aside h2{font-size:clamp(2.8rem,4vw,4.4rem);line-height:1.08;margin-bottom:27px;letter-spacing:-.045em}
.toc-booking-aside h2 em{color:#e1b677;font-weight:normal}
.toc-booking-aside>p{max-width:32em}
.toc-booking-note{border-block:1px solid #e7d8b77a;margin:35px 0 28px;padding:24px 0;display:flex;gap:18px;max-width:33em}
.toc-booking-note>span{font-size:2.6rem;color:#e1b677;line-height:1}
.toc-booking-note strong{font:bold .87rem monospace;text-transform:uppercase;letter-spacing:.05em}
.toc-booking-note p{margin-top:10px;font-size:.96rem;line-height:1.65}
.toc-booking-call{font-size:.96rem}
.toc-booking-call a{display:inline-block;margin-top:10px;border-bottom:1px solid #e1b677;color:#e1b677;font-weight:bold;line-height:1.8}
.toc-booking-links{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:30px;font:bold .78rem/1.5 monospace}
.toc-booking-links a{text-decoration:underline;text-underline-offset:5px}
.toc-booking-ticket{background:var(--booking-paper);color:var(--booking-ink);border:2px solid var(--booking-ink);padding:25px 35px 28px;box-shadow:8px 8px 0 #122c25;position:relative;min-width:0}
.toc-booking-ticket-top{display:flex;justify-content:space-between;gap:15px;border-bottom:1px dashed #7f7b69;padding-bottom:20px;margin-bottom:30px;font:bold .62rem/1.5 monospace;letter-spacing:.1em}
.toc-booking-ticket h2{font-size:clamp(2.6rem,3.2vw,3.5rem);letter-spacing:-.045em;margin-bottom:15px;line-height:1.1}
.toc-booking-ticket-intro{font-size:.96rem;margin-bottom:25px}
.toc-booking-page .rtb-booking-form{margin-bottom:25px}
.toc-booking-page .rtb-booking-form fieldset{border:0;border-top:1px dashed #8f8d78;padding:24px 0 0;margin:0 0 27px;min-width:0}
.toc-booking-page .rtb-booking-form legend{font:bold .75rem/1.5 monospace;letter-spacing:.08em;text-transform:uppercase;padding:0 10px 0 0}
.toc-booking-page .rtb-booking-form fieldset>div{margin-top:17px;min-width:0}
.toc-booking-page .rtb-booking-form label{font:bold .8rem/1.5 monospace;margin-bottom:7px}
.toc-booking-page .rtb-booking-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.toc-booking-page .rtb-booking-form select,.toc-booking-page .rtb-booking-form textarea{width:100%;max-width:none;min-height:50px;border:1.5px solid #5f6758;border-radius:0;background:#fffdf5;color:#242c22;font:1rem/1.5 Arial,Helvetica,sans-serif;padding:12px 13px;box-shadow:none}
.toc-booking-page .rtb-booking-form input:focus,.toc-booking-page .rtb-booking-form select:focus,.toc-booking-page .rtb-booking-form textarea:focus{outline:3px solid #c5661c;outline-offset:3px}
.toc-booking-page .rtb-booking-form .reservation{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.toc-booking-page .rtb-booking-form .reservation .rtb-select{grid-column:1/-1}
.toc-booking-page .rtb-booking-form .add-message a{display:inline-block;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px;font:bold .82rem/1.5 monospace}
.toc-booking-page .rtb-booking-form .rtb-form-footer{margin-bottom:0;border-top:0;padding:0}
.toc-booking-page .rtb-booking-form .rtb-form-footer button{display:block;width:100%;min-height:56px;background:#244b32;border:2px solid #172d20;color:#fff8e8;padding:15px 20px;font:bold .95rem/1.5 monospace;box-shadow:0 4px 0 #172d20}
.toc-booking-page .rtb-booking-form .rtb-form-footer button:hover{background:#345e41}
.toc-booking-page .rtb-booking-form .rtb-form-footer button:active{transform:translateY(3px);box-shadow:0 1px 0 #172d20}
.toc-booking-page .rtb-booking-form .rtb-error{background:#ffe4c6;color:#722b13;padding:10px;margin-top:8px;line-height:1.6}
.toc-booking-page .rtb-booking-form .rtb-message{padding:22px;border:2px solid #244b32;background:#e9efd9;line-height:1.7}
.toc-booking-page .rtb-cancel-booking-form{font-size:.9rem}
.toc-booking-page .rtb-modification-toggle{display:inline-block;float:none;min-height:44px;padding:8px 0;margin:0 0 18px;border:0;border-radius:0;background:transparent;color:#43594a;box-shadow:none;font:.8rem/1.6 monospace;text-align:left;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.toc-booking-page .rtb-modification-toggle:hover{background:transparent;color:#243e2e;text-decoration-thickness:2px}
.toc-booking-page .rtb-modification-toggle:focus-visible{outline:3px solid #c5661c;outline-offset:4px}
.toc-booking-page .toc-booking-privacy{border-top:1px dashed #8f8d78;padding-top:20px;font:.72rem/1.6 monospace}
.toc-booking-privacy a,.toc-booking-offline a{text-decoration:underline;text-underline-offset:3px}
.page-template-page-book-a-table .picker__holder,.page-template-page-book-a-table .picker__box{border-color:#242c22;background:#fff8e8;color:#242c22}
.page-template-page-book-a-table .picker .picker__day--highlighted,.page-template-page-book-a-table .picker .picker__day--selected,.page-template-page-book-a-table .picker .picker__list-item--selected{background:#244b32;color:#fff8e8;border-color:#244b32}
.page-template-page-book-a-table .picker .picker__day--infocus:hover,.page-template-page-book-a-table .picker .picker__day--outfocus:hover,.page-template-page-book-a-table .picker .picker__list-item:hover,.page-template-page-book-a-table .picker .picker__list-item--highlighted{background:#e1ead8;color:#244b32;border-color:#244b32}
.page-template-page-book-a-table .picker .picker__day--selected:hover,.page-template-page-book-a-table .picker--focused .picker__day--selected,.page-template-page-book-a-table .picker--focused .picker__day--highlighted,.page-template-page-book-a-table .picker--focused .picker__list-item--selected{background:#244b32;color:#fff8e8;border-color:#244b32}
.page-template-page-book-a-table .picker .picker__day--disabled,.page-template-page-book-a-table .picker .picker__day--disabled:hover,.page-template-page-book-a-table .picker .picker__list-item--disabled{background:#e4e1d5;color:#8c8c80;border-color:#e4e1d5}
.page-template-page-book-a-table .picker__day--today:before,.page-template-page-book-a-table .picker__button--today:before{border-top-color:#c5661c}
.page-template-page-book-a-table .picker__nav--next:hover,.page-template-page-book-a-table .picker__nav--prev:hover,.page-template-page-book-a-table .picker__button--today:hover,.page-template-page-book-a-table .picker__button--clear:hover,.page-template-page-book-a-table .picker__button--close:hover{background:#e1ead8;color:#244b32;border-color:#244b32}
@media(min-width:1450px){.toc-booking-main{padding-inline:max(6%,calc((100vw - 1280px)/2));gap:90px}.toc-booking-copy{padding-left:max(12%,calc((100vw - 1280px)/2))}}
@media(max-width:900px){.toc-booking-main{gap:5%;padding-inline:5%}.toc-booking-ticket{padding:24px}.toc-booking-copy{padding:45px 9%}.toc-booking-copy h1{font-size:5.4rem}.toc-booking-photo img{min-height:350px}.toc-booking-page .rtb-booking-form .reservation{grid-template-columns:1fr}}
@media(max-width:680px){.toc-booking-intro{grid-template-columns:1fr}.toc-booking-copy{padding:38px 6% 32px}.toc-booking-copy .eyebrow{margin-bottom:20px}.toc-booking-copy h1{font-size:clamp(4.5rem,20vw,6rem);margin:20px 0 25px}.toc-booking-lead{font-size:1.05rem}.toc-booking-photo{border-left:0;border-top:2px solid;padding:18px 18px 0}.toc-booking-photo img{min-height:0;height:230px;object-position:center 60%}.toc-booking-photo figcaption{padding:16px 0;font-size:.65rem}.toc-booking-ribbon{padding:14px 6%;justify-content:center;gap:20px}.toc-booking-ribbon span:last-child,.toc-booking-ribbon b:last-of-type{display:none}.toc-booking-ribbon span{font-size:.65rem}.toc-booking-main{display:flex;flex-direction:column;padding:45px 6% 65px;gap:35px}.toc-booking-aside{padding-top:0}.toc-booking-aside h2{font-size:2.8rem;margin-bottom:20px}.toc-booking-aside h2 br{display:none}.toc-booking-aside h2 br::after{content:' '}.toc-booking-aside h2 em{display:block}.toc-booking-note{margin-block:25px 22px;padding-block:20px}.toc-booking-ticket{padding:20px;box-shadow:5px 5px 0 #122c25}.toc-booking-ticket-top{font-size:.56rem;margin-bottom:25px;padding-bottom:17px;gap:15px}.toc-booking-ticket h2{font-size:2.7rem}.toc-booking-page .rtb-booking-form .reservation{grid-template-columns:1fr}.toc-booking-links{margin-top:24px}}
@media(max-width:680px){.toc-booking-ticket{order:1}.toc-booking-aside{order:2}}
