/* APD 732 — interaction and visual fixes requested from the mobile captures. */

/* Every mode switch owns one truly centered three-dot transition. */
.apd719-mode-switch.is-apd732-mode-loading > :not(.apd732-mode-loader),
a[data-apd619-mode-switch].is-apd732-mode-loading > :not(.apd732-mode-loader) {
  opacity: 0 !important;
}

.apd719-mode-switch > .apd719-mode-loader,
.apd719-mode-switch > .apd732-mode-loader,
a[data-apd619-mode-switch] > .apd732-mode-loader {
  position: absolute !important;
  inset: 0 !important;
  z-index: 8 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transform: none !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
}

.apd732-mode-loader i {
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  flex: 0 0 8px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.22) !important;
  animation: apd732-mode-dot .72s ease-in-out infinite !important;
}

.apd732-mode-loader i:nth-child(2) { animation-delay: .1s !important; }
.apd732-mode-loader i:nth-child(3) { animation-delay: .2s !important; }

@keyframes apd732-mode-dot {
  0%, 100% { opacity: .38; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-4px); }
}

.apd619-listing-row.is-apd732-opening {
  pointer-events: none !important;
  opacity: .68 !important;
  transform: scale(.992) !important;
  transition: opacity 120ms ease, transform 120ms ease !important;
}

/* Continuous gray interval between the two black date endpoints. */
html body.single-listing .apd52-native-calendar ul.days,
html body.single-listing .apd52-native-calendar .days {
  position: relative !important;
  isolation: isolate !important;
}

html body.single-listing .apd52-native-calendar .apd732-range-band {
  position: absolute !important;
  z-index: 1 !important;
  display: block !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ececec !important;
  box-shadow: 1px 0 0 #ececec, -1px 0 0 #ececec !important;
  pointer-events: none !important;
}

html body.single-listing .apd52-native-calendar .days > li {
  position: relative !important;
  z-index: 2 !important;
}

html body.single-listing .apd52-native-calendar .days > li:is(.apd732-range-start,.apd732-range-end) {
  z-index: 5 !important;
}

html body.single-listing .apd52-native-calendar .days > li:is(.apd732-range-start,.apd732-range-end) .day-number {
  position: relative !important;
  z-index: 6 !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #222 !important;
  color: #fff !important;
  box-shadow: none !important;
}

html body.single-listing .apd52-native-calendar .days > li.apd732-range-middle .day-number {
  position: relative !important;
  z-index: 4 !important;
  background: transparent !important;
  color: #222 !important;
}

/* Larger transparent 3D host facts, collection badge and payment protection. */
html body.single-listing.apd647-listing-release .apd647-host-fact {
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: 14px !important;
}

html body.single-listing.apd647-listing-release .apd647-host-fact > img {
  width: 72px !important;
  height: 72px !important;
  max-width: none !important;
  background: transparent !important;
}

html body.single-listing .apd27-host-earned-badges.apd647-host-earned > span {
  min-height: 50px !important;
  padding: 4px 14px 4px 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  border: 1px solid rgba(45,91,152,.10) !important;
  background: linear-gradient(145deg,#edf5ff,#e5efff) !important;
  box-shadow: 0 7px 16px rgba(32,67,115,.10), inset 0 1px 0 #fff !important;
  color: #1d467e !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

html body.single-listing .apd27-host-earned-badges .apd732-host-earned-icon {
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  display: block !important;
  object-fit: contain !important;
  background: transparent !important;
  filter: drop-shadow(0 6px 7px rgba(18,42,76,.18)) !important;
}

html body.single-listing .apd27-host-earned-badges > span > b {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1.2 !important;
}

html body.single-listing.apd647-listing-release .apd647-host-info .apd177-host-note {
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 13px !important;
}

html body.single-listing.apd647-listing-release .apd647-host-info .apd177-host-note-icon,
html body.single-listing.apd647-listing-release .apd647-host-info .apd177-host-note-icon > img {
  width: 54px !important;
  height: 54px !important;
  max-width: none !important;
  background: transparent !important;
}

/* Each new visit rotates copy and its matching transparent 3D object. */
.apd730-fee-notice[data-apd732-fee-variant="1"] {
  background: radial-gradient(circle at 18% -15%,#fff,transparent 43%), linear-gradient(145deg,#f3faee,#e3f2dc) !important;
}
.apd730-fee-notice[data-apd732-fee-variant="2"] {
  background: radial-gradient(circle at 18% -15%,#fff,transparent 43%), linear-gradient(145deg,#f7faf3,#eaf1df) !important;
}
.apd730-fee-notice[data-apd732-fee-variant="3"] {
  background: radial-gradient(circle at 18% -15%,#fff,transparent 43%), linear-gradient(145deg,#f4f8ef,#e7f0dd) !important;
}
.apd730-fee-notice[data-apd732-fee-variant="4"] {
  background: radial-gradient(circle at 18% -15%,#fff,transparent 43%), linear-gradient(145deg,#f5faef,#e1efdc) !important;
}

@media (max-width: 390px) {
  html body.single-listing.apd647-listing-release .apd647-host-fact {
    grid-template-columns: 66px minmax(0, 1fr) !important;
    gap: 11px !important;
  }
  html body.single-listing.apd647-listing-release .apd647-host-fact > img {
    width: 66px !important;
    height: 66px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .apd732-mode-loader i { animation: none !important; opacity: .85 !important; }
}
