/* Shared popup shell. Booking pages only provide the popup and content nodes. */
.dkz-central-booking-popup{
  display:none;position:fixed;inset:0;z-index:2147483200;
  align-items:center;justify-content:center;padding:16px;
  background:rgba(30,24,20,.80);backdrop-filter:blur(2px);
  box-sizing:border-box;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
.dkz-central-booking-popup.dkz-open,.dkz-central-booking-popup[data-dkz-popup-open="1"]{display:flex!important}
.dkz-central-booking-popup *{box-sizing:border-box}
.dkz-central-booking-popup>.dkz-popup-card{
  position:relative;width:min(94vw,720px);max-height:92vh;overflow:hidden;
  border:1px solid rgba(140,106,67,.25);border-radius:20px;
  background:#FFFDF9;color:#4A3A2F;box-shadow:0 24px 70px rgba(0,0,0,.38);
}
.dkz-central-booking-popup .dkz-booking-body{max-height:88vh;overflow:auto;padding:24px}
.dkz-central-booking-popup .dkz-popup-close{
  position:absolute;top:12px;right:14px;width:42px;height:42px;border:0;border-radius:50%;
  background:#F7F2EB;color:#8C6A43;font-size:28px;line-height:1;cursor:pointer;
}
html.dkz-popup-active,html.dkz-popup-active body{overflow:hidden!important}
@media(max-width:620px){
  .dkz-central-booking-popup{padding:8px}
  .dkz-central-booking-popup>.dkz-popup-card{width:100%;max-height:96vh;border-radius:16px}
  .dkz-central-booking-popup .dkz-booking-body{max-height:94vh;padding:20px 16px 24px}
}

.dkz-booking-ui-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(140,106,67,.22)}
.dkz-booking-ui-nav .dkz-btn{width:100%;border-radius:13px}
.dkz-booking-ui-nav.is-single{grid-template-columns:1fr}
@media(max-width:520px){.dkz-booking-ui-nav{grid-template-columns:1fr}}


