/**
 * Calendar rule warnings and blocked-stay affordances.
 */
.pxab-ui .pxab-calendar-warning {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  width: 100%;
  margin: .75rem 0 1rem;
  padding: .82rem .92rem;
  border: 1px solid var(--pxab-min-stay-warning-border, #fecaca);
  border-radius: var(--pxab-min-stay-warning-radius, 14px);
  background: var(--pxab-min-stay-warning-bg, #fff1f2);
  color: var(--pxab-min-stay-warning-text, #9f1239);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.35;
  box-shadow: 0 12px 30px rgba(159, 18, 57, .08);
}

.pxab-ui .pxab-calendar-warning[hidden] {
  display: none !important;
}

.pxab-ui .pxab-calendar-warning::before {
  content: none !important;
  display: none !important;
}

.pxab-ui .pxab-calendar-warning__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1.55rem;
  width: 1.55rem;
  height: 1.55rem;
  margin-top: -.08rem;
  border-radius: 999px;
  background: var(--pxab-min-stay-warning-icon-bg, #e11d48);
  color: var(--pxab-min-stay-warning-icon, #fff);
}

.pxab-ui .pxab-calendar-warning__icon .pxab-icon {
  width: 1rem;
  height: 1rem;
  stroke-width: 2.35;
}

.pxab-ui .pxab-calendar-warning--anim-pulse .pxab-calendar-warning__icon,
.pxab-ui .pxab-calendar-warning--anim-wobble .pxab-calendar-warning__icon,
.pxab-ui .pxab-calendar-warning--anim-bounce .pxab-calendar-warning__icon,
.pxab-ui .pxab-calendar-warning--anim-glow .pxab-calendar-warning__icon {
  animation-duration: .9s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

.pxab-ui .pxab-calendar-warning--anim-pulse .pxab-calendar-warning__icon { animation-name: pxabMessageIconPulse; }
.pxab-ui .pxab-calendar-warning--anim-wobble .pxab-calendar-warning__icon { animation-name: pxabMessageIconWobble; }
.pxab-ui .pxab-calendar-warning--anim-bounce .pxab-calendar-warning__icon { animation-name: pxabMessageIconBounce; }
.pxab-ui .pxab-calendar-warning--anim-glow .pxab-calendar-warning__icon { animation-name: pxabMessageIconGlow; }

.pxab-ui .pxab-calendar-day.is-blocked,
.pxab-ui .pxab-calendar-day.is-pending,
.pxab-ui .pxab-quote-calendar-day.is-blocked,
.pxab-ui .pxab-quote-calendar-day.is-pending {
  cursor: default;
}

.pxab-ui .pxab-calendar-day.is-rule-blocked,
.pxab-ui .pxab-quote-calendar-day.is-rule-blocked {
  background: #f8fafc !important;
  color: #94a3b8 !important;
  cursor: not-allowed !important;
  border-color: rgba(225, 29, 72, .18) !important;
}

.pxab-ui .pxab-calendar-day.is-rule-blocked:hover,
.pxab-ui .pxab-calendar-day.is-rule-blocked:focus-visible,
.pxab-ui .pxab-quote-calendar-day.is-rule-blocked:hover,
.pxab-ui .pxab-quote-calendar-day.is-rule-blocked:focus-visible {
  background: var(--pxab-min-stay-warning-bg, #fff1f2) !important;
  color: var(--pxab-min-stay-warning-text, #9f1239) !important;
  box-shadow: 0 0 0 2px rgba(225, 29, 72, .16) !important;
  outline: 0;
}

@media (prefers-reduced-motion: reduce) {
  .pxab-ui .pxab-calendar-warning__icon {
    animation: none !important;
  }
}


/* v1.0.79: deterministic disabled/rule-blocked date markers across browsers. */
.pxab-ui .pxab-calendar-day,
.pxab-ui .pxab-quote-calendar-day {
  position: relative;
  overflow: hidden;
}

.pxab-ui .pxab-calendar-day.is-blocked::after,
.pxab-ui .pxab-calendar-day.is-pending::after,
.pxab-ui .pxab-calendar-day.is-rule-blocked::after,
.pxab-ui .pxab-quote-calendar-day.is-blocked::after,
.pxab-ui .pxab-quote-calendar-day.is-pending::after,
.pxab-ui .pxab-quote-calendar-day.is-rule-blocked::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  top: 50%;
  height: 1px;
  background: currentColor;
  opacity: .68;
  transform: translateY(-50%) rotate(-8deg);
  pointer-events: none;
}

.pxab-ui .pxab-calendar-day.is-selected::after,
.pxab-ui .pxab-quote-calendar-day.is-selected::after {
  content: none !important;
}


/* v1.0.80: deterministic strike markers for every public calendar/date picker. */
.pxab-ui .pxab-calendar-day.is-blocked,
.pxab-ui .pxab-calendar-day.is-pending,
.pxab-ui .pxab-calendar-day.is-rule-blocked,
.pxab-ui .pxab-quote-calendar-day.is-blocked,
.pxab-ui .pxab-quote-calendar-day.is-pending,
.pxab-ui .pxab-quote-calendar-day.is-rule-blocked,
.pxab-market-search-calendar__day:disabled,
.pxab-market-search-calendar__day.is-past,
.pxab-market-search-calendar__day.is-blocked,
.pxab-market-search-calendar__day.is-rule-blocked {
  text-decoration: none !important;
}

.pxab-market-search-calendar__day {
  position: relative;
  overflow: hidden;
}

.pxab-market-search-calendar__day:disabled::after,
.pxab-market-search-calendar__day.is-past::after,
.pxab-market-search-calendar__day.is-blocked::after,
.pxab-market-search-calendar__day.is-rule-blocked::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  top: 50%;
  height: 1px;
  background: currentColor;
  opacity: .68;
  transform: translateY(-50%) rotate(-8deg);
  pointer-events: none;
}

.pxab-market-search-calendar__day.is-selected::after {
  content: none !important;
}


/* v1.0.81: final calendar-only line-through kill switch and selected-state safety. */
.pxab-ui .pxab-calendar-day,
.pxab-ui .pxab-quote-calendar-day,
.pxab-market-search-calendar__day,
.pxab-manual-date-calendar .pxab-calendar-day{
  text-decoration:none!important;
  text-decoration-line:none!important;
}
.pxab-ui .pxab-calendar-day.is-selected,
.pxab-ui .pxab-calendar-day.is-selected:hover,
.pxab-ui .pxab-calendar-day.is-selected:focus-visible,
.pxab-ui .pxab-quote-calendar-day.is-selected,
.pxab-ui .pxab-quote-calendar-day.is-selected:hover,
.pxab-ui .pxab-quote-calendar-day.is-selected:focus-visible{
  background:#111827!important;
  color:#fff!important;
  border-radius:999px!important;
  text-decoration:none!important;
}
.pxab-ui .pxab-calendar-day[data-pxab-calendar-rule-disabled="1"],
.pxab-ui .pxab-quote-calendar-day[data-pxab-calendar-rule-disabled="1"]{
  cursor:not-allowed!important;
}

/* Empty feedback rails must not reserve whitespace. */
.pxab-ui .pxab-calendar-feedback-slot[hidden] {
  display: none !important;
  min-height: 0 !important;
  margin: 0 !important;
}

/* Stable customer feedback rails prevent hover/focus rule messages from moving the date grid. */
.pxab-ui .pxab-calendar-feedback-slot,
.pxab-ui .pxab-quote-date-popover__message-slot {
  display: block;
  width: 100%;
  min-height: 4.5rem;
  margin: .75rem 0 1rem;
}

.pxab-ui .pxab-calendar-feedback-slot > .pxab-availability,
.pxab-ui .pxab-quote-date-popover__message-slot > .pxab-quote-date-popover__message {
  margin: 0;
}

.pxab-ui .pxab-calendar-warning--preview,
.pxab-ui .pxab-calendar-warning--preview .pxab-calendar-warning__icon,
.pxab-ui .pxab-calendar-warning--preview .pxab-advanced-word {
  animation: none !important;
  transition: none !important;
}

@media (max-width: 620px) {
  .pxab-ui .pxab-calendar-feedback-slot,
  .pxab-ui .pxab-quote-date-popover__message-slot {
    min-height: 5.25rem;
  }
}
