/* RC48 public booking wrapper: isolates the admin preview UI from theme chrome. */
.bkcore-public-booking-shell{max-width:1120px;margin:0 auto;padding:12px 16px 34px;box-sizing:border-box}
.bkcore-public-booking-shell *{box-sizing:border-box}
.bkcore-public-booking-shell .bkcore-booking-flow-preview{margin:0;background:#fcfaf7;color:#22272b;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.bkcore-public-booking-shell button,.bkcore-public-booking-shell input,.bkcore-public-booking-shell select,.bkcore-public-booking-shell textarea{font:inherit}
.bkcore-public-booking-shell .button-link{appearance:none;border:0;background:transparent;padding:0;color:#765b39;text-decoration:underline;cursor:pointer}
.bkcore-public-booking-shell .bkcore-preview-primary-action,.bkcore-public-booking-shell .bkcore-menu-book-link{cursor:pointer}
.bkcore-public-booking-shell .bkcore-preview-primary-action:disabled{cursor:not-allowed;opacity:.5}
.bkcore-public-booking-shell .bkcore-field input,.bkcore-public-booking-shell .bkcore-field select,.bkcore-public-booking-shell .bkcore-field textarea{background:#fff;color:#22272b;border:1px solid #c3c4c7;padding:8px 10px}
.bkcore-public-unavailable{max-width:760px;margin:30px auto;padding:22px;border:1px solid #e3ddd4;border-radius:14px;background:#fcfaf7;text-align:center}
@media(max-width:700px){.bkcore-public-booking-shell{padding-left:8px;padding-right:8px}.bkcore-public-booking-shell .bkcore-booking-flow-preview{padding:11px}}

/* RC48.2 launch-safe public polish. Booking/payment logic unchanged. */
.bkcore-public-booking-shell .bkcore-payment-config-missing[hidden]{display:none!important}
.bkcore-public-booking-shell [hidden]{display:none!important}

.bkcore-public-booking-shell{
  max-width:980px;
  margin:0 auto;
  padding:20px 18px 52px;
}
.bkcore-public-booking-shell .bkcore-booking-flow-preview{
  border:1px solid #e7ded2!important;
  border-radius:18px!important;
  background:#f7f2ea!important;
  box-shadow:0 14px 40px rgba(61,57,53,.07)!important;
}
.bkcore-public-booking-shell .bkcore-preview-flow-head{
  padding:18px 22px!important;
  border-bottom:1px solid #e9dfd2!important;
  background:#fff!important;
}
.bkcore-public-booking-shell .bkcore-preview-flow-title strong{
  color:#3d3935!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px!important;
  font-weight:600!important;
}
.bkcore-public-booking-shell .bkcore-preview-flow-title small{color:#7b736b!important}
.bkcore-public-booking-shell .bkcore-preview-progress{
  padding:0 22px!important;
  background:#fff!important;
  border-bottom:1px solid #e9dfd2!important;
}
.bkcore-public-booking-shell .bkcore-preview-progress span{padding:12px 8px!important}
.bkcore-public-booking-shell .bkcore-preview-canvas{
  min-height:0!important;
  padding:34px 28px 40px!important;
  background:linear-gradient(180deg,#faf7f2 0%,#f7f2ea 100%)!important;
}
.bkcore-public-booking-shell .bkcore-preview-screen{max-width:760px!important}
.bkcore-public-booking-shell .bkcore-preview-screen-top{margin-bottom:18px!important}
.bkcore-public-booking-shell .bkcore-preview-screen-label{
  color:#9a6a36!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
.bkcore-public-booking-shell .bkcore-preview-option-panel,
.bkcore-public-booking-shell .bkcore-preview-next-card,
.bkcore-public-booking-shell .bkcore-preview-details-layout,
.bkcore-public-booking-shell .bkcore-preview-service-card,
.bkcore-public-booking-shell .bkcore-preview-category-card{
  border-color:#e4d9cb!important;
  box-shadow:0 8px 26px rgba(61,57,53,.055)!important;
}
.bkcore-public-booking-shell .bkcore-preview-option-panel{padding:26px 28px!important}
.bkcore-public-booking-shell .bkcore-preview-option-panel h4,
.bkcore-public-booking-shell .bkcore-payment-head h4{
  color:#3d3935!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:26px!important;
  line-height:1.15!important;
  font-weight:600!important;
  margin:0 0 10px!important;
}
.bkcore-public-booking-shell .bkcore-payment-head p{
  max-width:660px;
  color:#655f59!important;
  line-height:1.6!important;
}
.bkcore-public-booking-shell .bkcore-field{gap:8px!important}
.bkcore-public-booking-shell .bkcore-field>span{color:#4a4541!important;font-size:13px!important}
.bkcore-public-booking-shell .bkcore-field input,
.bkcore-public-booking-shell .bkcore-field select,
.bkcore-public-booking-shell .bkcore-field textarea{
  min-height:48px!important;
  border:1px solid #d8cec2!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:11px 13px!important;
  box-shadow:none!important;
}
.bkcore-public-booking-shell .bkcore-field input:focus,
.bkcore-public-booking-shell .bkcore-field select:focus,
.bkcore-public-booking-shell .bkcore-field textarea:focus{
  border-color:#9a6a36!important;
  box-shadow:0 0 0 2px rgba(154,106,54,.12)!important;
  outline:none!important;
}
.bkcore-public-booking-shell .bkcore-preview-primary-action,
.bkcore-public-booking-shell .bkcore-menu-book-link{
  min-height:46px!important;
  border:1px solid #9a6a36!important;
  border-radius:10px!important;
  background:#9a6a36!important;
  color:#fff!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.bkcore-public-booking-shell .bkcore-preview-primary-action:hover,
.bkcore-public-booking-shell .bkcore-menu-book-link:hover{
  background:#845a2f!important;
  border-color:#845a2f!important;
}
.bkcore-public-booking-shell .button-link{color:#8a5f34!important;text-decoration:none!important;font-weight:600!important}
.bkcore-public-booking-shell .button-link:hover{text-decoration:underline!important}
.bkcore-public-booking-shell .bkcore-payment-summary{
  gap:12px!important;
  margin:20px 0!important;
}
.bkcore-public-booking-shell .bkcore-payment-summary>div{
  min-height:64px;
  padding:13px 16px!important;
  border:1px solid #e0d3c3!important;
  border-radius:12px!important;
  background:#fffaf4!important;
}
.bkcore-public-booking-shell .bkcore-payment-summary span{
  color:#766d64!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
}
.bkcore-public-booking-shell .bkcore-payment-summary strong{color:#3d3935!important;font-size:20px!important}
.bkcore-public-booking-shell .bkcore-payment-summary .is-due-today strong{color:#9a6a36!important}
.bkcore-public-booking-shell .bkcore-payment-test-note{
  margin:14px 0 18px!important;
  padding:12px 15px!important;
  border:1px solid #e5d8c8!important;
  border-radius:10px!important;
  background:#fbf7f1!important;
}
.bkcore-public-booking-shell .bkcore-payment-test-note strong{color:#8a5f34!important}
.bkcore-public-booking-shell .bkcore-payment-element{
  margin-top:4px;
  padding:16px;
  border:1px solid #e5ddd3;
  border-radius:12px;
  background:#fff;
}
.bkcore-public-booking-shell .bkcore-journey-error{
  border-radius:10px!important;
  padding:12px 14px!important;
}
.bkcore-public-booking-shell .bkcore-preview-time-group>small{color:#8a5f34!important;font-weight:800!important}
.bkcore-public-booking-shell .bkcore-preview-time-group button,
.bkcore-public-booking-shell .bkcore-preview-group-choice,
.bkcore-public-booking-shell .bkcore-preview-duration-option{
  border-color:#ddd2c5!important;
  background:#fff!important;
}
.bkcore-public-booking-shell .bkcore-preview-time-group button:hover,
.bkcore-public-booking-shell .bkcore-preview-group-choice:hover,
.bkcore-public-booking-shell .bkcore-preview-duration-option:hover{
  border-color:#b99164!important;
  background:#fffaf4!important;
}
.bkcore-public-booking-shell .bkcore-preview-time-group button.is-selected,
.bkcore-public-booking-shell .bkcore-preview-group-choice.is-selected,
.bkcore-public-booking-shell .bkcore-preview-duration-option.is-selected{
  border-color:#9a6a36!important;
  background:#f8efe4!important;
  color:#68451f!important;
}

@media(max-width:700px){
  .bkcore-public-booking-shell{padding:8px 8px 34px}
  .bkcore-public-booking-shell .bkcore-booking-flow-preview{border-radius:13px!important}
  .bkcore-public-booking-shell .bkcore-preview-flow-head{padding:15px 16px!important}
  .bkcore-public-booking-shell .bkcore-preview-progress{padding:0 6px!important}
  .bkcore-public-booking-shell .bkcore-preview-canvas{padding:20px 12px 26px!important}
  .bkcore-public-booking-shell .bkcore-preview-option-panel{padding:20px 17px!important}
  .bkcore-public-booking-shell .bkcore-preview-option-panel h4,
  .bkcore-public-booking-shell .bkcore-payment-head h4{font-size:23px!important}
  .bkcore-public-booking-shell .bkcore-payment-summary{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .bkcore-public-booking-shell .bkcore-payment-element{padding:10px}
}


/* RC49: Rest Days public booking beauty pass.
   Presentation and motion only; booking, availability, waiver, and payment business logic are unchanged. */
.bkcore-public-booking-shell{
  --rd-bronze:#9A6A36;
  --rd-bronze-deep:#7F542B;
  --rd-ink:#3D3935;
  --rd-muted:#766F68;
  --rd-cream:#F7F2EA;
  --rd-paper:#FFFEFC;
  --rd-line:#E8DED2;
  --rd-soft:#FBF8F4;
  max-width:1040px;
  padding:24px 18px 64px;
}
.bkcore-public-booking-shell .bkcore-booking-flow-preview{
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.bkcore-public-booking-shell .bkcore-preview-flow-head{
  padding:4px 6px 18px!important;
  border:0!important;
  background:transparent!important;
}
.bkcore-public-booking-shell .bkcore-preview-flow-title{gap:3px}
.bkcore-public-booking-shell .bkcore-preview-flow-title strong{
  font-size:19px!important;
  letter-spacing:-.015em;
}
.bkcore-public-booking-shell .bkcore-preview-flow-title small{
  font-size:11px!important;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.bkcore-public-booking-shell .bkcore-preview-flow-actions{gap:9px}
.bkcore-public-booking-shell .bkcore-preview-flow-actions>.button-link{
  min-height:34px;
  padding:6px 11px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  color:#7C6B59!important;
  font-size:11px!important;
  font-weight:700!important;
  text-decoration:none!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.bkcore-public-booking-shell .bkcore-preview-flow-actions>.button-link:hover{
  border-color:#E3D5C5!important;
  background:#FFF!important;
  color:var(--rd-bronze-deep)!important;
}
.bkcore-public-booking-shell .bkcore-preview-live-total{
  border:1px solid #E5D8C8!important;
  border-radius:999px!important;
  background:#FFF!important;
  padding:7px 12px!important;
  box-shadow:0 3px 12px rgba(61,57,53,.04)!important;
}
.bkcore-public-booking-shell .bkcore-preview-canvas{
  min-height:0!important;
  padding:42px 42px 46px!important;
  border:1px solid var(--rd-line)!important;
  border-radius:26px!important;
  background:var(--rd-paper)!important;
  box-shadow:0 18px 55px rgba(61,57,53,.075)!important;
}
.bkcore-public-booking-shell .bkcore-preview-screen{max-width:900px!important}
.bkcore-public-booking-shell .bkcore-preview-screen.bkcore-screen-enter{
  animation:bkcore-public-screen-in .28s cubic-bezier(.2,.75,.25,1) both;
}
@keyframes bkcore-public-screen-in{
  from{opacity:0;transform:translateY(8px) scale(.995)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.bkcore-public-booking-shell .bkcore-preview-screen-top{
  min-height:34px;
  margin-bottom:20px!important;
}
.bkcore-public-booking-shell .bkcore-preview-screen-top>.button-link,
.bkcore-public-booking-shell .bkcore-preview-screen>.button-link{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:5px 9px!important;
  margin-left:-9px;
  border-radius:999px!important;
  color:#75685A!important;
  font-size:12px!important;
  font-weight:650!important;
  text-decoration:none!important;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.bkcore-public-booking-shell .bkcore-preview-screen-top>.button-link:hover,
.bkcore-public-booking-shell .bkcore-preview-screen>.button-link:hover{
  background:#F8F3ED!important;
  color:var(--rd-bronze-deep)!important;
  transform:translateX(-1px);
}
.bkcore-public-booking-shell .bkcore-preview-screen-label{
  color:#9A6A36!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.14em!important;
}

/* Catalog: lighter, editorial cards instead of button-heavy tiles. */
.bkcore-public-booking-shell .bkcore-preview-catalog-layout{
  grid-template-columns:1fr!important;
  gap:18px!important;
  max-width:900px!important;
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar{
  flex-direction:row!important;
  gap:7px!important;
  overflow-x:auto;
  padding:0 0 2px!important;
  scrollbar-width:none;
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar::-webkit-scrollbar{display:none}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar>button{
  width:auto!important;
  min-width:max-content;
  min-height:34px!important;
  padding:7px 11px!important;
  border:1px solid #E8DED2!important;
  border-radius:999px!important;
  background:#FFF!important;
  color:#6E665F!important;
  font-size:11px!important;
  font-weight:700!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar>button:hover{
  border-color:#CDB89F!important;
  background:#FCF8F3!important;
  transform:translateY(-1px);
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar>button.is-active{
  border-color:#C8AA87!important;
  background:#F6EDE2!important;
  color:#704921!important;
}
.bkcore-public-booking-shell .bkcore-preview-category-thumb{
  width:24px!important;height:24px!important;flex-basis:24px!important;border-radius:50%!important;
}
.bkcore-public-booking-shell .bkcore-preview-catalog-heading{margin-bottom:18px!important}
.bkcore-public-booking-shell .bkcore-preview-catalog-heading .bkcore-preview-screen-label{
  color:var(--rd-ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:29px!important;
  font-weight:600!important;
  letter-spacing:-.025em!important;
}
.bkcore-public-booking-shell .bkcore-preview-catalog-heading>strong{
  color:#978B80!important;
  font-size:10px!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bkcore-public-booking-shell .bkcore-preview-service-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.bkcore-public-booking-shell .bkcore-preview-service-tile{
  min-height:0!important;
  border:1px solid #E9E0D6!important;
  border-radius:20px!important;
  background:#FFF!important;
  box-shadow:0 7px 24px rgba(61,57,53,.045)!important;
  transition:transform .2s cubic-bezier(.2,.75,.25,1),box-shadow .2s ease,border-color .2s ease!important;
}
.bkcore-public-booking-shell button.bkcore-preview-service-tile:hover{
  transform:translateY(-3px)!important;
  border-color:#D7C2A8!important;
  box-shadow:0 14px 34px rgba(61,57,53,.085)!important;
}
.bkcore-public-booking-shell .bkcore-preview-tile-image{
  height:180px!important;
  flex-basis:180px!important;
  border-bottom:1px solid #F0E9E1!important;
}
.bkcore-public-booking-shell .bkcore-preview-tile-body{padding:19px 20px 18px!important}
.bkcore-public-booking-shell .bkcore-preview-tile-body>strong{
  margin-bottom:5px!important;
  color:var(--rd-ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px!important;
  font-weight:600!important;
  line-height:1.2!important;
}
.bkcore-public-booking-shell .bkcore-preview-tile-body>b{
  margin-bottom:10px!important;
  color:#746D66!important;
  font-size:12px!important;
  font-weight:500!important;
}
.bkcore-public-booking-shell .bkcore-preview-service-tile .bkcore-preview-meta{margin-bottom:7px!important}
.bkcore-public-booking-shell .bkcore-preview-service-tile .bkcore-preview-duration-price-list{margin:3px 0!important}
.bkcore-public-booking-shell .bkcore-preview-service-tile .bkcore-duration-price-row{font-size:11px!important}
.bkcore-public-booking-shell .bkcore-preview-tile-action{
  width:auto!important;
  min-height:0!important;
  margin-top:15px!important;
  padding:0!important;
  background:transparent!important;
  color:var(--rd-bronze)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.02em;
  justify-content:flex-start!important;
}
.bkcore-public-booking-shell .bkcore-preview-tile-action::after{
  content:"→";
  margin-left:7px;
  font-size:14px;
  line-height:1;
  transition:transform .18s ease;
}
.bkcore-public-booking-shell button.bkcore-preview-service-tile:hover .bkcore-preview-tile-action::after{transform:translateX(3px)}

/* Service details and option steps. */
.bkcore-public-booking-shell .bkcore-preview-service-details-card,
.bkcore-public-booking-shell .bkcore-preview-option-panel{
  border:1px solid #E9E0D6!important;
  border-radius:22px!important;
  background:#FFF!important;
  box-shadow:0 9px 30px rgba(61,57,53,.05)!important;
}
.bkcore-public-booking-shell .bkcore-preview-service-details-card{overflow:hidden}
.bkcore-public-booking-shell .bkcore-preview-gallery{height:310px!important}
.bkcore-public-booking-shell .bkcore-preview-service-details-main{padding:30px 32px 32px!important}
.bkcore-public-booking-shell .bkcore-preview-detail-heading-row h4{
  color:var(--rd-ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:31px!important;
  font-weight:600!important;
  letter-spacing:-.025em;
}
.bkcore-public-booking-shell .bkcore-preview-about-label{
  margin:7px 0 14px!important;
  padding:0!important;
  border:0!important;
  color:#9A6A36!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.bkcore-public-booking-shell .bkcore-preview-detail-short{font-size:14px!important;font-weight:600!important}
.bkcore-public-booking-shell .bkcore-preview-detail-full{color:#6C655E!important;font-size:13px!important;line-height:1.75!important}
.bkcore-public-booking-shell .bkcore-preview-option-panel{
  max-width:720px;
  margin:0 auto;
  padding:30px 32px!important;
}
.bkcore-public-booking-shell .bkcore-preview-option-panel h4,
.bkcore-public-booking-shell .bkcore-payment-head h4{
  font-size:30px!important;
  letter-spacing:-.025em;
}
.bkcore-public-booking-shell .bkcore-preview-muted{color:#746D66!important;line-height:1.55}
.bkcore-public-booking-shell .bkcore-preview-selection-summary{
  margin-bottom:12px!important;
  color:#8A8178!important;
}
.bkcore-public-booking-shell .bkcore-preview-group-options{gap:9px!important}
.bkcore-public-booking-shell .bkcore-preview-group-choice,
.bkcore-public-booking-shell .bkcore-preview-duration-option{
  border:1px solid #E2D8CD!important;
  border-radius:14px!important;
  background:#FFF!important;
  box-shadow:0 2px 9px rgba(61,57,53,.025)!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease!important;
}
.bkcore-public-booking-shell .bkcore-preview-group-choice:hover,
.bkcore-public-booking-shell .bkcore-preview-duration-option:hover{
  transform:translateY(-1px);
  border-color:#CDB28F!important;
  background:#FFFCF8!important;
}
.bkcore-public-booking-shell .bkcore-preview-group-choice.is-selected,
.bkcore-public-booking-shell .bkcore-preview-duration-option.is-selected{
  border-color:#A9753F!important;
  background:#F8F0E6!important;
  box-shadow:0 0 0 1px rgba(154,106,54,.2)!important;
}
.bkcore-public-booking-shell .bkcore-preview-duration-list{gap:9px!important}
.bkcore-public-booking-shell .bkcore-preview-duration-option{padding:14px 15px!important}

/* Primary actions: smaller, softer, and consistent. */
.bkcore-public-booking-shell .bkcore-preview-primary-action,
.bkcore-public-booking-shell .bkcore-menu-book-link{
  width:auto!important;
  min-width:0!important;
  min-height:42px!important;
  padding:9px 18px!important;
  border:1px solid var(--rd-bronze)!important;
  border-radius:999px!important;
  background:var(--rd-bronze)!important;
  color:#FFF!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.01em;
  box-shadow:0 5px 14px rgba(154,106,54,.14)!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.bkcore-public-booking-shell .bkcore-preview-primary-action:hover:not(:disabled),
.bkcore-public-booking-shell .bkcore-menu-book-link:hover:not(:disabled){
  transform:translateY(-1px);
  background:var(--rd-bronze-deep)!important;
  border-color:var(--rd-bronze-deep)!important;
  box-shadow:0 8px 18px rgba(127,84,43,.18)!important;
}
.bkcore-public-booking-shell .bkcore-preview-primary-action:active:not(:disabled),
.bkcore-public-booking-shell .bkcore-menu-book-link:active:not(:disabled){transform:translateY(0) scale(.985)}
.bkcore-public-booking-shell .bkcore-preview-primary-action:disabled{box-shadow:none!important;opacity:.42!important}
.bkcore-public-booking-shell .bkcore-preview-detail-actions{margin-top:26px!important}
.bkcore-public-booking-shell .bkcore-preview-detail-actions .bkcore-preview-primary-action{min-width:0!important}

/* Date + time: cleaner cards and more tactile choices. */
.bkcore-public-booking-shell .bkcore-preview-availability-layout{gap:16px!important}
.bkcore-public-booking-shell .bkcore-preview-calendar-card,
.bkcore-public-booking-shell .bkcore-preview-times-card{
  border:1px solid #E9E0D6!important;
  border-radius:20px!important;
  padding:22px!important;
  background:#FFF!important;
  box-shadow:0 8px 26px rgba(61,57,53,.045)!important;
}
.bkcore-public-booking-shell .bkcore-preview-calendar-head{margin-bottom:18px!important}
.bkcore-public-booking-shell .bkcore-preview-calendar-head strong{
  color:var(--rd-ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px!important;
}
.bkcore-public-booking-shell .bkcore-preview-calendar-nav{
  width:34px!important;height:34px!important;
  border-color:#E3D8CB!important;
  background:#FFF!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.bkcore-public-booking-shell .bkcore-preview-calendar-nav:hover:not(:disabled){transform:scale(1.04);background:#F9F4EE!important}
.bkcore-public-booking-shell .bkcore-preview-calendar-grid{gap:6px!important}
.bkcore-public-booking-shell .bkcore-preview-calendar-grid button{
  min-height:40px!important;
  border-radius:999px!important;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.bkcore-public-booking-shell .bkcore-preview-calendar-grid button:hover:not(:disabled){transform:scale(1.04)}
.bkcore-public-booking-shell .bkcore-preview-calendar-grid button.is-selected{box-shadow:0 5px 12px rgba(154,106,54,.18)}
.bkcore-public-booking-shell .bkcore-preview-times-head{padding-bottom:16px!important}
.bkcore-public-booking-shell .bkcore-preview-times-head strong{
  color:var(--rd-ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px!important;
  font-weight:600!important;
}
.bkcore-public-booking-shell .bkcore-preview-time-group>small{color:#9A6A36!important;font-size:9px!important;letter-spacing:.12em!important}
.bkcore-public-booking-shell .bkcore-preview-time-group button{
  min-height:40px;
  border:1px solid #E2D8CD!important;
  border-radius:12px!important;
  background:#FFF!important;
  font-size:12px!important;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;
}
.bkcore-public-booking-shell .bkcore-preview-time-group button:hover{transform:translateY(-1px);background:#FCF8F3!important}
.bkcore-public-booking-shell .bkcore-preview-time-group button.is-selected{
  background:#9A6A36!important;
  border-color:#9A6A36!important;
  box-shadow:0 5px 12px rgba(154,106,54,.16)!important;
}
.bkcore-public-booking-shell .bkcore-preview-time-selection{
  border-radius:14px!important;
  background:#F9F2E9!important;
}

/* Customer details: quieter form hierarchy. */
.bkcore-public-booking-shell [data-journey-hold-summary]{
  margin:0 0 5px!important;
  color:var(--rd-ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px!important;
  line-height:1.45;
}
.bkcore-public-booking-shell [data-journey-countdown]{
  margin:0 0 20px!important;
  color:#9A6A36!important;
  font-size:11px!important;
  font-weight:750!important;
}
.bkcore-public-booking-shell .bkcore-field{gap:7px!important}
.bkcore-public-booking-shell .bkcore-field>span{
  color:#716A63!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.bkcore-public-booking-shell .bkcore-field input,
.bkcore-public-booking-shell .bkcore-field select,
.bkcore-public-booking-shell .bkcore-field textarea{
  min-height:50px!important;
  border:1px solid #DED4C8!important;
  border-radius:13px!important;
  padding:11px 13px!important;
  background:#FFF!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.bkcore-public-booking-shell .bkcore-field input:hover,
.bkcore-public-booking-shell .bkcore-field select:hover,
.bkcore-public-booking-shell .bkcore-field textarea:hover{border-color:#CEBBA5!important}
.bkcore-public-booking-shell .bkcore-field input:focus,
.bkcore-public-booking-shell .bkcore-field select:focus,
.bkcore-public-booking-shell .bkcore-field textarea:focus{
  border-color:#A9753F!important;
  box-shadow:0 0 0 3px rgba(154,106,54,.09)!important;
  background:#FFFEFC!important;
}
.bkcore-public-booking-shell .bkcore-primary-guest-age{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:20px!important;
}
.bkcore-public-booking-shell .bkcore-primary-guest-age .bkcore-additional-guest-age-choice+.bkcore-additional-guest-age-choice{margin-top:0!important}
.bkcore-public-booking-shell .bkcore-additional-guest-age-choice{
  border-color:#E3D9CD!important;
  border-radius:13px!important;
  background:#FFF!important;
  padding:12px 13px!important;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.bkcore-public-booking-shell .bkcore-additional-guest-age-choice:has(input:checked){
  border-color:#AA7B49!important;
  background:#F9F1E7!important;
  box-shadow:0 0 0 1px rgba(154,106,54,.16)!important;
}

/* Waiver: still complete, but visually calmer and easier to scan. */
.bkcore-public-booking-shell .bkcore-waiver-panel{max-width:780px}
.bkcore-public-booking-shell .bkcore-waiver-document-head{
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
}
.bkcore-public-booking-shell .bkcore-waiver-document-head h4{
  color:var(--rd-ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px!important;
  font-weight:600!important;
  letter-spacing:-.02em;
}
.bkcore-public-booking-shell .bkcore-waiver-document-head p{color:#7A726A!important}
.bkcore-public-booking-shell .bkcore-waiver-document{
  max-height:270px!important;
  padding:18px 20px!important;
  border:1px solid #E8DED2!important;
  border-radius:16px!important;
  background:#FCFAF7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}
.bkcore-public-booking-shell .bkcore-waiver-document section+section{border-top-color:#EEE7DF!important}
.bkcore-public-booking-shell .bkcore-waiver-document h5{font-family:Georgia,"Times New Roman",serif;font-size:15px!important;font-weight:600!important}
.bkcore-public-booking-shell .bkcore-waiver-document p{color:#5E5852!important;font-size:12.5px!important;line-height:1.68!important}
.bkcore-public-booking-shell .bkcore-waiver-acknowledgement{
  border:1px solid #ECE2D7!important;
  border-radius:13px!important;
  background:#FAF6F1!important;
}
.bkcore-public-booking-shell .bkcore-waiver-agree{
  padding:12px 13px;
  border:1px solid #E9E0D6;
  border-radius:13px;
  background:#FFF;
  font-size:12px!important;
  font-weight:600!important;
}
.bkcore-public-booking-shell .bkcore-waiver-agree:has(input:checked){border-color:#D3B99A;background:#FCF7F1}
.bkcore-public-booking-shell .bkcore-waiver-sign-tabs{
  display:inline-flex!important;
  gap:2px!important;
  padding:3px;
  border:1px solid #E2D7CA;
  border-radius:999px;
  background:#F8F4EF;
}
.bkcore-public-booking-shell .bkcore-waiver-sign-tabs button{
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  padding:7px 12px!important;
  color:#766E66!important;
}
.bkcore-public-booking-shell .bkcore-waiver-sign-tabs button.active{
  background:#FFF!important;
  color:#6B4828!important;
  box-shadow:0 2px 7px rgba(61,57,53,.08)!important;
}
.bkcore-public-booking-shell .bkcore-waiver-sign-canvas,
.bkcore-public-booking-shell .bkcore-waiver-sign-type{
  border-color:#DDD1C3!important;
  border-radius:13px!important;
  background:#FFFEFC!important;
}
.bkcore-public-booking-shell .bkcore-policy-overlay.is-open{animation:bkcore-public-fade-in .18s ease both}
.bkcore-public-booking-shell .bkcore-policy-overlay.is-open .bkcore-policy-shelf{animation:bkcore-public-shelf-in .25s cubic-bezier(.2,.75,.25,1) both}
@keyframes bkcore-public-fade-in{from{opacity:0}to{opacity:1}}
@keyframes bkcore-public-shelf-in{from{transform:translateX(22px);opacity:.7}to{transform:translateX(0);opacity:1}}

/* Payment: cleaner summary plus a real loading skeleton while Stripe initializes. */
.bkcore-public-booking-shell .bkcore-payment-panel{max-width:720px!important}
.bkcore-public-booking-shell .bkcore-payment-head p{color:#6B645D!important;font-size:13px!important;line-height:1.65!important}
.bkcore-public-booking-shell .bkcore-payment-summary>div{
  min-height:62px!important;
  border-radius:15px!important;
  background:#FFF!important;
}
.bkcore-public-booking-shell .bkcore-payment-summary .is-due-today{background:#FAF3EA!important}
.bkcore-public-booking-shell .bkcore-payment-test-note{
  border:0!important;
  border-radius:13px!important;
  background:#F8F4EF!important;
  padding:11px 13px!important;
}
.bkcore-public-booking-shell .bkcore-payment-element{
  position:relative;
  min-height:118px;
  margin-top:12px!important;
  padding:15px!important;
  border:1px solid #E8DED2!important;
  border-radius:16px!important;
  background:#FFF!important;
  overflow:hidden;
}
.bkcore-public-booking-shell .bkcore-payment-element.is-loading{
  min-height:168px;
  background:
    linear-gradient(#EEE7DE 0 0) 16px 20px/92px 12px no-repeat,
    linear-gradient(#F4EFE9 0 0) 16px 46px/calc(100% - 32px) 46px no-repeat,
    linear-gradient(#F4EFE9 0 0) 16px 108px/44% 42px no-repeat,
    linear-gradient(#F4EFE9 0 0) calc(44% + 25px) 108px/calc(56% - 41px) 42px no-repeat,
    #FFF!important;
}
.bkcore-public-booking-shell .bkcore-payment-element.is-loading::after{
  content:"";
  position:absolute;inset:0;
  transform:translateX(-100%);
  background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.72) 50%,transparent 80%);
  animation:bkcore-public-shimmer 1.15s infinite;
  pointer-events:none;
}
@keyframes bkcore-public-shimmer{to{transform:translateX(100%)}}
.bkcore-public-booking-shell .bkcore-payment-status{color:#8A7D70!important;font-size:11px!important}

/* Confirmation: celebratory without becoming loud. */
.bkcore-public-booking-shell .bkcore-preview-screen[data-journey-screen="confirmed"] .bkcore-preview-option-panel{
  max-width:650px;
  padding:38px 36px!important;
  text-align:center;
}
.bkcore-public-booking-shell .bkcore-preview-screen[data-journey-screen="confirmed"] .bkcore-preview-option-panel::before{
  content:"✓";
  display:grid;
  place-items:center;
  width:54px;height:54px;
  margin:0 auto 17px;
  border-radius:50%;
  background:#F4EBDD;
  color:#8A5A2C;
  font-size:25px;
  font-weight:700;
  box-shadow:0 8px 18px rgba(154,106,54,.10);
}
.bkcore-public-booking-shell .bkcore-preview-screen[data-journey-screen="confirmed"] h4{
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px!important;
  font-weight:600!important;
  letter-spacing:-.025em;
}
.bkcore-public-booking-shell .bkcore-preview-screen[data-journey-screen="confirmed"] p{color:#6C645D;line-height:1.65}
.bkcore-public-booking-shell .bkcore-location-arrival-card{
  border-radius:16px!important;
  background:#FAF5EE!important;
  text-align:left!important;
}
.bkcore-public-booking-shell .bkcore-journey-error{border-radius:13px!important}

/* Keyboard focus that looks intentional. */
.bkcore-public-booking-shell button:focus-visible,
.bkcore-public-booking-shell input:focus-visible,
.bkcore-public-booking-shell select:focus-visible,
.bkcore-public-booking-shell textarea:focus-visible{
  outline:2px solid rgba(154,106,54,.55)!important;
  outline-offset:2px!important;
}

@media(max-width:760px){
  .bkcore-public-booking-shell{padding:10px 8px 38px}
  .bkcore-public-booking-shell .bkcore-preview-flow-head{padding:4px 7px 14px!important;align-items:center!important;flex-direction:row!important}
  .bkcore-public-booking-shell .bkcore-preview-flow-actions{width:auto!important;margin-left:auto!important;justify-content:flex-end!important}
  .bkcore-public-booking-shell .bkcore-preview-live-total{display:none!important}
  .bkcore-public-booking-shell .bkcore-preview-canvas{padding:25px 15px 28px!important;border-radius:20px!important}
  .bkcore-public-booking-shell .bkcore-preview-catalog-heading .bkcore-preview-screen-label{font-size:25px!important}
  .bkcore-public-booking-shell .bkcore-preview-catalog-heading>strong{display:none}
  .bkcore-public-booking-shell .bkcore-preview-service-grid{grid-template-columns:1fr!important;gap:13px!important}
  .bkcore-public-booking-shell .bkcore-preview-tile-image{height:170px!important;flex-basis:170px!important}
  .bkcore-public-booking-shell .bkcore-preview-service-details-main{padding:22px 20px 24px!important}
  .bkcore-public-booking-shell .bkcore-preview-detail-heading-row h4{font-size:27px!important}
  .bkcore-public-booking-shell .bkcore-preview-gallery{height:220px!important}
  .bkcore-public-booking-shell .bkcore-preview-option-panel{padding:22px 18px!important;border-radius:18px!important}
  .bkcore-public-booking-shell .bkcore-preview-option-panel h4,.bkcore-public-booking-shell .bkcore-payment-head h4{font-size:25px!important}
  .bkcore-public-booking-shell .bkcore-preview-duration-list{grid-template-columns:1fr!important}
  .bkcore-public-booking-shell .bkcore-primary-guest-age{grid-template-columns:1fr}
  .bkcore-public-booking-shell .bkcore-preview-calendar-card,.bkcore-public-booking-shell .bkcore-preview-times-card{padding:17px!important;border-radius:17px!important}
  .bkcore-public-booking-shell .bkcore-preview-calendar-grid button{min-height:36px!important}
  .bkcore-public-booking-shell .bkcore-preview-time-group>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bkcore-public-booking-shell .bkcore-waiver-document{max-height:245px!important;padding:15px!important}
  .bkcore-public-booking-shell .bkcore-payment-summary{grid-template-columns:1fr 1fr!important}
  .bkcore-public-booking-shell .bkcore-payment-summary>div{padding:11px 12px!important}
  .bkcore-public-booking-shell .bkcore-payment-element{padding:10px!important}
  .bkcore-public-booking-shell .bkcore-preview-screen[data-journey-screen="confirmed"] .bkcore-preview-option-panel{padding:30px 20px!important}
}
@media(max-width:430px){
  .bkcore-public-booking-shell .bkcore-preview-flow-title strong{font-size:17px!important}
  .bkcore-public-booking-shell .bkcore-preview-flow-title small{font-size:9px!important}
  .bkcore-public-booking-shell .bkcore-preview-flow-actions>.button-link{padding:5px 8px!important;font-size:10px!important}
  .bkcore-public-booking-shell .bkcore-preview-canvas{padding:21px 12px 24px!important}
  .bkcore-public-booking-shell .bkcore-preview-payment-summary{gap:6px!important}
  .bkcore-public-booking-shell .bkcore-payment-summary{gap:7px!important}
  .bkcore-public-booking-shell .bkcore-payment-summary span{font-size:9px!important}
  .bkcore-public-booking-shell .bkcore-payment-summary strong{font-size:17px!important}
}
@media(prefers-reduced-motion:reduce){
  .bkcore-public-booking-shell .bkcore-preview-screen.bkcore-screen-enter,
  .bkcore-public-booking-shell .bkcore-policy-overlay.is-open,
  .bkcore-public-booking-shell .bkcore-policy-overlay.is-open .bkcore-policy-shelf,
  .bkcore-public-booking-shell .bkcore-payment-element.is-loading::after{animation:none!important}
  .bkcore-public-booking-shell *{scroll-behavior:auto!important}
}

/* RC49.1: motion + refinement pass from Rest Days visual review. */
.bkcore-public-booking-shell{
  max-width:960px;
  margin-top:-10px;
  padding-top:4px;
  padding-bottom:50px;
}
.bkcore-public-booking-shell .bkcore-preview-flow-head{padding-bottom:10px!important}
.bkcore-public-booking-shell .bkcore-preview-canvas{
  padding:28px 30px 32px!important;
  border-radius:22px!important;
  box-shadow:0 14px 42px rgba(61,57,53,.065)!important;
}
.bkcore-public-booking-shell.is-stage-transitioning{pointer-events:none}
.bkcore-public-booking-shell .bkcore-preview-screen{max-width:820px!important}
.bkcore-public-booking-shell .bkcore-preview-screen-top{margin-bottom:13px!important;min-height:30px}
.bkcore-public-booking-shell .bkcore-preview-catalog-heading{margin-bottom:13px!important}
.bkcore-public-booking-shell .bkcore-preview-catalog-heading .bkcore-preview-screen-label{font-size:25px!important}

/* Category navigation becomes visual when category photos are configured. */
.bkcore-public-booking-shell .bkcore-preview-category-sidebar{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:9px!important;
  overflow:visible!important;
  padding:0!important;
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar>button{
  position:relative;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  min-height:48px!important;
  overflow:hidden;
  padding:7px 10px!important;
  border-radius:14px!important;
  text-align:left!important;
  box-shadow:0 2px 10px rgba(61,57,53,.025)!important;
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar>button:has(.bkcore-preview-category-thumb){min-height:68px!important;padding:7px!important}
.bkcore-public-booking-shell .bkcore-preview-category-thumb{
  width:54px!important;height:54px!important;flex:0 0 54px!important;
  margin-right:10px!important;border-radius:11px!important;
  background-size:cover!important;background-position:center!important;
  box-shadow:inset 0 0 0 1px rgba(61,57,53,.06)!important;
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar>button span:last-child{position:relative;z-index:1;line-height:1.2}

/* Smaller, calmer service cards and option screens. */
.bkcore-public-booking-shell .bkcore-preview-service-grid{gap:12px!important}
.bkcore-public-booking-shell .bkcore-preview-service-tile{border-radius:17px!important}
.bkcore-public-booking-shell .bkcore-preview-tile-image{height:145px!important;flex-basis:145px!important}
.bkcore-public-booking-shell .bkcore-preview-tile-body{padding:15px 16px 14px!important}
.bkcore-public-booking-shell .bkcore-preview-tile-body>strong{font-size:19px!important}
.bkcore-public-booking-shell .bkcore-preview-tile-action{margin-top:10px!important}
.bkcore-public-booking-shell .bkcore-preview-service-details-card{max-width:720px;margin:0 auto;border-radius:18px!important}
.bkcore-public-booking-shell .bkcore-preview-gallery{height:240px!important}
.bkcore-public-booking-shell .bkcore-preview-service-details-main{padding:23px 25px 25px!important}
.bkcore-public-booking-shell .bkcore-preview-detail-heading-row h4{font-size:27px!important}
.bkcore-public-booking-shell .bkcore-preview-detail-full{line-height:1.62!important}
.bkcore-public-booking-shell .bkcore-preview-detail-actions{margin-top:18px!important}
.bkcore-public-booking-shell .bkcore-preview-option-panel{max-width:650px;padding:23px 25px!important;border-radius:18px!important}
.bkcore-public-booking-shell .bkcore-preview-option-panel h4,
.bkcore-public-booking-shell .bkcore-payment-head h4{font-size:26px!important}
.bkcore-public-booking-shell .bkcore-preview-duration-option{padding:11px 13px!important}
.bkcore-public-booking-shell .bkcore-preview-group-choice{min-height:58px!important}
.bkcore-public-booking-shell .bkcore-field input,
.bkcore-public-booking-shell .bkcore-field select,
.bkcore-public-booking-shell .bkcore-field textarea{min-height:46px!important;border-radius:11px!important}

/* Action buttons: warm, light and tactile instead of heavy brown pills. */
.bkcore-public-booking-shell .bkcore-preview-primary-action,
.bkcore-public-booking-shell .bkcore-menu-book-link{
  min-height:39px!important;
  padding:8px 16px!important;
  border:1px solid #C6A37C!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#FFFDFC 0%,#FBF5EC 100%)!important;
  color:#704820!important;
  box-shadow:0 4px 12px rgba(61,57,53,.055)!important;
}
.bkcore-public-booking-shell .bkcore-preview-primary-action:hover:not(:disabled),
.bkcore-public-booking-shell .bkcore-menu-book-link:hover:not(:disabled){
  transform:translateY(-1px);
  background:#F7EEE3!important;
  border-color:#A97843!important;
  color:#62401F!important;
  box-shadow:0 7px 16px rgba(61,57,53,.08)!important;
}
.bkcore-public-booking-shell .bkcore-preview-primary-action:active:not(:disabled),
.bkcore-public-booking-shell .bkcore-menu-book-link:active:not(:disabled){background:#F1E5D7!important;transform:scale(.985)}
.bkcore-public-booking-shell .bkcore-preview-time-group button.is-selected,
.bkcore-public-booking-shell .bkcore-preview-group-choice.is-selected,
.bkcore-public-booking-shell .bkcore-preview-duration-option.is-selected,
.bkcore-public-booking-shell .bkcore-preview-calendar-grid button.is-selected{
  border-color:#AE8151!important;
  background:#F7EEE3!important;
  color:#68451F!important;
  box-shadow:0 0 0 1px rgba(154,106,54,.10)!important;
}

/* Date/time reveal should feel like one connected interaction. */
.bkcore-public-booking-shell .bkcore-preview-calendar-card,
.bkcore-public-booking-shell .bkcore-preview-times-card{padding:18px!important;border-radius:17px!important}
.bkcore-public-booking-shell .bkcore-preview-time-selection{transition:opacity .2s ease,transform .2s ease,background .2s ease}
.bkcore-public-booking-shell .bkcore-times-reveal{animation:bkcore-times-reveal .32s cubic-bezier(.2,.75,.25,1) both}
@keyframes bkcore-times-reveal{from{opacity:.3;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}

/* Custom Rest Days acknowledgement checkboxes. */
.bkcore-public-booking-shell .bkcore-waiver-agree{position:relative;display:flex!important;align-items:flex-start!important;gap:10px!important;padding:11px 12px!important;border-radius:12px!important;cursor:pointer}
.bkcore-public-booking-shell .bkcore-waiver-agree input[type="checkbox"]{
  position:absolute!important;
  width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none!important;
}
.bkcore-public-booking-shell .bkcore-waiver-agree::before{
  content:"";
  display:grid;
  place-items:center;
  width:18px;height:18px;
  flex:0 0 18px;
  margin-top:1px;
  border:1.5px solid #CDBAA5;
  border-radius:6px;
  background:#FFF;
  color:#FFF;
  font-size:12px;
  font-weight:900;
  line-height:1;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.bkcore-public-booking-shell .bkcore-waiver-agree:hover::before{border-color:#A97843;box-shadow:0 0 0 3px rgba(154,106,54,.07)}
.bkcore-public-booking-shell .bkcore-waiver-agree:has(input:checked)::before{content:"✓";background:#9A6A36;border-color:#9A6A36;transform:scale(1.03)}
.bkcore-public-booking-shell .bkcore-waiver-agree>span{flex:1;line-height:1.5}

/* True viewport drawer. Appended to body while open so theme transforms cannot clip it. */
body.bkcore-policy-is-open{overflow:hidden!important}
body>.bkcore-policy-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:stretch!important;
  background:rgba(35,31,28,.38)!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,visibility 0s linear .22s;
}
body>.bkcore-policy-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease}
body>.bkcore-policy-overlay .bkcore-policy-shelf{
  width:min(510px,92vw)!important;
  height:100dvh!important;
  max-height:100dvh!important;
  transform:translate3d(28px,0,0);
  opacity:.96;
  border-radius:20px 0 0 20px;
  overflow:hidden;
  transition:transform .28s cubic-bezier(.2,.75,.25,1),opacity .2s ease;
}
body>.bkcore-policy-overlay.is-open .bkcore-policy-shelf{transform:translate3d(0,0,0);opacity:1}
body>.bkcore-policy-overlay .bkcore-policy-scroll{overscroll-behavior:contain}

/* Payment/waiver are shorter and less contract-like. */
.bkcore-public-booking-shell .bkcore-waiver-panel{max-width:710px!important}
.bkcore-public-booking-shell .bkcore-waiver-document-head h4{font-size:24px!important}
.bkcore-public-booking-shell .bkcore-waiver-document{max-height:230px!important;padding:15px 17px!important;border-radius:13px!important}
.bkcore-public-booking-shell .bkcore-payment-panel{max-width:650px!important}
.bkcore-public-booking-shell .bkcore-payment-summary>div{min-height:56px!important;padding:10px 13px!important}

@media(max-width:760px){
  .bkcore-public-booking-shell{margin-top:-4px;padding-top:0;padding-left:6px;padding-right:6px}
  .bkcore-public-booking-shell .bkcore-preview-canvas{padding:19px 12px 22px!important;border-radius:17px!important}
  .bkcore-public-booking-shell .bkcore-preview-category-sidebar{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .bkcore-public-booking-shell .bkcore-preview-category-sidebar>button{min-height:44px!important;font-size:10px!important}
  .bkcore-public-booking-shell .bkcore-preview-category-sidebar>button:has(.bkcore-preview-category-thumb){min-height:58px!important}
  .bkcore-public-booking-shell .bkcore-preview-category-thumb{width:44px!important;height:44px!important;flex-basis:44px!important;margin-right:7px!important}
  .bkcore-public-booking-shell .bkcore-preview-tile-image{height:145px!important;flex-basis:145px!important}
  .bkcore-public-booking-shell .bkcore-preview-service-details-main{padding:19px 17px 21px!important}
  .bkcore-public-booking-shell .bkcore-preview-detail-heading-row h4{font-size:24px!important}
  .bkcore-public-booking-shell .bkcore-preview-gallery{height:195px!important}
  .bkcore-public-booking-shell .bkcore-preview-option-panel{padding:19px 16px!important}
  .bkcore-public-booking-shell .bkcore-preview-option-panel h4,.bkcore-public-booking-shell .bkcore-payment-head h4{font-size:23px!important}
  body>.bkcore-policy-overlay .bkcore-policy-shelf{width:min(92vw,420px)!important;border-radius:16px 0 0 16px}
}
@media(max-width:430px){
  .bkcore-public-booking-shell .bkcore-preview-category-sidebar{grid-template-columns:1fr!important}
  .bkcore-public-booking-shell .bkcore-preview-primary-action,.bkcore-public-booking-shell .bkcore-menu-book-link{min-height:38px!important;padding:8px 14px!important}
}
@media(prefers-reduced-motion:reduce){
  body>.bkcore-policy-overlay,body>.bkcore-policy-overlay .bkcore-policy-shelf{transition:none!important}
  .bkcore-public-booking-shell .bkcore-times-reveal{animation:none!important}
}


/* RC49.2: compact Rest Days design-language pass.
   Density is a global rule: ordinary booking steps should fit the viewport without scrolling
   whenever their content volume reasonably allows it. Booking/payment behavior is unchanged. */
.bkcore-public-booking-shell{
  --rd-heading-font:var(--wp--preset--font-family--serif,"Times New Roman","New York",Times,"Noto Serif",serif);
  --rd-body-font:var(--wp--preset--font-family--inter,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  max-width:1040px!important;
  margin-top:-64px!important;
  padding:0 16px 30px!important;
}
.bkcore-public-booking-shell .bkcore-booking-flow-preview,
.bkcore-public-booking-shell button,
.bkcore-public-booking-shell input,
.bkcore-public-booking-shell select,
.bkcore-public-booking-shell textarea{font-family:var(--rd-body-font)!important}

/* Public heading is optional; Rest Days defaults to the cleaner no-heading layout. */
.bkcore-public-booking-shell .bkcore-preview-flow-title{display:none!important}
.bkcore-public-booking-shell.bkcore-show-business-heading .bkcore-preview-flow-title{display:flex!important}
.bkcore-public-booking-shell .bkcore-preview-flow-head{
  min-height:36px!important;
  padding:0 4px 7px!important;
  margin:0!important;
  align-items:center!important;
}
.bkcore-public-booking-shell .bkcore-preview-flow-actions{
  width:100%!important;
  margin-left:0!important;
  justify-content:flex-start!important;
  gap:7px!important;
}
.bkcore-public-booking-shell .bkcore-preview-flow-actions>[data-journey-reset]{
  order:-10;
  min-height:31px!important;
  padding:5px 10px!important;
  border:1px solid #DED2C5!important;
  border-radius:9px!important;
  background:#FFF!important;
  color:#6F6257!important;
  font-size:10.5px!important;
  font-weight:650!important;
  box-shadow:0 2px 7px rgba(61,57,53,.035)!important;
}
.bkcore-public-booking-shell .bkcore-preview-flow-actions>[data-journey-reset]:hover{background:#FAF6F1!important;border-color:#CDB89F!important}
.bkcore-public-booking-shell .bkcore-preview-flow-actions>[data-journey-menu]{order:-9}
.bkcore-public-booking-shell .bkcore-preview-live-total{margin-left:auto!important;padding:5px 10px!important;min-height:31px!important}
.bkcore-public-booking-shell .bkcore-preview-live-total small{font-size:8px!important}
.bkcore-public-booking-shell .bkcore-preview-live-total strong{font-size:15px!important}

/* The booking surface sits close to the site header and stays visually light. */
.bkcore-public-booking-shell .bkcore-preview-canvas{
  padding:20px 22px 23px!important;
  border-radius:18px!important;
  box-shadow:0 12px 34px rgba(61,57,53,.05)!important;
}
.bkcore-public-booking-shell .bkcore-preview-screen{max-width:940px!important}
.bkcore-public-booking-shell .bkcore-preview-screen-top{min-height:25px!important;margin-bottom:8px!important}
.bkcore-public-booking-shell .bkcore-preview-screen-top>.button-link,
.bkcore-public-booking-shell .bkcore-preview-screen>.button-link{min-height:27px!important;padding:3px 7px!important;font-size:10.5px!important}
.bkcore-public-booking-shell .bkcore-preview-screen-label{font-size:8.5px!important;letter-spacing:.13em!important}

/* Homepage-inspired type: finer serif headlines, lighter body copy. */
.bkcore-public-booking-shell .bkcore-preview-catalog-heading .bkcore-preview-screen-label,
.bkcore-public-booking-shell .bkcore-preview-detail-heading-row h4,
.bkcore-public-booking-shell .bkcore-preview-option-panel h4,
.bkcore-public-booking-shell .bkcore-payment-head h4,
.bkcore-public-booking-shell .bkcore-preview-times-head strong,
.bkcore-public-booking-shell .bkcore-preview-calendar-head strong,
.bkcore-public-booking-shell .bkcore-waiver-document-head h4,
.bkcore-public-booking-shell .bkcore-preview-screen[data-journey-screen="confirmed"] h4{
  font-family:var(--rd-heading-font)!important;
  font-weight:500!important;
  letter-spacing:-.018em!important;
}
.bkcore-public-booking-shell .bkcore-preview-catalog-heading .bkcore-preview-screen-label{font-size:22px!important}
.bkcore-public-booking-shell .bkcore-preview-option-panel h4,
.bkcore-public-booking-shell .bkcore-payment-head h4{font-size:22px!important;line-height:1.12!important;margin-bottom:7px!important}
.bkcore-public-booking-shell .bkcore-preview-detail-heading-row h4{font-size:24px!important}

/* Restore the sidebar the user preferred. Category images become compact editorial thumbnails. */
.bkcore-public-booking-shell .bkcore-preview-catalog-layout{
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr)!important;
  gap:20px!important;
  max-width:940px!important;
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  overflow:visible!important;
  padding:0!important;
  align-self:start!important;
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar>button{
  width:100%!important;
  min-width:0!important;
  min-height:35px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
  font-size:10.5px!important;
  font-weight:650!important;
  background:#FFF!important;
  box-shadow:none!important;
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar>button:has(.bkcore-preview-category-thumb){min-height:54px!important;padding:6px!important}
.bkcore-public-booking-shell .bkcore-preview-category-thumb{
  width:42px!important;height:42px!important;flex:0 0 42px!important;
  margin-right:8px!important;border-radius:8px!important;
}
.bkcore-public-booking-shell .bkcore-preview-category-sidebar>button.is-active{background:#F8F1E8!important}
.bkcore-public-booking-shell .bkcore-preview-catalog-heading{margin-bottom:9px!important}
.bkcore-public-booking-shell .bkcore-preview-catalog-heading>strong{font-size:8.5px!important}

/* Compact service catalog. */
.bkcore-public-booking-shell .bkcore-preview-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.bkcore-public-booking-shell .bkcore-preview-service-tile{border-radius:14px!important;box-shadow:0 4px 15px rgba(61,57,53,.035)!important}
.bkcore-public-booking-shell .bkcore-preview-tile-image{height:112px!important;flex-basis:112px!important}
.bkcore-public-booking-shell .bkcore-preview-tile-body{padding:12px 13px 11px!important}
.bkcore-public-booking-shell .bkcore-preview-tile-body>strong{font-family:var(--rd-heading-font)!important;font-size:17px!important;font-weight:500!important;margin-bottom:3px!important}
.bkcore-public-booking-shell .bkcore-preview-tile-body>b{font-size:10.5px!important;margin-bottom:6px!important;line-height:1.4!important}
.bkcore-public-booking-shell .bkcore-preview-service-tile .bkcore-preview-meta{margin-bottom:4px!important}
.bkcore-public-booking-shell .bkcore-preview-service-tile .bkcore-preview-duration-price-list{margin:1px 0!important;gap:2px!important}
.bkcore-public-booking-shell .bkcore-preview-service-tile .bkcore-duration-price-row{font-size:10px!important;min-height:19px!important}
.bkcore-public-booking-shell .bkcore-preview-tile-action{margin-top:6px!important;font-size:10px!important}

/* Service details fit in the viewport whenever there is no large gallery. */
.bkcore-public-booking-shell .bkcore-preview-service-details-card{max-width:760px!important;border-radius:15px!important}
.bkcore-public-booking-shell .bkcore-preview-service-details-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:22px!important;
  row-gap:7px!important;
  padding:17px 19px 18px!important;
}
.bkcore-public-booking-shell .bkcore-preview-detail-heading-row{grid-column:1;grid-row:1}
.bkcore-public-booking-shell .bkcore-preview-detail-duration-prices{grid-column:2;grid-row:1;align-self:start;margin:1px 0 0!important;min-width:145px}
.bkcore-public-booking-shell .bkcore-preview-about-label{grid-column:1/-1;margin:5px 0 0!important;font-size:8.5px!important}
.bkcore-public-booking-shell .bkcore-preview-detail-short{grid-column:1/-1;font-size:12px!important;line-height:1.35!important;margin:0!important}
.bkcore-public-booking-shell .bkcore-preview-detail-full{grid-column:1/-1;font-size:11.5px!important;line-height:1.5!important;margin:0!important;max-width:720px}
.bkcore-public-booking-shell .bkcore-preview-detail-actions{grid-column:1/-1;margin-top:5px!important;justify-content:flex-end!important}
.bkcore-public-booking-shell .bkcore-preview-detail-heading-row .bkcore-preview-meta{margin-top:5px!important}
.bkcore-public-booking-shell .bkcore-preview-gallery{height:190px!important}

/* Global compact option panels and controls. */
.bkcore-public-booking-shell .bkcore-preview-option-panel{max-width:680px!important;padding:16px 18px!important;border-radius:14px!important;box-shadow:0 5px 18px rgba(61,57,53,.035)!important}
.bkcore-public-booking-shell .bkcore-preview-selection-summary{margin-bottom:7px!important;font-size:10.5px!important}
.bkcore-public-booking-shell .bkcore-preview-duration-list{gap:8px!important}
.bkcore-public-booking-shell .bkcore-preview-duration-option{min-height:64px!important;padding:9px 11px!important;border-radius:11px!important}
.bkcore-public-booking-shell .bkcore-preview-duration-option strong{font-size:13px!important}
.bkcore-public-booking-shell .bkcore-preview-group-options{gap:8px!important}
.bkcore-public-booking-shell .bkcore-preview-group-choice{min-height:46px!important;padding:8px 11px!important;border-radius:11px!important}
.bkcore-public-booking-shell .bkcore-preview-primary-action,
.bkcore-public-booking-shell .bkcore-menu-book-link{min-height:34px!important;padding:6px 13px!important;border-radius:9px!important;font-size:10.5px!important;font-weight:700!important}

/* Keep the date/time screen largely as-is; only shrink the hold confirmation. */
.bkcore-public-booking-shell .bkcore-preview-time-selection{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  gap:1px 12px!important;
  margin-top:9px!important;
  padding:8px 10px!important;
  border-radius:10px!important;
}
.bkcore-public-booking-shell .bkcore-preview-time-selection strong{grid-column:1;grid-row:1;font-size:11.5px!important;line-height:1.25!important}
.bkcore-public-booking-shell .bkcore-preview-time-selection small{grid-column:1;grid-row:2;font-size:9.5px!important;line-height:1.25!important}
.bkcore-public-booking-shell .bkcore-preview-time-selection .bkcore-preview-primary-action{grid-column:2;grid-row:1/3;align-self:center;margin:0!important;white-space:nowrap}

/* Customer details: four fields + age choice should fit comfortably without scrolling on desktop. */
.bkcore-public-booking-shell [data-journey-customer-form]{max-width:720px!important}
.bkcore-public-booking-shell .bkcore-hold-strip{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 10px!important;
  padding:8px 10px!important;
  border:1px solid #E9E0D6;
  border-radius:10px;
  background:#FCF8F3;
}
.bkcore-public-booking-shell .bkcore-hold-strip [data-journey-hold-summary]{margin:0!important;font-family:var(--rd-body-font)!important;font-size:10.5px!important;font-weight:650!important;line-height:1.35!important}
.bkcore-public-booking-shell .bkcore-hold-strip [data-journey-countdown]{margin:0!important;white-space:nowrap;font-size:9.5px!important;font-weight:750!important}
.bkcore-public-booking-shell .bkcore-grid.two{gap:9px 11px!important}
.bkcore-public-booking-shell .bkcore-field{gap:4px!important}
.bkcore-public-booking-shell .bkcore-field>span{font-size:8.5px!important;letter-spacing:.055em!important}
.bkcore-public-booking-shell .bkcore-field input,
.bkcore-public-booking-shell .bkcore-field select,
.bkcore-public-booking-shell .bkcore-field textarea{min-height:39px!important;padding:8px 10px!important;border-radius:9px!important;font-size:12px!important}
.bkcore-public-booking-shell .bkcore-primary-guest-age{gap:7px!important;margin-top:10px!important}
.bkcore-public-booking-shell .bkcore-additional-guest-age-choice{padding:8px 9px!important;border-radius:9px!important;font-size:10px!important;line-height:1.35!important}
.bkcore-public-booking-shell [data-journey-customer-form]>.bkcore-preview-muted{margin:9px 0!important;font-size:9.5px!important;line-height:1.4!important}

/* Waiver + payment inherit the same compact rhythm. */
.bkcore-public-booking-shell .bkcore-waiver-panel{max-width:720px!important}
.bkcore-public-booking-shell .bkcore-waiver-document-head{margin-bottom:8px!important}
.bkcore-public-booking-shell .bkcore-waiver-document-head h4{font-size:21px!important}
.bkcore-public-booking-shell .bkcore-waiver-document{max-height:205px!important;padding:12px 14px!important;border-radius:11px!important}
.bkcore-public-booking-shell .bkcore-waiver-document p{font-size:11px!important;line-height:1.52!important}
.bkcore-public-booking-shell .bkcore-waiver-acknowledgement{padding:9px 10px!important;margin:9px 0!important;font-size:10.5px!important;line-height:1.45!important}
.bkcore-public-booking-shell .bkcore-waiver-agree{padding:8px 9px!important;font-size:10.5px!important}
.bkcore-public-booking-shell .bkcore-payment-panel{max-width:680px!important}
.bkcore-public-booking-shell .bkcore-payment-head p{font-size:11.5px!important;line-height:1.5!important;margin-bottom:9px!important}
.bkcore-public-booking-shell .bkcore-payment-summary{margin:10px 0!important;gap:8px!important}
.bkcore-public-booking-shell .bkcore-payment-summary>div{min-height:48px!important;padding:8px 10px!important;border-radius:10px!important}
.bkcore-public-booking-shell .bkcore-payment-summary strong{font-size:16px!important}
.bkcore-public-booking-shell .bkcore-payment-element{margin-top:8px!important;padding:11px!important;border-radius:11px!important}

/* Confirmation is also compact. */
.bkcore-public-booking-shell .bkcore-preview-screen[data-journey-screen="confirmed"] .bkcore-preview-option-panel{max-width:620px!important;padding:23px 24px!important}
.bkcore-public-booking-shell .bkcore-preview-screen[data-journey-screen="confirmed"] .bkcore-preview-option-panel::before{width:42px!important;height:42px!important;margin-bottom:10px!important;font-size:19px!important}

@media(max-width:900px){
  .bkcore-public-booking-shell{margin-top:-34px!important}
  .bkcore-public-booking-shell .bkcore-preview-catalog-layout{grid-template-columns:135px minmax(0,1fr)!important;gap:14px!important}
  .bkcore-public-booking-shell .bkcore-preview-category-sidebar>button:has(.bkcore-preview-category-thumb){min-height:48px!important}
  .bkcore-public-booking-shell .bkcore-preview-category-thumb{width:36px!important;height:36px!important;flex-basis:36px!important}
}
@media(max-width:700px){
  .bkcore-public-booking-shell{margin-top:-12px!important;padding-left:7px!important;padding-right:7px!important}
  .bkcore-public-booking-shell .bkcore-preview-canvas{padding:15px 11px 18px!important;border-radius:14px!important}
  .bkcore-public-booking-shell .bkcore-preview-catalog-layout{grid-template-columns:1fr!important;gap:10px!important}
  .bkcore-public-booking-shell .bkcore-preview-category-sidebar{flex-direction:row!important;overflow-x:auto!important;gap:6px!important}
  .bkcore-public-booking-shell .bkcore-preview-category-sidebar>button{width:auto!important;min-width:max-content!important;min-height:33px!important}
  .bkcore-public-booking-shell .bkcore-preview-category-sidebar>button:has(.bkcore-preview-category-thumb){min-height:43px!important}
  .bkcore-public-booking-shell .bkcore-preview-category-thumb{width:31px!important;height:31px!important;flex-basis:31px!important}
  .bkcore-public-booking-shell .bkcore-preview-service-grid{grid-template-columns:1fr!important}
  .bkcore-public-booking-shell .bkcore-preview-service-details-main{display:block!important;padding:14px 13px 15px!important}
  .bkcore-public-booking-shell .bkcore-preview-detail-duration-prices{margin:8px 0!important;min-width:0}
  .bkcore-public-booking-shell .bkcore-preview-gallery{height:165px!important}
  .bkcore-public-booking-shell .bkcore-preview-option-panel{padding:14px 13px!important}
  .bkcore-public-booking-shell .bkcore-preview-time-selection{grid-template-columns:1fr!important}
  .bkcore-public-booking-shell .bkcore-preview-time-selection .bkcore-preview-primary-action{grid-column:1;grid-row:3;margin-top:5px!important;width:max-content!important}
  .bkcore-public-booking-shell .bkcore-hold-strip{align-items:flex-start!important;flex-direction:column!important;gap:3px!important}
  .bkcore-public-booking-shell .bkcore-primary-guest-age{grid-template-columns:1fr!important}
}
@media(max-width:430px){
  .bkcore-public-booking-shell .bkcore-preview-service-tile .bkcore-preview-duration-price-list{display:none!important}
  .bkcore-public-booking-shell .bkcore-preview-tile-body>b{margin-bottom:4px!important}
}


/* RC49.3: anchored stage navigation + progressive booking trail. */
.bkcore-public-booking-shell .bkcore-preview-flow-head{
  position:relative!important;
  z-index:3!important;
}
.bkcore-public-booking-shell .bkcore-preview-flow-actions{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
}
.bkcore-public-booking-shell .bkcore-preview-selection-trail{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  max-width:64%!important;
  color:#5d554e!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.bkcore-public-booking-shell .bkcore-preview-selection-trail[hidden]{display:none!important}
.bkcore-public-booking-shell .bkcore-preview-selection-trail span{overflow:hidden;text-overflow:ellipsis}
.bkcore-public-booking-shell .bkcore-preview-selection-trail i{color:#b29c84;font-style:normal;font-weight:400;flex:0 0 auto}
.bkcore-public-booking-shell .bkcore-preview-live-total{margin-left:auto!important}
.bkcore-public-booking-shell .bkcore-preview-flow-actions>[data-journey-menu]{margin-left:5px!important}

/* Back + stage label belong to the inner working surface, not the outer canvas. */
.bkcore-public-booking-shell .bkcore-preview-screen-top{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0 1px!important;
}
.bkcore-public-booking-shell [data-journey-screen="details"] .bkcore-preview-screen-top{max-width:760px!important}
.bkcore-public-booking-shell [data-journey-screen="group"] .bkcore-preview-screen-top,
.bkcore-public-booking-shell [data-journey-screen="duration"] .bkcore-preview-screen-top{max-width:680px!important}
.bkcore-public-booking-shell [data-journey-screen="next"] .bkcore-preview-screen-top{max-width:940px!important}
.bkcore-public-booking-shell [data-journey-screen="customer"] .bkcore-preview-screen-top{max-width:720px!important}
.bkcore-public-booking-shell .bkcore-preview-screen-top .bkcore-preview-screen-label{
  margin-left:auto!important;
  text-align:right!important;
}

/* The service photography gets a little more editorial presence without making the text card taller. */
.bkcore-public-booking-shell .bkcore-preview-tile-image{height:150px!important;flex-basis:150px!important}

@media(max-width:900px){
  .bkcore-public-booking-shell .bkcore-preview-selection-trail{max-width:52%!important;font-size:10px!important;gap:5px!important}
}
@media(max-width:700px){
  .bkcore-public-booking-shell .bkcore-preview-flow-actions{flex-wrap:wrap!important;row-gap:6px!important}
  .bkcore-public-booking-shell .bkcore-preview-selection-trail{
    position:static!important;
    order:20!important;
    transform:none!important;
    width:100%!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    padding:2px 1px 0!important;
    scrollbar-width:none!important;
  }
  .bkcore-public-booking-shell .bkcore-preview-selection-trail::-webkit-scrollbar{display:none}
  .bkcore-public-booking-shell .bkcore-preview-live-total{margin-left:auto!important}
  .bkcore-public-booking-shell .bkcore-preview-tile-image{height:145px!important;flex-basis:145px!important}
  .bkcore-public-booking-shell [data-journey-screen="details"] .bkcore-preview-screen-top,
  .bkcore-public-booking-shell [data-journey-screen="group"] .bkcore-preview-screen-top,
  .bkcore-public-booking-shell [data-journey-screen="duration"] .bkcore-preview-screen-top,
  .bkcore-public-booking-shell [data-journey-screen="next"] .bkcore-preview-screen-top,
  .bkcore-public-booking-shell [data-journey-screen="customer"] .bkcore-preview-screen-top{max-width:none!important}
}


/* RC49.4: committed-choice trail, quiet restart link, taller service hero, card-only payment, polished confirmation. */
.bkcore-public-booking-shell .bkcore-start-over-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:2px 0!important;
  color:#9A6A36!important;
  font-size:10.5px!important;
  font-weight:650!important;
  text-decoration:none!important;
}
.bkcore-public-booking-shell .bkcore-start-over-link[hidden]{display:none!important}
.bkcore-public-booking-shell .bkcore-start-over-link span{
  width:20px!important;height:20px!important;border:1px solid #C9A47C!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;font-size:13px!important;line-height:1!important;transition:transform .2s ease,border-color .2s ease!important;
}
.bkcore-public-booking-shell .bkcore-start-over-link:hover span{transform:rotate(-35deg)!important;border-color:#9A6A36!important}

/* Service detail hero should feel photographic, not like a banner. */
.bkcore-public-booking-shell [data-journey-screen="details"] .bkcore-preview-gallery{height:285px!important}

/* Elevated editorial service-card action. */
.bkcore-public-booking-shell .bkcore-preview-tile-action{
  display:inline-flex!important;align-items:center!important;gap:8px!important;width:max-content!important;
  color:#8A5C2E!important;font-size:10.5px!important;font-weight:700!important;letter-spacing:.01em!important;
  border-bottom:1px solid rgba(154,106,54,.34)!important;padding-bottom:2px!important;
}
.bkcore-public-booking-shell .bkcore-preview-tile-action::after{
  content:'→'!important;width:20px!important;height:20px!important;border:1px solid #D7B995!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;font-size:11px!important;line-height:1!important;transition:transform .2s ease,border-color .2s ease!important;
}
.bkcore-public-booking-shell button.bkcore-preview-service-tile:hover .bkcore-preview-tile-action::after{transform:translateX(2px)!important;border-color:#9A6A36!important}

/* A selected time gets a compact confirmation row, never a bulky shelf/bar. */
.bkcore-public-booking-shell .bkcore-preview-time-selection{
  background:transparent!important;border:0!important;border-top:1px solid #E8DED3!important;border-radius:0!important;
  box-shadow:none!important;margin-top:8px!important;padding:10px 0 0!important;min-height:0!important;
}

/* Card-only Stripe field. Link is intentionally disabled in JS so bank funding cannot surface through Link. */
.bkcore-public-booking-shell .bkcore-payment-element:not(.is-loading){
  min-height:54px!important;padding:15px 14px!important;border:1px solid #D8CEC3!important;border-radius:12px!important;background:#fff!important;
}

/* Rest Days confirmation: warm, concise and useful. */
.bkcore-public-booking-shell .bkcore-confirmation-panel{
  max-width:650px!important;text-align:left!important;padding:26px 28px!important;
}
.bkcore-public-booking-shell .bkcore-confirmation-mark{
  width:42px!important;height:42px!important;border-radius:50%!important;background:#F4ECDF!important;color:#8A5C2E!important;
  display:grid!important;place-items:center!important;font-size:18px!important;margin:0 0 10px!important;
}
.bkcore-public-booking-shell .bkcore-confirmation-panel>h4{
  font-family:var(--rd-heading-font)!important;font-size:29px!important;font-weight:500!important;line-height:1.12!important;margin:4px 0 15px!important;text-align:left!important;
}
.bkcore-public-booking-shell .bkcore-confirmation-panel .bkcore-location-arrival-card{
  margin:0 0 12px!important;padding:13px 15px!important;border-radius:12px!important;background:#FBF6EE!important;
}
.bkcore-public-booking-shell .bkcore-rest-day-summary{
  border:1px solid #E7DDD2!important;border-radius:14px!important;background:#fff!important;padding:15px 16px!important;margin:0 0 12px!important;
  box-shadow:0 5px 18px rgba(61,57,53,.035)!important;
}
.bkcore-public-booking-shell .bkcore-rest-day-summary-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:14px!important;padding-bottom:11px!important;border-bottom:1px solid #EEE7DF!important}
.bkcore-public-booking-shell .bkcore-rest-day-summary-head strong{font-family:var(--rd-heading-font)!important;font-size:19px!important;font-weight:500!important;color:#3D3935!important}
.bkcore-public-booking-shell .bkcore-rest-day-summary-head b{font-size:16px!important;color:#8A5C2E!important;white-space:nowrap!important}
.bkcore-public-booking-shell .bkcore-rest-day-summary-grid{display:grid!important;grid-template-columns:1.35fr 1fr 1fr!important;gap:12px!important;padding-top:11px!important}
.bkcore-public-booking-shell .bkcore-rest-day-summary-grid div{min-width:0!important}
.bkcore-public-booking-shell .bkcore-rest-day-summary-grid span{display:block!important;font-size:8.5px!important;font-weight:750!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#91877E!important;margin-bottom:3px!important}
.bkcore-public-booking-shell .bkcore-rest-day-summary-grid strong{display:block!important;font-size:11px!important;line-height:1.35!important;color:#4B4540!important}
.bkcore-public-booking-shell .bkcore-confirmation-email{display:flex!important;align-items:center!important;gap:5px!important;margin:10px 0 8px!important;font-size:11px!important;color:#6B635C!important}
.bkcore-public-booking-shell .bkcore-confirmation-email strong{color:#4A433D!important}
.bkcore-public-booking-shell .bkcore-confirmation-email.is-warning{color:#8C4A3D!important}
.bkcore-public-booking-shell .bkcore-confirmation-reference{font-size:9px!important;color:#9A918A!important;margin:6px 0 16px!important}
.bkcore-public-booking-shell .bkcore-confirmation-panel>.bkcore-preview-primary-action{margin-top:2px!important}

@media(max-width:700px){
  .bkcore-public-booking-shell [data-journey-screen="details"] .bkcore-preview-gallery{height:215px!important}
  .bkcore-public-booking-shell .bkcore-confirmation-panel{padding:20px 16px!important}
  .bkcore-public-booking-shell .bkcore-confirmation-panel>h4{font-size:25px!important}
  .bkcore-public-booking-shell .bkcore-rest-day-summary-grid{grid-template-columns:1fr!important;gap:8px!important}
}

.bkcore-public-booking-shell .bkcore-preview-screen[data-journey-screen="confirmed"] .bkcore-confirmation-panel::before{display:none!important}
.bkcore-public-booking-shell .bkcore-preview-tile-image{height:172px!important;flex-basis:172px!important}
@media(max-width:700px){.bkcore-public-booking-shell .bkcore-preview-tile-image{height:150px!important;flex-basis:150px!important}}


/* RC49.5: refined actions, stronger trail separators, and service-photo framing. */
.bkcore-public-booking-shell .bkcore-preview-tile-image,
.bkcore-public-booking-shell .bkcore-preview-gallery-slide,
.bkcore-public-booking-shell .bkcore-customer-menu-service-image{
  position:relative!important;
  overflow:hidden!important;
  background-image:none!important;
}
.bkcore-public-booking-shell .bkcore-framed-photo{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  transform-origin:center center!important;
  will-change:transform!important;
}
.bkcore-public-booking-shell [data-journey-screen="details"] .bkcore-preview-gallery{height:335px!important}

/* Completed-choice separators should read clearly without becoming visual clutter. */
.bkcore-public-booking-shell .bkcore-preview-selection-trail i{
  color:#9A6A36!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:.7!important;
  margin:0 1px!important;
}

/* Primary actions: finished, tactile Rest Days controls rather than bare outline boxes. */
.bkcore-public-booking-shell .bkcore-preview-primary-action,
.bkcore-public-booking-shell .bkcore-menu-book-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:38px!important;
  padding:7px 9px 7px 14px!important;
  border:1px solid #C7A279!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#FFFCF8 0%,#F8EFE4 100%)!important;
  color:#6E4825!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 4px 12px rgba(61,57,53,.07)!important;
  font-weight:700!important;
}
.bkcore-public-booking-shell .bkcore-preview-primary-action::after,
.bkcore-public-booking-shell .bkcore-menu-book-link::after{
  content:'→'!important;
  display:grid!important;
  place-items:center!important;
  width:21px!important;
  height:21px!important;
  flex:0 0 21px!important;
  border-radius:50%!important;
  background:#9A6A36!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1!important;
  box-shadow:0 2px 5px rgba(102,67,31,.16)!important;
  transition:transform .17s ease,background .17s ease!important;
}
.bkcore-public-booking-shell .bkcore-preview-primary-action:hover:not(:disabled),
.bkcore-public-booking-shell .bkcore-menu-book-link:hover:not(:disabled){
  background:linear-gradient(180deg,#FFFDFB 0%,#F5E7D7 100%)!important;
  border-color:#A97843!important;
  color:#60401F!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 7px 16px rgba(61,57,53,.10)!important;
}
.bkcore-public-booking-shell .bkcore-preview-primary-action:hover:not(:disabled)::after,
.bkcore-public-booking-shell .bkcore-menu-book-link:hover:not(:disabled)::after{
  transform:translateX(2px)!important;
  background:#845A2F!important;
}
.bkcore-public-booking-shell .bkcore-preview-primary-action:disabled::after{
  opacity:.45!important;
}
.bkcore-public-booking-shell .bkcore-preview-time-selection .bkcore-preview-primary-action{
  padding-left:13px!important;
}

/* Keep View service editorial and secondary to the real booking action. */
.bkcore-public-booking-shell .bkcore-preview-tile-action{
  border-bottom:0!important;
  padding-bottom:0!important;
  margin-top:auto!important;
  gap:7px!important;
}
.bkcore-public-booking-shell .bkcore-preview-tile-action::after{
  width:18px!important;
  height:18px!important;
  background:#F8F0E6!important;
  border:1px solid #D2B18B!important;
  color:#8A5C2E!important;
}

@media(max-width:700px){
  .bkcore-public-booking-shell [data-journey-screen="details"] .bkcore-preview-gallery{height:250px!important}
  .bkcore-public-booking-shell .bkcore-preview-primary-action,
  .bkcore-public-booking-shell .bkcore-menu-book-link{min-height:37px!important}
}