/* Central post-booking payment flow */
.dkz-payment-flow{text-align:center;padding:6px 0 2px}
.dkz-payment-flow-check{width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#f4f8ef;border:1px solid #8aa26c;color:#40512d;font-size:28px;font-weight:900;margin-bottom:10px}
.dkz-payment-flow h2{margin:0 0 8px;color:#2F2622;font-family:Georgia,'Times New Roman',serif;font-size:clamp(27px,5vw,39px);line-height:1.1}
.dkz-payment-flow-summary{color:#6B5848;font-size:14px;margin:0 auto 12px;max-width:620px}
.dkz-payment-flow-lines{max-width:620px;margin:12px auto 8px;padding:9px 12px;background:#F7F2EB;border:1px solid rgba(140,106,67,.22);border-radius:12px;text-align:left}
.dkz-payment-flow-line,.dkz-payment-flow-remaining{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:4px 0;color:#6B5848;font-size:13px}
.dkz-payment-flow-line strong,.dkz-payment-flow-remaining strong{color:#2F2622;white-space:nowrap}
.dkz-payment-flow-amount{max-width:620px;margin:10px auto 0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border-radius:13px;background:linear-gradient(135deg,#FFFDF9,#F3E3C2);border:1px solid rgba(140,106,67,.28);color:#49372D}
.dkz-payment-flow-amount strong{font-size:22px;color:#2F2622;white-space:nowrap}
.dkz-payment-flow-amount.is-settled{background:#f4f8ef;border-color:#8aa26c}
.dkz-payment-flow-remaining{max-width:620px;margin:0 auto;padding:7px 14px}
.dkz-payment-flow-message{display:grid;gap:3px;max-width:620px;margin:12px auto;color:#6B5848;font-size:14px}
.dkz-payment-flow-message strong{color:#2F2622;font-size:16px}
.dkz-payment-flow-actions{display:grid;gap:9px;max-width:620px;margin:14px auto 0}
.dkz-payment-flow-actions .dkz-btn{width:100%;border-radius:13px}
.dkz-payment-flow-error{display:none;max-width:620px;margin:12px auto 0;padding:11px 12px;border-radius:12px;background:#fff4f1;border:1px solid #b96b60;color:#7c352d;text-align:left}
.dkz-payment-flow-error.is-visible{display:block}

/* Shared checkout component: identical structure for every booking area. */
.dkz-central-checkout .dkz-selected-slot{background:linear-gradient(135deg,#FFFDF9,#F3E3C2);border:1px solid rgba(140,106,67,.22);border-radius:16px;padding:16px;margin:0 0 14px}
.dkz-central-checkout .dkz-selected-slot h3{margin:0 0 8px;color:#2F2622;font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:600}
.dkz-central-checkout .dkz-selected-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}
.dkz-central-checkout .dkz-selected-item{background:rgba(255,255,255,.72);border:1px solid rgba(140,106,67,.22);border-radius:11px;padding:10px}
.dkz-central-checkout .dkz-selected-item small{display:block;color:#8C6A43;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:10px}
.dkz-central-checkout .dkz-selected-item strong{display:block;color:#2F2622;margin-top:2px}.dkz-central-checkout .dkz-selected-item.is-wide{grid-column:1/-1}
.dkz-central-checkout .dkz-checkout-card{background:#FFFDF9;border:1px solid rgba(140,106,67,.22);border-radius:16px;padding:16px;margin:14px 0}
.dkz-central-checkout .dkz-checkout-card h4{margin:0 0 12px;color:#2F2622;font-family:Georgia,'Times New Roman',serif;font-size:22px}
.dkz-central-checkout .dkz-checkout-choice{display:flex;gap:11px;align-items:flex-start;background:#F7F2EB;border:1px solid rgba(140,106,67,.22);border-radius:13px;padding:12px;margin:10px 0;color:#6B5848}
.dkz-central-checkout .dkz-checkout-choice input{width:20px;height:20px;flex:0 0 20px;margin-top:2px;accent-color:#2F2622}
.dkz-central-checkout .dkz-checkout-choice strong{color:#2F2622}
.dkz-central-checkout .dkz-checkout-login{background:linear-gradient(135deg,#FFFDF9,#F3E3C2);border:1px solid rgba(140,106,67,.22);border-radius:14px;padding:13px 14px;margin:12px 0;color:#6B5848}
.dkz-central-checkout .dkz-checkout-login strong{color:#2F2622}.dkz-central-checkout .dkz-checkout-login a{color:#8C6A43;font-weight:900}
@media(max-width:620px){.dkz-central-checkout .dkz-selected-grid{grid-template-columns:1fr}.dkz-central-checkout .dkz-selected-item.is-wide{grid-column:auto}}


/* Navigation buttons must remain clickable above long checkout content. */
.dkz-booking-ui-nav{position:relative;z-index:30}
.dkz-booking-ui-nav .dkz-booking-ui-back,
.dkz-booking-ui-nav .dkz-booking-ui-close{position:relative;z-index:31;pointer-events:auto!important}
.dkz-central-booking-popup .dkz-popup-close{z-index:100!important;pointer-events:auto!important}

/* Shared responsive checkout form for Massage, Reiki and Yoga. */
.dkz-central-checkout .dkz-checkout-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
}
.dkz-central-checkout .dkz-checkout-field{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-width:0!important;
  width:100%!important;
}
.dkz-central-checkout .dkz-checkout-field.is-wide{grid-column:1/-1!important}
.dkz-central-checkout .dkz-checkout-field label{
  display:block!important;
  margin:0!important;
  color:#4A3A2F!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:850!important;
}
.dkz-central-checkout .dkz-checkout-field input,
.dkz-central-checkout .dkz-checkout-field select,
.dkz-central-checkout .dkz-checkout-field textarea{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:48px!important;
  height:auto!important;
  margin:0!important;
  padding:11px 13px!important;
  border:1px solid rgba(140,106,67,.30)!important;
  border-radius:12px!important;
  background:#FFFDF9!important;
  color:#2F2622!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:16px!important;
  line-height:1.35!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.dkz-central-checkout .dkz-checkout-field input:focus,
.dkz-central-checkout .dkz-checkout-field select:focus,
.dkz-central-checkout .dkz-checkout-field textarea:focus{
  outline:0!important;
  border-color:#8C6A43!important;
  box-shadow:0 0 0 3px rgba(140,106,67,.12)!important;
}
.dkz-central-checkout .dkz-checkout-field input[readonly]{
  background:#F7F2EB!important;
  color:#6B5848!important;
}
.dkz-central-checkout .dkz-voucher-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:10px!important;
  width:100%!important;
}
.dkz-central-checkout .dkz-voucher-row .dkz-btn{
  width:auto!important;
  min-width:124px!important;
  min-height:48px!important;
  margin:0!important;
  padding:11px 18px!important;
  border-radius:12px!important;
  white-space:nowrap!important;
}
.dkz-central-checkout .dkz-checkout-actions{
  display:grid!important;
  gap:10px!important;
  margin-top:16px!important;
}
.dkz-central-checkout .dkz-checkout-actions .dkz-btn{
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:13px 18px!important;
  border-radius:13px!important;
  font-weight:850!important;
  text-align:center!important;
  justify-content:center!important;
}
.dkz-central-checkout .dkz-checkout-status{
  display:none;
  margin-top:12px!important;
  padding:12px 14px!important;
  border-radius:12px!important;
  line-height:1.5!important;
}
.dkz-central-checkout .dkz-checkout-status.is-visible{display:block!important}
.dkz-central-checkout .dkz-checkout-status.is-error{background:#FFF3F1!important;border:1px solid #E2B8B0!important;color:#7B3027!important}
.dkz-central-checkout .dkz-checkout-status.is-success{background:#EEF8EF!important;border:1px solid #B7D9BB!important;color:#315F37!important}
.dkz-central-checkout .dkz-voucher-result{
  margin-top:10px!important;
  padding:12px 13px!important;
  border-radius:12px!important;
  line-height:1.5!important;
}
.dkz-central-checkout .dkz-voucher-result.is-success{background:#EEF8EF!important;border:1px solid #9BC2A0!important;color:#315F37!important}
.dkz-central-checkout .dkz-voucher-result.is-error{background:#FFF3F1!important;border:1px solid #E2B8B0!important;color:#7B3027!important}

@media(max-width:620px){
  .dkz-central-checkout .dkz-checkout-card{padding:15px!important;margin:12px 0!important}
  .dkz-central-checkout .dkz-checkout-card h4{font-size:21px!important;margin-bottom:11px!important}
  .dkz-central-checkout .dkz-checkout-grid{grid-template-columns:1fr!important;gap:11px!important}
  .dkz-central-checkout .dkz-checkout-field.is-wide{grid-column:auto!important}
  .dkz-central-checkout .dkz-voucher-row{grid-template-columns:1fr!important;align-items:stretch!important}
  .dkz-central-checkout .dkz-voucher-row .dkz-btn{width:100%!important;min-width:0!important}
  .dkz-central-checkout .dkz-checkout-choice{padding:11px!important;font-size:14px!important;line-height:1.45!important}
  .dkz-central-checkout .dkz-checkout-choice input{width:22px!important;height:22px!important;flex-basis:22px!important}
  .dkz-central-checkout .dkz-checkout-actions .dkz-btn{min-height:52px!important;font-size:16px!important}
}
