.zlprf-step-agents .zlprf-step-intro{margin-bottom:18px}
.zlprf-step-agents .zlprf-step-intro-label{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:#f1f3f5;margin-bottom:10px}
.zlprf-step-agents .zlprf-step-intro-title{margin:0;font-size:24px;line-height:1.35}
.zlprf-step-agents .zlprf-agents-list .zlprf-agent-item .os-item-i{position:relative}
.zlprf-step-agents .zlprf-agent-subtitle{font-size:12px;opacity:.75;margin-top:4px}
.zlprf-step-agents .zlprf-empty-agents{padding:18px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff}


/* selected state visuals for service/agent cards (state is managed by standard LatePoint JS) */
.zlprf-book-form-wrapper .step-services-w .os-selectable-items .os-selectable-item.selected > .os-service-selector,
.zlprf-book-form-wrapper .zlprf-step-agents .zlprf-agent-item.os-selectable-item.selected > .os-item-i{
  border-color:#ff5b57;
  box-shadow:inset 0 0 0 1px #ff5b57;
}

.zlprf-step-agents .zlprf-agent-message{margin-top:12px;padding:12px 14px;border:1px solid #f1c7c7;border-radius:10px;background:#fff4f4;color:#9b1c1c;font-size:14px;font-weight:600}
.zlprf-step-agents .zlprf-agent-item--reserved{cursor:not-allowed}
.zlprf-step-agents .zlprf-agent-item--reserved .os-item-i{opacity:.48;filter:grayscale(1);background:#f7f7f7}
.zlprf-step-agents .zlprf-agent-item--reserved .os-item-name{color:#666}
.zlprf-step-agents .zlprf-agent-status{margin-top:6px;font-size:12px;font-weight:700;color:#6b7280}
.zlprf-step-agents .zlprf-agent-badge{position:absolute;top:10px;right:10px;z-index:2;font-size:11px;font-weight:700;line-height:1;padding:7px 9px;border-radius:999px;background:#ffffff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.zlprf-step-agents .zlprf-agent-item[data-reserved-flg="1"] .os-item-i{border-color:#d9d9d9}

/* custom stacked datepicker */
.zlprf-step-datepicker .zlprf-custom-calendar-root{display:flex;flex-direction:column;gap:24px}
.zlprf-step-datepicker .zlprf-custom-month-title{font-size:16px;font-weight:700;line-height:1.2;margin-bottom:12px;color:#7180a5}
.zlprf-step-datepicker .zlprf-custom-weekdays,
.zlprf-step-datepicker .zlprf-custom-days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.zlprf-step-datepicker .zlprf-custom-weekday{text-align:center;font-size:14px;color:#555;padding:4px 0}
.zlprf-step-datepicker .zlprf-custom-weekday.is-sat{color:#3b82f6}
.zlprf-step-datepicker .zlprf-custom-weekday.is-sun{color:#ef4444}
.zlprf-step-datepicker .zlprf-custom-day,
.zlprf-step-datepicker .zlprf-custom-day-placeholder{min-height:64px;border-radius:16px}
.zlprf-step-datepicker .zlprf-custom-day-placeholder{background:transparent}
.zlprf-step-datepicker .zlprf-custom-day{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:#fff;position:relative;cursor:pointer;padding:0;transition:all .15s ease}
.zlprf-step-datepicker .zlprf-custom-day-num{font-size:14px;font-weight:600;line-height:1;color:#222}
.zlprf-step-datepicker .zlprf-custom-day-dot{width:28px;height:4px;border-radius:999px;background:#8ed081;margin-top:10px}
.zlprf-step-datepicker .zlprf-custom-day.is-available{background:#eef8ea;border-color:#dcefd6}
.zlprf-step-datepicker .zlprf-custom-day.is-today .zlprf-custom-day-num{font-weight:700}
.zlprf-step-datepicker .zlprf-custom-day.is-selected{border-color:#ff5b57;box-shadow:inset 0 0 0 2px #ff5b57;background:#fff}
.zlprf-step-datepicker .zlprf-custom-day.is-disabled{opacity:.45;cursor:default;background:#fafafa}
.zlprf-step-datepicker .time-selector-w{margin-top:16px}
.zlprf-step-datepicker .times-header-label span{color:#ff5b57;margin-left:6px}
@media (max-width:767px){
  .zlprf-step-datepicker .zlprf-custom-month-title{font-size:16px}
  .zlprf-step-datepicker .zlprf-custom-weekdays,
  .zlprf-step-datepicker .zlprf-custom-days-grid{gap:6px}
  .zlprf-step-datepicker .zlprf-custom-day,
  .zlprf-step-datepicker .zlprf-custom-day-placeholder{min-height:56px}
}

.zlprf-booking-edit-row{display:flex;justify-content:flex-end;margin-top:-10px;margin-bottom:4px}
.zlprf-load-booking-datepicker-trigger{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;color:#ef4444;text-decoration:none}
.zlprf-load-booking-datepicker-trigger:hover{background:rgba(239,68,68,.08);color:#dc2626}
.zlprf-load-booking-datepicker-trigger .latepoint-icon{font-size:14px;line-height:1}

/* Z cart template */
.zlprf-step-cart .zlprf-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}
.zlprf-step-cart .zlprf-cart-items{display:block}
.zlprf-step-cart .zlprf-cart-item-wrap{margin-bottom:25px}
.zlprf-step-cart .zlprf-cart-item-wrap:last-child{margin-bottom:0}
.zlprf-step-cart .zlprf-cart-card{position:relative}
.zlprf-step-cart .zlprf-cart-card .summary-box-inner{width:100%}
.zlprf-step-cart .zlprf-cart-card-content{position:relative}
.zlprf-step-cart .zlprf-cart-store-row{display:flex;align-items:center;min-width:0;padding-right:30px;margin-bottom:14px}
.zlprf-step-cart .zlprf-cart-store-row .os-avatar-w{overflow:hidden;background-color:#dedede;background-size:cover;background-position:center center}
.zlprf-step-cart .zlprf-cart-store-row .os-avatar-w img{width:100%;height:100%;object-fit:cover;display:block}
.zlprf-step-cart .zlprf-cart-store-row .sbc-content-i{min-width:0}
.zlprf-step-cart .zlprf-cart-store-row .sbc-big-item{white-space:normal;word-break:break-word}
.zlprf-step-cart .zlprf-cart-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-bottom:14px}
.zlprf-step-cart .zlprf-cart-meta-card{min-width:0}
.zlprf-step-cart .zlprf-cart-meta-card .sbc-sub-item,
.zlprf-step-cart .zlprf-cart-datetime-block .sbc-sub-item{display:block;margin-bottom:4px}
.zlprf-step-cart .zlprf-cart-meta-value-wrap{display:flex;align-items:flex-start;gap:8px;min-width:0}
.zlprf-step-cart .zlprf-cart-datetime-value{line-height:1.45;min-width:0}
.zlprf-step-cart .zlprf-cart-edit{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;padding:0;flex:0 0 auto;border-radius:0;background:transparent;color:var(--latepoint-brand-primary);text-decoration:none}
.zlprf-step-cart .zlprf-cart-edit:hover{background:transparent;color:#000}
.zlprf-step-cart .zlprf-cart-edit .latepoint-icon{font-size:14px;line-height:1}
.zlprf-step-cart .zlprf-cart-customer-box{margin:0}
.zlprf-step-cart .zlprf-cart-add-more-wrap{margin-top:20px}
@media (max-width: 1024px){.zlprf-step-cart .zlprf-cart-layout{grid-template-columns:1fr}}
@media (max-width: 767px){
  .zlprf-step-cart .zlprf-cart-item-wrap{margin-bottom:22px}
  .zlprf-step-cart .zlprf-cart-store-row{padding-right:28px;margin-bottom:12px}
  .zlprf-step-cart .zlprf-cart-meta-grid{gap:12px 18px;margin-bottom:12px}
}

/* shell/header control for z reserve form */
.latepoint-booking-form-element .zlprf-visually-hidden-by-z{display:none !important}
.latepoint-booking-form-element .zlprf-heading-agent-shell{display:flex;align-items:center;gap:12px;min-width:0;max-width:calc(100% - 92px)}
.latepoint-booking-form-element .zlprf-heading-agent-media{width:44px;height:44px;flex:0 0 44px;border-radius:14px;overflow:hidden;background:#f3f4f6;display:inline-flex;align-items:center;justify-content:center}
.latepoint-booking-form-element .zlprf-heading-agent-media.is-image img{width:100%;height:100%;object-fit:cover;display:block}
.latepoint-booking-form-element .zlprf-heading-agent-media.is-avatar span{font-size:16px;font-weight:700;color:#444}
.latepoint-booking-form-element .zlprf-heading-agent-text{min-width:0}
.latepoint-booking-form-element .zlprf-heading-agent-name{font-size:20px;font-weight:700;line-height:1.2;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.latepoint-booking-form-element.zlprf-editing-datetime .latepoint-prev-btn{opacity:1}
@media (max-width:767px){
  .latepoint-booking-form-element .zlprf-heading-agent-shell{max-width:calc(100% - 76px);gap:10px}
  .latepoint-booking-form-element .zlprf-heading-agent-media{width:38px;height:38px;flex-basis:38px;border-radius:12px}
  .latepoint-booking-form-element .zlprf-heading-agent-name{font-size:18px}
}


/* immediate lightbox loading state */
.latepoint-lightbox-w.zlprf-booking-loading-lightbox .latepoint-lightbox-i{
  min-width:min(92vw,520px);
}
.zlprf-lightbox-loading{
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center;
  padding:28px 24px;
}
.zlprf-lightbox-loading__spinner{
  width:44px;
  height:44px;
  border-radius:50%;
  border:3px solid rgba(0,0,0,.12);
  border-top-color:#ff5b57;
  animation:zlprf-spin .8s linear infinite;
}
.zlprf-lightbox-loading__title{
  font-size:18px;
  font-weight:700;
  line-height:1.3;
  color:#222;
}
.zlprf-lightbox-loading__text{
  font-size:14px;
  line-height:1.5;
  color:#6b7280;
}
.zlprf-lightbox-loading.is-error .zlprf-lightbox-loading__title{
  color:#b42318;
}
.zlprf-lightbox-loading.is-error .zlprf-lightbox-loading__text{
  color:#7a271a;
}
@keyframes zlprf-spin{
  to{transform:rotate(360deg)}
}


/* Customer login gate */
.zlprf-login-gate-w .latepoint-w {
  width: 100%;
}
.zlprf-login-gate-w .latepoint-login-form-w {
  max-width: 560px;
  margin: 0 auto;
  box-shadow: none;
  border: 1px solid #ececf3;
  border-radius: 16px;
}
.zlprf-login-gate-w .latepoint-customer-box-title {
  font-size: 22px;
  font-weight: 700;
}
.zlprf-login-gate-w .latepoint-form {
  margin-bottom: 0 !important;
}
.zlprf-customer-login-disabled {
  padding: 20px;
}


/* service/date/stage tabs */
.zlprf-step-datepicker .zlprf-service-tabs--top,
.zlprf-step-datepicker .zlprf-stage-tabs,
.zlprf-step-datepicker .zlprf-quick-date-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.zlprf-step-datepicker .zlprf-service-tab,
.zlprf-step-datepicker .zlprf-stage-tab,
.zlprf-step-datepicker .zlprf-quick-date-tab{appearance:none;border:1px solid #d9dee8;background:#fff;color:#1f2937;border-radius:18px;padding:12px 16px;font-size:15px;font-weight:700;line-height:1.2;cursor:pointer;transition:all .18s ease;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.zlprf-step-datepicker .zlprf-service-tab.is-active,
.zlprf-step-datepicker .zlprf-stage-tab.is-active{border-color:#111827;background:#19d5c2;color:#fff;box-shadow:inset 0 0 0 1px rgba(17,24,39,.15)}
.zlprf-step-datepicker .zlprf-stage-tab.is-active{background:#ffe9b5;color:#7a4300;border-color:#f0b84d}
.zlprf-step-datepicker .zlprf-service-tab__label,
.zlprf-step-datepicker .zlprf-stage-tab__label{display:block;white-space:nowrap}
.zlprf-step-datepicker .zlprf-quick-date-tabs{display:none}
.zlprf-step-datepicker .zlprf-quick-date-tabs.is-active{display:flex}
.zlprf-step-datepicker .zlprf-quick-date-tab{min-width:104px;align-items:center;justify-content:center;display:flex;flex-direction:column;gap:4px;background:#f9fafb}
.zlprf-step-datepicker .zlprf-quick-date-tab.is-available{background:#eef8ea;border-color:#dcefd6}
.zlprf-step-datepicker .zlprf-quick-date-tab.is-active{border-color:#ff5b57;box-shadow:inset 0 0 0 2px #ff5b57;background:#fff}
.zlprf-step-datepicker .zlprf-quick-date-tab.is-disabled{opacity:.45;cursor:default;background:#fafafa}
.zlprf-step-datepicker .zlprf-quick-date-tab__eyebrow{font-size:12px;color:#6b7280;font-weight:700}
.zlprf-step-datepicker .zlprf-quick-date-tab__date{font-size:22px;font-weight:800;color:#111827}
.zlprf-step-datepicker .zlprf-quick-date-tab__week{font-size:13px;color:#4b5563;font-weight:700}
.zlprf-step-datepicker .zlprf-calendar-root-shell.is-hidden{display:none}
.zlprf-step-datepicker .zlprf-stage-tabs{margin-top:6px}
@media (max-width:767px){
  .zlprf-step-datepicker .zlprf-service-tabs--top,
  .zlprf-step-datepicker .zlprf-stage-tabs,
  .zlprf-step-datepicker .zlprf-quick-date-tabs{gap:8px}
  .zlprf-step-datepicker .zlprf-service-tab,
  .zlprf-step-datepicker .zlprf-stage-tab{flex:1 1 calc(50% - 4px);justify-content:center;text-align:center}
  .zlprf-step-datepicker .zlprf-quick-date-tab{flex:1 1 calc(33.333% - 6px);min-width:0;padding:10px 8px;border-radius:16px}
  .zlprf-step-datepicker .zlprf-quick-date-tab__date{font-size:18px}
}


/* ui-prep stage layout cleanup */
.zlprf-step-datepicker .times-header{display:none !important;}
.zlprf-step-datepicker .zlprf-stage-selection-shell{display:flex;flex-direction:column;gap:12px;}
.zlprf-step-datepicker .zlprf-stage-slot-shell{display:block;}
.zlprf-step-datepicker .zlprf-stage-tabs{margin-top:0;margin-bottom:0;}
.zlprf-step-datepicker .time-selector-w{margin-top:12px;}
.zlprf-step-datepicker .os-times-w{margin-top:0;}


/* Cinderella decorative stage skin */
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-datepicker-visual-shell{
  position:relative;
  padding:18px 16px 16px;
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,244,204,.34), transparent 24%),
    radial-gradient(circle at 78% 10%, rgba(255,205,235,.26), transparent 30%),
    radial-gradient(circle at 50% 70%, rgba(118,88,199,.18), transparent 38%),
    linear-gradient(180deg, #7a5ab6 0%, #8d6bbb 14%, #f3d3df 58%, #f9f0f5 100%);
  border:1px solid rgba(255,255,255,.56);
  box-shadow:0 22px 44px rgba(122,90,182,.18), inset 0 0 0 2px rgba(255,255,255,.28);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-datepicker-visual-shell:before{
  content:''; position:absolute; inset:14px; border-radius:22px; pointer-events:none;
  border:2px solid rgba(255,246,252,.72); box-shadow:inset 0 0 0 2px rgba(183,145,206,.18);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-datepicker-visual-shell:after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:34%; pointer-events:none; opacity:.55;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(249,219,229,.66) 42%, rgba(191,138,177,.2));
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-scene-glow{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 20% 22%, rgba(255,255,255,.75) 0 1px, transparent 2px),
    radial-gradient(circle at 26% 13%, rgba(255,244,193,.65) 0 1.4px, transparent 2.6px),
    radial-gradient(circle at 74% 24%, rgba(255,255,255,.55) 0 1px, transparent 2px),
    radial-gradient(circle at 81% 16%, rgba(255,219,242,.65) 0 1.5px, transparent 2.8px),
    linear-gradient(180deg, rgba(68,34,125,.12), rgba(255,255,255,0));
  mix-blend-mode:screen;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-service-tabs--top{margin-bottom:14px; position:relative; z-index:2;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-service-tab{
  border-radius:999px;
  min-width:132px;
  background:rgba(255,255,255,.85);
  border-color:rgba(168,143,215,.48);
  color:#5d4a82;
  box-shadow:0 8px 18px rgba(103,71,163,.08);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-service-tab.is-active{
  color:#fff;
  border-color:rgba(113,79,170,.9);
  background:linear-gradient(135deg,#64e5e5,#2fd1b7 52%, #38bfae);
  box-shadow:0 12px 20px rgba(47,209,183,.24);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tabs{position:relative; z-index:2; gap:12px; margin-bottom:14px;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab{
  flex:1 1 calc(33.333% - 8px); min-width:0; min-height:104px; border-radius:22px; padding:14px 10px;
  background:rgba(255,255,255,.78); border:1px solid rgba(191,173,223,.72);
  box-shadow:0 10px 20px rgba(110,89,165,.10); color:#5b4f77;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab.is-available{background:rgba(255,251,255,.92);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab.is-active{
  background:linear-gradient(180deg,#ffffff 0%, #fff8fb 100%);
  border-color:#ff7d99; box-shadow:0 0 0 2px #ff8aa3 inset, 0 14px 24px rgba(255,122,153,.16);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__eyebrow{font-size:13px;color:#ab7d95;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__date{font-size:30px;line-height:1;color:#5e4d84;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__week{font-size:14px;color:#7b688f;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .time-selector-w{position:relative; z-index:2; margin-top:4px; padding:14px; border-radius:26px; background:rgba(255,253,255,.74); border:1px solid rgba(214,184,228,.86); box-shadow:inset 0 0 0 2px rgba(255,255,255,.52),0 14px 28px rgba(133,91,178,.12);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .time-selector-w:before{content:''; position:absolute; inset:10px; border-radius:18px; border:1px dashed rgba(184,150,213,.5); pointer-events:none;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{gap:12px; margin-bottom:10px;}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{display:flex;flex-wrap:nowrap;align-items:stretch;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__meta{font-size:11px;line-height:1.2;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{
  flex:0 0 calc((100% - 24px)/3); width:calc((100% - 24px)/3); min-width:0; min-height:78px; border-radius:22px; padding:14px 8px;
  background:rgba(255,255,255,.8); border:1px solid rgba(198,178,223,.82); box-shadow:0 10px 18px rgba(113,83,169,.09);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{font-size:20px; font-weight:800; letter-spacing:.01em;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"]{color:#0d7189;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"]{color:#8d5e00;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"]{color:#513a8e;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"].is-active{background:linear-gradient(135deg,#d8fbff,#b6f1ff 45%, #eefcff); border-color:#70cce0; color:#08667d; box-shadow:0 16px 24px rgba(112,204,224,.18);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"].is-active{background:linear-gradient(135deg,#f3c764,#ffda8b 45%, #f7edd0); border-color:#dfa443; color:#6d4300; box-shadow:0 16px 24px rgba(234,182,75,.2);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"].is-active{background:linear-gradient(135deg,#5446a7,#7a68d9 48%, #b5a8f0); border-color:#5e4ec0; color:#fff; box-shadow:0 16px 24px rgba(94,78,192,.22);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-times-w{margin-top:6px;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .timeslots{display:flex; flex-direction:column; gap:14px;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band{border-radius:22px; background:rgba(255,255,255,.62); border:1px solid rgba(212,192,232,.72); box-shadow:0 10px 18px rgba(131,96,174,.08); overflow:hidden;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__title{background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(246,237,248,.64)); border-bottom:1px solid rgba(212,192,232,.6); padding:14px 16px 10px;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__label{color:#6d5b90; font-size:15px; font-weight:700;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__index{font-size:30px; font-weight:800; color:#3b3054; line-height:1.1;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__range-grid{padding:14px;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-range-side__label{color:#7e6e97; font-weight:700;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-range-slot,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-dp-timepicker-trigger{
  border-radius:18px; background:rgba(255,255,255,.92); border:1px solid rgba(206,189,228,.84); box-shadow:0 8px 14px rgba(136,102,181,.08);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-range-slot:hover,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-dp-timepicker-trigger:hover{border-color:#d6a0e8; transform:translateY(-1px);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-range-slot.selected,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-dp-timepicker-trigger.selected{border-color:#ff7fa0; background:linear-gradient(180deg,#fff4f7,#fff); box-shadow:0 0 0 2px rgba(255,127,160,.24) inset,0 14px 20px rgba(255,127,160,.14); color:#c84b75;}
.latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-next-btn{
  border-radius:999px; background:linear-gradient(135deg,#ff94bb,#ff7fa4 46%, #ffb477); border:none; color:#fff; box-shadow:0 16px 28px rgba(255,128,164,.26);
}
.latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-prev-btn{
  border-radius:999px; background:rgba(255,255,255,.9); border:1px solid rgba(203,189,227,.9); color:#6c5a85; box-shadow:0 8px 14px rgba(119,88,167,.08);
}
@media (max-width: 767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-datepicker-visual-shell{padding:14px 12px 14px; border-radius:24px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tabs{gap:8px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab{min-height:92px; border-radius:18px; padding:12px 8px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__date{font-size:24px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{gap:8px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{flex:0 0 calc((100% - 16px)/3); width:calc((100% - 16px)/3); min-height:68px; padding:12px 6px; border-radius:18px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{font-size:15px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .time-selector-w{padding:12px; border-radius:22px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__index{font-size:24px;}
}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__index{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:999px;background:linear-gradient(135deg,#fff5cc,#ffd88a);color:#a06a00;font-size:18px;font-weight:800;box-shadow:0 6px 12px rgba(234,182,75,.14);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__title{display:flex;align-items:center;gap:10px;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__label{font-size:22px;font-weight:800;color:#3b3054;line-height:1.2;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-range-column__slots{display:flex;flex-direction:column;gap:10px;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-range-divider{font-size:28px;color:#8f7faa;font-weight:700;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-range-slot.is-disabled,.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-dp-timepicker-trigger.is-disabled{opacity:.52;background:rgba(255,255,255,.58);box-shadow:none;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .dp-label-time{font-size:18px;font-weight:800;color:inherit;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .dp-success-label{display:none;}


.zlprf-step-datepicker .zlprf-cinderella-top-panel{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.zlprf-step-datepicker .zlprf-cinderella-stage-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.zlprf-step-datepicker .zlprf-stage-slot-group[data-stage-code="day_stage"] .zlprf-time-band__index{
  background:linear-gradient(135deg,#cdeff9,#9fddf4);
  color:#155f77;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{
  position:relative;
  z-index:2;
  margin-bottom:14px;
  padding:16px;
  border-radius:26px;
  background:linear-gradient(180deg,rgba(171,127,223,.48),rgba(247,230,244,.52));
  border:1px solid rgba(214,184,228,.86);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.45),0 14px 28px rgba(133,91,178,.10);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
  position:relative;
  z-index:2;
  padding:14px;
  border-radius:26px;
  background:rgba(255,253,255,.74);
  border:1px solid rgba(214,184,228,.86);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.52),0 14px 28px rgba(133,91,178,.12);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card:before{
  content:'';
  position:absolute;
  inset:10px;
  border-radius:18px;
  border:1px dashed rgba(184,150,213,.5);
  pointer-events:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .time-selector-w{
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .time-selector-w:before{display:none;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{position:relative;z-index:1;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"]{color:#18718b;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"].is-active{background:linear-gradient(135deg,#d8f7ff,#a7e7f5 48%, #effcff);border-color:#77cde0;color:#145f75;box-shadow:0 16px 24px rgba(119,205,224,.20);}
@media (max-width: 767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{padding:12px;border-radius:22px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{padding:12px;border-radius:22px;}
}


/* Cinderella image layers */
.zlprf-step-datepicker .zlprf-cinderella-scene-bg,
.zlprf-step-datepicker .zlprf-cinderella-character-layer,
.zlprf-step-datepicker .zlprf-cinderella-top-frame,
.zlprf-step-datepicker .zlprf-cinderella-stage-frame{display:none;}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-datepicker-visual-shell{
  isolation:isolate;
  min-height:100%;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-scene-bg{
  display:block;
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:url('../img/cinderella_bg.png');
  background-size:cover;
  background-position:center bottom;
  opacity:.38;
  filter:saturate(1.04) brightness(1.02);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-scene-glow{z-index:1;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
  overflow:hidden;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-frame,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-frame{
  display:block;
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:url('../img/cinderella_frame.png');
  background-size:100% 100%;
  background-repeat:no-repeat;
  opacity:.36;
  mix-blend-mode:screen;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel > :not(.zlprf-cinderella-top-frame),
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card > :not(.zlprf-cinderella-stage-frame){
  position:relative;
  z-index:1;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-layer{
  display:block;
  position:absolute;
  right:-8px;
  bottom:72px;
  width:min(34vw, 220px);
  z-index:1;
  pointer-events:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(120,84,177,.22));
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{padding-top:18px;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{padding-top:18px; padding-bottom:120px;}
@media (max-width: 767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-scene-bg{background-position:center center; opacity:.34;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-layer{right:-10px; bottom:58px; width:min(40vw, 180px);}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{padding-bottom:104px;}
}


/* Scene layering fix: page-wide background + lower-right character */
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:18px 16px 150px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-w,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .time-selector-w{
  position:relative;
  z-index:2;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-datepicker-visual-shell{
  position:relative;
  z-index:2;
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
  overflow:visible;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-scene-bg{
  inset:0;
  background-position:center bottom;
  opacity:.42;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-scene-glow{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 14%, rgba(255,255,255,.68) 0 1px, transparent 2px),
    radial-gradient(circle at 78% 9%, rgba(255,228,244,.55) 0 1.5px, transparent 3px),
    radial-gradient(circle at 20% 92%, rgba(255,214,236,.38), transparent 22%),
    radial-gradient(circle at 72% 84%, rgba(255,240,201,.24), transparent 24%);
  mix-blend-mode:screen;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
  overflow:hidden;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-frame,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-frame{
  opacity:.44;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{
  margin-bottom:18px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
  padding-bottom:118px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-layer{
  right:6px;
  bottom:18px;
  width:min(42vw, 220px);
  z-index:1;
}
@media (max-width: 767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w{
    padding:14px 12px 138px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-layer{
    right:4px;
    bottom:14px;
    width:min(44vw, 180px);
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
    padding-bottom:104px;
  }
}

/* v12 svg frame + bottom character placement */
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-frame,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-frame{
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-position:center center;
  opacity:1;
  mix-blend-mode:normal;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-frame{
  background-image:url('../img/cinderella_frame_top.svg');
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-frame{
  background-image:url('../img/cinderella_frame_stage.svg');
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
  background:transparent;
  border:none;
  box-shadow:none;
  overflow:visible;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card:before,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel:before{
  display:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{
  padding:26px 22px 18px;
  margin-bottom:14px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
  padding:22px 18px 148px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-scene-bg{
  opacity:.48;
  background-position:center bottom;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-layer{
  right:12px;
  bottom:0;
  width:min(38vw, 170px);
  z-index:3;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-img{
  width:100%;
  transform:translateY(16px);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w{
  padding-bottom:126px;
}
@media (max-width: 767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{
    padding:22px 16px 14px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
    padding:18px 14px 132px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-layer{
    right:10px;
    bottom:0;
    width:min(36vw, 150px);
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-img{
    transform:translateY(12px);
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w{
    padding-bottom:118px;
  }
}


/* v13 placement fix: keep character above footer edge and outside stage card */
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
  padding-bottom: 18px;
  margin-bottom: 92px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-layer{
  right: 14px;
  bottom: -8px;
  width: min(32vw, 156px);
  z-index: 2;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-img{
  filter: drop-shadow(0 10px 18px rgba(120,84,177,.18));
}
@media (max-width: 767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w{
    padding: 14px 12px 118px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
    margin-bottom: 82px;
    padding-bottom: 16px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-layer{
    right: 10px;
    bottom: -10px;
    width: min(31vw, 142px);
  }
}


/* v14 footer character anchor fix */
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-layer{display:none !important;}
.latepoint-booking-form-element .latepoint-footer{position:relative; overflow:visible;}
.latepoint-booking-form-element .zlprf-cinderella-footer-character-slot{display:none; position:absolute; right:12px; bottom:calc(100% - 8px); width:min(34vw, 160px); z-index:4; pointer-events:none;}
.latepoint-booking-form-element .zlprf-cinderella-footer-character-img{display:block; width:100%; height:auto; object-fit:contain; filter:drop-shadow(0 10px 18px rgba(120,84,177,.18));}
.latepoint-booking-form-element.zlprf-cinderella-active .zlprf-cinderella-footer-character-slot,
.latepoint-booking-form-element.zlprf-footer-guide-visible .zlprf-cinderella-footer-character-slot{display:block;}
@media (max-width: 767px){
  .latepoint-booking-form-element .zlprf-cinderella-footer-character-slot{right:10px; bottom:calc(100% - 6px); width:min(32vw, 138px);}
}

/* v16 mock-like 9-slice frame + stage buttons */
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-frame,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-frame{
  display:none !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
  position:relative;
  border-style:solid;
  border-color:transparent;
  border-image-repeat:stretch;
  border-image-slice:36 fill;
  background:transparent;
  box-shadow:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{
  border-width:28px;
  border-image-source:url('../img/cinderella_top_9slice.png');
  padding:18px 18px 16px;
  margin:0 0 14px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
  border-width:24px;
  border-image-source:url('../img/cinderella_stage_9slice.png');
  padding:16px 14px 14px;
  margin:0;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel:before,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card:before{display:none !important;}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-service-tabs--top{
  gap:12px;
  margin-bottom:14px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-service-tab{
  flex:1 1 0;
  min-width:0;
  min-height:54px;
  padding:12px 14px;
  border-radius:999px;
  border:2px solid rgba(206,183,221,.82);
  background:rgba(255,255,255,.96);
  color:#6c5b83;
  box-shadow:0 3px 0 rgba(227,205,236,.9), 0 9px 16px rgba(130,101,175,.08);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-service-tab.is-active{
  background:linear-gradient(180deg,#ffffff 0%,#fffafc 100%);
  color:#eb566e;
  border-color:#ef7b92;
  box-shadow:0 3px 0 rgba(255,210,220,.92), 0 10px 18px rgba(239,123,146,.12);
}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tabs{
  display:flex;
  gap:12px;
  margin-bottom:0;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab{
  flex:1 1 0;
  min-width:0;
  min-height:104px;
  border-radius:22px;
  padding:12px 8px 10px;
  background:rgba(255,255,255,.92);
  border:2px solid rgba(215,193,228,.84);
  box-shadow:0 3px 0 rgba(232,214,239,.88), 0 10px 18px rgba(124,88,170,.08);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab.is-active{
  border-color:#ff8aa1;
  background:linear-gradient(180deg,#fffefc 0%,#fff7fb 100%);
  box-shadow:0 3px 0 rgba(255,219,227,.94), 0 12px 18px rgba(255,138,161,.12);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__eyebrow{
  font-size:15px;
  color:#c06f8b;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__date{
  font-size:26px;
  color:#6d5a95;
  line-height:1;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__week{
  font-size:17px;
  color:#7d6b9a;
}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{
  gap:10px;
  flex-wrap:nowrap;
  align-items:stretch;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{
  flex:1 1 0;
  min-width:0;
  min-height:82px;
  padding:12px 8px 10px;
  border-radius:18px;
  border:2px solid rgba(209,189,222,.95);
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(250,246,252,.96) 100%);
  box-shadow:0 3px 0 rgba(229,214,238,.9), inset 0 1px 0 rgba(255,255,255,.92);
  color:#6c5b83;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:6px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{
  font-size:17px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__hint{
  display:block;
  font-size:12px;
  line-height:1.1;
  font-weight:700;
  opacity:.92;
  white-space:nowrap;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab--day_stage.is-active{
  border-color:#7ecedd;
  background:linear-gradient(180deg,#e5fbff 0%, #bceef6 50%, #dff9fd 100%);
  box-shadow:0 3px 0 rgba(164,225,236,.95), 0 12px 18px rgba(126,206,221,.16), inset 0 1px 0 rgba(255,255,255,.95);
  color:#176c83;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab--before_last_train.is-active{
  border-color:#efc15f;
  background:linear-gradient(180deg,#fff3bf 0%, #f4d684 50%, #fee9b2 100%);
  box-shadow:0 3px 0 rgba(242,213,140,.96), 0 12px 18px rgba(239,193,95,.16), inset 0 1px 0 rgba(255,255,255,.9);
  color:#8f6200;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab--overnight.is-active{
  border-color:#7b74d4;
  background:linear-gradient(180deg,#5e51b9 0%, #6f62cb 52%, #8577dc 100%);
  box-shadow:0 3px 0 rgba(124,116,212,.6), 0 12px 18px rgba(109,99,194,.18), inset 0 1px 0 rgba(255,255,255,.18);
  color:#fff;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab--overnight.is-active .zlprf-stage-tab__hint{color:rgba(255,255,255,.9);}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w{
  padding-bottom:126px;
}

@media (max-width:767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{
    border-width:22px;
    padding:14px 12px 12px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
    border-width:20px;
    padding:12px 10px 12px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-service-tabs--top,
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tabs,
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{
    gap:8px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-service-tab{
    min-height:48px;
    padding:10px 8px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab{
    min-height:92px;
    border-radius:18px;
    padding:10px 6px 8px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__date{font-size:24px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__eyebrow{font-size:14px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__week{font-size:16px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{
    min-height:74px;
    padding:10px 4px 8px;
    border-radius:16px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{font-size:15px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__hint{font-size:11px;}
}



/* Mock-like button asset skin */
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{
  gap:10px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{
  flex:0 0 calc((100% - 20px)/3);
  width:calc((100% - 20px)/3);
  min-width:0;
  min-height:92px;
  padding:14px 10px 12px;
  border:none !important;
  border-radius:24px;
  box-shadow:none !important;
  background:transparent url('../img/btn_stage_inactive.png') center/100% 100% no-repeat !important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{
  font-size:18px;
  font-weight:800;
  line-height:1.12;
  letter-spacing:.01em;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__hint{
  display:block;
  font-size:12px;
  font-weight:700;
  line-height:1.15;
  opacity:.95;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"]{
  color:#116f88;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"]{
  color:#8b5c00;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"]{
  color:#5a42a3;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"].is-active{
  color:#0d6a80;
  background-image:url('../img/btn_stage_day_active.png') !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"].is-active{
  color:#764400;
  background-image:url('../img/btn_stage_before_active.png') !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"].is-active{
  color:#fff;
  text-shadow:0 1px 1px rgba(42,27,96,.35);
  background-image:url('../img/btn_stage_overnight_active.png') !important;
}
.latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-next-btn{
  min-width:120px;
  min-height:58px;
  padding:0 26px;
  border:none !important;
  border-radius:999px;
  background:transparent url('../img/btn_join.png') center/100% 100% no-repeat !important;
  box-shadow:none !important;
  color:#fff !important;
  text-shadow:0 1px 1px rgba(149,56,90,.35);
  font-weight:800;
  letter-spacing:.01em;
}
.latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-prev-btn{
  min-width:98px;
  min-height:48px;
  padding:0 24px;
  border:none !important;
  border-radius:999px;
  background:transparent url('../img/btn_cancel.png') center/100% 100% no-repeat !important;
  box-shadow:none !important;
  color:#6c5a85 !important;
  font-weight:800;
}
@media (max-width: 767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{
    gap:8px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{
    flex:0 0 calc((100% - 16px)/3);
    width:calc((100% - 16px)/3);
    min-height:82px;
    padding:12px 6px 10px;
    border-radius:20px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{
    font-size:16px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__hint{
    font-size:10px;
  }
  .latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-next-btn{
    min-width:120px;
    min-height:52px;
    padding:0 22px;
  }
  .latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-prev-btn{
    min-width:94px;
    min-height:44px;
    padding:0 22px;
  }
}


/* Phase 7.2.24.18 - direct mock crop stage button skin */
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{
  gap:10px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{
  position:relative;
  overflow:hidden;
  flex:0 0 calc((100% - 20px)/3);
  width:calc((100% - 20px)/3);
  min-width:0;
  min-height:96px;
  padding:0;
  border:none !important;
  border-radius:22px;
  box-shadow:0 4px 10px rgba(111,78,146,.10);
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  display:block;
  text-align:center;
  filter:saturate(.96) brightness(.99);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab::before{
  content:'';
  position:absolute;
  left:50%;
  top:11px;
  width:73%;
  height:30px;
  transform:translateX(-50%);
  border-radius:999px;
  z-index:1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab .zlprf-stage-tab__label,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab .zlprf-stage-tab__hint{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{
  top:20px;
  font-size:17px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  letter-spacing:.01em;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__hint{
  bottom:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:120px;
  max-width:calc(100% - 38px);
  padding:5px 12px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
  box-shadow:0 2px 6px rgba(94,68,124,.08), inset 0 1px 0 rgba(255,255,255,.55);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"]{
  background-image:url('../img/btn_stage_day_mock.png') !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"]{
  background-image:url('../img/btn_stage_before_mock.png') !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"]{
  background-image:url('../img/btn_stage_overnight_mock.png') !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"]::before{
  background:rgba(252,236,244,.92);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"]::before{
  background:rgba(224,173,70,.88);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"]::before{
  background:rgba(66,57,132,.58);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"] .zlprf-stage-tab__label{
  color:#8b5583;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"] .zlprf-stage-tab__label{
  color:#fffaf0;
  text-shadow:0 1px 1px rgba(113,76,8,.28);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"] .zlprf-stage-tab__label{
  color:#ffffff;
  text-shadow:0 1px 2px rgba(32,21,86,.45);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"] .zlprf-stage-tab__hint{
  background:rgba(255,255,255,.88);
  color:#8b5583;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"] .zlprf-stage-tab__hint{
  background:rgba(255,246,219,.96);
  color:#7b5520;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"] .zlprf-stage-tab__hint{
  background:rgba(108,95,190,.90);
  color:#ffffff;
  box-shadow:0 2px 6px rgba(53,38,110,.18), inset 0 1px 0 rgba(255,255,255,.18);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab.is-active{
  filter:none;
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(111,78,146,.18);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab.is-active::after{
  content:'';
  position:absolute;
  inset:4px;
  border-radius:19px;
  border:2px solid rgba(255,255,255,.45);
  pointer-events:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab:not(.is-active){
  opacity:.97;
}
@media (max-width:767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{
    gap:8px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{
    flex:0 0 calc((100% - 16px)/3);
    width:calc((100% - 16px)/3);
    min-height:88px;
    border-radius:20px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab::before{
    top:10px;
    width:74%;
    height:28px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{
    top:19px;
    font-size:14px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__hint{
    bottom:16px;
    min-width:98px;
    max-width:calc(100% - 24px);
    padding:4px 10px;
    font-size:11px;
  }
}

/* Phase 7.2.24.21 - uploaded asset pack application */
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-scene-bg{
  background-image:url('../img/cinderella_bg_clean.png') !important;
  opacity:.48;
}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-frame,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-frame{
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-frame{
  background-image:url('../img/cinderella_frame_top_ornate.png') !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-frame{
  background-image:url('../img/cinderella_frame_stage_ornate.png') !important;
}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{padding:18px 18px 16px !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{padding:18px 14px 132px !important;}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab{
  background:transparent url('../img/day_card_inactive_clean.png') center/100% 100% no-repeat !important;
  border:none !important;
  box-shadow:none !important;
  min-height:84px;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab.is-active{background-image:url('../img/day_card_active_clean.png') !important;}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab:not(.is-active){
  background:transparent url('../img/btn_stage_inactive_clean.png') center/100% 100% no-repeat !important;
  border:none !important;
  box-shadow:none !important;
  filter:none !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"].is-active{background-image:url('../img/btn_stage_day_clean.png') !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"].is-active{background-image:url('../img/btn_stage_before_clean.png') !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"].is-active{background-image:url('../img/btn_stage_overnight_clean.png') !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab::before,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab::after{display:none !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{
  min-height:88px !important;
  border-radius:20px !important;
  padding:16px 8px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-direction:column !important;
  gap:8px !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab .zlprf-stage-tab__label,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab .zlprf-stage-tab__hint{position:static !important; transform:none !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{font-size:16px !important; font-weight:800 !important; line-height:1.05 !important; text-align:center !important; white-space:nowrap !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__hint{display:inline-flex !important; align-items:center !important; justify-content:center !important; min-width:110px; height:26px; padding:0 12px !important; border-radius:999px !important; background-position:center !important; background-repeat:no-repeat !important; background-size:100% 100% !important; box-shadow:none !important; font-size:11px !important; font-weight:700 !important; line-height:1 !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"] .zlprf-stage-tab__label{color:#8b5583 !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"] .zlprf-stage-tab__label{color:#fff8ef !important;text-shadow:0 1px 1px rgba(113,76,8,.18);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"] .zlprf-stage-tab__label{color:#fff !important;text-shadow:0 1px 1px rgba(32,21,86,.30);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"] .zlprf-stage-tab__hint{background-image:url('../img/btn_stage_day_timepill.png') !important;color:#8b5583 !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"] .zlprf-stage-tab__hint{background-image:url('../img/btn_stage_before_timepill.png') !important;color:#7b5520 !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"] .zlprf-stage-tab__hint{background-image:url('../img/btn_stage_overnight_timepill.png') !important;color:#ffffff !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab:not(.is-active) .zlprf-stage-tab__hint{background-image:url('../img/btn_stage_inactive_timepill.png') !important;color:#7c6a91 !important;}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band{background:transparent url('../img/cinderella_slot_card_ornate.png') center/100% 100% no-repeat !important; border:none !important; box-shadow:none !important; overflow:hidden;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__title,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__range-grid{background:transparent !important;}

.latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-next-btn{background:transparent url('../img/btn_join_clean.png') center/100% 100% no-repeat !important; border:none !important; box-shadow:none !important; color:#fff !important; text-shadow:0 1px 1px rgba(149,56,90,.25);}
.latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-prev-btn{background:transparent url('../img/btn_cancel_clean.png') center/100% 100% no-repeat !important; border:none !important; box-shadow:none !important; color:#6c5a85 !important;}

@media (max-width: 767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{min-height:82px !important;padding:14px 6px 8px !important;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{font-size:15px !important;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__hint{min-width:94px;font-size:10px !important;height:24px;}
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab{min-height:76px;}
}

/* v22c scoped fix: cinderella datepicker only */
.zlprf-book-form-wrapper .latepoint-w.latepoint-lightbox-form .latepoint-body > .step-datepicker-w.zlprf-step-datepicker.zlprf-ui-mode-cinderella{
  --zlprf-cinderella-bleed: 28px;
  margin-left: calc(var(--zlprf-cinderella-bleed) * -1);
  margin-right: calc(var(--zlprf-cinderella-bleed) * -1);
}
.zlprf-book-form-wrapper .latepoint-w.latepoint-lightbox-form .latepoint-body > .step-datepicker-w.zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w{
  border-radius: 0 !important;
  padding-left: calc(16px + var(--zlprf-cinderella-bleed));
  padding-right: calc(16px + var(--zlprf-cinderella-bleed));
}
.zlprf-book-form-wrapper .latepoint-w.latepoint-lightbox-form .latepoint-body > .step-datepicker-w.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-scene-bg,
.zlprf-book-form-wrapper .latepoint-w.latepoint-lightbox-form .latepoint-body > .step-datepicker-w.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-scene-glow{
  left: 0 !important;
  right: 0 !important;
}

.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab:focus,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab:focus-visible{
  outline: none !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"]{
  background-image:url('../img/btn_stage_day_clean.png') !important;
  color:#116f88;
  text-shadow:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"]{
  background-image:url('../img/btn_stage_before_clean.png') !important;
  color:#8b5c00;
  text-shadow:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"]{
  background-image:url('../img/btn_stage_overnight_clean.png') !important;
  color:#5a42a3;
  text-shadow:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab.is-active{
  box-shadow: 0 0 18px rgba(255, 214, 120, .55), 0 0 34px rgba(255, 214, 120, .26) !important;
  filter: saturate(1.03) brightness(1.02);
  transform: translateY(-1px);
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="day_stage"].is-active{
  box-shadow: 0 0 16px rgba(129, 224, 244, .48), 0 0 30px rgba(129, 224, 244, .22) !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="before_last_train"].is-active{
  box-shadow: 0 0 18px rgba(255, 214, 120, .55), 0 0 34px rgba(255, 214, 120, .26) !important;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-stage-code="overnight"].is-active{
  box-shadow: 0 0 18px rgba(154, 132, 255, .52), 0 0 34px rgba(154, 132, 255, .24) !important;
}

@media (max-width: 767px){
  .zlprf-book-form-wrapper .latepoint-w.latepoint-lightbox-form .latepoint-body > .step-datepicker-w.zlprf-step-datepicker.zlprf-ui-mode-cinderella{
    --zlprf-cinderella-bleed: 20px;
  }
  .zlprf-book-form-wrapper .latepoint-w.latepoint-lightbox-form .latepoint-body > .step-datepicker-w.zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w{
    padding-left: calc(12px + var(--zlprf-cinderella-bleed));
    padding-right: calc(12px + var(--zlprf-cinderella-bleed));
  }
}

/* Phase 7.2.24.22d - tighter inner spacing for Cinderella mobile only */
@media (max-width: 767px){
  .zlprf-book-form-wrapper .latepoint-w.latepoint-lightbox-form .latepoint-body > .step-datepicker-w.zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w{
    padding-left: calc(6px + var(--zlprf-cinderella-bleed)) !important;
    padding-right: calc(6px + var(--zlprf-cinderella-bleed)) !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{
    padding: 10px 8px 10px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-stage-card{
    padding: 10px 8px 118px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-service-tabs--top,
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tabs,
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tabs{
    gap: 6px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-service-tab{
    min-height: 52px !important;
    padding: 8px 10px !important;
    font-size: 14px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab{
    min-height: 76px !important;
    padding: 8px 4px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__eyebrow{
    font-size: 12px !important;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__date{
    font-size: 20px !important;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-quick-date-tab__week{
    font-size: 12px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab{
    min-height: 72px !important;
    padding: 10px 4px 8px !important;
    border-radius: 16px !important;
    gap: 5px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__label{
    font-size: 13px !important;
    letter-spacing: 0 !important;
    transform: scale(.96);
    transform-origin: center top;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab__hint{
    min-width: 88px !important;
    height: 22px !important;
    padding: 0 8px !important;
    font-size: 10px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__title{
    padding: 12px 12px 8px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__label{
    font-size: 17px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-time-band__range-grid{
    padding: 10px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-range-column__slots{
    gap: 8px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-range-slot,
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-dp-timepicker-trigger{
    min-width: 0 !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .dp-label-time{
    font-size: 16px !important;
  }
}

/* Phase 7.2.24.23 - mock-like ornate outer frame + cinderella CTA label */
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  top:8px;
  bottom:118px;
  z-index:1;
  pointer-events:none;
  background:url('../img/cinderella_outer_ornate_frame.png') center/100% 100% no-repeat;
  opacity:.96;
  filter:drop-shadow(0 10px 20px rgba(198,146,184,.18));
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-w,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .time-selector-w,
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-character-layer{
  position:relative;
  z-index:2;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-datepicker-visual-shell{
  padding:22px 20px 0;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-cinderella-top-panel{margin-bottom:22px;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .time-selector-w{padding:0 16px 0;}
.latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-next-btn{
  min-width:186px;
  justify-content:center;
}
.latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-next-btn span{
  font-size:18px;
  font-weight:800;
  letter-spacing:.04em;
}
.latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-next-btn i{
  display:none !important;
}
@media (max-width: 767px){
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .os-dates-and-times-w::after{
    left:8px;
    right:8px;
    top:8px;
    bottom:110px;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-datepicker-visual-shell{
    padding:18px 16px 0;
  }
  .zlprf-step-datepicker.zlprf-ui-mode-cinderella .time-selector-w{
    padding:0 10px 0;
  }
  .latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-next-btn{
    min-width:170px;
  }
  .latepoint-booking-form-element.zlprf-cinderella-active .step-datepicker-w .latepoint-next-btn span{
    font-size:17px;
  }
}


/* Phase 7.2.24.24 - target actual footer next button on cinderella datepicker */
.latepoint-booking-form-element.zlprf-footer-cinderella-datepicker .latepoint-footer .latepoint-next-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  width:194px !important;
  min-width:194px !important;
  max-width:194px !important;
  height:52px !important;
  min-height:52px !important;
  padding:0 !important;
  gap:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent url('../img/btn_join_clean.png') center center / 194px 52px no-repeat !important;
  box-shadow:none !important;
  color:#fff !important;
  text-shadow:0 1px 1px rgba(149,56,90,.25) !important;
  overflow:hidden !important;
}
.latepoint-booking-form-element.zlprf-footer-cinderella-datepicker .latepoint-footer .latepoint-next-btn span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 0 1px !important;
  line-height:1 !important;
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-align:center !important;
}
.latepoint-booking-form-element.zlprf-footer-cinderella-datepicker .latepoint-footer .latepoint-next-btn i{
  display:none !important;
}
@media (max-width: 767px){
  .latepoint-booking-form-element.zlprf-footer-cinderella-datepicker .latepoint-footer .latepoint-next-btn{
    width:186px !important;
    min-width:186px !important;
    max-width:186px !important;
    height:50px !important;
    min-height:50px !important;
    background-size:186px 50px !important;
  }
  .latepoint-booking-form-element.zlprf-footer-cinderella-datepicker .latepoint-footer .latepoint-next-btn span{
    font-size:15px !important;
    padding:0 0 1px !important;
  }
}


/* Phase 7.2.24.25 - Cinderella footer speech bubble guidance */
.latepoint-booking-form-element .zlprf-cinderella-footer-bubble{
  display:none;
}
.latepoint-booking-form-element.zlprf-footer-cinderella-bubble-visible .zlprf-cinderella-footer-bubble{
  display:block;
  position:absolute;
  left:52px;
  right:132px;
  bottom:104px;
  width:auto;
  max-width:none;
  z-index:6;
}
.latepoint-booking-form-element.zlprf-footer-cinderella-bubble-visible .zlprf-cinderella-footer-bubble-img{
  display:block;
  width:100%;
  height:auto;
}
.latepoint-booking-form-element.zlprf-footer-cinderella-bubble-visible .zlprf-cinderella-footer-bubble-text{
  position:absolute;
  inset:18px 28px 28px 26px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#7a558f;
  font-size:14px;
  font-weight:800;
  line-height:1.42;
  letter-spacing:.01em;
  text-shadow:none;
}
@media (max-width: 767px){
  .latepoint-booking-form-element.zlprf-footer-cinderella-bubble-visible .zlprf-cinderella-footer-bubble{
    left:36px;
    right:116px;
    bottom:112px;
    width:auto;
    max-width:none;
  }
  .latepoint-booking-form-element.zlprf-footer-cinderella-bubble-visible .zlprf-cinderella-footer-bubble-text{
    inset:16px 24px 26px 22px;
    font-size:13px;
    line-height:1.38;
    transform:translateY(8px);
  }
}


.latepoint-booking-form-element.zlprf-step-transitioning .zlprf-cinderella-footer-bubble,
.latepoint-booking-form-element.zlprf-step-transitioning .zlprf-cinderella-footer-character-slot{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:none !important;
}

/* slot type driven tabs */
.zlprf-step-datepicker .zlprf-stage-tab.is-hidden{display:none !important;}
.zlprf-step-datepicker .zlprf-stage-tab.is-disabled{pointer-events:none !important; opacity:.42 !important;}
.zlprf-step-datepicker .zlprf-stage-tabs[data-visible-count="1"]{justify-content:flex-start;}
.zlprf-step-datepicker .zlprf-stage-tabs[data-visible-count="1"] .zlprf-stage-tab{flex:0 0 min(34vw, 160px); max-width:min(34vw, 160px);} 
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="daytime"]{
  background-image:url('../img/btn_stage_day_clean.png') !important;
  color:#116f88;
  text-shadow:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="last_train"]{
  background-image:url('../img/btn_stage_before_clean.png') !important;
  color:#8b5c00;
  text-shadow:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="late_night"]{
  background-image:url('../img/btn_stage_overnight_clean.png') !important;
  color:#5a42a3;
  text-shadow:none;
}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="daytime"] .zlprf-stage-tab__label{color:#8b5583 !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="last_train"] .zlprf-stage-tab__label{color:#fff8ef !important;text-shadow:0 1px 1px rgba(113,76,8,.18);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="late_night"] .zlprf-stage-tab__label{color:#fff !important;text-shadow:0 1px 1px rgba(32,21,86,.30);}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="daytime"] .zlprf-stage-tab__hint{background-image:url('../img/btn_stage_day_timepill.png') !important;color:#8b5583 !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="last_train"] .zlprf-stage-tab__hint{background-image:url('../img/btn_stage_before_timepill.png') !important;color:#7b5520 !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="late_night"] .zlprf-stage-tab__hint{background-image:url('../img/btn_stage_overnight_timepill.png') !important;color:#ffffff !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="daytime"].is-active{box-shadow:0 0 16px rgba(129, 224, 244, .48), 0 0 30px rgba(129, 224, 244, .22) !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="last_train"].is-active{box-shadow:0 0 18px rgba(255, 214, 120, .55), 0 0 34px rgba(255, 214, 120, .26) !important;}
.zlprf-step-datepicker.zlprf-ui-mode-cinderella .zlprf-stage-tab[data-slot-type-key="late_night"].is-active{box-shadow:0 0 18px rgba(154, 132, 255, .52), 0 0 34px rgba(154, 132, 255, .24) !important;}
.zlprf-step-datepicker .zlprf-stage-slot-group[data-slot-type-key="daytime"] .zlprf-time-band__index{background:linear-gradient(135deg,#cdeff9,#9fddf4);color:#155f77;}
.zlprf-step-datepicker .zlprf-stage-slot-group[data-slot-type-key="last_train"] .zlprf-time-band__index{background:linear-gradient(135deg,#ffe2a3,#ffd27a);color:#8a5a00;}
.zlprf-step-datepicker .zlprf-stage-slot-group[data-slot-type-key="late_night"] .zlprf-time-band__index{background:linear-gradient(135deg,#d9d0ff,#b7aaf8);color:#4b3b98;}


/* explicit empty state */
.zlprf-step-datepicker .not-working-message{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:160px;
  padding:20px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  color:#7a6995;
  font-size:20px;
  font-weight:700;
  text-align:center;
}
.zlprf-step-datepicker .zlprf-stage-selection-shell.is-empty .zlprf-stage-tabs{
  display:none !important;
}
