.booking-picker{--booking-accent:#03170a;box-sizing:border-box;position:relative;width:min(600px,100%);min-height:100%;padding:14px 20px 92px;background:#fff;color:#111;font:14px/1.35 Arial,sans-serif}.booking-picker *{box-sizing:border-box}.booking-picker button{font:inherit}.booking-picker h2{margin:18px 0;font-size:21px}.booking-picker h3{margin:18px 0 10px;font-size:17px}.booking-picker__header{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;min-height:46px}.booking-picker__identity{display:grid}.booking-picker__identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-picker__identity span,.booking-picker__business p,.booking-picker__resource-data span,.booking-picker__service-row span,.booking-picker__status{color:#7b7b7b}.booking-picker__icon{border:0;background:transparent;font-size:26px;cursor:pointer}.booking-picker__business{padding:20px 12px 8px;border-radius:22px}.booking-picker__business h2,.booking-picker__business p{margin:0 0 6px}.booking-picker__menu{display:grid;gap:4px}.booking-picker__menu-item{display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:8px;width:100%;padding:9px 4px;border:0;background:#fff;text-align:left;cursor:pointer}.booking-picker__menu-item.is-selected{color:var(--booking-accent)}.booking-picker__menu-icon,.booking-picker__avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f0f0f0}.booking-picker__chevron{margin-left:auto;color:#777;font-size:22px}.booking-picker__cards,.booking-picker__resource-list,.booking-picker__service-list,.booking-picker__reviews{display:grid;gap:10px}.booking-picker__branch{display:grid;grid-template-columns:1fr 22px;padding:15px;border:1px solid #ddd;border-radius:12px;background:#fff;text-align:left}.booking-picker__branch span:not(.booking-picker__chevron){grid-column:1;color:#777}.booking-picker__branch .booking-picker__chevron{grid-column:2;grid-row:1/3}.booking-picker__branch.is-selected{border-color:var(--booking-accent)}.booking-picker__resource-card{position:relative;display:grid;grid-template-columns:42px 1fr 30px 24px;align-items:start;gap:10px;min-height:58px;padding:10px 0;border:0;background:#fff;text-align:left}.booking-picker__resource-card.is-selected .booking-picker__radio{background:var(--booking-accent);box-shadow:inset 0 0 0 4px #fff;border-color:#aaa}.booking-picker__avatar{object-fit:cover}.booking-picker__resource-data{display:grid}.booking-picker__rating,.booking-picker__star.is-active{color:#f5b41b!important}.booking-picker__radio{width:16px;height:16px;margin-top:5px;border:1px solid #ddd;border-radius:50%}.booking-picker__choose{position:absolute;inset:0;border:0;background:transparent;cursor:pointer}.booking-picker__info{position:relative;z-index:2;border:0;background:transparent;cursor:pointer}.booking-picker__profile{text-align:center;padding:18px;border-radius:22px;background:#fff}.booking-picker__profile-photo{width:88px;height:88px;margin:auto;border-radius:50%;object-fit:cover;background:#eee;display:grid;place-items:center;font-size:28px}.booking-picker__profile h2,.booking-picker__profile p{margin:5px}.booking-picker__review-form{display:grid;gap:10px;padding:14px;border:1px solid #e5e5e5;border-radius:14px}.booking-picker__review-form input,.booking-picker__review-form textarea{width:100%;padding:11px;border:1px solid #ddd;border-radius:9px}.booking-picker__stars{display:flex;justify-content:center}.booking-picker__star{border:0;background:transparent;color:#d5d5d5;font-size:24px}.booking-picker__review-submit{padding:10px;border:0;border-radius:9px}.booking-picker__review{display:grid;gap:3px;padding:10px 0}.booking-picker__review p{margin:3px 0}.booking-picker__tabs{display:flex;gap:8px;overflow:auto;margin-bottom:14px}.booking-picker__tab{padding:9px 11px;border:0;border-radius:7px;background:#eee;white-space:nowrap}.booking-picker__tab.is-active{background:var(--booking-accent);color:#fff}.booking-picker__service-row{display:grid;grid-template-columns:1fr 28px;gap:3px;width:100%;padding:8px 4px;border:0;background:#fff;text-align:left}.booking-picker__service-row strong,.booking-picker__service-row span:not(.booking-picker__check){grid-column:1}.booking-picker__check{grid-column:2;grid-row:1/4;display:grid;place-items:center;width:17px;height:17px;margin-top:4px;border:1px solid #ddd;border-radius:3px}.booking-picker__service-row.is-selected .booking-picker__check{border-color:var(--booking-accent);background:var(--booking-accent);color:#fff}.booking-picker__month{display:flex;align-items:center;gap:5px}.booking-picker__month strong{margin-right:auto}.booking-picker__calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:12px 0 18px}.booking-picker__weekday,.booking-picker__day{text-align:center;padding:10px 2px}.booking-picker__weekday{color:#888;font-size:12px}.booking-picker__day{border:0;border-radius:9px;background:transparent}.booking-picker__day.is-disabled{color:#ccc}.booking-picker__day.is-available{color:#111;cursor:pointer}.booking-picker__day.is-selected,.booking-picker__slot.is-selected{background:var(--booking-accent);color:#fff}.booking-picker__load{width:100%;padding:11px;border:0;border-radius:9px;background:#eee}.booking-picker__slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.booking-picker__slot{padding:12px;border:0;border-radius:9px;background:#f0f0f0}.booking-picker__bottom,.booking-picker__sticky{position:sticky;z-index:3;bottom:0}.booking-picker__bottom{display:grid;grid-template-columns:1fr auto;gap:6px;margin:20px -20px -92px;padding:13px 20px 16px;border-top:1px solid #ddd;background:#fff}.booking-picker__bottom button{grid-column:1/3;width:100%;padding:13px}.booking-picker__sticky{width:100%;margin-top:18px;padding:13px}.booking-picker .primary{border:0;border-radius:10px;background:var(--booking-accent);color:#fff;font-weight:700}.booking-picker .primary:disabled{opacity:.45}.booking-picker__summary,.booking-picker__form{display:grid;gap:11px}.booking-picker__summary{padding:14px;border-radius:16px;background:#fafafa}.booking-picker__field{display:grid;gap:5px}.booking-picker__field input,.booking-picker__field textarea{width:100%;padding:11px;border:1px solid #ddd;border-radius:9px;font:inherit}.booking-picker__consent{display:flex;gap:8px;align-items:flex-start}.booking-picker__primary{width:100%;margin-top:12px;padding:13px}.booking-picker__error{padding:9px;border-radius:8px;background:#fff0ee;color:#b42318}.booking-picker__success{margin:65px auto 10px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e5f6ea;color:#08742d;font-size:32px}.booking-picker__success-text{color:#08742d}.booking-picker__brand{position:absolute;bottom:22px;left:0;width:100%;text-align:center;color:#888}.booking-picker__brand a{color:inherit;text-decoration:none;font-weight:700}
.booking-picker__review-link{display:block;padding:13px;text-align:center;text-decoration:none}.booking-picker__summary-row{display:grid;grid-template-columns:100px 1fr 28px;align-items:start;gap:8px}.booking-picker__edit{border:0;background:transparent;cursor:pointer}.booking-picker__total{text-align:right}
.booking-picker__result-details{display:grid;margin-top:24px;overflow:hidden;border:1px solid #ddd;border-radius:16px;background:#fafafa}.booking-picker__result-row{display:grid;grid-template-columns:42px minmax(110px,.7fr) minmax(0,1.3fr);align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid #e5e5e5}.booking-picker__result-row:last-child{border-bottom:0}.booking-picker__result-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:#eef4ff;color:#155eef}.booking-picker__result-icon svg{width:22px;height:22px}.booking-picker__result-label{color:#7b7b7b}.booking-picker__result-value{overflow-wrap:anywhere}.booking-picker__restart{display:flex!important;flex:0 0 auto;width:100%;margin:16px 0 4px!important;padding:15px;align-items:center;justify-content:center;gap:10px;font-size:16px!important}.booking-picker__restart svg{width:24px;height:24px}
@media(max-width:520px){.booking-picker{min-height:100dvh;padding:10px 12px 84px}.booking-picker__bottom{margin-left:-12px;margin-right:-12px;margin-bottom:-84px;padding-left:12px;padding-right:12px}.booking-picker__slot-grid{grid-template-columns:repeat(3,1fr)}}
.booking-picker{display:flex;flex-direction:column;width:100%;height:100%;padding-bottom:22px;background:#fff}
.booking-picker__header.is-home{min-height:64px}
.booking-picker__business{position:relative;display:flex;flex:1;flex-direction:column;padding:40px 12px 20px;border-radius:22px;background:#fff}
.booking-picker__business-logo{position:absolute;top:-32px;left:12px;display:block;width:120px;height:64px;object-fit:contain;object-position:left center}
.booking-picker__business-logo.is-placeholder{top:-28px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#d8d8d8;color:#666;font-size:22px;font-weight:700}
.booking-picker__menu-item,.booking-picker__menu-item:hover,.booking-picker__menu-item:focus{border:0!important;outline-offset:2px;box-shadow:none!important}
.booking-picker__brand{position:static;margin-top:auto;padding-top:22px}
@media(max-width:520px){.booking-picker{height:100dvh;padding-bottom:18px}.booking-picker__business{padding-top:40px}.booking-picker__brand{padding-top:18px}}
.booking-picker__header{grid-template-columns:24px minmax(0,1fr) 24px;min-height:52px}.booking-picker__identity{display:flex;min-width:0;align-items:center;gap:8px}.booking-picker__identity-text{display:grid;min-width:0}.booking-picker__header-logo{display:block;flex:0 0 auto;width:42px;height:42px;object-fit:contain}.booking-picker__header-logo.is-placeholder{display:grid;place-items:center;border-radius:50%;background:#eee}.booking-picker__icon{min-width:0!important;width:auto!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.booking-picker__close{font-size:20px}.booking-picker__resource-list{gap:12px}.booking-picker__resource-card{grid-template-columns:42px minmax(0,1fr) auto;min-height:58px;padding:8px 0;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}.booking-picker__resource-any{width:100%;align-items:center}.booking-picker__resource-data{min-width:0}.booking-picker__resource-data strong{overflow-wrap:anywhere}.booking-picker__resource-controls{position:relative;z-index:3;display:flex;align-items:center;gap:12px}.booking-picker__radio{display:block;flex:0 0 auto;margin-top:3px}.booking-picker__choose{position:absolute!important;z-index:1!important;inset:0!important;width:100%!important;height:100%!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.booking-picker__info{position:relative;z-index:4;min-width:0!important;width:auto!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.booking-picker__nearest{grid-column:2/4;display:grid;gap:6px;margin-top:-2px}.booking-picker__nearest-label{color:#777;font-size:12px}.booking-picker__nearest-times{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:6px}.booking-picker__nearest-slot{min-width:0!important;padding:8px 10px!important;border:0!important;border-radius:7px!important;background:#f0f0f0!important;box-shadow:none!important;font-size:12px}
.booking-picker__header{grid-template-columns:32px minmax(0,1fr) 32px}
.booking-picker__nearest-times{justify-self:start;width:fit-content;max-width:100%}
.booking-picker__resource-card[hidden],.booking-picker__resource-empty[hidden]{display:none!important}
.booking-picker .msweb-ui.booking-picker__sticky{margin-top:18px}
.booking-picker__header .booking-picker__icon:not(.booking-picker__close),.booking-picker__month .booking-picker__icon{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;padding:0!important;border:1px solid #d7dce5!important;border-radius:50%!important;background:#f7f8fa!important;color:#243247!important;box-shadow:0 2px 5px rgba(15,23,42,.14)!important;font-size:22px!important;line-height:1!important;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important}
.booking-picker__header .booking-picker__icon:not(.booking-picker__close):hover,.booking-picker__month .booking-picker__icon:hover{border-color:#bcc5d2!important;background:#fff!important;box-shadow:0 3px 8px rgba(15,23,42,.2)!important}
.booking-picker__header .booking-picker__icon:not(.booking-picker__close):active,.booking-picker__month .booking-picker__icon:active{transform:none!important;background:#e8ebf0!important;box-shadow:inset 0 1px 3px rgba(15,23,42,.18)!important}
.booking-picker[data-booking-mode="resource"] .booking-picker__resource-any,.booking-picker[data-booking-mode="resource"][data-screen="resources"] .booking-picker__sticky{display:none}
[data-theme="dark"] .booking-picker,.theme-dark .booking-picker{--booking-accent:#43d17d;background:#111827!important;color:#f3f4f6;color-scheme:dark}
[data-theme="dark"] .booking-picker__business,.theme-dark .booking-picker__business,[data-theme="dark"] .booking-picker__menu-item,.theme-dark .booking-picker__menu-item,[data-theme="dark"] .booking-picker__resource-card,.theme-dark .booking-picker__resource-card,[data-theme="dark"] .booking-picker__service-row,.theme-dark .booking-picker__service-row,[data-theme="dark"] .booking-picker__branch,.theme-dark .booking-picker__branch,[data-theme="dark"] .booking-picker__profile,.theme-dark .booking-picker__profile,[data-theme="dark"] .booking-picker__bottom,.theme-dark .booking-picker__bottom{background:#111827!important;color:#f3f4f6}
[data-theme="dark"] .booking-picker__identity span,.theme-dark .booking-picker__identity span,[data-theme="dark"] .booking-picker__business p,.theme-dark .booking-picker__business p,[data-theme="dark"] .booking-picker__resource-data span,.theme-dark .booking-picker__resource-data span,[data-theme="dark"] .booking-picker__service-row span,.theme-dark .booking-picker__service-row span,[data-theme="dark"] .booking-picker__status,.theme-dark .booking-picker__status,[data-theme="dark"] .booking-picker__nearest-label,.theme-dark .booking-picker__nearest-label,[data-theme="dark"] .booking-picker__brand,.theme-dark .booking-picker__brand{color:#9ca3af}
[data-theme="dark"] .booking-picker__avatar,.theme-dark .booking-picker__avatar,[data-theme="dark"] .booking-picker__menu-icon,.theme-dark .booking-picker__menu-icon,[data-theme="dark"] .booking-picker__header-logo.is-placeholder,.theme-dark .booking-picker__header-logo.is-placeholder,[data-theme="dark"] .booking-picker__business-logo.is-placeholder,.theme-dark .booking-picker__business-logo.is-placeholder,[data-theme="dark"] .booking-picker__profile-photo,.theme-dark .booking-picker__profile-photo{background:#263244;color:#d1d5db}
[data-theme="dark"] .booking-picker__nearest-slot,.theme-dark .booking-picker__nearest-slot,[data-theme="dark"] .booking-picker__slot,.theme-dark .booking-picker__slot,[data-theme="dark"] .booking-picker__load,.theme-dark .booking-picker__load,[data-theme="dark"] .booking-picker__tab,.theme-dark .booking-picker__tab{background:#263244!important;color:#f3f4f6}
[data-theme="dark"] .booking-picker__tab.is-active,.theme-dark .booking-picker__tab.is-active,[data-theme="dark"] .booking-picker__day.is-selected,.theme-dark .booking-picker__day.is-selected,[data-theme="dark"] .booking-picker__slot.is-selected,.theme-dark .booking-picker__slot.is-selected{background:var(--booking-accent)!important;color:#07130c}
[data-theme="dark"] .booking-picker__day.is-available,.theme-dark .booking-picker__day.is-available{color:#f3f4f6}[data-theme="dark"] .booking-picker__day.is-disabled,.theme-dark .booking-picker__day.is-disabled{color:#4b5563}
[data-theme="dark"] .booking-picker__summary,.theme-dark .booking-picker__summary{background:#182234}[data-theme="dark"] .booking-picker__review-form,.theme-dark .booking-picker__review-form,[data-theme="dark"] .booking-picker__bottom,.theme-dark .booking-picker__bottom,[data-theme="dark"] .booking-picker__branch,.theme-dark .booking-picker__branch{border-color:#374151}
[data-theme="dark"] .booking-picker__field input,.theme-dark .booking-picker__field input,[data-theme="dark"] .booking-picker__field textarea,.theme-dark .booking-picker__field textarea,[data-theme="dark"] .booking-picker__review-form input,.theme-dark .booking-picker__review-form input,[data-theme="dark"] .booking-picker__review-form textarea,.theme-dark .booking-picker__review-form textarea{border-color:#374151;background:#182234;color:#f3f4f6}
[data-theme="dark"] .booking-picker__field input::placeholder,.theme-dark .booking-picker__field input::placeholder,[data-theme="dark"] .booking-picker__field textarea::placeholder,.theme-dark .booking-picker__field textarea::placeholder,[data-theme="dark"] .booking-picker__review-form input::placeholder,.theme-dark .booking-picker__review-form input::placeholder,[data-theme="dark"] .booking-picker__review-form textarea::placeholder,.theme-dark .booking-picker__review-form textarea::placeholder{color:#6b7280}
[data-theme="dark"] .booking-picker__icon,.theme-dark .booking-picker__icon,[data-theme="dark"] .booking-picker__info,.theme-dark .booking-picker__info,[data-theme="dark"] .booking-picker__edit,.theme-dark .booking-picker__edit,[data-theme="dark"] .booking-picker__chevron,.theme-dark .booking-picker__chevron{color:#d1d5db}
[data-theme="dark"] .booking-picker__radio,.theme-dark .booking-picker__radio,[data-theme="dark"] .booking-picker__check,.theme-dark .booking-picker__check{border-color:#64748b}[data-theme="dark"] .booking-picker .primary,.theme-dark .booking-picker .primary{background:var(--booking-accent);color:#07130c}
[data-theme="dark"] .booking-picker__error,.theme-dark .booking-picker__error{background:#451a1a;color:#fecaca}
[data-theme="dark"] .booking-picker__resource-card.is-selected .booking-picker__radio,.theme-dark .booking-picker__resource-card.is-selected .booking-picker__radio{border-color:#86efac;background:var(--booking-accent);box-shadow:inset 0 0 0 4px #111827}
[data-theme="dark"] .booking-picker__service-row.is-selected .booking-picker__check,.theme-dark .booking-picker__service-row.is-selected .booking-picker__check{border-color:var(--booking-accent);background:var(--booking-accent);color:#07130c}
[data-theme="dark"] .booking-picker__branch.is-selected,.theme-dark .booking-picker__branch.is-selected{border-color:var(--booking-accent)}
[data-theme="dark"] .booking-picker__success,.theme-dark .booking-picker__success{background:#153729;color:#86efac}
[data-theme="dark"] .booking-picker__menu-item.is-selected,.theme-dark .booking-picker__menu-item.is-selected,[data-theme="dark"] .booking-picker__success-text,.theme-dark .booking-picker__success-text{color:#86efac}
[data-theme="dark"] .booking-picker .booking-picker__menu-item,.theme-dark .booking-picker .booking-picker__menu-item,[data-theme="dark"] .booking-picker .booking-picker__resource-any,.theme-dark .booking-picker .booking-picker__resource-any{border-color:transparent!important;background:#111827!important;color:#f3f4f6!important}
[data-theme="dark"] .booking-picker .booking-picker__menu-icon,.theme-dark .booking-picker .booking-picker__menu-icon{background:#263244!important;color:#d1d5db!important}
[data-theme="dark"] .booking-picker .msweb-ui.btn.primary,.theme-dark .booking-picker .msweb-ui.btn.primary{border-color:var(--booking-accent)!important;background:var(--booking-accent)!important;color:#07130c!important;box-shadow:none!important}
.booking-picker[data-screen="resources"]{min-height:0;overflow:hidden}
.booking-picker[data-screen="resources"]>.booking-picker__header,.booking-picker[data-screen="resources"]>h2,.booking-picker[data-screen="resources"]>.booking-picker__resource-search,.booking-picker[data-screen="resources"]>.booking-picker__brand{flex:0 0 auto}
.booking-picker__resource-search{width:100%;margin-bottom:8px}.booking-picker__resource-search>.msweb-ui,.booking-picker__resource-search input{width:100%}
.booking-picker[data-screen="resources"]>.booking-picker__resource-list{flex:1 1 auto;min-height:0;grid-auto-rows:max-content;align-content:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:6px;padding-bottom:30px}
.booking-picker[data-screen="resources"]>.booking-picker__brand{position:relative;z-index:4;width:100%;margin-top:-26px;padding:42px 0 6px;background:linear-gradient(to top,#fff 58%,rgba(255,255,255,0));pointer-events:none}.booking-picker[data-screen="resources"]>.booking-picker__brand a{pointer-events:auto}
.booking-picker[data-screen="resources"]>.booking-picker__sticky{bottom:68px}
[data-theme="dark"] .booking-picker[data-screen="resources"]>.booking-picker__brand,.theme-dark .booking-picker[data-screen="resources"]>.booking-picker__brand{background:linear-gradient(to top,#111827 58%,rgba(17,24,39,0))}

/* Material 3 medium-contrast color system. */
.booking-picker {
  --booking-primary: #0b57d0;
  --booking-on-primary: #fff;
  --booking-primary-container: #d3e3fd;
  --booking-on-primary-container: #041e49;
  --booking-success: #188038;
  --booking-success-container: #c4eed0;
  --booking-on-success-container: #072711;
  --booking-surface: #fff;
  --booking-surface-container: #f1f4f9;
  --booking-surface-container-high: #e9eef6;
  --booking-on-surface: #1f1f1f;
  --booking-on-surface-variant: #444746;
  --booking-outline: #747775;
  --booking-outline-variant: #c4c7c5;
  --booking-error: #b3261e;
  --booking-error-container: #f9dedc;
  --booking-shadow: rgba(31, 31, 31, .18);
  --booking-accent: var(--booking-primary);
  background: var(--booking-surface) !important;
  color: var(--booking-on-surface);
  font-family: Roboto, Arial, sans-serif;
  color-scheme: light;
}

[data-theme="dark"] .booking-picker,
.theme-dark .booking-picker {
  --booking-primary: #a8c7fa;
  --booking-on-primary: #062e6f;
  --booking-primary-container: #0842a0;
  --booking-on-primary-container: #d3e3fd;
  --booking-success: #81c995;
  --booking-success-container: #0f5223;
  --booking-on-success-container: #c4eed0;
  --booking-surface: #111318;
  --booking-surface-container: #1b1d22;
  --booking-surface-container-high: #25272d;
  --booking-on-surface: #e3e3e3;
  --booking-on-surface-variant: #c4c7c5;
  --booking-outline: #8e918f;
  --booking-outline-variant: #444746;
  --booking-error: #ffb4ab;
  --booking-error-container: #8c1d18;
  --booking-shadow: rgba(0, 0, 0, .42);
  background: var(--booking-surface) !important;
  color: var(--booking-on-surface);
  color-scheme: dark;
}

.booking-picker__business,
.booking-picker__profile,
.booking-picker__bottom,
.booking-picker__resource-card,
.booking-picker__service-row,
.booking-picker__menu-item {
  background: var(--booking-surface) !important;
  color: var(--booking-on-surface) !important;
}

.booking-picker__branch,
.booking-picker__review-form,
.booking-picker__summary {
  border: 1px solid var(--booking-outline-variant) !important;
  border-radius: 16px;
  background: var(--booking-surface-container) !important;
  color: var(--booking-on-surface) !important;
  box-shadow: 0 1px 3px var(--booking-shadow);
}

.booking-picker__branch {
  position: relative;
  grid-template-columns: minmax(0, 1fr) 22px;
  gap: 4px 10px;
}

.booking-picker__branch-address {
  grid-column: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.booking-picker__branch-actions {
  position: relative;
  z-index: 2;
  grid-column: 1 / 3;
  grid-row: 3;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.booking-picker .booking-picker__branch-map,
.booking-picker .booking-picker__branch-choose {
  width: 100%;
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 10px;
  font-weight: 700;
}

.booking-picker .booking-picker__branch-map {
  border: 1px solid var(--booking-primary);
  background: transparent;
  color: var(--booking-primary);
  box-shadow: none;
}

.booking-picker .booking-picker__branch-map:hover {
  border-color: var(--booking-primary);
  background: var(--booking-primary-container);
  color: var(--booking-on-primary-container);
  box-shadow: none;
}

.booking-picker__branch .booking-picker__chevron {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
}

.booking-picker .booking-picker__branch-select {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
}

.booking-picker .booking-picker__branch-select:hover {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.booking-picker__branch-select:focus-visible {
  outline: 2px solid var(--booking-primary);
  outline-offset: 2px;
}

@media(max-width:420px) {
  .booking-picker__branch-actions {
    grid-template-columns: 1fr;
  }
}

.booking-picker__menu-item,
.booking-picker__resource-card,
.booking-picker__service-row {
  border-radius: 12px !important;
  transition: background .16s ease, box-shadow .16s ease, color .16s ease;
}

.booking-picker__menu-item {
  grid-template-columns: 46px minmax(0, 1fr) 20px;
  gap: 12px;
  min-height: 62px;
  padding: 8px 10px;
}

.booking-picker__menu-icon {
  width: 46px;
  height: 46px;
}

.booking-picker__menu-icon svg {
  width: 25px;
  height: 25px;
}

.booking-picker__menu-item:hover,
.booking-picker__resource-card:hover,
.booking-picker__service-row:hover {
  background: var(--booking-surface-container) !important;
}

.booking-picker__identity span,
.booking-picker__business p,
.booking-picker__resource-data span,
.booking-picker__service-row span,
.booking-picker__status,
.booking-picker__nearest-label,
.booking-picker__brand,
.booking-picker__chevron {
  color: var(--booking-on-surface-variant) !important;
}

.booking-picker__avatar,
.booking-picker__menu-icon,
.booking-picker__header-logo.is-placeholder,
.booking-picker__business-logo.is-placeholder,
.booking-picker__profile-photo {
  background: var(--booking-primary-container) !important;
  color: var(--booking-on-primary-container) !important;
}

.booking-picker__tab,
.booking-picker__nearest-slot,
.booking-picker__slot,
.booking-picker__load {
  border: 1px solid var(--booking-outline-variant) !important;
  border-radius: 12px !important;
  background: var(--booking-surface-container) !important;
  color: var(--booking-on-surface) !important;
  box-shadow: 0 1px 2px var(--booking-shadow) !important;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.booking-picker__tab:hover,
.booking-picker__nearest-slot:hover,
.booking-picker__slot:hover,
.booking-picker__load:hover {
  border-color: var(--booking-outline) !important;
  background: var(--booking-surface-container-high) !important;
  box-shadow: 0 2px 5px var(--booking-shadow) !important;
}

.booking-picker__tab.is-active,
.booking-picker__day.is-selected,
.booking-picker__slot.is-selected {
  border-color: var(--booking-primary) !important;
  background: var(--booking-primary) !important;
  color: var(--booking-on-primary) !important;
}

.booking-picker__day {
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  color: var(--booking-on-surface-variant);
  transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.booking-picker__day.is-available {
  border-color: var(--booking-outline-variant) !important;
  background: var(--booking-surface) !important;
  color: var(--booking-on-surface) !important;
}

.booking-picker__day.is-available:hover {
  border-color: var(--booking-primary) !important;
  background: var(--booking-primary-container) !important;
  color: var(--booking-on-primary-container) !important;
}

.booking-picker__day.is-available.is-selected {
  border-color: var(--booking-primary) !important;
  background: var(--booking-primary) !important;
  color: var(--booking-on-primary) !important;
}

.booking-picker .booking-picker__day.is-today {
  box-shadow: inset 0 0 0 3px var(--booking-success) !important;
}

.booking-picker__day.is-disabled {
  color: color-mix(in srgb, var(--booking-on-surface) 38%, transparent) !important;
}

.booking-picker__radio,
.booking-picker__check {
  border-color: var(--booking-outline) !important;
  background: var(--booking-surface) !important;
}

.booking-picker__resource-card.is-selected .booking-picker__radio,
.booking-picker__service-row.is-selected .booking-picker__check {
  border-color: var(--booking-success) !important;
  background: var(--booking-success) !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 4px var(--booking-surface) !important;
}

.booking-picker__service-row.is-selected .booking-picker__check {
  box-shadow: none !important;
}

.booking-picker__resource-card.is-selected,
.booking-picker__service-row.is-selected {
  background: var(--booking-success-container) !important;
  color: var(--booking-on-success-container) !important;
}

.booking-picker__consent input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--booking-success);
}

.booking-picker__consent a,
.booking-picker__review-link {
  color: var(--booking-primary);
}

.booking-picker .msweb-ui.btn.booking-picker__star {
  min-width: 52px;
  min-height: 48px;
  padding: 4px 10px !important;
  color: var(--booking-outline) !important;
  font-size: 32px !important;
  line-height: 1 !important;
}

.booking-picker .msweb-ui.btn.booking-picker__star.is-active {
  color: #d99a00 !important;
  background: transparent !important;
}
.booking-picker .msweb-ui.btn.booking-picker__star:hover { color: #d99a00 !important; }
.booking-picker__review-feedback { margin: 0; padding: 10px 12px; border-radius: 8px; }
.booking-picker__review-feedback.is-success { background: var(--booking-success-container); color: var(--booking-success); }
.booking-picker__review-feedback.is-error { background: var(--booking-error-container); color: var(--booking-error); }

.booking-picker .msweb-ui.btn.primary,
.booking-picker .primary {
  border: 1px solid var(--booking-primary) !important;
  border-radius: 12px !important;
  background: var(--booking-primary) !important;
  color: var(--booking-on-primary) !important;
  box-shadow: 0 2px 5px var(--booking-shadow) !important;
}

.booking-picker .msweb-ui.btn.primary:hover,
.booking-picker .primary:hover {
  box-shadow: 0 4px 9px var(--booking-shadow) !important;
}

.booking-picker .msweb-ui.btn.primary:disabled,
.booking-picker .primary:disabled {
  border-color: var(--booking-outline-variant) !important;
  background: var(--booking-surface-container-high) !important;
  color: var(--booking-on-surface-variant) !important;
  box-shadow: none !important;
  opacity: .62;
}

.booking-picker .msweb-ui.btn.primary:active,
.booking-picker .primary:active {
  transform: none !important;
  box-shadow: inset 0 1px 3px var(--booking-shadow) !important;
}

.booking-picker__field input,
.booking-picker__field textarea,
.booking-picker__review-form input,
.booking-picker__review-form textarea,
.booking-picker__resource-search input {
  border: 1px solid var(--booking-outline) !important;
  border-radius: 12px !important;
  background: var(--booking-surface) !important;
  color: var(--booking-on-surface) !important;
  box-shadow: none !important;
}

.booking-picker__field input:focus,
.booking-picker__field textarea:focus,
.booking-picker__review-form input:focus,
.booking-picker__review-form textarea:focus,
.booking-picker__resource-search input:focus {
  border-color: var(--booking-primary) !important;
  outline: 2px solid color-mix(in srgb, var(--booking-primary) 34%, transparent) !important;
  outline-offset: 1px;
}

.booking-picker__header .booking-picker__icon,
.booking-picker__month .booking-picker__icon,
.booking-picker__edit,
.booking-picker__info {
  border: 1px solid var(--booking-outline-variant) !important;
  border-radius: 50% !important;
  background: var(--booking-surface-container) !important;
  color: var(--booking-primary) !important;
  box-shadow: 0 1px 3px var(--booking-shadow) !important;
}

.booking-picker__header .booking-picker__icon:hover,
.booking-picker__month .booking-picker__icon:hover,
.booking-picker__edit:hover,
.booking-picker__info:hover {
  border-color: var(--booking-primary) !important;
  background: var(--booking-primary-container) !important;
  color: var(--booking-on-primary-container) !important;
}

.booking-picker__bottom {
  border-color: var(--booking-outline-variant) !important;
  box-shadow: 0 -2px 8px var(--booking-shadow);
}

.booking-picker__success {
  background: var(--booking-success-container) !important;
  color: var(--booking-success) !important;
}

.booking-picker[data-screen="result"] { height: 100%; min-height: 0; padding: 0; overflow: hidden; }
.booking-picker[data-screen="result"] .booking-picker__result-details,
.booking-picker[data-screen="result"] .booking-picker__result-row,
.booking-picker[data-screen="result"] .booking-picker__result-hero { touch-action: pan-y; }
.booking-picker[data-screen="result"] .booking-picker__header { flex: 0 0 62px; height: 62px; min-height: 62px; margin-bottom: 0; }
.booking-picker__result-hero { flex: 0 0 auto; padding: 14px 0 4px; text-align: center; }
.booking-picker__result-hero .booking-picker__success { width: 76px; height: 76px; margin: 0 auto 12px; border: 8px solid color-mix(in srgb, var(--booking-success-container) 68%, transparent); box-shadow: 0 0 0 8px color-mix(in srgb, var(--booking-success-container) 35%, transparent); }
.booking-picker__result-hero .booking-picker__success svg { width: 40px; height: 40px; stroke-width: 2.4; }
.booking-picker__result-hero h2 { margin: 0; font-size: 30px; line-height: 1.15; }
.booking-picker__result-hero .booking-picker__status { margin: 6px 0 0; font-size: 15px; }

.booking-picker__result-details {
  flex: 0 0 auto;
  margin-top: 16px;
  border-color: var(--booking-outline-variant) !important;
  background: color-mix(in srgb, var(--booking-primary-container) 18%, var(--booking-surface)) !important;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--booking-shadow) 42%, transparent);
}

.booking-picker__result-row {
  min-height: 52px;
  padding-block: 8px;
  border-bottom-color: var(--booking-outline-variant) !important;
}

.booking-picker__result-label {
  color: var(--booking-on-surface-variant) !important;
}

@media (max-width: 430px) {
  .booking-picker__result-row { grid-template-columns: 38px minmax(0, 1fr); gap: 4px 12px; }
  .booking-picker__result-icon { grid-row: 1 / 3; }
  .booking-picker__result-label,.booking-picker__result-value { grid-column: 2; }
  .booking-picker__result-hero h2 { font-size: 28px; }
}

@media (max-height: 620px) {
  .booking-picker[data-screen="result"] .booking-picker__scroll { padding-top: 6px; }
  .booking-picker[data-screen="result"] .booking-picker__header { flex-basis: 56px; height: 56px; min-height: 56px; }
  .booking-picker__result-hero { padding-top: 10px; }
  .booking-picker__result-hero .booking-picker__success { width: 64px; height: 64px; margin-bottom: 10px; border-width: 6px; box-shadow: 0 0 0 6px color-mix(in srgb, var(--booking-success-container) 35%, transparent); }
  .booking-picker__result-hero .booking-picker__success svg { width: 34px; height: 34px; }
  .booking-picker__result-hero h2 { font-size: 26px; }
}

.booking-picker__success-text,
.booking-picker__menu-item.is-selected {
  color: var(--booking-success) !important;
}

.booking-picker__error {
  background: var(--booking-error-container) !important;
  color: var(--booking-error) !important;
}

.booking-picker__notice {
  position: absolute;
  z-index: 20;
  top: 78px;
  right: 20px;
  left: 20px;
  margin: 0;
  padding: 10px;
  border-radius: 8px;
  background: var(--booking-error-container);
  color: var(--booking-error);
  pointer-events: none;
}

.booking-picker[data-screen="resources"]>.booking-picker__brand {
  margin-top: -8px;
  padding: 12px 0 10px;
  background: linear-gradient(to top, var(--booking-surface) 58%, transparent) !important;
}

.booking-picker__header {
  flex: 0 0 72px;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  width: 100%;
  height: 72px;
  min-height: 72px;
  gap: 10px;
}

.booking-picker__header.is-no-back {
  grid-template-columns: minmax(0, 1fr) 40px;
}

.booking-picker__header-spacer {
  width: 36px;
  height: 36px;
}

.booking-picker__header .booking-picker__icon {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
}

.booking-picker__header .booking-picker__icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

.booking-picker__identity,
.booking-picker__identity-text {
  min-width: 0;
}

.booking-picker__identity-text strong,
.booking-picker__identity-text span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.booking-picker__business {
  padding: 14px 0 20px;
}

.booking-picker__menu {
  gap: 12px;
}

.booking-picker .booking-picker__menu-item {
  min-height: 60px;
  padding: 10px 14px !important;
  border: 1px solid var(--booking-outline-variant) !important;
  border-radius: 16px !important;
  background: var(--booking-surface-container) !important;
  box-shadow: 0 1px 3px var(--booking-shadow) !important;
}

.booking-picker .booking-picker__menu-item:hover {
  border-color: var(--booking-primary) !important;
  background: var(--booking-primary-container) !important;
}

.booking-picker .booking-picker__resource-card {
  padding: 12px !important;
  border: 1px solid var(--booking-outline-variant) !important;
  border-radius: 16px !important;
}

.booking-picker__resource-controls {
  align-items: center;
  align-self: center;
  gap: 12px;
  padding-left: 8px;
}

.booking-picker .booking-picker__info {
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--booking-primary) !important;
}

.booking-picker .booking-picker__info:hover {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--booking-primary) !important;
}

.booking-picker .booking-picker__info svg {
  display: block;
  width: 24px;
  height: 24px;
}

.booking-picker .booking-picker__rating {
  color: #f5b41b !important;
}

.booking-picker .booking-picker__services-toggle {
  position: relative;
  z-index: 4;
  min-height: 24px;
  padding: 2px 9px;
  border: 1px solid var(--booking-outline-variant);
  border-radius: 999px;
  background: var(--booking-surface-container);
  color: var(--booking-primary);
  font-size: 12px;
  font-weight: 700;
}
.booking-picker__profile-services { display: grid; gap: 8px; }
.booking-picker__profile-services h3 { margin: 0; }

.booking-picker__calendar-resource {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 4px 0 14px;
}

.booking-picker__calendar-resource-data {
  display: grid;
  min-width: 0;
}

.booking-picker__calendar-resource-data strong,
.booking-picker__calendar-resource-data span {
  overflow-wrap: anywhere;
}

.booking-picker__calendar-resource-data span {
  color: var(--booking-on-surface-variant);
}

.booking-picker .booking-picker__summary {
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.booking-picker .booking-picker__summary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  padding: 14px 16px;
  border: 0 !important;
  border-bottom: 1px solid var(--booking-outline-variant) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--booking-on-surface) !important;
  box-shadow: none !important;
  text-align: left;
}

.booking-picker .booking-picker__summary-row:last-child {
  border-bottom: 0 !important;
}

.booking-picker .booking-picker__summary-row:hover {
  background: var(--booking-surface-container-high) !important;
}

.booking-picker .booking-picker__summary-row:active {
  transform: none !important;
}

.booking-picker .booking-picker__summary-row:focus-visible {
  outline: 2px solid var(--booking-primary);
  outline-offset: -2px;
}

.booking-picker__summary-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.booking-picker__summary-label {
  color: var(--booking-on-surface-variant);
  font-size: 12px;
  font-weight: 500;
}

.booking-picker__summary-value {
  overflow-wrap: anywhere;
  color: var(--booking-on-surface);
  font-size: 14px;
}

.booking-picker__summary-edit {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: var(--booking-primary);
}

.booking-picker__summary-edit svg {
  display: block;
  width: 20px;
  height: 20px;
}

.booking-picker__summary .booking-picker__total {
  padding: 12px 16px;
}

.booking-picker[data-screen="details"]>h2 {
  margin: 22px 0 18px;
  font-size: 28px;
  line-height: 1.2;
}

.booking-picker[data-screen="details"]>h3 {
  margin: 28px 0 14px;
  font-size: 22px;
  line-height: 1.2;
}

.booking-picker[data-screen="details"] .booking-picker__summary {
  grid-template-columns: minmax(0, 1fr);
  grid-auto-flow: row;
  grid-auto-rows: auto;
  border-color: color-mix(in srgb, var(--booking-outline-variant) 48%, var(--booking-surface)) !important;
  background: color-mix(in srgb, var(--booking-primary-container) 18%, var(--booking-surface)) !important;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--booking-shadow) 42%, transparent);
}

.booking-picker[data-screen="details"] {
  height: 100%;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

.booking-picker[data-screen="details"] .booking-picker__summary-row {
  display: grid !important;
  grid-column: 1 / -1;
  grid-template-columns: minmax(112px, .62fr) minmax(0, 1.38fr) 28px !important;
  gap: 12px;
  min-height: 56px;
  padding: 11px 14px;
  border-bottom-color: color-mix(in srgb, var(--booking-outline-variant) 48%, var(--booking-surface)) !important;
}

.booking-picker[data-screen="details"] .booking-picker__summary-label {
  font-size: 14px;
  font-weight: 400;
}

.booking-picker[data-screen="details"] .booking-picker__summary-value {
  font-size: 16px;
  font-weight: 700;
}

.booking-picker[data-screen="details"] .booking-picker__summary-edit {
  width: 28px;
  height: 28px;
}

.booking-picker[data-screen="details"] .booking-picker__form {
  gap: 12px;
}

.booking-picker[data-screen="details"] .booking-picker__field {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 60px;
  padding: 7px 12px;
  border: 1px solid color-mix(in srgb, var(--booking-outline-variant) 48%, var(--booking-surface));
  border-radius: 16px;
  background: var(--booking-surface);
  transition: border-color .16s ease, box-shadow .16s ease;
}

.booking-picker[data-screen="details"] .booking-picker__field:focus-within {
  border-color: var(--booking-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--booking-primary) 20%, transparent);
}

.booking-picker__field-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: var(--booking-on-surface);
}

.booking-picker__field-icon svg {
  display: block;
  width: 27px;
  height: 27px;
}

.booking-picker__field-body {
  display: grid;
  min-width: 0;
}

.booking-picker__field-label {
  color: var(--booking-on-surface);
  font-size: 13px;
  line-height: 1.2;
}

.booking-picker__required {
  color: var(--booking-error);
}

.booking-picker[data-screen="details"] .booking-picker__field .input-wrapper,
.booking-picker[data-screen="details"] .booking-picker__field .textarea-component {
  width: 100%;
  min-width: 0;
}

.booking-picker[data-screen="details"] .booking-picker__field input,
.booking-picker[data-screen="details"] .booking-picker__field textarea {
  width: 100%;
  padding: 5px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--booking-on-surface) !important;
  box-shadow: none !important;
  font-size: 16px;
  line-height: 1.35;
}

.booking-picker[data-screen="details"] .booking-picker__field input::placeholder,
.booking-picker[data-screen="details"] .booking-picker__field textarea::placeholder {
  color: color-mix(in srgb, var(--booking-on-surface-variant) 72%, transparent);
  opacity: 1;
}

.booking-picker[data-screen="details"] .booking-picker__field textarea {
  min-height: 52px;
  resize: vertical;
}

.booking-picker[data-screen="details"] .booking-picker__consent {
  align-items: center;
  gap: 12px;
  min-height: 30px;
  font-size: 14px;
}

.booking-picker[data-screen="details"] .booking-picker__consent input[type="checkbox"] {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
}

.booking-picker[data-screen="details"] .booking-picker__primary {
  min-height: 56px;
  margin-top: 4px;
  border-radius: 16px !important;
  background: linear-gradient(135deg, var(--booking-primary), color-mix(in srgb, var(--booking-primary) 82%, #075bea)) !important;
  font-size: 18px;
}

@media(max-width:520px) {
  .booking-picker__header {
    flex-basis: 60px;
    height: 60px;
    min-height: 60px;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    gap: 6px;
  }

  .booking-picker__header.is-no-back {
    grid-template-columns: minmax(0, 1fr) 34px;
  }

  .booking-picker__header .booking-picker__icon {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
  }

  .booking-picker__identity {
    gap: 6px;
  }

  .booking-picker__header-logo {
    width: 38px;
    height: 38px;
  }

  .booking-picker[data-screen="details"]>h2 {
    margin: 18px 0 14px;
    font-size: 24px;
  }

  .booking-picker[data-screen="details"]>h3 {
    margin-top: 22px;
    font-size: 20px;
  }

  .booking-picker[data-screen="details"] .booking-picker__summary-row {
    grid-template-columns: 92px minmax(0, 1fr) 28px !important;
    gap: 10px;
    min-height: 54px;
    padding: 10px 12px;
  }

  .booking-picker[data-screen="details"] .booking-picker__summary-label {
    font-size: 12px;
  }

  .booking-picker[data-screen="details"] .booking-picker__summary-value {
    font-size: 14px;
  }

  .booking-picker[data-screen="details"] .booking-picker__field {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    min-height: 56px;
    padding: 6px 10px;
  }

  .booking-picker__field-icon,
  .booking-picker__field-icon svg {
    width: 24px;
    height: 24px;
  }
}

.booking-picker__resource-controls .booking-picker__radio {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0 2px 0 0;
}

.booking-picker__nearest {
  margin-top: 4px;
  padding-right: 4px;
}

.booking-picker__resource-services {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 8px;
  margin-top: 4px;
  color: var(--booking-on-surface-variant);
  font-size: 12px;
  line-height: 1.35;
}

.booking-picker__resource-service::before {
  content: '•';
  margin-right: 5px;
}

.booking-picker__resource-summary {
  display: block;
  margin-top: 4px;
  color: var(--booking-on-surface-variant);
  font-size: 12px;
  line-height: 1.4;
}

.booking-picker[data-screen="resources"]>.booking-picker__resource-list {
  width: 100%;
  padding-right: 0;
  scrollbar-gutter: auto;
}

.booking-picker[data-screen="calendar"] {
  min-height: 0;
  overflow: hidden;
  padding-bottom: 0;
}

.booking-picker__footer {
  position: relative;
  z-index: 4;
  flex: 0 0 auto;
  margin: 0 -20px;
  padding: 10px 20px 2px;
  background: var(--booking-surface);
  box-shadow: 0 -8px 18px color-mix(in srgb, var(--booking-shadow) 45%, transparent);
}

.booking-picker__footer .booking-picker__sticky,
.booking-picker__footer .booking-picker__restart {
  position: static;
  margin: 0;
}

.booking-picker__footer .booking-picker__brand {
  position: static;
  margin: 0;
  padding-top: 7px;
}

@media(max-width:520px) {
  .booking-picker__footer {
    margin: 0 -12px;
    padding: 10px 12px max(2px, env(safe-area-inset-bottom));
  }
}

/* Every booking screen uses the same content scroller and footer. */
.booking-picker { min-height: 0; padding: 0; overflow: hidden; }
.booking-picker > .booking-picker__scroll {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  padding: 14px 20px 12px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: auto;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
.booking-picker > .booking-picker__footer {
  margin: -22px 0 0;
  padding: 22px 20px 6px;
  background: linear-gradient(to bottom, transparent 0, var(--booking-surface) 22px);
  box-shadow: none;
  pointer-events: none;
}
.booking-picker > .booking-picker__footer > * { pointer-events: auto; }
.booking-picker > .booking-picker__footer .booking-picker__brand { padding-top: 0; }
.booking-picker > .booking-picker__footer .booking-picker__sticky + .booking-picker__brand,
.booking-picker > .booking-picker__footer .booking-picker__restart + .booking-picker__brand { padding-top: 32px; }
.booking-picker[data-screen="resources"] > .booking-picker__scroll { display: block; overflow-y: auto; padding-right: 20px; padding-bottom: 12px; }
.booking-picker[data-screen="resources"] .booking-picker__resource-list { padding: 0; overflow: visible; }
.booking-picker[data-screen="resources"] .booking-picker__brand { margin: 0; background: none!important; }
@media(max-width:520px) {
  .booking-picker > .booking-picker__scroll { padding: 10px 12px; }
  .booking-picker > .booking-picker__footer { padding: 22px 12px max(6px, env(safe-area-inset-bottom)); }
  .booking-picker[data-screen="resources"] > .booking-picker__scroll { padding-right: 12px; }
}
