.bpb-app{--bpb-private:#f9a006;--bpb-professional:#00357a;--bpb-dark:#1d1d1e;--bpb-pale:#fff8eb;color:var(--bpb-dark);display:grid;gap:2rem}.bpb-picker,.bpb-my-bookings{background:#fff;border:1px solid #ddd;border-radius:14px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 8px 30px rgba(29,29,30,.08)}.bpb-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.bpb-fields>.bpb-field:only-child{grid-column:1/-1}.bpb-field{appearance:none;text-align:left;border:2px solid #d6d6d6;background:#fff;border-radius:10px;padding:1rem;color:var(--bpb-dark);cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.bpb-field strong,.bpb-field span{display:block}.bpb-field span{font-size:.9em;opacity:.76;margin-top:.25rem}.bpb-field[data-field="pet-owners"]{border-color:var(--bpb-private)}.bpb-field[data-field="professional"]{border-color:var(--bpb-professional)}.bpb-field[data-field="pet-owners"].is-active{background:var(--bpb-private);border-color:var(--bpb-private);color:var(--bpb-dark)}.bpb-field[data-field="professional"].is-active{background:var(--bpb-professional);border-color:var(--bpb-professional);color:#fff}.bpb-controls{display:flex;flex-wrap:wrap;gap:1rem;margin:1.25rem 0}.bpb-controls label{display:grid;gap:.35rem;font-weight:600}.bpb-controls input,.bpb-controls select{min-width:190px;padding:.7rem;border:1px solid #aaa;border-radius:6px;color:var(--bpb-dark)}.bpb-status{margin:.75rem 0;color:#4c4c4e;scroll-margin-top:96px}.bpb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;margin:1rem 0}.bpb-slot{border:1px solid var(--bpb-dark);background:#fff;border-radius:6px;padding:.7rem .4rem;color:var(--bpb-dark);cursor:pointer}.bpb-slot:hover:not(:disabled),.bpb-slot.is-selected{background:var(--bpb-dark);border-color:var(--bpb-dark);color:#fff}.bpb-slot:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}.bpb-summary{background:var(--bpb-pale);border-left:4px solid var(--bpb-private);border-radius:8px;padding:1rem;margin:1rem 0;font-weight:600}.bpb-submit{margin-right:.75rem!important;background:var(--bpb-dark)!important;border-color:var(--bpb-dark)!important;color:#fff!important}.bpb-reschedule-cancel{border:0;background:none;color:var(--bpb-dark);text-decoration:underline;cursor:pointer}.bpb-booking-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #ddd}.bpb-booking-card div span{display:block;margin-top:.25rem;color:#555}.bpb-booking-status{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bpb-professional)}.bpb-start-reschedule{border:1px solid var(--bpb-professional);background:#fff;color:var(--bpb-professional);border-radius:5px;padding:.5rem .75rem;cursor:pointer}.bpb-start-reschedule:hover{background:var(--bpb-professional);color:#fff}.bpb-login{padding:2rem;background:#fff8eb;border-left:5px solid #f9a006;border-radius:12px;color:#1d1d1e}.bpb-login .button{background:#1d1d1e!important;border-color:#1d1d1e!important;color:#fff!important}@media(max-width:640px){.bpb-fields{grid-template-columns:1fr}.bpb-booking-card{grid-template-columns:1fr auto}.bpb-start-reschedule{grid-column:1/-1}.bpb-controls>*{width:100%}.bpb-controls input,.bpb-controls select{width:100%}}

.bpb-inline-calendar{max-width:560px;margin:1.5rem 0;border:1px solid #d6d6d6;border-radius:12px;padding:1rem;background:#fff}.bpb-calendar-header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:.5rem;margin-bottom:1rem}.bpb-calendar-header strong{text-align:center;font-size:1.1rem}.bpb-calendar-header button{width:42px;height:38px;border:1px solid var(--bpb-dark);border-radius:6px;background:#fff;color:var(--bpb-dark);cursor:pointer}.bpb-calendar-header button:disabled{opacity:.25;cursor:not-allowed}.bpb-calendar-weekdays,.bpb-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.bpb-calendar-weekdays{margin-bottom:5px}.bpb-calendar-weekdays span{text-align:center;font-size:.78rem;font-weight:700;color:#555}.bpb-calendar-day,.bpb-calendar-blank{aspect-ratio:1;min-height:42px}.bpb-calendar-day{border:1px solid #d6d6d6;border-radius:7px;background:#fff;color:var(--bpb-dark);font-weight:600;cursor:pointer}.bpb-calendar-day:hover:not(:disabled){border-color:var(--bpb-private);background:#fff8eb}.bpb-calendar-day:disabled{border-color:#eee;background:#f5f5f5;color:#aaa;cursor:not-allowed}.bpb-calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--bpb-dark)}.bpb-calendar-day.is-selected{border-color:var(--bpb-private);background:var(--bpb-private);color:var(--bpb-dark);box-shadow:none}.bpb-app.is-professional-field .bpb-calendar-day:hover:not(:disabled){border-color:var(--bpb-professional);background:#eef4fb}.bpb-app.is-professional-field .bpb-calendar-day.is-selected{border-color:var(--bpb-professional);background:var(--bpb-professional);color:#fff}.bpb-calendar-day:focus-visible,.bpb-calendar-header button:focus-visible{outline:3px solid rgba(0,53,122,.35);outline-offset:2px}@media(max-width:480px){.bpb-inline-calendar{padding:.75rem}.bpb-calendar-weekdays,.bpb-calendar-days{gap:3px}.bpb-calendar-day,.bpb-calendar-blank{min-height:36px}}
.bpb-inline-calendar{position:relative}.bpb-calendar-help{position:absolute;z-index:8;top:1rem;right:4.65rem}.bpb-calendar-help summary{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:30px;height:30px;margin:4px 0;border:1px solid #b8b8b8;border-radius:50%;background:#fff;color:#555;font-family:Georgia,serif;font-size:.95rem;font-weight:700;font-style:italic;line-height:1;cursor:pointer;list-style:none}.bpb-calendar-help summary::-webkit-details-marker{display:none}.bpb-calendar-help summary:hover,.bpb-calendar-help summary:focus-visible{border-color:var(--bpb-private);color:var(--bpb-private-dark);outline:none}.bpb-calendar-help>div{position:absolute;top:40px;right:0;width:min(280px,calc(100vw - 48px));padding:.9rem 1rem;border:1px solid #d9d9d9;border-radius:8px;background:#fff;color:#4d4d4d;box-shadow:0 10px 28px rgba(0,0,0,.16)}.bpb-calendar-help>div:before{position:absolute;top:-7px;right:9px;width:12px;height:12px;border-top:1px solid #d9d9d9;border-left:1px solid #d9d9d9;background:#fff;content:"";transform:rotate(45deg)}.bpb-calendar-help strong{display:block;margin-bottom:.45rem;color:var(--bpb-dark)}.bpb-calendar-help p{margin:.35rem 0;font-size:.8rem;line-height:1.45}@media(max-width:480px){.bpb-calendar-help{top:.75rem;right:3.8rem}.bpb-calendar-help>div{right:-3rem}}
.bpb-session-duration{display:flex;align-items:flex-start;gap:.55rem;margin:.4rem 0 .8rem;padding:.55rem .7rem;border-radius:7px;background:#f6f6f6;color:#5d5d5d;font-size:.78rem;line-height:1.45}.bpb-session-duration>span:first-child{flex:0 0 auto;color:var(--bpb-private-dark);font-size:1rem}.bpb-session-duration strong{color:var(--bpb-dark)}.bpb-app.is-professional-field .bpb-session-duration>span:first-child{color:var(--bpb-professional)}

.bpb-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bpb-calendar-month{min-width:0}.bpb-calendar-month h3{margin:0 0 12px;text-align:center;font-size:1rem;color:var(--bpb-dark)}.bpb-calendar-header button{padding:0!important;min-width:42px!important;max-width:42px!important;line-height:1!important;text-align:center!important}.bpb-calendar-day{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;max-width:none!important;padding:0!important;line-height:1!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;text-indent:0!important}.bpb-calendar-weekdays span{white-space:nowrap;word-break:normal;overflow-wrap:normal}.bpb-inline-calendar{max-width:none;box-sizing:border-box}.bpb-calendar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:900px){.bpb-picker{box-sizing:border-box;width:min(960px,calc(100vw - 40px));max-width:none;position:relative;left:50%;transform:translateX(-50%)}.bpb-inline-calendar{width:100%}}@media(max-width:760px){.bpb-calendar-months{grid-template-columns:1fr;gap:20px}.bpb-calendar-title{font-size:.95rem!important}.bpb-calendar-month+.bpb-calendar-month{padding-top:16px;border-top:1px solid #ddd}}@media(max-width:480px){.bpb-calendar-header{grid-template-columns:38px 1fr 38px}.bpb-calendar-header button{width:38px!important;min-width:38px!important;max-width:38px!important}.bpb-calendar-title{font-size:.82rem!important}}

.bpb-dogs{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin:1rem 0}.bpb-dogs-label{font-weight:700;color:var(--bpb-dark)!important}.bpb-dog-stepper{display:grid;grid-template-columns:42px 48px 42px;align-items:center;border:1px solid #888;border-radius:8px;overflow:hidden;background:#fff}.bpb-dog-stepper button{appearance:none;width:42px;height:42px;padding:0!important;border:0;background:#fff;color:var(--bpb-dark);font-size:1.35rem;font-weight:700;line-height:1;cursor:pointer}.bpb-dog-stepper button:hover:not(:disabled){background:var(--bpb-dark);color:#fff}.bpb-dog-stepper button:disabled{opacity:.3;cursor:not-allowed}.bpb-dog-count{display:flex!important;align-items:center;justify-content:center;height:42px;border-left:1px solid #bbb;border-right:1px solid #bbb;color:var(--bpb-dark)!important;font-size:1rem!important;font-weight:700}.bpb-dogs>span:last-child{font-size:.9rem;color:#555}.bpb-basket{background:#fff;border:1px solid #ddd;border-radius:14px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 8px 30px rgba(29,29,30,.08)}.bpb-basket h2{margin-top:0}.bpb-basket-item{display:grid;grid-template-columns:1fr auto;gap:1rem;border-left:5px solid var(--bpb-private);padding:1rem;margin:.75rem 0;background:#fff8eb;border-radius:8px}.bpb-basket-item.is-professional{border-left-color:var(--bpb-professional);background:#eef4fb}.bpb-basket-item>div:first-child{display:grid;gap:.25rem}.bpb-basket-item span,.bpb-basket-item small{display:block}.bpb-basket-timer{color:#555}.bpb-basket-actions{display:flex;gap:.5rem;align-items:center}.bpb-basket-actions button{border:1px solid var(--bpb-dark);background:#fff;color:var(--bpb-dark);border-radius:5px;padding:.45rem .65rem;cursor:pointer}.bpb-basket-actions button:last-child{border-color:#b32d2e;color:#b32d2e}.bpb-basket-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #ddd;margin-top:1rem;padding-top:1rem}.bpb-basket-checkout{background:var(--bpb-dark)!important;border-color:var(--bpb-dark)!important;color:#fff!important}@media(min-width:1350px){.bpb-app{box-sizing:border-box;width:min(1344px,calc(100vw - 40px));position:relative;left:50%;transform:translateX(-50%);grid-template-columns:minmax(0,960px) minmax(280px,360px);align-items:start;justify-content:center}.bpb-picker{left:auto!important;transform:none!important;width:100%!important}.bpb-basket{position:sticky;top:32px}.bpb-my-bookings{grid-column:1/-1}}@media(max-width:640px){.bpb-basket-item{grid-template-columns:1fr}.bpb-basket-actions{justify-content:flex-start}.bpb-basket-footer{align-items:stretch;flex-direction:column}}

.bpb-field.is-locked{border-color:#c8c8c8!important;background:#f1f1f1!important;color:#777!important;cursor:not-allowed;filter:grayscale(1)}
.bpb-professional-help,.bpb-credit-panel{padding:1.25rem 1.4rem;border:1px solid #d9d9d9;border-left:5px solid var(--bpb-professional);border-radius:10px;background:#f7f9fc}
.bpb-professional-help{margin:0 0 1.25rem}.bpb-professional-help h3,.bpb-credit-panel h2{margin:0 0 .4rem}.bpb-professional-help p,.bpb-credit-panel p{margin:.35rem 0}
.bpb-xl-bully-info{display:block;margin:0;padding:.9rem 1.1rem;border:0;border-top:1px solid #ead8b5;border-radius:0;background:#fffaf0}.bpb-xl-bully-info span{display:block;margin-bottom:.12rem;color:#986000;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bpb-xl-bully-info h3{margin:0 0 .2rem;font-size:1rem;line-height:1.25}.bpb-xl-bully-info p{margin:0 0 .65rem;color:#666;font-size:.78rem;line-height:1.4}.bpb-xl-bully-info .button{min-height:32px;padding:.35rem .65rem!important;border:1px solid #c58a22!important;background:transparent!important;color:#704600!important;font-size:.72rem!important;font-weight:700}.bpb-xl-bully-info.is-standalone{box-sizing:border-box;width:min(960px,calc(100vw - 40px));margin:0 auto;border:1px solid #ead8b5;border-left:4px solid var(--bpb-private);border-radius:8px}.bpb-xl-bully-rules{margin:0;padding-left:1.3rem}.bpb-xl-bully-rules li{margin:.65rem 0;padding-left:.25rem;line-height:1.5}.bpb-xl-bully-rules li::marker{color:var(--bpb-private);font-weight:800}.bpb-xl-bully-links{justify-content:space-between!important}.bpb-xl-bully-links .button-primary{background:var(--bpb-ink)!important;border-color:var(--bpb-ink)!important;color:#fff!important}@media(max-width:650px){.bpb-xl-bully-info.is-standalone{width:100%;margin:0}.bpb-xl-bully-links{align-items:stretch!important;flex-direction:column!important}.bpb-xl-bully-links .button{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:44px}}
.bpb-professional-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0;padding:1rem;border:1px solid #cbd7e5;border-radius:10px;background:#f5f8fc}.bpb-professional-details[hidden]{display:none}.bpb-professional-details label{display:grid;gap:.35rem;font-weight:700}.bpb-professional-details select,.bpb-professional-details input{box-sizing:border-box;width:100%;padding:.7rem;border:1px solid #9eacba;border-radius:6px;background:#fff}.bpb-professional-details p{grid-column:1/-1;margin:0;color:#4f5d6b;font-size:.9rem}
.bpb-credit-panel{border-left-color:var(--bpb-private);background:var(--bpb-pale)}.bpb-credit-balance strong{font-size:1.7rem}.bpb-credit-panel form{margin-top:1rem}
@media(min-width:1350px){.bpb-login,.bpb-credit-panel{grid-column:1/-1}}@media(max-width:640px){.bpb-professional-details{grid-template-columns:1fr}.bpb-professional-details p{grid-column:auto}}
.bpb-manage-dogs{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bpb-professional);background:#fff;color:var(--bpb-professional);border-radius:5px;padding:.5rem .75rem;text-decoration:none}.bpb-manage-dogs:hover{background:var(--bpb-professional);color:#fff}@media(max-width:640px){.bpb-manage-dogs{grid-column:1/-1}}
.bpb-status.is-loading{box-sizing:border-box;display:flex;align-items:center;gap:.8rem;min-height:64px;padding:1rem 1.1rem;border:1px solid rgba(249,160,6,.5);border-left:5px solid var(--bpb-private);border-radius:9px;background:var(--bpb-pale);color:var(--bpb-dark);font-weight:700;box-shadow:0 5px 16px rgba(29,29,30,.07)}.bpb-status.is-loading::before{content:"";flex:0 0 auto;width:22px;height:22px;border:3px solid rgba(29,29,30,.18);border-top-color:var(--bpb-private);border-radius:50%;animation:bpb-loading-spin .75s linear infinite}.bpb-app.is-professional-field .bpb-status.is-loading{border-color:rgba(0,53,122,.35);border-left-color:var(--bpb-professional);background:#eef4fb}.bpb-app.is-professional-field .bpb-status.is-loading::before{border-top-color:var(--bpb-professional)}@keyframes bpb-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.bpb-status.is-loading::before{animation:none;border-color:var(--bpb-private)}.bpb-app.is-professional-field .bpb-status.is-loading::before{border-color:var(--bpb-professional)}}
.bpb-system-credit{box-sizing:border-box;width:min(1180px,100%);margin:1.25rem auto 0;padding:1rem;border-top:1px solid #ddd;color:#707070;text-align:center}.bpb-system-credit small{font-size:.72rem;line-height:1.5}
.bpb-booking-terms{box-sizing:border-box;width:min(680px,calc(100vw - 28px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:14px;background:#fff;color:#1d1d1e;box-shadow:0 28px 80px rgba(0,0,0,.4);overflow:auto}.bpb-booking-terms::backdrop{background:rgba(15,20,20,.68);backdrop-filter:blur(2px)}.bpb-booking-terms-accent{height:7px;background:#f9a006}.bpb-booking-terms>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.35rem 1.5rem 1.1rem;border-bottom:1px solid #e2e2e2}.bpb-booking-terms>header span{display:block;margin-bottom:.25rem;color:#9a6200;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.bpb-booking-terms>header h2{margin:0!important;color:#1d1d1e!important;font-size:1.55rem!important;line-height:1.2!important}.bpb-booking-terms-close{flex:0 0 auto;width:38px;height:38px;padding:0!important;border:1px solid #ccc!important;border-radius:50%!important;background:#fff!important;color:#1d1d1e!important;font-size:25px!important;line-height:32px!important;cursor:pointer}.bpb-booking-terms-content{padding:1.3rem 1.5rem}.bpb-booking-terms-content>p{margin:0 0 1rem;color:#555}.bpb-booking-rules{display:grid;gap:.75rem;margin:0!important;padding:0!important;list-style:none!important}.bpb-booking-rules li{display:grid;grid-template-columns:34px 1fr;gap:.8rem;margin:0!important;padding:1rem;border:1px solid #e1e1e1;border-radius:9px;background:#fafafa;list-style:none!important}.bpb-booking-rules li>span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#f9a006;color:#251800;font-size:.85rem;font-weight:800}.bpb-booking-rules strong{display:block;color:#1d1d1e}.bpb-booking-rules p{margin:.3rem 0 0;color:#555;font-size:.88rem;line-height:1.5}.bpb-booking-rules-confirm{display:flex;align-items:flex-start;gap:.65rem;margin-top:1rem;padding:1rem;border:2px solid #f9a006;border-radius:9px;background:#fff8eb;color:#1d1d1e;font-weight:700;cursor:pointer}.bpb-booking-rules-confirm input{flex:0 0 auto;width:19px;height:19px;margin:.1rem 0 0!important}.bpb-booking-terms>footer{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;padding:1rem 1.5rem;border-top:1px solid #ddd;background:#f6f6f6}.bpb-booking-rules-continue{background:#1d1d1e!important;border-color:#1d1d1e!important;color:#fff!important}.bpb-booking-rules-continue:disabled{background:#aaa!important;border-color:#aaa!important;color:#fff!important;cursor:not-allowed!important}@media(max-width:560px){.bpb-booking-terms{max-height:calc(100vh - 20px)}.bpb-booking-terms>header,.bpb-booking-terms-content,.bpb-booking-terms>footer{padding-left:1rem;padding-right:1rem}.bpb-booking-terms>header h2{font-size:1.3rem!important}.bpb-booking-terms>footer{align-items:stretch;flex-direction:column-reverse}.bpb-booking-terms>footer .button{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:44px}.bpb-booking-rules li{padding:.85rem}}

/* 1.0.4 booking-page layout and field colour system */
.bpb-app{--bpb-private:#f5a000;--bpb-private-dark:#8c5600;--bpb-private-pale:#fff7e6;--bpb-professional:#28558b;--bpb-professional-dark:#17395f;--bpb-professional-pale:#eef4fb;--bpb-ink:#242424;--bpb-line:#e1e1e1;gap:1.5rem}
.bpb-picker,.bpb-basket,.bpb-my-bookings{border-color:var(--bpb-line);border-radius:12px;box-shadow:0 10px 28px rgba(24,31,40,.08)}
.bpb-picker{border-top:5px solid var(--bpb-private);padding-top:1.5rem}.bpb-app.is-professional-field .bpb-picker{border-top-color:var(--bpb-professional)}
.bpb-picker>h2,.bpb-basket h2,.bpb-credit-panel h2,.bpb-my-bookings h2{color:var(--bpb-ink);font-weight:700;letter-spacing:-.015em}
.bpb-picker>h2{margin:0 0 1rem;font-size:1.6rem}
.bpb-fields{gap:1rem;margin:0 0 1.35rem}.bpb-field{position:relative;min-height:88px;padding:1.05rem 1.15rem 1rem 1.35rem;border-width:1px;border-radius:9px;overflow:hidden;box-shadow:none}.bpb-field:before{position:absolute;inset:0 auto 0 0;width:6px;content:""}.bpb-field strong{font-size:.95rem;letter-spacing:.025em;text-transform:uppercase}.bpb-field span{font-size:.78rem;font-weight:600;letter-spacing:.035em;text-transform:uppercase}
.bpb-field[data-field="pet-owners"]{border-color:#e8be6a;background:var(--bpb-private-pale);color:#5d3a00}.bpb-field[data-field="pet-owners"]:before{background:var(--bpb-private)}.bpb-field[data-field="pet-owners"]:hover{border-color:var(--bpb-private);box-shadow:0 5px 16px rgba(245,160,0,.16)}.bpb-field[data-field="pet-owners"].is-active{background:var(--bpb-private);border-color:var(--bpb-private);color:#251700;box-shadow:0 7px 18px rgba(245,160,0,.25)}.bpb-field[data-field="pet-owners"].is-active:before{background:var(--bpb-private-dark)}
.bpb-field[data-field="professional"]{border-color:#9db3cc;background:var(--bpb-professional-pale);color:var(--bpb-professional-dark)}.bpb-field[data-field="professional"]:before{background:var(--bpb-professional)}.bpb-field[data-field="professional"]:hover:not(:disabled){border-color:var(--bpb-professional);box-shadow:0 5px 16px rgba(40,85,139,.16)}.bpb-field[data-field="professional"].is-active{background:var(--bpb-professional);border-color:var(--bpb-professional);color:#fff;box-shadow:0 7px 18px rgba(40,85,139,.25)}.bpb-field[data-field="professional"].is-active:before{background:var(--bpb-professional-dark)}
.bpb-field.is-locked{border-color:#d5d5d5!important;background:#f5f5f5!important;color:#777!important;opacity:.82;filter:none}.bpb-field.is-locked:before{background:#aaa!important}
.bpb-inline-calendar{margin:0 0 1.25rem;border-color:var(--bpb-line);border-radius:10px;background:#fcfcfc}.bpb-calendar-header{padding-bottom:.8rem;border-bottom:1px solid #ececec}.bpb-calendar-day{border-color:#dedede;background:#fff}.bpb-calendar-day:hover:not(:disabled){border-color:var(--bpb-private);background:var(--bpb-private-pale);color:var(--bpb-private-dark)}.bpb-calendar-day.is-selected{background:var(--bpb-private);border-color:var(--bpb-private);color:#1f1500}.bpb-app.is-professional-field .bpb-calendar-day:hover:not(:disabled){background:var(--bpb-professional-pale);color:var(--bpb-professional-dark)}.bpb-app.is-professional-field .bpb-calendar-day.is-selected{background:var(--bpb-professional);color:#fff}
.bpb-slot:hover:not(:disabled),.bpb-slot.is-selected{background:var(--bpb-private);border-color:var(--bpb-private);color:#1f1500}.bpb-app.is-professional-field .bpb-slot:hover:not(:disabled),.bpb-app.is-professional-field .bpb-slot.is-selected{background:var(--bpb-professional);border-color:var(--bpb-professional);color:#fff}.bpb-submit{min-height:44px;padding:.7rem 1.2rem!important;background:var(--bpb-private)!important;border-color:var(--bpb-private)!important;color:#211500!important}.bpb-app.is-professional-field .bpb-submit{background:var(--bpb-professional)!important;border-color:var(--bpb-professional)!important;color:#fff!important}.bpb-submit:disabled{background:#aaa!important;border-color:#aaa!important;color:#fff!important}
.bpb-basket{padding:0;overflow:hidden;border-top:5px solid var(--bpb-ink);background:#fff}.bpb-basket-heading{padding:1.35rem 1.35rem 1rem;border-bottom:1px solid var(--bpb-line);background:#fafafa}.bpb-basket-heading h2{margin:0;font-size:1.35rem}.bpb-basket-heading p{margin:.4rem 0 0;color:#686868;font-size:.83rem;line-height:1.45}.bpb-basket-items{display:grid;gap:.8rem;padding:1rem 1.1rem}.bpb-basket-empty{margin:0;padding:1.2rem;border:1px dashed #ccc;border-radius:8px;text-align:center;color:#707070;background:#fafafa}
.bpb-basket-item{display:grid;grid-template-columns:1fr;gap:.85rem;margin:0;padding:1rem;border:1px solid #ead8b5;border-left:6px solid var(--bpb-private);border-radius:9px;background:var(--bpb-private-pale);box-shadow:0 3px 10px rgba(32,32,32,.05)}.bpb-basket-item.is-professional{border-color:#c7d5e5;border-left-color:var(--bpb-professional);background:var(--bpb-professional-pale)}.bpb-basket-item.is-expired{opacity:.62;filter:grayscale(.35)}.bpb-basket-item>div:first-child{gap:.35rem}.bpb-basket-field-name{color:var(--bpb-private-dark);font-size:1rem;line-height:1.3}.bpb-basket-item.is-professional .bpb-basket-field-name{color:var(--bpb-professional-dark)}.bpb-basket-schedule{color:#303030;font-weight:600;line-height:1.4}.bpb-basket-meta{color:#646464;font-size:.84rem;line-height:1.45}.bpb-basket-timer{justify-self:start;margin-top:.15rem;padding:.25rem .5rem;border-radius:999px;background:#fff;color:#666;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em}
.bpb-basket-actions{justify-content:flex-start;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.09)}.bpb-basket-actions button{min-height:34px;padding:.45rem .75rem;border-color:#9d9d9d;background:#fff;font-size:.76rem;font-weight:700;text-transform:uppercase}.bpb-basket-actions button:last-child{margin-left:auto}.bpb-basket-footer{display:grid;grid-template-columns:1fr;margin:0;padding:1rem 1.1rem 1.15rem;border-top:1px solid var(--bpb-line);background:#fafafa}.bpb-basket-subtotal{display:block;color:var(--bpb-ink);font-size:1.05rem}.bpb-basket-checkout{display:flex!important;align-items:center;justify-content:center;min-height:46px;width:100%;padding:.7rem 1rem!important;background:var(--bpb-ink)!important;border-color:var(--bpb-ink)!important;font-weight:700;text-align:center}
.bpb-credit-panel{border:1px solid #efd6a2;border-left:6px solid var(--bpb-private);border-radius:10px;box-shadow:0 6px 18px rgba(32,32,32,.05)}.bpb-my-bookings{border-top:5px solid var(--bpb-ink)}.bpb-booking-card{position:relative;padding:1rem 1rem 1rem 1.25rem}.bpb-booking-card:before{position:absolute;inset:.75rem auto .75rem 0;width:5px;border-radius:4px;content:"";background:var(--bpb-private)}.bpb-booking-card.is-professional:before{background:var(--bpb-professional)}
.bpb-credit-panel .button,.bpb-credit-panel .button *,.bpb-credit-panel .button .woocommerce-Price-amount,.bpb-credit-panel .button .woocommerce-Price-currencySymbol,.bpb-credit-panel .button bdi{color:#211500!important}.bpb-credit-panel .button{background:var(--bpb-private)!important;border-color:var(--bpb-private)!important;font-weight:700}.bpb-credit-panel .button:hover,.bpb-credit-panel .button:focus{background:#d98d00!important;border-color:#d98d00!important;color:#171000!important}
.bpb-customer-loyalty{display:inline-flex;align-items:center;gap:.45rem;margin:.15rem 0 .85rem!important;padding:.45rem .7rem;border:1px solid #b9cbe0;border-radius:999px;background:var(--bpb-professional-pale);color:var(--bpb-professional-dark);font-size:.86rem;font-weight:600}.bpb-customer-loyalty strong{font-size:1rem}
.bpb-calendar-day.has-capacity:not(.is-selected){background:linear-gradient(to top,rgba(245,160,0,.48) 0 var(--bpb-fill,0%),#fff var(--bpb-fill,0%) 100%);border-color:#d6ae5e;transition:background .25s ease,border-color .15s ease,transform .15s ease}.bpb-app.is-professional-field .bpb-calendar-day.has-capacity:not(.is-selected){background:linear-gradient(to top,rgba(40,85,139,.42) 0 var(--bpb-fill,0%),#fff var(--bpb-fill,0%) 100%);border-color:#8fa9c7}.bpb-calendar-day.has-capacity:hover:not(:disabled):not(.is-selected){transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.12)}
@media(min-width:1100px){.bpb-app:is(.is-customer,.is-visitor){box-sizing:border-box;width:min(1180px,calc(100vw - 48px));position:relative;left:50%;transform:translateX(-50%);grid-template-columns:minmax(0,1fr) 350px;align-items:start}.bpb-app:is(.is-customer,.is-visitor) .bpb-login{grid-column:1/-1}.bpb-app:is(.is-customer,.is-visitor) .bpb-picker{grid-column:1;grid-row:2;width:auto!important;position:static!important;left:auto!important;transform:none!important}.bpb-app:is(.is-customer,.is-visitor) .bpb-basket-rail{grid-column:2;grid-row:2 / span 2;align-self:stretch;min-width:0}.bpb-app:is(.is-customer,.is-visitor) .bpb-basket-rail .bpb-basket{position:sticky;top:24px}.bpb-app.is-customer .bpb-credit-panel{grid-column:1;grid-row:3}.bpb-app.is-customer .bpb-my-bookings{grid-column:1/-1;grid-row:4}}
@media(max-width:1099px){.bpb-picker{box-sizing:border-box;width:100%!important;max-width:none;position:static!important;left:auto!important;transform:none!important}.bpb-basket-rail,.bpb-basket{position:static}.bpb-basket-heading,.bpb-basket-items,.bpb-basket-footer{padding-left:1.25rem;padding-right:1.25rem}}
@media(max-width:640px){.bpb-field{min-height:78px}.bpb-basket-actions button:last-child{margin-left:0}.bpb-basket-footer{align-items:stretch}}
.bpb-fields .bpb-field:not(.is-locked){border-color:var(--bpb-field-colour,#f5a000)}.bpb-fields .bpb-field:not(.is-locked):before{background:var(--bpb-field-colour,#f5a000)}.bpb-fields .bpb-field:not(.is-locked).is-active{border-color:var(--bpb-field-colour,#f5a000);background:var(--bpb-field-colour,#f5a000);color:#171717}.bpb-app .bpb-picker{border-top-color:var(--bpb-selected-field,#f5a000)}.bpb-basket-item{border-left-color:var(--bpb-item-field,var(--bpb-private))}.bpb-slot:hover:not(:disabled),.bpb-slot.is-selected,.bpb-app.is-professional-field .bpb-slot:hover:not(:disabled),.bpb-app.is-professional-field .bpb-slot.is-selected{border-color:var(--bpb-selected-field,#f5a000);background:var(--bpb-selected-field,#f5a000);color:#171717}
.bpb-booking-length{margin:16px 0}.bpb-booking-length>strong{display:block;margin-bottom:8px}.bpb-booking-length-options{display:flex;flex-wrap:wrap;gap:8px}.bpb-booking-length-option{padding:9px 14px;border:1px solid #cfcfcf;border-radius:5px;background:#fff;color:#242424;cursor:pointer}.bpb-booking-length-option.is-active{border-color:var(--bpb-selected-field,#f5a000);background:color-mix(in srgb,var(--bpb-selected-field,#f5a000) 12%,#fff);box-shadow:inset 0 0 0 1px var(--bpb-selected-field,#f5a000)}.bpb-booking-length-option:disabled{cursor:default;opacity:.75}
.bpb-basket-visitor{padding:1.15rem;border:1px dashed #ccc;border-radius:8px;background:#fafafa;text-align:center}.bpb-basket-visitor p{margin:0 0 .9rem;color:#686868}.bpb-basket-visitor .button{display:flex!important;align-items:center;justify-content:center;min-height:42px;background:var(--bpb-ink)!important;border-color:var(--bpb-ink)!important;color:#fff!important;font-weight:700}
.bpb-booking-feedback{box-sizing:border-box;margin:1rem 0;padding:1rem 1.1rem 1rem 3rem;border:1px solid #d63638;border-left:6px solid #b32d2e;border-radius:8px;background:#fff1f1;color:#681c1d;font-weight:700;line-height:1.45;position:relative}.bpb-booking-feedback[hidden]{display:none}.bpb-booking-feedback:before{position:absolute;left:1rem;top:.95rem;content:"!";display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#b32d2e;color:#fff;font-size:.85rem;font-weight:800}.bpb-booking-feedback:focus{outline:3px solid rgba(179,45,46,.25);outline-offset:2px}
.bpb-slot.is-included{position:relative;opacity:1!important;text-decoration:none!important}.bpb-slot.is-included:after{position:absolute;top:2px;right:4px;content:"\2713";font-size:.72rem;font-weight:800}.bpb-slot.is-selected-start{box-shadow:inset 0 0 0 2px rgba(255,255,255,.72)}
