.booking-shell{background:#f8f5ef;color:#29241f;min-height:85vh;padding:150px clamp(20px,6vw,90px) 100px;font-family:var(--font-inter),Arial,sans-serif}.booking-shell *{box-sizing:border-box}.booking-intro{max-width:1180px;margin:0 auto 48px}.booking-eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:2px;color:#865743}.booking-intro h1,.booking-manage h1{font-size:clamp(40px,5.6vw,74px);line-height:1.06;letter-spacing:-3px;margin:22px 0}.booking-intro h1 em{font-family:Georgia,serif;font-weight:400;color:#a4472c}.booking-intro>p{max-width:550px;font-size:17px;line-height:1.7;color:#71675f}.booking-layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:.8fr 1.25fr;border:1px solid #ded6cb;border-radius:24px;overflow:hidden;background:#fffdf9}.booking-about{padding:40px;background:#f0e3d3}.booking-monogram{font-size:46px;background:#edd0bb;border-radius:50%;width:78px;height:78px;display:grid;place-items:center;color:#a4472c;transform:rotate(-8deg);margin-bottom:30px}.booking-shell h2{font-size:29px;letter-spacing:-1px;line-height:1.25;font-weight:500;margin:0 0 20px}.booking-about h3{font-size:14px;font-weight:650;margin:34px 0 12px}.booking-shell li,.booking-shell p{font-size:14px;line-height:1.8;color:#70655c}.booking-facts{display:grid;gap:12px;font-size:13px;margin:26px 0}.booking-about ol{list-style:decimal;padding-left:19px;margin:24px 0}.booking-about li{padding-left:6px;margin-bottom:12px}.booking-picker{padding:40px;min-width:0}.booking-step{display:flex;align-items:center;gap:12px;margin-bottom:28px}.booking-step>span{font-size:11px;background:#eee7f4;border:1px solid #e0d4eb;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0}.booking-step h2{margin:0;font-size:26px}.booking-shell label{display:grid;gap:9px;font-size:13px;font-weight:550}.booking-shell input,.booking-shell select,.booking-shell textarea{width:100%;min-width:0;background:#fffdf9;border:1px solid #cfc4b8;border-radius:8px;padding:12px 14px;color:#29241f;font:inherit;font-size:14px;line-height:1.4}.booking-shell textarea{resize:vertical}.booking-shell small{font-size:11px;line-height:1.6;color:#756a60;font-weight:400}.booking-zone{max-width:100%}.booking-shell .booking-fine{font-size:12px;line-height:1.75;margin:16px 0}.booking-fine a{text-decoration:underline;text-underline-offset:3px}.booking-days,.booking-slots{border:0;padding:0;margin:28px 0}.booking-days legend,.booking-slots legend{font-size:13px;font-weight:550;margin-bottom:13px}.booking-days>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:7px;max-height:270px;overflow-y:auto;padding:4px}.booking-days button,.booking-slots button{background:#fffdf9;border:1px solid #ded6cb;border-radius:8px;cursor:pointer;color:#29241f;min-height:46px;padding:12px 5px}.booking-days button{display:grid;justify-items:center;gap:1px}.booking-days strong{font-size:21px;font-weight:500}.booking-days button[aria-pressed=true],.booking-slots button[aria-pressed=true]{background:#a4472c;border-color:#a4472c;color:#fffdf9}.booking-days button[aria-pressed=true] small{color:#fffdf9}.booking-days button:hover,.booking-slots button:hover{border-color:#a4472c;box-shadow:0 0 0 1px #a4472c}.booking-slots>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.booking-slots button{font-size:13px;font-weight:550}.booking-form{border-top:1px solid #ded6cb;margin-top:32px;padding-top:32px;display:grid;gap:20px;scroll-margin-top:110px}.booking-form .booking-step{margin:0}.booking-selected{display:grid;gap:7px;background:#eef0df;padding:17px;border-radius:10px;font-size:13px}.booking-selected strong{font-weight:600}.booking-selected span{font-size:12px;line-height:1.5}.booking-shell .booking-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #a4472c;background:#a4472c;color:#fffdf9;min-height:48px;padding:13px 20px;border-radius:8px;font-weight:550;font-size:13px;text-decoration:none;cursor:pointer;line-height:1.4;text-align:center}.booking-shell .booking-button:hover{background:#873b26}.booking-shell .booking-secondary{background:transparent;color:#923d27}.booking-shell .booking-secondary:hover{background:#f6e9e0}.booking-shell .booking-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:550;color:#923d27;text-decoration:underline;text-underline-offset:5px;background:transparent;border:0;cursor:pointer;padding:4px 0}.booking-shell button:disabled,.booking-shell input:disabled,.booking-shell select:disabled,.booking-shell textarea:disabled{opacity:.55;cursor:wait}.booking-shell :focus-visible{outline:3px solid #a4472c;outline-offset:4px}.booking-shell h2[tabindex]:focus{outline:0}.booking-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.booking-empty,.booking-loading{padding:28px 0;min-height:120px}.booking-empty h3{font-size:20px}.booking-empty a{text-decoration:underline}.booking-error{padding:17px 20px;background:#f9e1d8;border:1px solid #eab8a7;border-radius:9px;margin-top:20px}.booking-error p{color:#823a27;margin:0}.booking-error button{background:transparent;border:0;text-decoration:underline;cursor:pointer;color:#823a27;padding:12px 0 0}.booking-confirmed{max-width:760px;margin:0 auto;background:#fffdf9;padding:clamp(24px,5vw,48px);border:1px solid #ded6cb;border-radius:22px;overflow-wrap:anywhere}.booking-success-mark{display:grid;place-items:center;background:#e4ecd7;color:#52633e;font-size:30px;width:58px;height:58px;border-radius:50%;margin-bottom:25px}.booking-confirmed h2{margin:16px 0}.booking-details dl{margin:30px 0;display:grid;gap:24px}.booking-details dl>div{display:grid;grid-template-columns:100px 1fr;gap:20px}.booking-details dt{font-size:11px;color:#8a7869;text-transform:uppercase;letter-spacing:1px}.booking-details dd{font-size:14px;line-height:1.8;margin:0}.booking-details dd small{display:block}.booking-agenda{white-space:pre-wrap}.booking-access{padding:24px;border-radius:13px;background:#f0e3d3;margin:26px 0 14px}.booking-access p{font-size:13px}.booking-access>.booking-button{margin-top:15px}.booking-code{margin-top:20px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.booking-code>span{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:1px}.booking-code code{font-size:14px;background:#fffdf9;padding:12px;border-radius:6px;user-select:all;overflow-wrap:anywhere;min-width:0}.booking-code button{border:1px solid #bda693;border-radius:7px;font-size:12px;padding:11px;min-height:44px;background:transparent;color:#713d2e;cursor:pointer}.booking-code small{grid-column:1/-1;min-height:16px}.booking-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:24px 0}.booking-manage{padding-top:45px}.booking-brand{display:block;max-width:760px;margin:0 auto 45px;font-size:21px;font-weight:650;letter-spacing:-.8px}.booking-manage h1{font-size:40px;letter-spacing:-1.5px;margin:20px 0}.booking-cancel{border-top:1px solid #ded6cb;margin-top:30px;padding-top:20px}.booking-cancel h2{font-size:22px}.booking-cancel-confirm{padding:18px;background:#f9ede5;border-radius:10px}.booking-cancel-confirm .booking-actions{margin:18px 0 0}.booking-shell .booking-danger{background:#842f24;border-color:#842f24}@media(max-width:850px){.booking-shell{padding:125px 20px 65px}.booking-layout{grid-template-columns:1fr}.booking-about{padding:28px}.booking-about h2 br,.booking-monogram{display:none}.booking-facts{display:flex;flex-wrap:wrap;gap:12px 24px}.booking-about h3{margin-top:24px}.booking-about ol{margin:18px 0}.booking-picker{padding:28px}.booking-intro{margin-bottom:32px}.booking-intro h1{letter-spacing:-2px}.booking-manage{padding-top:35px}}@media(max-width:420px){.booking-shell{padding-left:14px;padding-right:14px}.booking-about,.booking-picker{padding:24px 20px}.booking-intro h1{font-size:42px}.booking-step h2{font-size:24px}.booking-days>div{grid-template-columns:repeat(4,1fr)}.booking-slots>div{grid-template-columns:repeat(2,1fr)}.booking-confirmed{padding:24px 20px}.booking-details dl>div{grid-template-columns:1fr;gap:6px}.booking-access{padding:18px}.booking-code{grid-template-columns:1fr}.booking-actions{align-items:stretch;flex-direction:column}.booking-brand{font-size:19px}.booking-manage h1{font-size:34px}}