.guest-widget{padding:22px}.guest-sandbox{font-size:11px;line-height:1.5;background:#eef1f8;color:var(--blue);padding:10px;border-radius:10px;margin:0 0 18px}.guest-month{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;text-transform:capitalize;margin:14px 0}.guest-month>div{display:flex;gap:8px}.guest-widget button,.guest-dialog button{font:inherit;cursor:pointer;touch-action:manipulation}.guest-month button,.guest-participants button,.guest-dialog-top button{width:44px;height:44px;border:1px solid var(--line);background:white;color:var(--blue);border-radius:50%;font-size:22px;display:inline-flex;align-items:center;justify-content:center}.guest-widget button:disabled,.guest-dialog button:disabled{opacity:.45;cursor:not-allowed}.guest-widget button:focus-visible,.guest-dialog button:focus-visible,.guest-dialog input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.guest-calendar{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px}.guest-weekday{text-align:center;font-size:12px;color:var(--muted);padding:6px 0}.guest-day{min-height:44px;padding:6px 0;border:0;border-radius:10px;background:#eef1f8;color:var(--blue);font-size:14px!important}.guest-day.selected{background:var(--blue);color:white;font-weight:700}.guest-day:disabled{background:transparent;color:var(--muted)}.guest-field{font-size:14px;font-weight:700;margin:22px 0 10px}.guest-times{display:flex;gap:8px;flex-wrap:wrap}.guest-time{flex:1;min-width:80px;min-height:60px;border:1px solid var(--line);background:white;border-radius:12px;padding:10px 4px;color:var(--black);font-size:14px!important}.guest-time small{display:block;font-size:11px;color:var(--muted)}.guest-time.selected{border:2px solid var(--blue);background:#eef1f8;color:var(--blue);font-weight:700}.guest-participants{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:22px;font-size:14px}.guest-participants>div{display:flex;align-items:center;gap:10px}.guest-participants output{min-width:20px;text-align:center;font-weight:700}.guest-total{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin:22px 0 18px;font-size:14px}.guest-total small{display:block;color:var(--muted);font-size:12px}.guest-total>strong{font-family:var(--heading);font-size:23px;letter-spacing:-1px}.guest-widget .button,.guest-dialog .button{border:0;width:100%;font-size:14px;font-weight:700}.guest-note{text-align:center;font-size:11px!important;color:var(--muted)}.guest-error{color:#8b2f23!important;font-size:13px!important;line-height:1.6}.guest-order{border:1px solid var(--line);border-radius:14px;padding:16px;background:white;margin:18px 0;font-size:14px}.guest-order p{margin:7px 0;color:var(--muted);font-size:13px}.guest-order>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.guest-order>div>strong{font-size:19px}.guest-secondary{border:1px solid var(--line);background:white;color:var(--blue);border-radius:100px;min-height:48px;width:100%;margin-top:12px;font-size:13px!important}.guest-dialog{max-width:490px;width:calc(100% - 24px);max-height:94dvh;overflow:auto;border:0;border-radius:24px;padding:26px;background:var(--cream);color:var(--black);box-shadow:0 20px 80px #0003;font-family:var(--body)}.guest-dialog::backdrop{background:#1a1a1abf;backdrop-filter:blur(3px)}.guest-dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.guest-dialog-top>strong{font-family:var(--heading);font-size:24px}.guest-dialog h2{font-size:26px}.guest-dialog label{display:block;font-size:13px;font-weight:700;margin:16px 0 7px}.guest-dialog input{display:block;width:100%;min-height:48px;border:1px solid #a7a7a7;border-radius:10px;padding:12px;color:var(--black);background:white;font:16px var(--body)}.guest-policy{font-size:12px;color:var(--muted);line-height:1.6;margin:18px 0}.booking-return{max-width:600px;margin:40px auto}.booking-return .guest-widget{width:100%;position:static}.booking-return .guest-calendar{gap:8px}
@media(max-width:600px){.guest-widget{padding:20px 10px}.guest-calendar,.booking-return .guest-calendar{gap:2px}.guest-dialog{padding:22px 18px}.guest-dialog h2{font-size:23px}.guest-participants{font-size:13px}.guest-widget .guest-sandbox{font-size:10px}}
@media(prefers-reduced-motion:reduce){.guest-widget *,.guest-dialog *{transition:none!important;animation:none!important}}
