/* APD 737 — final calendar, premium category artwork and payment routes. */

/* -------------------------------------------------------------------------
   Calendar: exactly seven columns and one cell-level selection layer.
   ------------------------------------------------------------------------- */
html body.single-listing.apd737-release .apd52-native-calendar .single-listing-calendar-wrap {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  float: none !important;
}
html body.single-listing.apd737-release .apd52-native-calendar .month,
html body.single-listing.apd737-release .apd52-native-calendar .month h4,
html body.single-listing.apd737-release .apd52-native-calendar .apd527-weekdays,
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}
html body.single-listing.apd737-release .apd52-native-calendar .apd527-weekdays,
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) {
  display: grid !important;
  grid-template-columns: repeat(7,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  gap: 0 !important;
  clear: both !important;
  float: none !important;
}
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) {
  position: relative !important;
  isolation: isolate !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  list-style: none !important;
}
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li {
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  clear: none !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li::before,
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li::after,
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li .day-number::before,
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li .day-number::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.single-listing.apd737-release .apd52-native-calendar :is(
  .apd524-range-band,.apd732-range-band,.apd735-range-band,.apd736-cell-fill
) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
}
html body.single-listing.apd737-release .apd52-native-calendar .apd737-cell-fill {
  position: absolute !important;
  top: 50% !important;
  z-index: 1 !important;
  display: block !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #e8e8e8 !important;
  box-shadow: 1px 0 0 #e8e8e8,-1px 0 0 #e8e8e8 !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}
html body.single-listing.apd737-release .apd52-native-calendar .apd737-cell-fill.is-start { left: 50% !important; right: -2px !important; }
html body.single-listing.apd737-release .apd52-native-calendar .apd737-cell-fill.is-middle { left: -2px !important; right: -2px !important; }
html body.single-listing.apd737-release .apd52-native-calendar .apd737-cell-fill.is-end { left: -2px !important; right: 50% !important; }
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li .day-number {
  position: relative !important;
  z-index: 3 !important;
  display: inline-flex !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #222 !important;
  -webkit-text-fill-color: #222 !important;
  box-shadow: none !important;
  font-weight: 520 !important;
  line-height: 1 !important;
}
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li:is(.apd737-range-start,.apd737-range-end) {
  z-index: 6 !important;
}
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li:is(.apd737-range-start,.apd737-range-end) .day-number {
  z-index: 7 !important;
  border: 0 !important;
  background: #222 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: none !important;
  font-weight: 760 !important;
}
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li.apd737-range-middle .day-number {
  z-index: 5 !important;
  border: 0 !important;
  background: transparent !important;
  color: #222 !important;
  -webkit-text-fill-color: #222 !important;
  font-weight: 620 !important;
}
html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li.current-day:not(.apd737-range-start):not(.apd737-range-end) .day-number {
  border: 2px solid #222 !important;
  background: #fff !important;
  color: #222 !important;
  -webkit-text-fill-color: #222 !important;
  font-weight: 720 !important;
}

/* -------------------------------------------------------------------------
   Host safety card: larger 3D lock/dollars artwork plus a clear title.
   ------------------------------------------------------------------------- */
html body.single-listing.apd737-release .apd647-host-info .apd177-host-note {
  box-sizing: border-box !important;
  grid-template-columns: 118px minmax(0,1fr) !important;
  min-height: 154px !important;
  align-items: center !important;
  gap: 22px !important;
  padding: 20px 22px !important;
}
html body.single-listing.apd737-release .apd647-host-info .apd177-host-note-icon,
html body.single-listing.apd737-release .apd647-host-info .apd177-host-note-icon > img {
  display: block !important;
  width: 112px !important;
  height: 112px !important;
  max-width: 112px !important;
  max-height: 112px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  filter: drop-shadow(0 12px 14px rgba(21,50,83,.22)) !important;
}
html body.single-listing.apd737-release .apd737-host-note-copy {
  min-width: 0 !important;
}
html body.single-listing.apd737-release .apd737-host-note-copy > strong {
  display: block !important;
  margin: 0 0 7px !important;
  color: #1f2630 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -.02em !important;
}
html body.single-listing.apd737-release .apd737-host-note-copy > p {
  margin: 0 !important;
  color: #606874 !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
}

/* -------------------------------------------------------------------------
   Experience/service categories: exact creation-flow art, no inner square,
   no crop and one consistent premium card geometry.
   ------------------------------------------------------------------------- */
body.apd737-release .apd557-experience-picker a,
body.apd737-release .apd23-service-category-rail > a {
  flex: 0 0 148px !important;
  width: 148px !important;
  min-width: 148px !important;
  min-height: 188px !important;
  padding: 9px 9px 14px !important;
  overflow: visible !important;
  border: 1px solid rgba(25,43,66,.11) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 13px 28px rgba(24,43,67,.09) !important;
}
body.apd737-release .apd557-experience-picker-media,
body.apd737-release .apd23-service-category-rail .apd188-service-category-media {
  display: grid !important;
  width: 134px !important;
  height: 134px !important;
  min-width: 134px !important;
  min-height: 134px !important;
  place-items: center !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.apd737-release .apd557-experience-picker-media > img,
body.apd737-release .apd23-service-category-rail .apd188-service-category-media > img {
  display: block !important;
  width: 132px !important;
  height: 132px !important;
  max-width: 132px !important;
  max-height: 132px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.apd737-release .apd557-experience-picker strong,
body.apd737-release .apd23-service-category-rail > a > strong {
  min-height: 36px !important;
  color: #202124 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
}
html body.apd6-host-app.apd676-kind-experience .apd6-wizard[data-kind="experience"] .apd660-exp-card,
html body.apd6-host-app.apd676-kind-experience .apd6-wizard[data-kind="experience"] .apd660-exp-card-media,
html body.apd6-host-app.apd676-kind-experience .apd6-wizard[data-kind="experience"] .apd660-exp-card-media::before,
html body.apd6-host-app.apd676-kind-experience .apd6-wizard[data-kind="experience"] .apd660-exp-card-media::after {
  overflow: visible !important;
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
}
html body.apd6-host-app.apd676-kind-experience .apd6-wizard[data-kind="experience"] .apd660-exp-card-media img {
  display: block !important;
  width: 100% !important;
  height: 148px !important;
  max-width: 166px !important;
  max-height: 148px !important;
  object-fit: contain !important;
  object-position: center !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* -------------------------------------------------------------------------
   Payments: direct server pages and clearly tappable controls.
   ------------------------------------------------------------------------- */
html body.apd737-payment-action,
html.apd735-modal-open body.apd737-payment-action,
body.apd737-payment-action.apd735-modal-open {
  overflow: auto !important;
  overscroll-behavior: auto !important;
}
body.apd737-release .apd737-payment-route,
body.apd737-release [data-apd737-direct-route] {
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}
body.apd737-release .apd737-payment-action-page {
  box-sizing: border-box !important;
  width: min(100%,760px) !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  padding: calc(24px + env(safe-area-inset-top,0px)) 24px calc(48px + env(safe-area-inset-bottom,0px)) !important;
  color: #202124 !important;
  background: #fff !important;
}
body.apd737-release .apd737-payment-action-head {
  display: flex !important;
  min-height: 54px !important;
  align-items: center !important;
  justify-content: space-between !important;
}
body.apd737-release .apd737-payment-back {
  display: grid !important;
  width: 50px !important;
  height: 50px !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: #222 !important;
  background: #f5f5f5 !important;
  font-size: 38px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
body.apd737-release .apd737-payment-action-page > h1 {
  margin: 54px 0 30px !important;
  color: #202124 !important;
  font-size: clamp(38px,9vw,58px) !important;
  font-weight: 850 !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}
body.apd737-release .apd737-action-lead {
  margin: -8px 0 28px !important;
  color: #5d6269 !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
}
body.apd737-release .apd737-payment-notice {
  margin: 0 0 24px !important;
  padding: 15px 17px !important;
  border: 1px solid #cfe6d3 !important;
  border-radius: 16px !important;
  color: #235d31 !important;
  background: #f2fbf4 !important;
  font-size: 14px !important;
  font-weight: 680 !important;
  line-height: 1.4 !important;
}
body.apd737-release .apd737-payment-notice.is-error {
  border-color: #f0cece !important;
  color: #942a2a !important;
  background: #fff5f5 !important;
}
body.apd737-release .apd737-action-card {
  box-sizing: border-box !important;
  margin: 0 0 18px !important;
  padding: 20px !important;
  border: 1px solid #e1e2e4 !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(22,34,48,.07) !important;
}
body.apd737-release .apd737-action-card > h2,
body.apd737-release .apd737-action-card > h3 {
  margin: 0 0 8px !important;
  color: #202124 !important;
  font-size: 20px !important;
  font-weight: 820 !important;
  line-height: 1.18 !important;
}
body.apd737-release .apd737-action-card p,
body.apd737-release .apd737-action-card small {
  color: #646a72 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
body.apd737-release .apd737-method-card {
  display: grid !important;
  grid-template-columns: 58px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
}
body.apd737-release .apd737-method-mark {
  display: grid !important;
  width: 58px !important;
  height: 58px !important;
  place-items: center !important;
  border-radius: 18px !important;
  color: #fff !important;
  background: linear-gradient(145deg,#27a8ff,#0878dc) !important;
  box-shadow: 0 10px 20px rgba(20,126,220,.24) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
}
body.apd737-release .apd737-provider-connect {
  display: grid !important;
  gap: 6px !important;
  margin: 0 0 18px !important;
  padding: 17px 18px !important;
  border: 1px solid #dbe8f4 !important;
  border-radius: 18px !important;
  color: #31506e !important;
  background: #f5faff !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}
body.apd737-release .apd737-provider-connect > strong {
  color: #202f40 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}
body.apd737-release .apd737-provider-connect.has-provider-control {
  border-color: #bcd9c5 !important;
  background: #f3fbf5 !important;
}
body.apd737-release .apd737-provider-connect .apd-payout-account {
  width: 100% !important;
  margin-top: 8px !important;
}
body.apd737-release .apd737-primary-action {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 58px !important;
  margin: 18px 0 0 !important;
  padding: 14px 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 16px !important;
  color: #fff !important;
  background: #222 !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.14) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}
body.apd737-release .apd737-action-form label {
  display: grid !important;
  gap: 7px !important;
  margin: 0 0 16px !important;
  color: #292c30 !important;
  font-size: 14px !important;
  font-weight: 720 !important;
}
body.apd737-release .apd737-action-form input {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 12px 14px !important;
  border: 1px solid #cfd2d6 !important;
  border-radius: 13px !important;
  color: #202124 !important;
  background: #fff !important;
  font-size: 16px !important;
}
body.apd737-release .apd737-ledger {
  display: grid !important;
  gap: 12px !important;
}
body.apd737-release .apd737-ledger > a,
body.apd737-release .apd737-ledger > article {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  color: #222 !important;
  text-decoration: none !important;
}
body.apd737-release .apd737-ledger span {
  display: grid !important;
  gap: 4px !important;
}
body.apd737-release .apd737-empty-state {
  padding-block: 42px !important;
  text-align: center !important;
}
body.apd737-release .apd737-empty-state > span {
  display: grid !important;
  width: 76px !important;
  height: 76px !important;
  margin: 0 auto 18px !important;
  place-items: center !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg,#f0f4ff,#edf8ff) !important;
  font-size: 34px !important;
}

@media (max-width: 767px) {
  html body.single-listing.apd737-release .apd52-native-calendar :is(ul.days,.days) > li { height: 50px !important; }
  html body.single-listing.apd737-release .apd647-host-info .apd177-host-note {
    grid-template-columns: 104px minmax(0,1fr) !important;
    min-height: 148px !important;
    gap: 17px !important;
    padding: 18px !important;
  }
  html body.single-listing.apd737-release .apd647-host-info .apd177-host-note-icon,
  html body.single-listing.apd737-release .apd647-host-info .apd177-host-note-icon > img {
    width: 100px !important;
    height: 100px !important;
    max-width: 100px !important;
    max-height: 100px !important;
  }
  body.apd737-release .apd557-experience-picker a,
  body.apd737-release .apd23-service-category-rail > a {
    flex-basis: 142px !important;
    width: 142px !important;
    min-width: 142px !important;
    min-height: 184px !important;
  }
  body.apd737-release .apd557-experience-picker-media,
  body.apd737-release .apd23-service-category-rail .apd188-service-category-media {
    width: 128px !important;
    height: 128px !important;
    min-width: 128px !important;
    min-height: 128px !important;
  }
  body.apd737-release .apd557-experience-picker-media > img,
  body.apd737-release .apd23-service-category-rail .apd188-service-category-media > img {
    width: 126px !important;
    height: 126px !important;
    max-width: 126px !important;
    max-height: 126px !important;
  }
}

@media (max-width: 390px) {
  html body.single-listing.apd737-release .apd647-host-info .apd177-host-note {
    grid-template-columns: 100px minmax(0,1fr) !important;
    gap: 14px !important;
    padding-inline: 14px !important;
  }
  html body.single-listing.apd737-release .apd647-host-info .apd177-host-note-icon,
  html body.single-listing.apd737-release .apd647-host-info .apd177-host-note-icon > img {
    width: 98px !important;
    height: 98px !important;
    max-width: 98px !important;
    max-height: 98px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.apd737-release * { scroll-behavior: auto !important; }
}
