.bb-booking{--bb-gold:#e7be73;--bb-ink:#1b1818;--bb-muted:#d2c9bf;box-sizing:border-box;max-width:1000px;margin:40px auto;padding:clamp(24px,5vw,64px);color:#fff;background:radial-gradient(ellipse at top right,rgba(197,138,42,.15),transparent 60%),#1b1818;border:1px solid rgba(231,190,115,.22);border-radius:24px;font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.6;color-scheme:dark}.bb-booking *{box-sizing:border-box}.bb-booking-heading{margin-bottom:35px}.bb-booking-heading>span{font-size:11px;letter-spacing:2px;color:var(--bb-gold)}.bb-booking h2{font-family:'Playfair Display',Georgia,serif;color:#fff;font-size:clamp(30px,4vw,48px);font-weight:400;line-height:1.2;margin:16px 0}.bb-booking p{color:var(--bb-muted)}.bb-booking h3{font-size:17px;font-family:inherit;font-weight:500;color:var(--bb-gold);margin-top:0}.bb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.bb-booking label{display:block;font-weight:400;font-size:14px;color:#fff}.bb-booking input:not([type=checkbox]),.bb-booking select,.bb-booking textarea{display:block;width:100%;min-width:0;margin-top:8px;padding:13px 14px;background:#252120;color:#fff;border:1px solid #70624f;border-radius:8px;font:inherit;font-size:16px}.bb-booking option{color:#fff;background:#252120}.bb-booking input:focus,.bb-booking select:focus,.bb-booking textarea:focus,.bb-booking button:focus-visible,.bb-booking a:focus-visible{outline:2px solid var(--bb-gold);outline-offset:3px}.bb-time-field{padding:0;border:0;margin:0 0 24px;min-width:0}.bb-time-field legend{font-size:14px;color:#fff;margin-bottom:12px}.bb-slots{display:flex;flex-wrap:wrap;gap:10px;color:var(--bb-muted);font-size:14px}.bb-booking .bb-slot{padding:10px 17px;min-height:44px;border:1px solid #70624f;background:transparent;color:var(--bb-gold);border-radius:8px;cursor:pointer;font:inherit}.bb-booking .bb-slot:hover,.bb-booking .bb-slot.selected{background:var(--bb-gold);color:var(--bb-ink)}.bb-booking-summary:empty{display:none}.bb-booking-summary{padding:16px 20px;background:rgba(231,190,115,.08);border-left:3px solid var(--bb-gold);margin-bottom:24px;font-size:14px}.bb-booking .bb-policy{padding:24px;background:rgba(255,255,255,.035);border-radius:12px;margin:25px 0}.bb-policy p{font-size:14px}.bb-booking .bb-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px}.bb-consent input{flex:none;width:20px;height:20px;margin:4px 0;accent-color:var(--bb-gold)}.bb-booking a{color:var(--bb-gold);text-decoration:underline}.bb-booking .bb-submit,.bb-booking .bb-cancel-button{padding:17px 30px;border:0;border-radius:0;background:var(--bb-gold);color:var(--bb-ink);font-family:inherit;font-size:14px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;min-height:48px}.bb-booking button:disabled{opacity:.6;cursor:wait}.bb-booking .bb-small{font-size:12px;margin-top:16px}.bb-result:empty{display:none}.bb-result{padding:20px;margin-top:20px;border:1px solid var(--bb-gold);border-radius:12px;color:#fff}.bb-result.bb-error{border-color:#ed9f90;color:#ffd2c9}.bb-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.bb-booking [hidden]{display:none!important}@media(max-width:640px){.bb-form-grid{grid-template-columns:1fr;gap:18px}.bb-booking{margin:20px 0;border-radius:16px}.bb-booking .bb-policy{padding:18px}.bb-booking .bb-submit{width:100%}}@media(prefers-reduced-motion:reduce){.bb-booking *{scroll-behavior:auto!important}}
