.bu-open{overflow:hidden}
.bu-dialog{--bu-paper:var(--colour-paper,#fff8ee);--bu-ink:#231f1a;--bu-orange:var(--colour-olive,#4c5229);--bu-green:var(--colour-olive,#4c5229);--bu-line:#d2c8b8;box-sizing:border-box;color:var(--bu-ink);background:var(--bu-paper);font:16px/1.5 var(--font-body,Arial,Helvetica,sans-serif);border:0;border-radius:6px;padding:0;width:min(940px,calc(100vw - 64px));height:min(840px,calc(100dvh - 48px));max-width:none;max-height:none;box-shadow:0 24px 90px #0005;overscroll-behavior:contain}
.bu-dialog::backdrop{background:#050807bb;backdrop-filter:blur(5px)}
.bu-dialog *{box-sizing:border-box}
.bu-dialog [hidden]{display:none!important}
.bu-dialog button,.bu-dialog input,.bu-dialog select,.bu-dialog textarea{font:inherit;color:inherit}
.bu-dialog button,.bu-dialog a{touch-action:manipulation}
.bu-dialog button{cursor:pointer}
.bu-dialog button:disabled{cursor:default}
.bu-dialog a{color:inherit;text-underline-offset:3px}
.bu-dialog :is(a,button,input,textarea,select):focus-visible{outline:3px solid var(--colour-berry,#5b1f33);outline-offset:3px}
.bu-shell{height:100%;display:grid;grid-template-rows:80px minmax(0,1fr)}
.bu-header{margin:0;max-width:none;padding:10px 22px 10px 26px;display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--bu-line);background:var(--bu-paper)}
.bu-header>img{width:98px;height:56px;object-fit:contain}
.bu-header>span{font-size:14px;border-left:1px solid var(--bu-line);padding-left:20px}
.bu-header button{margin-left:auto;background:transparent;border:1px solid var(--bu-line);border-radius:50%;width:42px;min-width:42px;height:42px;min-height:42px;line-height:1;font-size:27px;padding:0}
.bu-layout{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:0}
.bu-venue{position:relative;overflow:hidden;background:#302b22;color:var(--bu-paper)}
.bu-venue>img{height:100%;width:100%;object-fit:cover;object-position:43% center;opacity:.75}
.bu-venue:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#211d17 0%,transparent 80%)}
.bu-venue>div{position:absolute;z-index:1;bottom:32px;left:26px;right:24px}
.bu-venue p{font:var(--font-weight-display,900) 36px/1.04 var(--font-display,Impact,sans-serif);letter-spacing:var(--tracking-heading,-.035em);margin:0 0 26px}
.bu-venue span{font-size:12px;line-height:1.7}
.bu-flow{display:flex;flex-direction:column;min-height:0;min-width:0}
.bu-progress{display:flex;gap:0;padding:20px 30px 12px;flex-shrink:0}
.bu-progress button{display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:8px 3px;border:0;border-bottom:2px solid var(--bu-line);background:transparent;text-align:left;font-size:11px;font-weight:700;min-height:36px;color:#696f63}
.bu-progress button>span{width:19px;height:19px;border:1px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;font-size:10px}
.bu-progress [aria-current=step]{color:var(--bu-ink);border-bottom-color:var(--bu-orange)}
.bu-progress [aria-current=step]>span{background:var(--bu-orange);border-color:var(--bu-orange);color:var(--bu-paper)}
.bu-content{padding:12px 32px 24px;overflow:auto;min-height:0;flex:1;scrollbar-gutter:stable;overscroll-behavior:contain}
.bu-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin:0 0 9px;color:#63685d}
.bu-content h2{font:var(--font-weight-display,900) 42px/1.02 var(--font-display,Impact,sans-serif);letter-spacing:var(--tracking-heading,-.035em);margin:0 0 22px;text-wrap:balance;outline:none}
.bu-content h3{font-size:16px;font-weight:700;text-transform:capitalize;margin:0}
.bu-content p{font-size:14px;line-height:1.55;max-width:none}
.bu-summary{display:flex;flex-wrap:wrap;gap:6px 0;margin:-6px 0 24px;font-size:13px;font-weight:700}
.bu-summary>span+span:before{content:'·';padding:0 9px;color:#777d70}
.bu-month{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.bu-month button{height:36px;width:36px;min-height:36px;border:1px solid var(--bu-line);background:transparent;border-radius:50%;font-size:24px;line-height:1;padding:0}
.bu-month button:disabled{color:#999a90}
.bu-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.bu-weekday{text-align:center;padding:4px 0;font-size:10px;font-weight:700;color:#656b60}
.bu-day{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:52px;min-width:0;padding:5px 0;border:1px solid transparent;border-radius:4px;background:#fffdf8;line-height:1}
.bu-day>span{font-size:15px;font-weight:700}
.bu-day>small{font-size:8px;line-height:1.1}
.bu-day:disabled{background:#eee8dc;color:#777b70}
.bu-day[aria-pressed=true]{background:var(--bu-green);color:#fff;border-color:var(--bu-green)}
.bu-dot{display:inline-block;width:5px;height:5px;min-height:5px;border-radius:50%;background:var(--bu-green)}
.bu-few .bu-dot,.bu-dot.bu-few{background:transparent;border:1.5px solid #a35e0c;width:7px;height:7px;min-height:7px}
.bu-dot.bu-full{background:#aaa99d}
.bu-day[aria-pressed=true] .bu-dot{background:#f8efdf}
.bu-day:hover:enabled:not([aria-pressed=true]){border-color:var(--bu-green)}
.bu-legend{display:flex;gap:15px;align-items:center;margin:13px 0 18px;font-size:10px;color:#515a4d}
.bu-legend>span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.bu-hours{padding:14px 0;border-top:1px solid var(--bu-line);border-bottom:1px solid var(--bu-line);display:grid;grid-template-columns:1fr auto;gap:3px 12px;margin:0 0 18px;font-size:12px}
.bu-hours strong{font-weight:700;text-align:right}
.bu-hours strong::first-letter,.bu-hours small::first-letter{text-transform:uppercase}
.bu-hours small{grid-column:1/-1;font-size:11px;color:#62685a}
.bu-notice{font-size:12px!important;background:#eee8dc;padding:12px 14px;border-radius:4px;margin:16px 0 0}
.bu-stepper{display:flex;justify-content:center;align-items:center;gap:28px;padding:25px 0 30px}
.bu-stepper button{width:52px;height:52px;min-height:52px;padding:0;border:1px solid #b5b9a8;background:transparent;border-radius:50%;font-size:27px;line-height:1}
.bu-stepper button:disabled{color:#a8ad9d;border-color:var(--bu-line)}
.bu-stepper output{text-align:center;min-width:80px;display:flex;flex-direction:column}
.bu-stepper output strong{font:var(--font-weight-display,900) 86px/.95 var(--font-display,Impact,sans-serif);letter-spacing:-.04em}
.bu-stepper output span{font-size:13px;margin-top:10px}
.bu-content .bu-help{font-size:12px;margin:20px 0 0;text-align:center}
.bu-muted{font-size:12px!important;color:#62685a}
.bu-stepper~.bu-muted{text-align:center;margin-top:9px}
.bu-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:24px 0 20px}
.bu-times button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;padding:7px 3px;border:1px solid #b6bcad;background:#fffdf8;border-radius:4px;font-size:16px;font-weight:700}
.bu-times button small{font-size:9px;font-weight:400;margin-top:3px}
.bu-times button:disabled{background:transparent;color:#9b9e91;border-color:var(--bu-line);text-decoration:line-through}
.bu-times button[aria-pressed=true]{background:var(--bu-green);color:white;border-color:var(--bu-green)}
.bu-sitting{font-size:12px!important;line-height:1.6;margin:20px 0 16px}
.bu-footer{padding:18px 32px 22px;flex-shrink:0;border-top:1px solid var(--bu-line);background:var(--bu-paper)}
.bu-footer-actions{display:flex;justify-content:space-between;align-items:center;gap:18px}
.bu-primary{display:flex;align-items:center;justify-content:center;gap:32px;min-height:48px;min-width:150px;border:0;border-radius:4px;background:var(--bu-orange);color:var(--bu-paper)!important;font-size:14px!important;font-weight:700;padding:12px 22px;margin-left:auto}
.bu-primary:disabled{background:#e0ddd1;color:#767c6e!important}
.bu-back{background:transparent;border:0;min-height:44px;padding:5px 0;font-size:12px!important;text-decoration:underline;text-underline-offset:4px}
.bu-help-link,.bu-footer-note{font-size:11px}
.bu-error{font-size:12px;line-height:1.5;margin:0 0 12px;color:#8e3023}
.bu-retry{border:0;background:transparent;padding:4px;color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.bu-busy{font-size:12px;margin:0 0 8px;color:#586350}
.bu-content[data-bu-step="1"]{padding-top:8px}
.bu-content[data-bu-step="1"] h2{font-size:35px;margin-bottom:14px}
.bu-content[data-bu-step="1"] .bu-eyebrow{margin-bottom:6px}
.bu-content[data-bu-step="1"] .bu-calendar{gap:3px}
.bu-content[data-bu-step="1"] .bu-day{min-height:44px;height:44px;line-height:1}
.bu-content[data-bu-step="1"] .bu-day>span{line-height:1}
.bu-content[data-bu-step="1"] .bu-day>small{font-size:9px;line-height:1.1}
.bu-content[data-bu-step="1"] .bu-month{margin-bottom:5px}
.bu-content[data-bu-step="1"] .bu-weekday{padding:2px 0}
.bu-content[data-bu-step="1"] .bu-legend{margin:9px 0 12px}
.bu-content[data-bu-step="1"] .bu-hours{padding:11px 0;margin-bottom:12px}
.bu-content[data-bu-step="1"] .bu-notice{margin-top:12px;font-size:11px!important;padding:10px 12px}
.bu-signin{display:grid;gap:16px;margin:25px 0}
.bu-google,.bu-secondary{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #9fa695;background:#fffdf8;min-height:50px;padding:12px 16px;border-radius:4px;text-decoration:none;font-weight:700;font-size:13px}
.bu-google img{width:20px;height:20px}
.bu-dialog form{display:grid;gap:14px;padding:0;border:0;margin:0}
.bu-dialog label{display:grid;gap:6px;min-width:0;font-size:12px;font-weight:700}
.bu-dialog input,.bu-dialog textarea,.bu-dialog select{width:100%;min-width:0;min-height:45px;background:#fffdf8;border:1px solid #b6bcad;border-radius:4px;padding:10px 12px;font-size:16px}
.bu-dialog textarea{min-height:76px;resize:vertical}
.bu-dialog small{line-height:1.5}
.bu-signin small{font-size:11px;color:#62685a}
.bu-signin [role=status]:empty{display:none}
.bu-dialog fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}
.bu-dialog legend{font-size:12px;font-weight:700;padding:0;margin-bottom:8px}
.bu-dialog legend small{font-weight:400}
.bu-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bu-friends{margin:10px 0 0!important;gap:12px!important}
.bu-friends p{font-size:11px;margin:0;color:#62685a}.bu-dialog .bu-dog-help{font-size:12px;line-height:1.6;margin:0}
#bu-details-form>fieldset>small,#bu-details-form>small{font-size:11px;color:#62685a}
.bu-dogs{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.bu-dialog .bu-checkbox{display:flex;gap:10px;align-items:center;min-height:44px}
.bu-checkbox input{min-height:20px;width:20px;height:20px;accent-color:var(--bu-green);margin:0;padding:0}
.bu-terms{display:grid;gap:2px;margin-top:6px}.bu-terms p{margin:0 0 4px;font-size:12px;line-height:1.6;color:#62685a}.bu-dialog .bu-terms .bu-checkbox{align-items:flex-start;min-height:0;padding:6px 0;line-height:1.4}.bu-terms .bu-checkbox input{flex:0 0 20px;margin-top:1px}
.bu-dialog .bu-dog-count{display:flex;align-items:center;gap:8px;font-weight:400;font-size:11px}
.bu-dog-count select{width:64px}
.bu-confirmation{padding:24px 0}
.bu-tick{display:grid;place-items:center;width:62px;height:62px;margin:0 0 28px;border-radius:50%;background:var(--bu-green);color:#fff;font-size:29px}
.bu-confirmation dl{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;margin:28px 0;padding:22px 0;border-block:1px solid var(--bu-line);font-size:13px}
.bu-confirmation dt{font-size:11px;color:#62685a;margin:0 0 5px}
.bu-confirmation dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.bu-account{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.bu-new{display:block;margin-top:12px}
.bu-hours .bu-special-hours{color:var(--bu-ink);font-weight:700}
.bu-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bu-fallback{max-width:760px;margin:30px auto;padding:24px}
@media(max-width:700px){
 .bu-dialog{width:100%;height:100dvh;margin:0;border-radius:0;inset:0}
 .bu-shell{grid-template-rows:70px minmax(0,1fr)}
 .bu-header{padding:7px 18px;gap:16px}
 .bu-header>img{width:88px;height:50px}
 .bu-header>span{font-size:12px;padding-left:16px}
 .bu-header button{height:38px;min-height:38px;width:38px;min-width:38px}
 .bu-layout{display:block;height:100%}
 .bu-venue{display:none}
 .bu-flow{height:100%}
 .bu-progress{padding:15px 22px 10px}
 .bu-progress button{font-size:10px;gap:5px}
 .bu-progress button>span{width:17px;height:17px;font-size:9px}
 .bu-content{padding:15px 22px 24px;scrollbar-gutter:auto}
 .bu-content h2{font-size:38px;margin-bottom:22px}
 .bu-day{min-height:51px}
 .bu-day>small{font-size:7px}
 .bu-legend{gap:13px;font-size:10px}
 .bu-footer{padding:15px 22px max(18px,env(safe-area-inset-bottom))}
 .bu-primary{gap:20px;font-size:13px!important;padding:12px 17px;min-width:145px}
 .bu-times{gap:7px}
 .bu-fields{gap:12px}
 .bu-summary{font-size:12px}
 .bu-stepper{padding-block:40px}
}
@media(prefers-reduced-motion:no-preference){.bu-dialog[open]{animation:bu-appear .18s ease-out}@keyframes bu-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

/* Shared with the live venue: warm paper, olive selection and dark booking CTA. */
.bu-dialog{font-synthesis:none}
.bu-primary{border-radius:5px;min-height:52px}
.bu-primary:enabled:hover{background:#606738}
.bu-primary:enabled:active{background:#3e4420}
.bu-header button:hover,.bu-month button:enabled:hover,.bu-stepper button:enabled:hover{background:#eee8dc;border-color:var(--bu-green)}
.bu-times button:enabled:hover{border-color:var(--bu-green);box-shadow:inset 0 0 0 1px var(--bu-green)}
.bu-google:hover,.bu-secondary:hover{background:#eee8dc;border-color:var(--bu-green)}
.bu-back:hover,.bu-help-link:hover{color:var(--bu-green)}
.bu-header button{width:44px;min-width:44px;height:44px;min-height:44px}
.bu-month button{position:relative}
.bu-month button:before{content:'';position:absolute;inset:-4px}
.bu-legend{flex-wrap:wrap;gap:8px 15px;line-height:1.5}
.bu-error{padding:10px 12px;border-left:3px solid #8e3023;background:#f6e9df}
.bu-loading{color:#615748;font-size:13px!important;margin:20px 0}
.bu-skeleton-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:18px 0}
.bu-skeleton{height:44px;border-radius:4px;background:#e9e1d4}
.bu-content[aria-busy=true] .bu-calendar{opacity:.65}
.bu-content input:hover,.bu-content textarea:hover,.bu-content select:hover{border-color:var(--bu-green)}
.bu-confirmation dd{word-break:normal}
@media(min-width:701px) and (max-width:1000px){
 .bu-dialog{width:calc(100vw - 32px)}
 .bu-layout{grid-template-columns:190px minmax(0,1fr)}
 .bu-venue>div{left:22px;right:18px}
 .bu-venue p{font-size:31px}
 .bu-content{padding-inline:24px}
 .bu-progress{padding-inline:24px}
 .bu-footer{padding-inline:24px}
}
@media(max-width:700px){
 .bu-header button{width:44px;min-width:44px;height:44px;min-height:44px}
 .bu-content[data-bu-step="1"]{padding-top:12px}
 .bu-content[data-bu-step="1"] h2{font-size:38px;margin-bottom:20px}
 .bu-content[data-bu-step="1"] .bu-day{height:44px;min-height:44px}
 .bu-content[data-bu-step="1"] .bu-legend{margin:12px 0 16px}
 .bu-progress button{min-height:44px}
}
@media(prefers-reduced-motion:no-preference){
 .bu-dialog button,.bu-dialog a{transition:background var(--motion-feedback,120ms) var(--ease-standard,ease),border-color var(--motion-feedback,120ms) var(--ease-standard,ease),color var(--motion-feedback,120ms) var(--ease-standard,ease)}
 .bu-dialog[open]{animation:bu-appear var(--motion-reveal,300ms) var(--ease-rail,cubic-bezier(.22,1,.36,1))}
 .bu-skeleton{animation:bu-pulse 1.4s ease-in-out infinite alternate}
 @keyframes bu-pulse{to{opacity:.45}}
}

.bu-empty{margin:24px 0;padding:28px 24px;border:1px solid var(--bu-line);border-radius:4px;background:#f6efe4}
.bu-content .bu-empty h3{font-size:18px;line-height:1.35;text-transform:none}
.bu-empty p{margin:10px 0 0;color:#615748}

/* Keep the brand header, progress and action rail fixed when focus moves. */
.bu-dialog{overflow:hidden}

.bu-shell,.bu-layout,.bu-flow{overflow:clip}
.bu-dialog .bu-primary,.bu-dialog .bu-secondary,.bu-dialog .bu-google{font-size:14px;font-weight:700}

.bu-dialog input,.bu-dialog textarea,.bu-dialog select{font-weight:var(--font-weight-body,400)}

@media(max-width:700px){.bu-primary{min-height:50px}.bu-dialog .bu-secondary,.bu-dialog .bu-google{font-size:13px}}
/* Match the shared light-surface disabled tokens; avoid the scene's global fade. */
.bu-dialog button:disabled{opacity:1}
.bu-primary:disabled{background:#e8e9e4;color:#596157!important}
.bu-dialog .bu-primary{line-height:1.35}
