.bdr-booking-portal{overflow:visible}
.bdr-booking-form{margin-top:54px}
.bdr-booking-step{scroll-margin-top:140px;padding:52px 0;border-top:1px solid rgba(27,27,27,.13);transition:opacity .2s ease}
.bdr-booking-step.is-locked{opacity:.42;pointer-events:none}
.bdr-booking-step-head{display:grid;grid-template-columns:58px minmax(0,1fr);gap:28px;align-items:start;margin-bottom:30px}
.bdr-booking-step-head>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(27,27,27,.15);font-size:11px;letter-spacing:.14em;color:var(--bdr-red)}
.bdr-booking-step-head small,.bdr-booking-active>small,.bdr-booking-success>small{display:block;margin:0 0 8px;color:var(--bdr-red);font-size:9px;font-weight:600;letter-spacing:.21em;text-transform:uppercase}
.bdr-booking-step-head h2{margin:0;font-family:var(--bdr-serif);font-size:clamp(31px,3.7vw,45px);font-weight:300;line-height:1.04;letter-spacing:-.02em}
.bdr-booking-step-head p{max-width:760px;margin:12px 0 0;color:rgba(27,27,27,.58);font-size:13px;line-height:1.65}
.bdr-booking-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(27,27,27,.12);border:1px solid rgba(27,27,27,.12)}
.bdr-booking-type{appearance:none;-webkit-appearance:none;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:18px;align-items:center;min-height:104px;margin:0;padding:22px 24px;border:0;background:#fff;color:var(--bdr-ink);text-align:left;cursor:pointer;transition:background .18s ease,box-shadow .18s ease}
.bdr-booking-type:hover{background:#faf8f4}
.bdr-booking-type.is-selected{position:relative;z-index:1;background:#f7f4ef;box-shadow:inset 3px 0 0 var(--bdr-red)}
.bdr-booking-type small{color:var(--bdr-red);font-size:10px;letter-spacing:.16em}
.bdr-booking-type strong{font-family:var(--bdr-serif);font-size:22px;line-height:1.14;font-weight:300}
.bdr-booking-type span{color:rgba(27,27,27,.48);font-size:11px;white-space:nowrap}
.bdr-booking-choice-status{margin-bottom:18px;color:rgba(27,27,27,.52);font-size:13px}
.bdr-booking-dates,.bdr-booking-times{display:flex;flex-wrap:wrap;gap:10px}
.bdr-booking-date,.bdr-booking-time{appearance:none;-webkit-appearance:none;min-width:118px;min-height:64px;padding:12px 16px;border:1px solid rgba(27,27,27,.16);background:#fff;color:var(--bdr-ink);cursor:pointer;text-align:center;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.bdr-booking-date:hover,.bdr-booking-time:hover{border-color:rgba(186,75,64,.58);transform:translateY(-1px)}
.bdr-booking-date.is-selected,.bdr-booking-time.is-selected{border-color:var(--bdr-red);background:#f8f3ef}
.bdr-booking-date small{display:block;margin-bottom:4px;color:rgba(27,27,27,.48);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.bdr-booking-date strong{display:block;font-family:var(--bdr-serif);font-size:19px;font-weight:300}
.bdr-booking-time{min-width:92px;min-height:50px;font-family:var(--bdr-serif);font-size:18px}
.bdr-booking-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:28px;background:rgba(27,27,27,.11);border:1px solid rgba(27,27,27,.11)}
.bdr-booking-contact>div,.bdr-booking-contact>label{min-width:0;padding:20px 22px;background:#fff}
.bdr-booking-contact small,.bdr-booking-summary small{display:block;margin-bottom:8px;color:rgba(27,27,27,.46);font-size:9px;letter-spacing:.16em}
.bdr-booking-contact strong{display:block;overflow-wrap:anywhere;font-size:14px;font-weight:500}
.bdr-booking-contact input{width:100%;height:42px;border:1px solid rgba(27,27,27,.16);border-radius:0;background:#fff;padding:0 12px;font:inherit}
.bdr-booking-address{border:1px solid rgba(27,27,27,.13);background:#fff}
.bdr-booking-place-autocomplete{min-height:55px}
.bdr-booking-field{display:block}
.bdr-booking-field>span{display:block;margin-bottom:10px;color:rgba(27,27,27,.62);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.bdr-booking-field>span em{font-style:normal;font-weight:400;color:rgba(27,27,27,.4);text-transform:none;letter-spacing:0}
.bdr-booking-address>.bdr-booking-field{padding:24px 24px 18px}
.bdr-booking-map{height:390px;background:#ece8e1}
.bdr-booking-map.has-runtime-error{display:grid;place-items:center;text-align:center;padding:30px}
.bdr-booking-map-error strong{display:block;margin-bottom:8px;font-family:var(--bdr-serif);font-size:25px;font-weight:300;color:var(--bdr-red)}
.bdr-booking-map-error span{font-size:13px;color:rgba(27,27,27,.55)}
.bdr-booking-address-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:20px 24px;border-top:1px solid rgba(27,27,27,.10);background:#f8f5f0}
.bdr-booking-address-card small{display:block;margin-bottom:6px;color:var(--bdr-red);font-size:9px;letter-spacing:.16em}
.bdr-booking-address-card strong{display:block;font-family:var(--bdr-serif);font-size:20px;font-weight:300;line-height:1.25}
.bdr-booking-address-card span{display:block;margin-top:6px;color:rgba(27,27,27,.44);font-size:10px}
.bdr-booking-address-card button,.bdr-booking-review-button{appearance:none;-webkit-appearance:none;min-height:46px;padding:0 22px;border:1px solid rgba(27,27,27,.18);background:#fff;color:var(--bdr-ink);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.bdr-booking-address-card button:disabled{cursor:default;color:rgba(27,27,27,.48);background:#f2eee7}
.bdr-booking-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.bdr-booking-field-wide{grid-column:1/-1}
.bdr-booking-detail-grid input,.bdr-booking-detail-grid textarea{width:100%;box-sizing:border-box;border:1px solid rgba(27,27,27,.15);border-radius:0;background:#fff;color:var(--bdr-ink);font-family:var(--bdr-sans);font-size:14px}
.bdr-booking-detail-grid input{height:52px;padding:0 16px}
.bdr-booking-detail-grid textarea{padding:14px 16px;resize:vertical}
.bdr-booking-review-button{margin-top:24px;min-height:52px;border-left:3px solid var(--bdr-red)}
.bdr-booking-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(27,27,27,.13);border-bottom:1px solid rgba(27,27,27,.13)}
.bdr-booking-summary>div{padding:22px 20px 24px 0}
.bdr-booking-summary>div+div{padding-left:22px;border-left:1px solid rgba(27,27,27,.10)}
.bdr-booking-summary .bdr-summary-wide{grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid rgba(27,27,27,.10)}
.bdr-booking-summary strong{font-family:var(--bdr-serif);font-size:21px;font-weight:300;line-height:1.3}
.bdr-booking-submit{margin-top:28px;min-width:280px}
.bdr-booking-privacy{max-width:720px;margin:15px 0 0;color:rgba(27,27,27,.46);font-size:11px;line-height:1.55}
.bdr-booking-success,.bdr-booking-active{margin:38px 0 20px;padding:30px 32px;border:1px solid rgba(27,27,27,.12);border-left:3px solid var(--bdr-red);background:#fff}
.bdr-booking-success strong,.bdr-booking-active>strong{display:block;font-family:var(--bdr-serif);font-size:clamp(27px,3vw,38px);line-height:1.08;font-weight:300}
.bdr-booking-success p,.bdr-booking-active p{max-width:760px;margin:12px 0 0;color:rgba(27,27,27,.58);font-size:13px;line-height:1.65}
.bdr-booking-active>span{display:block;margin-top:10px;color:rgba(27,27,27,.55);font-size:12px;line-height:1.5}
.bdr-booking-active .bdr-inline-button{margin-top:22px}
.bdr-booking-active.is-requested{background:#f8f5f0}
gmp-place-autocomplete{width:100%;--gmpx-color-surface:#fff;--gmpx-color-on-surface:#1b1b1b}

@media(max-width:760px){
	.bdr-booking-form{margin-top:40px}.bdr-booking-step{padding:42px 0}.bdr-booking-step-head{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.bdr-booking-step-head>span{width:42px;height:42px}.bdr-booking-step-head h2{font-size:34px}.bdr-booking-types{grid-template-columns:1fr}.bdr-booking-type{grid-template-columns:40px minmax(0,1fr) auto;min-height:92px;padding:18px}.bdr-booking-type strong{font-size:20px}.bdr-booking-date{min-width:calc(50% - 5px);flex:1 1 calc(50% - 5px)}.bdr-booking-time{min-width:calc(25% - 8px);flex:1 1 calc(25% - 8px)}.bdr-booking-contact{grid-template-columns:1fr}.bdr-booking-map{height:330px}.bdr-booking-address-card{grid-template-columns:1fr}.bdr-booking-address-card button{width:100%}.bdr-booking-detail-grid{grid-template-columns:1fr}.bdr-booking-field-wide{grid-column:auto}.bdr-booking-summary{grid-template-columns:1fr}.bdr-booking-summary>div,.bdr-booking-summary>div+div,.bdr-booking-summary .bdr-summary-wide{grid-column:auto;padding:18px 0;border-left:0;border-top:1px solid rgba(27,27,27,.10)}.bdr-booking-summary>div:first-child{border-top:0}.bdr-booking-submit{width:100%;min-width:0}.bdr-booking-success,.bdr-booking-active{padding:26px 22px}
}
.bdr-booking-more-dates{appearance:none;-webkit-appearance:none;min-height:64px;padding:0 22px;border:1px dashed rgba(27,27,27,.20);background:transparent;color:rgba(27,27,27,.65);font-size:10px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;cursor:pointer}
.bdr-booking-more-dates:hover{border-color:rgba(186,75,64,.55);color:var(--bdr-ink)}
.bdr-booking-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(27,27,27,.12);border:1px solid rgba(27,27,27,.12)}
.bdr-booking-mode{appearance:none;-webkit-appearance:none;display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px 18px;align-items:start;min-height:132px;padding:24px;border:0;background:#fff;color:var(--bdr-ink);text-align:left;cursor:pointer;transition:background .18s ease,box-shadow .18s ease}
.bdr-booking-mode small{grid-row:1/3;color:var(--bdr-red);font-size:10px;letter-spacing:.16em}.bdr-booking-mode strong{font-family:var(--bdr-serif);font-size:25px;line-height:1.1;font-weight:300}.bdr-booking-mode span{color:rgba(27,27,27,.52);font-size:12px;line-height:1.55}.bdr-booking-mode:hover{background:#faf8f4}.bdr-booking-mode.is-selected{background:#f7f4ef;box-shadow:inset 3px 0 0 var(--bdr-red)}.bdr-booking-mode.is-disabled{opacity:.42;cursor:not-allowed}
.bdr-party-size-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:24px;background:rgba(27,27,27,.12);border:1px solid rgba(27,27,27,.12)}
.bdr-party-size{appearance:none;-webkit-appearance:none;min-height:82px;border:0;background:#fff;color:var(--bdr-ink);cursor:pointer}.bdr-party-size strong{display:block;font-family:var(--bdr-serif);font-size:28px;font-weight:300}.bdr-party-size span{display:block;margin-top:3px;color:rgba(27,27,27,.5);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.bdr-party-size.is-selected{background:#f7f4ef;box-shadow:inset 0 -3px 0 var(--bdr-red)}
.bdr-participant-list{display:grid;gap:14px}.bdr-participant-card{display:block;padding:24px 22px;border:1px solid rgba(27,27,27,.12);background:#fff}.bdr-participant-card[hidden]{display:none!important}.bdr-participant-head{margin-bottom:22px}.bdr-participant-head small{display:block;margin-bottom:8px;color:var(--bdr-red);font-size:9px;letter-spacing:.18em}.bdr-participant-head strong{font-family:var(--bdr-serif);font-size:22px;font-weight:300}.bdr-participant-card>.bdr-booking-field{display:block;width:100%;margin:0 0 22px}.bdr-participant-card>.bdr-booking-field input{display:block;width:100%;height:52px;box-sizing:border-box;border:1px solid rgba(27,27,27,.15);border-radius:0;background:#fff;color:var(--bdr-ink);padding:0 16px;font:inherit}.bdr-sizing-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:20px;border-top:1px solid rgba(27,27,27,.08)}.bdr-sizing-fields[hidden]{display:none}.bdr-sizing-fields input,.bdr-sizing-fields select{width:100%;height:48px;border:1px solid rgba(27,27,27,.15);border-radius:0;background:#fff;padding:0 12px;font:inherit}.bdr-field-with-suffix{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.bdr-field-with-suffix em{font-style:normal;color:rgba(27,27,27,.45);font-size:11px}.bdr-duration-preview{margin:16px 0 0;color:rgba(27,27,27,.58);font-size:12px}
.bdr-fixed-location{padding:30px;border:1px solid rgba(27,27,27,.13);background:#f8f5f0}.bdr-fixed-location>small{display:block;margin-bottom:8px;color:var(--bdr-red);font-size:9px;letter-spacing:.18em}.bdr-fixed-location h3{margin:0;font-family:var(--bdr-serif);font-size:30px;font-weight:300}.bdr-fixed-location p{margin:10px 0 0;font-size:15px;color:rgba(27,27,27,.62)}.bdr-booking-navigation{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.bdr-booking-navigation a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid rgba(27,27,27,.18);color:var(--bdr-ink);text-decoration:none;font-size:9px;font-weight:600;letter-spacing:.12em}.bdr-booking-navigation a:hover{border-color:rgba(186,75,64,.5)}
@media(max-width:760px){.bdr-booking-modes{grid-template-columns:1fr}.bdr-party-size-options{grid-template-columns:repeat(2,minmax(0,1fr))}.bdr-sizing-fields{grid-template-columns:1fr 1fr}.bdr-booking-mode{min-height:112px}.bdr-fixed-location{padding:24px 20px}}
@media(max-width:440px){.bdr-sizing-fields{grid-template-columns:1fr}.bdr-party-size-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bdr-booking-contact-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.bdr-booking-contact-actions>a:not(.bdr-button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:1px solid rgba(27,27,27,.14);background:#fff;color:#1b1b1b;font-size:9px;font-weight:600;letter-spacing:.11em;text-decoration:none}.bdr-booking-contact-actions>a:not(.bdr-button):hover{border-color:rgba(186,75,64,.45)}@media(max-width:640px){.bdr-booking-contact-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.bdr-booking-contact-actions .bdr-button{grid-column:1/-1;width:100%}.bdr-booking-contact-actions>a:not(.bdr-button){padding:0 7px;font-size:8px}}
