/* APD 735 — final canonical dates, proportional message art and MP flows. */

/* -------------------------------------------------------------------------
   Listing calendar: only APD735 may paint a selected range.
   ------------------------------------------------------------------------- */
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 .days > li {
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.single-listing .apd52-native-calendar .days > li:is(
  .selected,.active,.from-day,.to-day,.in-between,.is-selected,.reservation_start,.reservation_end,
  .apd20-selected,.apd20-range-start,.apd20-range-end,.apd20-in-range,
  .apd417-start,.apd417-end,.apd417-between,.apd423-range-start,.apd423-range-end,.apd423-in-range,
  .apd512-start,.apd512-end,.apd512-between,.apd514-start,.apd514-end,.apd514-between,
  .apd516-start,.apd516-end,.apd516-between,.apd518-start,.apd518-end,.apd518-between,
  .apd520-start,.apd520-end,.apd520-between,.apd523-start,.apd523-end,.apd523-between,
  .apd732-range-start,.apd732-range-end,.apd732-range-middle
)::before,
html body.single-listing .apd52-native-calendar .days > li:is(
  .selected,.active,.from-day,.to-day,.in-between,.is-selected,.reservation_start,.reservation_end,
  .apd20-selected,.apd20-range-start,.apd20-range-end,.apd20-in-range,
  .apd417-start,.apd417-end,.apd417-between,.apd423-range-start,.apd423-range-end,.apd423-in-range,
  .apd512-start,.apd512-end,.apd512-between,.apd514-start,.apd514-end,.apd514-between,
  .apd516-start,.apd516-end,.apd516-between,.apd518-start,.apd518-end,.apd518-between,
  .apd520-start,.apd520-end,.apd520-between,.apd523-start,.apd523-end,.apd523-between,
  .apd732-range-start,.apd732-range-end,.apd732-range-middle
)::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.single-listing .apd52-native-calendar .days > li:is(
  .selected,.active,.from-day,.to-day,.in-between,.is-selected,.reservation_start,.reservation_end,
  .apd20-selected,.apd20-range-start,.apd20-range-end,.apd20-in-range,
  .apd417-start,.apd417-end,.apd417-between,.apd423-range-start,.apd423-range-end,.apd423-in-range,
  .apd512-start,.apd512-end,.apd512-between,.apd514-start,.apd514-end,.apd514-between,
  .apd516-start,.apd516-end,.apd516-between,.apd518-start,.apd518-end,.apd518-between,
  .apd520-start,.apd520-end,.apd520-between,.apd523-start,.apd523-end,.apd523-between,
  .apd732-range-start,.apd732-range-end,.apd732-range-middle
):not(.apd735-range-start):not(.apd735-range-end):not(.apd735-range-middle) .day-number {
  background: transparent !important;
  color: #222 !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.single-listing .apd52-native-calendar :is(.apd524-range-band,.apd732-range-band) {
  display: none !important;
}
html body.single-listing .apd52-native-calendar .apd735-range-band {
  position: absolute !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: #e9e9e9 !important;
  box-shadow: 1px 0 0 #e9e9e9, -1px 0 0 #e9e9e9 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
html body.single-listing .apd52-native-calendar .days > li:is(.apd735-range-start,.apd735-range-end) {
  z-index: 5 !important;
}
html body.single-listing .apd52-native-calendar .days > li:is(.apd735-range-start,.apd735-range-end) .day-number {
  position: relative !important;
  z-index: 6 !important;
  display: inline-flex !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !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.apd735-range-middle .day-number {
  position: relative !important;
  z-index: 4 !important;
  border: 0 !important;
  background: transparent !important;
  color: #222 !important;
  box-shadow: none !important;
}
html body.single-listing .apd52-native-calendar .days > li.current-day:not(.apd735-range-start):not(.apd735-range-end) .day-number {
  display: inline-flex !important;
  width: 44px !important;
  height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid #222 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #222 !important;
  box-shadow: none !important;
}

/* Requested smaller, transparent direct-message artwork. */
html body.single-listing.apd647-listing-release .apd647-host-facts .apd734-host-message-card {
  grid-template-columns: 56px minmax(0, 1fr) !important;
  min-height: 106px !important;
  gap: 12px !important;
}
html body.single-listing.apd647-listing-release .apd647-host-facts .apd734-host-message-card > img {
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  object-fit: contain !important;
  background: transparent !important;
  filter: drop-shadow(0 7px 9px rgba(24,67,83,.17)) !important;
}
@media (max-width: 420px) {
  html body.single-listing.apd647-listing-release .apd647-host-facts .apd734-host-message-card {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    min-height: 100px !important;
    padding: 13px !important;
  }
  html body.single-listing.apd647-listing-release .apd647-host-facts .apd734-host-message-card > img {
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
  }
}

/* -------------------------------------------------------------------------
   Payment, gift-card and Mercado Pago account surfaces.
   ------------------------------------------------------------------------- */
html.apd735-modal-open,
body.apd735-modal-open { overflow: hidden !important; overscroll-behavior: none !important; }
.apd735-modal[hidden] { display: none !important; }
.apd735-modal,
.apd735-modal * { box-sizing: border-box !important; }
.apd735-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482500 !important;
  color: #222 !important;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .2s ease !important;
}
.apd735-modal.is-open { opacity: 1 !important; pointer-events: auto !important; }
.apd735-fullscreen-modal { background: #fff !important; }
.apd735-fullscreen-modal > section {
  width: 100% !important;
  height: 100% !important;
  overflow-y: auto !important;
  background: #fff !important;
  transform: translateX(22px) !important;
  transition: transform .22s cubic-bezier(.2,.8,.2,1) !important;
  -webkit-overflow-scrolling: touch !important;
}
.apd735-fullscreen-modal.is-open > section { transform: translateX(0) !important; }
.apd735-modal-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 3 !important;
  display: grid !important;
  min-height: 84px !important;
  grid-template-columns: 52px minmax(0,1fr) 52px !important;
  gap: 12px !important;
  align-items: center !important;
  padding: max(14px,env(safe-area-inset-top)) 22px 12px !important;
  border-bottom: 1px solid #ededed !important;
  background: rgba(255,255,255,.97) !important;
  backdrop-filter: blur(16px) !important;
}
.apd735-modal-header h2 {
  margin: 0 !important;
  color: #222 !important;
  font-size: clamp(21px,4.5vw,30px) !important;
  font-weight: 710 !important;
  line-height: 1.15 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
.apd735-modal-header > button {
  display: inline-grid !important;
  width: 46px !important;
  height: 46px !important;
  place-items: center !important;
  padding: 0 0 4px !important;
  border: 1px solid #e7e7e7 !important;
  border-radius: 50% !important;
  background: #f8f8f8 !important;
  color: #222 !important;
  font-size: 42px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
}
.apd735-modal-content {
  width: min(100%,760px) !important;
  margin: 0 auto !important;
  padding: 46px 30px max(90px,calc(env(safe-area-inset-bottom) + 54px)) !important;
}

.apd735-empty-payment-state {
  display: flex !important;
  min-height: 64vh !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.apd735-empty-payment-icon {
  position: relative !important;
  display: block !important;
  width: 164px !important;
  height: 132px !important;
  margin-bottom: 34px !important;
}
.apd735-empty-payment-icon i {
  position: absolute !important;
  inset: 13px 8px 9px !important;
  border: 2px solid #d9d9d9 !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg,#f9fafc,#eef1f6) !important;
  box-shadow: 0 18px 35px rgba(24,35,55,.12) !important;
  transform: rotate(-7deg) !important;
}
.apd735-empty-payment-icon i::after {
  content: '' !important;
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  top: 35px !important;
  height: 17px !important;
  border-radius: 5px !important;
  background: #2f68bc !important;
}
.apd735-empty-payment-icon b {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  display: grid !important;
  width: 52px !important;
  height: 52px !important;
  place-items: center !important;
  border: 5px solid #fff !important;
  border-radius: 50% !important;
  background: #1e8d61 !important;
  color: #fff !important;
  font-size: 25px !important;
  box-shadow: 0 10px 22px rgba(30,141,97,.24) !important;
}
.apd735-empty-payment-state h3,
.apd735-gift-content > h3,
.apd735-payout-content > h3,
.apd735-payout-form h3 {
  margin: 0 !important;
  color: #222 !important;
  font-size: clamp(29px,6vw,42px) !important;
  font-weight: 720 !important;
  line-height: 1.1 !important;
  letter-spacing: -.042em !important;
}
.apd735-empty-payment-state p {
  max-width: 540px !important;
  margin: 16px auto 0 !important;
  color: #717171 !important;
  font-size: clamp(18px,4vw,25px) !important;
  line-height: 1.42 !important;
}
.apd735-payment-ledger { display: flex !important; flex-direction: column !important; border-top: 1px solid #e2e2e2 !important; }
.apd735-payment-ledger a {
  display: grid !important;
  min-height: 96px !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid #e2e2e2 !important;
  color: #222 !important;
  text-decoration: none !important;
}
.apd735-payment-ledger span { display: flex !important; flex-direction: column !important; gap: 5px !important; }
.apd735-payment-ledger small { color: #777 !important; }

.apd735-sheet-modal { display: grid !important; place-items: end center !important; }
.apd735-modal-backdrop { position: absolute !important; inset: 0 !important; border: 0 !important; background: rgba(0,0,0,.48) !important; }
.apd735-sheet-modal > section {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%,720px) !important;
  max-height: min(91dvh,900px) !important;
  padding: 28px 30px max(28px,calc(env(safe-area-inset-bottom) + 18px)) !important;
  overflow-y: auto !important;
  border-radius: 28px 28px 0 0 !important;
  background: #fff !important;
  box-shadow: 0 -18px 55px rgba(0,0,0,.2) !important;
  transform: translateY(102%) !important;
  transition: transform .24s cubic-bezier(.2,.8,.2,1) !important;
}
.apd735-sheet-modal.is-open > section { transform: translateY(0) !important; }
.apd735-sheet-header { display: grid !important; grid-template-columns: minmax(0,1fr) 46px !important; gap: 18px !important; align-items: start !important; }
.apd735-sheet-header h2 { margin: 0 !important; font-size: clamp(28px,6vw,40px) !important; font-weight: 720 !important; line-height: 1.1 !important; letter-spacing: -.04em !important; }
.apd735-sheet-header button { display: grid !important; width: 42px !important; height: 42px !important; place-items: center !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #f2f2f2 !important; color: #222 !important; font-size: 28px !important; }
.apd735-sheet-modal > section > p { margin: 18px 0 0 !important; color: #717171 !important; font-size: 18px !important; line-height: 1.42 !important; }
.apd735-method-choice,
.apd735-payout-method,
.apd735-primary-payout-card {
  display: grid !important;
  grid-template-columns: 58px minmax(0,1fr) auto !important;
  gap: 16px !important;
  align-items: center !important;
  margin-top: 26px !important;
  padding: 18px !important;
  border: 2px solid #222 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(16,35,62,.08) !important;
}
.apd735-mp-mark {
  display: grid !important;
  width: 52px !important;
  height: 52px !important;
  place-items: center !important;
  border-radius: 15px !important;
  background: linear-gradient(145deg,#1b9be9,#0076c8) !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: -.08em !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65),0 8px 16px rgba(0,118,200,.25) !important;
  text-transform: uppercase !important;
}
.apd735-method-choice > span:nth-child(2),
.apd735-payout-method > span:nth-child(2),
.apd735-primary-payout-card > span:nth-child(2) { display: flex !important; min-width: 0 !important; flex-direction: column !important; gap: 4px !important; }
.apd735-method-choice strong,
.apd735-payout-method strong,
.apd735-primary-payout-card strong { font-size: 18px !important; line-height: 1.2 !important; }
.apd735-method-choice small,
.apd735-payout-method small,
.apd735-primary-payout-card em { color: #707070 !important; font-size: 14px !important; font-style: normal !important; line-height: 1.3 !important; }
.apd735-method-choice > b,
.apd735-payout-method > b,
.apd735-primary-payout-card > b { display: grid !important; width: 28px !important; height: 28px !important; place-items: center !important; border-radius: 50% !important; background: #222 !important; color: #fff !important; }
.apd735-secure-card-preview {
  display: flex !important;
  min-height: 116px !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  margin-top: 22px !important;
  padding: 24px !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg,#242936,#10141d) !important;
  color: #fff !important;
  box-shadow: 0 18px 36px rgba(7,14,25,.24) !important;
}
.apd735-secure-card-preview span { font-size: 21px !important; letter-spacing: .12em !important; }
.apd735-secure-card-preview small { color: #c8cdd6 !important; letter-spacing: .08em !important; }
.apd735-security-note { display: grid !important; grid-template-columns: 34px minmax(0,1fr) !important; gap: 10px !important; align-items: start !important; margin-top: 20px !important; color: #656565 !important; }
.apd735-security-note p { margin: 0 !important; font-size: 14px !important; line-height: 1.42 !important; }
.apd735-primary-action {
  display: flex !important;
  width: 100% !important;
  min-height: 66px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 26px !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #222 !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
.apd735-primary-action:disabled { opacity: .55 !important; cursor: wait !important; }

.apd735-gift-card-art {
  display: flex !important;
  min-height: 220px !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  margin-bottom: 44px !important;
  padding: 30px !important;
  border: 1px solid #ffd7df !important;
  border-radius: 26px !important;
  background: radial-gradient(circle at 82% 5%,rgba(255,255,255,.85),transparent 34%),linear-gradient(145deg,#ff5575,#c91f51) !important;
  color: #fff !important;
  box-shadow: 0 22px 50px rgba(197,32,79,.24),inset 0 1px 0 rgba(255,255,255,.75) !important;
  transform: perspective(700px) rotateX(1.5deg) rotateY(-2deg) !important;
}
.apd735-gift-card-art span { font-size: 27px !important; font-weight: 900 !important; letter-spacing: .12em !important; }
.apd735-gift-card-art b { font-size: clamp(28px,6vw,42px) !important; line-height: 1.05 !important; }
.apd735-gift-card-art i { font-size: 17px !important; font-style: normal !important; letter-spacing: .18em !important; }
.apd735-gift-content > p,
.apd735-payout-lead,
.apd735-payout-form > p { margin: 15px 0 0 !important; color: #707070 !important; font-size: clamp(17px,3.8vw,23px) !important; line-height: 1.45 !important; }
.apd735-gift-content form,
.apd735-payout-content form { display: flex !important; flex-direction: column !important; gap: 19px !important; margin-top: 32px !important; }
.apd735-gift-content label,
.apd735-payout-content label { display: flex !important; flex-direction: column !important; gap: 9px !important; color: #222 !important; font-size: 15px !important; font-weight: 680 !important; }
.apd735-gift-content input,
.apd735-payout-content input {
  width: 100% !important;
  min-height: 64px !important;
  padding: 0 18px !important;
  border: 1px solid #bdbdbd !important;
  border-radius: 12px !important;
  outline: 0 !important;
  background: #fff !important;
  color: #222 !important;
  font: 500 17px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  -webkit-text-fill-color: #222 !important;
}
.apd735-gift-content input:focus,
.apd735-payout-content input:focus { border-color: #222 !important; box-shadow: 0 0 0 2px #222 !important; }
.apd735-form-feedback { min-height: 22px !important; margin: 0 !important; color: #246345 !important; font-size: 15px !important; line-height: 1.35 !important; }
.apd735-form-feedback.is-error { color: #bd183b !important; }
.apd735-gift-success { margin-top: 34px !important; padding: 34px !important; border-radius: 22px !important; background: #eef9f2 !important; text-align: center !important; }
.apd735-gift-success > span { display: grid !important; width: 58px !important; height: 58px !important; place-items: center !important; margin: 0 auto 18px !important; border-radius: 50% !important; background: #1e8d61 !important; color: #fff !important; font-size: 29px !important; }
.apd735-gift-success p { color: #4b6558 !important; line-height: 1.42 !important; }
.apd735-gift-faq { margin-top: 58px !important; padding-top: 36px !important; border-top: 1px solid #dedede !important; }
.apd735-gift-faq h3 { margin-bottom: 18px !important; }
.apd735-gift-faq details { border-bottom: 1px solid #dedede !important; }
.apd735-gift-faq summary { display: flex !important; min-height: 72px !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; font-size: 17px !important; font-weight: 680 !important; list-style: none !important; cursor: pointer !important; }
.apd735-gift-faq summary::-webkit-details-marker { display: none !important; }
.apd735-gift-faq details p { margin: 0 0 22px !important; color: #707070 !important; line-height: 1.45 !important; }

.apd735-primary-payout-card { max-width: 590px !important; margin-top: 30px !important; border-width: 1px !important; }
.apd735-primary-payout-card > span:nth-child(2) > small { color: #66798d !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .09em !important; }
.apd735-country-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  margin: 34px 0 42px !important;
  padding: 22px !important;
  border: 1px solid #dedede !important;
  border-radius: 16px !important;
  background: #fafafa !important;
}
.apd735-country-card small { color: #717171 !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .1em !important; }
.apd735-country-card strong { font-size: 20px !important; }
.apd735-country-card span { color: #717171 !important; font-size: 15px !important; }
.apd735-payout-content > h3 { font-size: clamp(25px,5vw,35px) !important; }
.apd735-payout-method { grid-template-columns: 58px minmax(0,1fr) auto !important; }
.apd735-payout-method.is-disabled { border-width: 1px !important; border-color: #e1e1e1 !important; box-shadow: none !important; opacity: .72 !important; }
.apd735-payout-method.is-disabled > span:first-child { display: grid !important; width: 52px !important; height: 52px !important; place-items: center !important; border-radius: 15px !important; background: #f1f1f1 !important; font-size: 25px !important; }
.apd735-payout-method > em { color: #777 !important; font-size: 12px !important; font-style: normal !important; text-align: right !important; }
.apd735-provider-connect {
  margin-top: 18px !important;
  padding: 18px !important;
  border: 1px solid #d9e8f3 !important;
  border-radius: 16px !important;
  background: #f5fbff !important;
  color: #4e6070 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
.apd735-provider-connect > strong { display: block !important; margin-bottom: 4px !important; color: #1f3448 !important; font-size: 16px !important; }
.apd735-provider-connect.has-provider-control { padding: 0 !important; border: 0 !important; background: transparent !important; }
.apd735-provider-connect .apd-payout-account { margin: 0 !important; }
.apd735-payout-content form { margin-top: 52px !important; padding-top: 42px !important; border-top: 1px solid #dedede !important; }
.apd735-payout-content form > h3 { font-size: clamp(25px,5vw,35px) !important; }
.apd735-settlement-summary {
  margin-top: 18px !important;
  padding: 24px !important;
  border: 1px solid #dbe4ee !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg,#fafdff,#f2f7fc) !important;
}
.apd735-settlement-summary h3 { margin: 0 0 18px !important; font-size: 22px !important; }
.apd735-settlement-summary > div { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; gap: 18px !important; padding: 13px 0 !important; border-bottom: 1px solid #dbe4ee !important; }
.apd735-settlement-summary > div span { color: #5d6773 !important; }
.apd735-settlement-summary > div b { color: #1d334e !important; text-align: right !important; }
.apd735-settlement-summary > p { margin: 17px 0 0 !important; color: #697583 !important; font-size: 14px !important; line-height: 1.45 !important; }

@media (min-width: 800px) {
  .apd735-fullscreen-modal > section { width: min(100%,900px) !important; margin: 0 auto !important; box-shadow: 0 0 80px rgba(0,0,0,.1) !important; }
  .apd735-fullscreen-modal { background: #f3f4f6 !important; }
}
