
/* First-paint / optimization safety */
.nybd-pf-modal[hidden]{display:none!important}
.nybd-pf[data-nybd-pf-booting="1"]{
  height:62px!important;
  min-height:62px!important;
  max-height:62px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.nybd-pf.nybd-pf-is-ready{
  animation:nybdPfReady .14s ease-out both;
}
@keyframes nybdPfReady{
  from{opacity:0}
  to{opacity:1}
}


.nybd-pf,.nybd-pf *{box-sizing:border-box}
.nybd-pf{
  --nybd-pf-accent:#F5AB1C;
  --nybd-pf-ink:#222;
  --nybd-pf-muted:#6b6b6b;
  --nybd-pf-border:#e6e7eb;
  width:100%;
  margin:11px 0;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--nybd-pf-ink);
}

/* Compact product-page row */
.nybd-pf__compact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 11px;
  background:#fff;
  border:1px solid var(--nybd-pf-border);
  border-radius:12px;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
}
.nybd-pf__compact-main{display:flex;align-items:center;gap:10px;min-width:0}
.nybd-pf__compact-icon{
  width:35px;height:35px;flex:0 0 35px;
  display:grid;place-items:center;border-radius:9px;
  background:rgba(245,171,28,.13);color:#222;
}
.nybd-pf__compact-icon svg,.nybd-pf__method-icon svg{
  display:block!important;
  width:17px!important;height:17px!important;
  min-width:17px!important;min-height:17px!important;
  max-width:17px!important;max-height:17px!important;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.nybd-pf__compact-copy{min-width:0}
.nybd-pf__compact-label{
  color:var(--nybd-pf-accent);font-size:8.5px;line-height:1.2;
  letter-spacing:1px;font-weight:700;
}
.nybd-pf__compact-title{
  margin-top:1px;color:#222;font-size:11.5px;line-height:1.32;font-weight:700;
}
.nybd-pf__compact-summary{
  max-width:430px;margin-top:1px;color:#777;font-size:9.5px;line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.nybd-pf__open{
  flex:0 0 auto;min-height:32px;
  display:inline-flex!important;align-items:center;justify-content:center;gap:5px;
  padding:6px 10px!important;border:1px solid var(--nybd-pf-accent)!important;
  border-radius:8px!important;background:#fff!important;color:#222!important;
  font:600 10px/1.2 Poppins,sans-serif!important;cursor:pointer!important;
  transition:background-color .16s ease,border-color .16s ease,transform .16s ease!important;
}
.nybd-pf__open:hover{background:#fff9ed!important;transform:translateY(-1px)}
.nybd-pf__open:active{transform:translateY(0)}
.nybd-pf__open svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}
.nybd-pf__compact-note{
  margin:5px 2px 0;color:#777;font-size:9px;line-height:1.4;
}
.nybd-pf__compact-note a{
  color:#a96e00!important;font-weight:600;text-decoration:none!important;margin-left:3px;
}
.nybd-pf__status{
  min-height:0;margin:4px 2px 0;color:#278247;font-size:9px;font-weight:600;
}
.nybd-pf__status.is-saving,.nybd-pf-modal__save-state.is-saving{color:#777}
.nybd-pf__status.is-error,.nybd-pf-modal__save-state.is-error{color:#c62828}

/*
 * Modal is rendered with the native hidden attribute.
 * This guarantees zero flash/FOUC even if the main stylesheet arrives late.
 */
.nybd-pf-modal[hidden]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.nybd-pf-modal{
  position:fixed;
  inset:0;
  z-index:9999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  isolation:isolate;
  transition:
    opacity .22s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear .24s;
}
.nybd-pf-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:
    opacity .22s cubic-bezier(.22,.61,.36,1),
    visibility 0s linear 0s;
}
.nybd-pf-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(18,18,18,.48);
  opacity:0;
  touch-action:none;
  transition:opacity .22s cubic-bezier(.22,.61,.36,1);
}
.nybd-pf-modal.is-open .nybd-pf-modal__backdrop{opacity:1}
.nybd-pf-modal__dialog{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  max-height:min(680px,calc(100vh - 36px));
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:17px;
  background:#fff;
  border:1px solid #e8e8e8;
  border-radius:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.22);
  outline:none;
  opacity:0;
  transform:translate3d(0,10px,0) scale(.987);
  transform-origin:center center;
  will-change:transform,opacity;
  transition:
    transform .24s cubic-bezier(.22,.61,.36,1),
    opacity .18s ease;
}
.nybd-pf-modal.is-open .nybd-pf-modal__dialog{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

.nybd-pf-modal__head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  margin-bottom:12px;
}
.nybd-pf__eyebrow{
  color:var(--nybd-pf-accent);font-size:8.5px;line-height:1.2;
  letter-spacing:1.1px;font-weight:700;
}
.nybd-pf-modal__title{
  margin:3px 0 0!important;color:#222;
  font-size:17px!important;line-height:1.3!important;font-weight:700!important;
}
.nybd-pf-modal__close{
  width:34px;height:34px;flex:0 0 34px;display:grid!important;place-items:center!important;
  padding:0!important;border:0!important;border-radius:10px!important;
  background:#f5f5f5!important;color:#222!important;
  font:400 24px/1 Arial,sans-serif!important;cursor:pointer!important;
  transition:background-color .16s ease,transform .16s ease!important;
}
.nybd-pf-modal__close:hover{background:#ececec!important;transform:rotate(4deg)}
.nybd-pf-modal__close:active{transform:scale(.96)}

/* Method cards */
.nybd-pf__methods{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
}
.nybd-pf[data-nationwide="0"] .nybd-pf__methods{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.nybd-pf__method{
  display:block;margin:0!important;cursor:pointer;outline:none!important;
  -webkit-tap-highlight-color:transparent;
}
.nybd-pf__method:focus-visible .nybd-pf__method-box{
  box-shadow:0 0 0 2px rgba(245,171,28,.22)!important;
  border-color:var(--nybd-pf-accent)!important;
}
.nybd-pf__method>input{
  position:absolute!important;
  width:1px!important;height:1px!important;
  min-width:1px!important;min-height:1px!important;
  margin:0!important;padding:0!important;
  opacity:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  pointer-events:none!important;
}
.nybd-pf__method-box{
  min-height:62px;
  display:flex;align-items:center;gap:9px;
  padding:9px 10px;
  border:1px solid #e4e4e4;border-radius:11px;background:#fff;
  transition:
    border-color .16s ease,
    background-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease;
}
.nybd-pf__method:hover .nybd-pf__method-box{transform:translateY(-1px)}
.nybd-pf__method>input:checked+.nybd-pf__method-box{
  border-color:var(--nybd-pf-accent);
  background:rgba(245,171,28,.055);
  box-shadow:0 0 0 1px var(--nybd-pf-accent) inset;
}
.nybd-pf__method-icon{
  width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;
  border-radius:8px;background:rgba(245,171,28,.13);color:#222;
}
.nybd-pf__method-copy{display:block;min-width:0}
.nybd-pf__method strong{
  display:block;margin:0 0 2px;color:#222;font-size:11px;line-height:1.25;font-weight:700;
}
.nybd-pf__method small{
  display:block;margin:0;color:#777;font-size:9.5px;line-height:1.3;font-weight:400;
}

/* Dynamic panel */
.nybd-pf__panels{margin-top:9px}
.nybd-pf__panel[hidden]{display:none!important}
.nybd-pf__panel{
  padding:12px;border:1px solid #ededed;border-radius:11px;background:#fafafa;
}
.nybd-pf__field-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:9px;
}
.nybd-pf__field-grid--single{grid-template-columns:minmax(180px,320px)}
.nybd-pf__field{display:block;margin:0!important}
.nybd-pf__field>span{
  display:block;margin:0 0 5px;color:#3d3d3d;font-size:9.5px;line-height:1.3;font-weight:600;
}
.nybd-pf__field input,.nybd-pf__field select{
  width:100%!important;height:39px!important;min-height:39px!important;margin:0!important;
  padding:0 10px!important;border:1px solid #ddd!important;border-radius:8px!important;
  background:#fff!important;color:#222!important;
  font:500 11px/1 Poppins,sans-serif!important;outline:none!important;box-shadow:none!important;
}
.nybd-pf__field input:focus,.nybd-pf__field select:focus{
  border-color:var(--nybd-pf-accent)!important;
  box-shadow:0 0 0 2px rgba(245,171,28,.12)!important;
}
.nybd-pf__datetime{cursor:pointer!important}
.nybd-pf-input-ok{border-color:#5dbb7a!important}
.nybd-pf-input-error{border-color:#dc6464!important}
.nybd-pf__zip-state{
  display:block;min-height:13px;margin-top:4px;font-size:8.8px;line-height:1.3;font-weight:600;
}
.nybd-pf__zip-state.is-ok{color:#278247}
.nybd-pf__zip-state.is-error{color:#c62828}
.nybd-pf__hint{
  margin:7px 0 0!important;color:#777;font-size:9px;line-height:1.4;
}

/* Footer */
.nybd-pf-modal__foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:11px;padding-top:10px;border-top:1px solid #eee;
}
.nybd-pf-modal__save-state{
  min-height:14px;color:#278247;font-size:9px;line-height:1.35;font-weight:600;
}
.nybd-pf-modal__done{
  min-width:108px;height:38px;padding:0 15px!important;
  border:0!important;border-radius:9px!important;background:#222!important;color:#fff!important;
  font:600 10.5px/1 Poppins,sans-serif!important;cursor:pointer!important;
  transition:transform .16s ease,background-color .16s ease!important;
}
.nybd-pf-modal__done:hover{background:#111!important;transform:translateY(-1px)}
.nybd-pf-modal__done:active{transform:translateY(0)}
.nybd-pf-modal__done:disabled{opacity:.55;cursor:wait!important;transform:none!important}

/* Flatpickr must sit above the modal. */
.flatpickr-calendar{
  z-index:10000050!important;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;
}
.flatpickr-calendar.open{display:block!important;visibility:visible!important;opacity:1!important}

/* The JS keeps the layout width stable; no body positioning or page reflow. */
html.nybd-pf-modal-open{
  scroll-behavior:auto!important;
  overscroll-behavior:none;
}

@media(max-width:767px){
  .nybd-pf{margin:9px 0}
  .nybd-pf__compact{padding:9px 10px;gap:8px}
  .nybd-pf__compact-icon{width:33px;height:33px;flex-basis:33px}
  .nybd-pf__compact-title{font-size:10.5px}
  .nybd-pf__compact-summary{max-width:46vw;font-size:9px}
  .nybd-pf__open{padding:6px 8px!important;font-size:9.5px!important}

  .nybd-pf-modal{
    padding:0;
    align-items:flex-end;
  }
  .nybd-pf-modal__dialog{
    width:100%;
    max-height:88vh;
    padding:14px 13px 15px;
    border-radius:18px 18px 0 0;
    border-bottom:0;
    transform:translate3d(0,34px,0);
    transform-origin:center bottom;
    transition:
      transform .28s cubic-bezier(.22,.61,.36,1),
      opacity .20s ease;
  }
  .nybd-pf-modal.is-open .nybd-pf-modal__dialog{
    transform:translate3d(0,0,0);
  }
  .nybd-pf-modal__title{font-size:15px!important}
  .nybd-pf__methods,.nybd-pf[data-nationwide="0"] .nybd-pf__methods{
    grid-template-columns:1fr;
  }
  .nybd-pf__method-box{min-height:56px;padding:8px 9px}
  .nybd-pf__field-grid,.nybd-pf__field-grid--single{grid-template-columns:1fr}

  /*
   * iOS Safari zooms focused form controls below 16px.
   * Keep every interactive field at 16px on mobile.
   */
  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf__field input,
  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf__field select,
  body > .flatpickr-calendar input,
  body > .flatpickr-calendar select{
    font-size:16px!important;
  }

  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf__field input,
  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf__field select{
    height:44px!important;
    min-height:44px!important;
  }

  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf-modal__dialog{
    overscroll-behavior:contain!important;
    touch-action:pan-y;
  }

  .nybd-pf-modal__foot{
    position:sticky;
    bottom:-15px;
    background:#fff;
    padding-bottom:1px;
  }
}

@media(prefers-reduced-motion:reduce){
  .nybd-pf-modal,
  .nybd-pf-modal__backdrop,
  .nybd-pf-modal__dialog,
  .nybd-pf__open,
  .nybd-pf__method-box,
  .nybd-pf-modal__close,
  .nybd-pf-modal__done{
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}


/* =========================================================
   v1.7.0 — BODY PORTAL / STACKING CONTEXT FIX
   =========================================================
   The modal is moved directly under <body> by JavaScript.
   These rules deliberately do not rely on .nybd-pf ancestry.
*/
body > .nybd-pf-modal[data-nybd-pf-portal="1"]{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:18px!important;
  overflow:hidden!important;
  transform:none!important;
  filter:none!important;
  perspective:none!important;
  isolation:isolate!important;
  z-index:2147483000!important;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;
  color:#222!important;
  box-sizing:border-box!important;
}

body > .nybd-pf-modal[data-nybd-pf-portal="1"],
body > .nybd-pf-modal[data-nybd-pf-portal="1"] *{
  box-sizing:border-box!important;
}

body > .nybd-pf-modal[data-nybd-pf-portal="1"][hidden]{
  display:none!important;
}

body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf-modal__backdrop{
  z-index:0!important;
}

body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf-modal__dialog{
  position:relative!important;
  z-index:2!important;
  transform-origin:center center!important;
}

/* Flatpickr also lives under body and must stay above the portal. */
body > .flatpickr-calendar{
  z-index:2147483100!important;
}

@media(max-width:767px){
  body > .nybd-pf-modal[data-nybd-pf-portal="1"]{
    padding:0!important;
  }

  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf-modal__dialog{
    transform-origin:center bottom!important;
  }
}


/* v1.8.0 mobile interaction stability */
body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf__method{
  touch-action:manipulation;
}
body > .nybd-pf-modal[data-nybd-pf-portal="1"] input,
body > .nybd-pf-modal[data-nybd-pf-portal="1"] select,
body > .nybd-pf-modal[data-nybd-pf-portal="1"] button{
  -webkit-tap-highlight-color:transparent;
}


/* =========================================================
   v1.9.0 — MOBILE DATE/TIME SHEET
   ========================================================= */
.nybd-pf-dt-layer[hidden]{display:none!important}
.nybd-pf-dt-layer{
  position:absolute;
  inset:0;
  z-index:40;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .20s ease,visibility 0s linear .22s;
}
.nybd-pf-dt-layer.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .20s ease,visibility 0s linear 0s;
}
.nybd-pf-dt-layer__backdrop{
  position:absolute;
  inset:0;
  background:rgba(18,18,18,.34);
  opacity:0;
  transition:opacity .20s ease;
}
.nybd-pf-dt-layer.is-open .nybd-pf-dt-layer__backdrop{opacity:1}

.nybd-pf-dt-sheet{
  position:relative;
  z-index:2;
  width:100%;
  margin-top:auto;
  padding:10px 14px 16px;
  background:#fff;
  border-radius:18px 18px 0 0;
  box-shadow:0 -16px 44px rgba(0,0,0,.16);
  transform:translate3d(0,34px,0);
  opacity:0;
  transition:
    transform .24s cubic-bezier(.22,.61,.36,1),
    opacity .18s ease;
}
.nybd-pf-dt-layer.is-open .nybd-pf-dt-sheet{
  transform:translate3d(0,0,0);
  opacity:1;
}
.nybd-pf-dt-sheet__handle{
  width:38px;
  height:4px;
  margin:0 auto 10px;
  border-radius:999px;
  background:#d9d9d9;
}
.nybd-pf-dt-sheet__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.nybd-pf-dt-sheet__eyebrow{
  color:var(--nybd-pf-accent,#F5AB1C);
  font-size:9px;
  line-height:1.2;
  letter-spacing:1px;
  font-weight:700;
}
.nybd-pf-dt-sheet__title{
  margin:3px 0 0!important;
  color:#222!important;
  font-size:17px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
.nybd-pf-dt-sheet__close{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:#f4f4f4!important;
  color:#222!important;
  display:grid!important;
  place-items:center!important;
  font:400 24px/1 Arial,sans-serif!important;
  cursor:pointer!important;
}
.nybd-pf-dt-sheet__help{
  margin:8px 0 12px!important;
  color:#6f6f6f!important;
  font-size:11px!important;
  line-height:1.5!important;
}
.nybd-pf-dt-sheet__fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.nybd-pf-dt-sheet__field{
  display:block!important;
  margin:0!important;
}
.nybd-pf-dt-sheet__field>span{
  display:block;
  margin:0 0 5px;
  color:#343434;
  font-size:11px;
  line-height:1.3;
  font-weight:600;
}
.nybd-pf-dt-sheet__field input{
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 12px!important;
  border:1px solid #dcdcdc!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#222!important;
  font:500 16px/1 Poppins,system-ui,sans-serif!important;
  box-shadow:none!important;
  outline:none!important;
}
.nybd-pf-dt-sheet__field input:focus{
  border-color:var(--nybd-pf-accent,#F5AB1C)!important;
  box-shadow:0 0 0 3px rgba(245,171,28,.12)!important;
}
.nybd-pf-dt-sheet__error{
  min-height:18px;
  margin-top:8px;
  color:#c62828;
  font-size:10px;
  line-height:1.4;
  font-weight:600;
}
.nybd-pf-dt-sheet__actions{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:9px;
  margin-top:5px;
}
.nybd-pf-dt-sheet__cancel,
.nybd-pf-dt-sheet__apply{
  height:46px!important;
  min-height:46px!important;
  border-radius:10px!important;
  font:600 12px/1 Poppins,system-ui,sans-serif!important;
  cursor:pointer!important;
}
.nybd-pf-dt-sheet__cancel{
  border:1px solid #dedede!important;
  background:#fff!important;
  color:#333!important;
}
.nybd-pf-dt-sheet__apply{
  border:0!important;
  background:#222!important;
  color:#fff!important;
}

@media(max-width:480px){
  .nybd-pf-dt-sheet__fields{
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce){
  .nybd-pf-dt-layer,
  .nybd-pf-dt-layer__backdrop,
  .nybd-pf-dt-sheet{
    transition-duration:.01ms!important;
  }
}


/* =========================================================
   v1.10.0 — MOBILE 12-HOUR AM/PM TIME CONTROL
   ========================================================= */
.nybd-pf-dt-sheet__fields{
  align-items:end;
}

.nybd-pf-dt-sheet__field--time{
  min-width:0;
}

.nybd-pf-dt-time{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(72px,.78fr);
  align-items:center;
  gap:6px;
}

.nybd-pf-dt-time__part{
  display:block!important;
  min-width:0!important;
  margin:0!important;
}

.nybd-pf-dt-time__part select{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 28px 0 10px!important;
  border:1px solid #dcdcdc!important;
  border-radius:10px!important;
  background-color:#fff!important;
  color:#222!important;
  font:600 16px/1 Poppins,system-ui,sans-serif!important;
  box-shadow:none!important;
  outline:none!important;
}

.nybd-pf-dt-time__part select:focus{
  border-color:var(--nybd-pf-accent,#F5AB1C)!important;
  box-shadow:0 0 0 3px rgba(245,171,28,.12)!important;
}

.nybd-pf-dt-time__colon{
  color:#555;
  font-size:19px;
  line-height:1;
  font-weight:700;
}

.nybd-pf-dt-time__part--meridiem select{
  padding-left:9px!important;
  padding-right:24px!important;
}

@media(max-width:480px){
  .nybd-pf-dt-sheet__fields{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }

  .nybd-pf-dt-time{
    grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr) minmax(82px,.85fr);
    gap:6px;
  }

  .nybd-pf-dt-time__part select{
    font-size:16px!important;
  }

  .nybd-pf-dt-sheet{
    overflow-x:hidden!important;
  }
}


/* =========================================================
   v1.11.0 — UNIFIED DATE/TIME EXPERIENCE
   Same control model on desktop, tablet and mobile.
   ========================================================= */

/* On desktop/tablet, the second-stage date/time panel is a centered sub-dialog. */
@media(min-width:768px){
  .nybd-pf-dt-layer{
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
  }

  .nybd-pf-dt-sheet{
    width:min(560px,100%)!important;
    margin:0!important;
    padding:18px!important;
    border-radius:16px!important;
    box-shadow:0 24px 70px rgba(0,0,0,.22)!important;
    transform:translate3d(0,12px,0) scale(.985)!important;
    transform-origin:center center!important;
  }

  .nybd-pf-dt-layer.is-open .nybd-pf-dt-sheet{
    transform:translate3d(0,0,0) scale(1)!important;
  }

  .nybd-pf-dt-sheet__handle{
    display:none!important;
  }

  .nybd-pf-dt-sheet__fields{
    grid-template-columns:1fr 1.25fr!important;
    gap:12px!important;
  }

  .nybd-pf-dt-sheet__actions{
    grid-template-columns:1fr 1.25fr!important;
    max-width:360px;
    margin-left:auto;
  }

  .nybd-pf-dt-sheet__date{
    cursor:pointer!important;
  }
}

/* Keep the 12-hour time selector compact and identical in behavior everywhere. */
.nybd-pf-dt-time{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.nybd-pf-dt-time__part,
.nybd-pf-dt-time__part select{
  min-width:0!important;
  max-width:100%!important;
}

/* Customer-facing date/time trigger should read like a control, not an editable text field. */
.nybd-pf__datetime{
  cursor:pointer!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}

/* Desktop hover polish for the unified picker. */
@media(hover:hover) and (pointer:fine){
  .nybd-pf-dt-sheet__cancel:hover{
    background:#f7f7f7!important;
    border-color:#d2d2d2!important;
  }

  .nybd-pf-dt-sheet__apply:hover{
    background:#111!important;
  }

  .nybd-pf-dt-time__part select:hover,
  .nybd-pf-dt-sheet__date:hover{
    border-color:#c9c9c9!important;
  }
}


/* =========================================================
   v1.12.0 — STABLE FULFILLMENT PANELS + INLINE CALENDAR
   ========================================================= */

/* Delivery / Pickup / Nationwide panels keep the same desktop height. */
@media(min-width:768px){
  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf__panel{
    min-height:116px;
    display:flex;
    flex-direction:column;
  }

  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf__panel[hidden]{
    display:none!important;
  }

  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf__field-grid{
    min-height:65px;
    align-items:start;
  }

  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf__hint{
    margin-top:auto!important;
    min-height:26px;
    display:flex;
    align-items:flex-end;
  }

  body > .nybd-pf-modal[data-nybd-pf-portal="1"] .nybd-pf-modal__dialog{
    min-height:340px;
  }
}

/* Calendar */
.nybd-pf-cal{
  width:100%;
  min-width:0;
  padding:10px;
  border:1px solid #e4e4e4;
  border-radius:12px;
  background:#fff;
}
.nybd-pf-cal__head{
  display:grid;
  grid-template-columns:34px 1fr 34px;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
}
.nybd-pf-cal__month{
  min-width:0;
  text-align:center;
  color:#222;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
}
.nybd-pf-cal__nav{
  width:34px!important;
  height:32px!important;
  min-width:34px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #e5e5e5!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#333!important;
  font:500 21px/1 Arial,sans-serif!important;
  cursor:pointer!important;
}
.nybd-pf-cal__nav:hover:not(:disabled){
  border-color:var(--nybd-pf-accent,#F5AB1C)!important;
  background:#fffaf1!important;
}
.nybd-pf-cal__nav:disabled{
  opacity:.28!important;
  cursor:not-allowed!important;
}
.nybd-pf-cal__weekdays,
.nybd-pf-cal__days{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:3px;
}
.nybd-pf-cal__weekdays{
  margin-bottom:3px;
}
.nybd-pf-cal__weekdays span{
  display:grid;
  place-items:center;
  height:22px;
  color:#999;
  font-size:9px;
  line-height:1;
  font-weight:600;
}
.nybd-pf-cal__blank{
  display:block;
  aspect-ratio:1;
}
.nybd-pf-cal__day{
  position:relative;
  width:100%!important;
  min-width:0!important;
  aspect-ratio:1;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#333!important;
  font:600 10.5px/1 Poppins,system-ui,sans-serif!important;
  cursor:pointer!important;
  transition:background-color .14s ease,color .14s ease,transform .14s ease!important;
}
.nybd-pf-cal__day:hover:not(:disabled):not(.is-selected){
  background:#f6f6f6!important;
}
.nybd-pf-cal__day:active:not(:disabled){
  transform:scale(.94);
}
.nybd-pf-cal__day:disabled{
  color:#c9c9c9!important;
  cursor:not-allowed!important;
}
.nybd-pf-cal__day.is-selected{
  background:var(--nybd-pf-accent,#F5AB1C)!important;
  color:#111!important;
}
.nybd-pf-cal__day.is-today:not(.is-selected)::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:4px;
  height:4px;
  margin-left:-2px;
  border-radius:50%;
  background:var(--nybd-pf-accent,#F5AB1C);
}

/* Date/time sub-dialog: calendar visible on screen, time selector beside it. */
.nybd-pf-dt-sheet__fields{
  align-items:start!important;
}
.nybd-pf-dt-sheet__field--date{
  min-width:0;
}
.nybd-pf-dt-sheet__field--time{
  min-width:0;
}

/* Compact desktop presentation. */
@media(min-width:768px){
  .nybd-pf-dt-layer{
    padding:14px!important;
  }

  .nybd-pf-dt-sheet{
    width:min(610px,calc(100vw - 36px))!important;
    max-height:calc(100dvh - 40px)!important;
    overflow:auto!important;
    padding:15px!important;
  }

  .nybd-pf-dt-sheet__help{
    margin:6px 0 9px!important;
    font-size:10px!important;
  }

  .nybd-pf-dt-sheet__fields{
    grid-template-columns:minmax(245px,1.15fr) minmax(210px,.85fr)!important;
    gap:11px!important;
  }

  .nybd-pf-dt-time{
    grid-template-columns:minmax(52px,1fr) auto minmax(52px,1fr) minmax(70px,.9fr)!important;
    gap:5px!important;
  }

  .nybd-pf-dt-time__part select{
    height:42px!important;
    min-height:42px!important;
    font-size:13px!important;
    padding-left:8px!important;
  }

  .nybd-pf-dt-sheet__actions{
    margin-top:7px!important;
  }

  .nybd-pf-dt-sheet__cancel,
  .nybd-pf-dt-sheet__apply{
    height:40px!important;
    min-height:40px!important;
    font-size:10.5px!important;
  }
}

/* Lower desktop/laptop resolutions: shrink the date dialog, never clip it. */
@media(min-width:768px) and (max-height:720px){
  .nybd-pf-dt-sheet{
    width:min(570px,calc(100vw - 28px))!important;
    max-height:calc(100dvh - 24px)!important;
    padding:12px!important;
  }

  .nybd-pf-dt-sheet__title{
    font-size:14px!important;
  }

  .nybd-pf-dt-sheet__help{
    margin:4px 0 7px!important;
    font-size:9px!important;
    line-height:1.35!important;
  }

  .nybd-pf-cal{
    padding:7px;
  }

  .nybd-pf-cal__head{
    margin-bottom:5px;
  }

  .nybd-pf-cal__month{
    font-size:11.5px;
  }

  .nybd-pf-cal__weekdays span{
    height:17px;
    font-size:8px;
  }

  .nybd-pf-cal__day{
    font-size:9px!important;
    border-radius:7px!important;
  }

  .nybd-pf-dt-time__part select{
    height:38px!important;
    min-height:38px!important;
  }

  .nybd-pf-dt-sheet__error{
    min-height:12px;
    margin-top:4px;
    font-size:9px;
  }
}

/* Narrow tablet / small laptop: stack calendar and time selector. */
@media(min-width:768px) and (max-width:900px){
  .nybd-pf-dt-sheet{
    width:min(430px,calc(100vw - 28px))!important;
  }

  .nybd-pf-dt-sheet__fields{
    grid-template-columns:1fr!important;
  }
}

/* Mobile keeps the same calendar, naturally stacked in the bottom sheet. */
@media(max-width:767px){
  .nybd-pf-dt-sheet{
    max-height:92dvh!important;
    overflow:auto!important;
  }

  .nybd-pf-dt-sheet__fields{
    grid-template-columns:1fr!important;
  }

  .nybd-pf-cal{
    padding:8px;
  }

  .nybd-pf-cal__day{
    font-size:11px!important;
  }

  .nybd-pf-dt-time{
    grid-template-columns:minmax(62px,1fr) auto minmax(62px,1fr) minmax(80px,.9fr)!important;
  }
}


/* =========================================================
   v1.13.0 — COMPACT EMPTY STATE
   If no method is selected, do not show an oversized blank area or Done button.
   ========================================================= */
.nybd-pf__panels[hidden],
.nybd-pf-modal__foot[hidden]{
  display:none!important;
}

body > .nybd-pf-modal[data-nybd-pf-portal="1"].nybd-pf-modal--no-selection .nybd-pf-modal__dialog{
  min-height:auto!important;
}

body > .nybd-pf-modal[data-nybd-pf-portal="1"].nybd-pf-modal--no-selection .nybd-pf__methods{
  margin-bottom:0!important;
}

body > .nybd-pf-modal[data-nybd-pf-portal="1"].nybd-pf-modal--no-selection .nybd-pf__panels{
  margin-top:0!important;
}

@media(min-width:768px){
  body > .nybd-pf-modal[data-nybd-pf-portal="1"].nybd-pf-modal--no-selection .nybd-pf-modal__dialog{
    min-height:0!important;
  }

  body > .nybd-pf-modal[data-nybd-pf-portal="1"].nybd-pf-modal--has-selection .nybd-pf-modal__dialog{
    min-height:340px!important;
  }
}

@media(max-width:767px){
  body > .nybd-pf-modal[data-nybd-pf-portal="1"].nybd-pf-modal--no-selection .nybd-pf-modal__dialog{
    max-height:none!important;
  }
}


/* v1.13.1 emergency first-paint fallback:
   JS normally removes the boot flag immediately. If another script ever interrupts
   initialization, the customer still gets the compact selector instead of a blank gap. */
@keyframes nybdPfBootFallback{
  0%,99%{opacity:0}
  100%{opacity:1}
}
.nybd-pf[data-nybd-pf-booting="1"]{
  animation:nybdPfBootFallback .8s steps(1,end) forwards;
}
