/* APD 88 — premium host contact + reservation flow */
.apd87-host-info-stack{display:flex!important;flex-direction:column!important;gap:16px!important;min-width:0!important;width:100%!important}
.apd87-host-info-stack>.apd52-host-info,.apd87-host-info-stack>.apd78-host-info{width:100%!important;max-width:none!important}
.apd87-host-contact-button{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important;min-height:68px!important;padding:14px 18px!important;border:1px solid rgba(189,198,216,.7)!important;border-radius:18px!important;background:linear-gradient(135deg,#f8f2df 0%,#f7f8fb 52%,#edf3ff 100%)!important;color:#1f2937!important;box-shadow:0 14px 34px rgba(15,23,42,.09)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;text-align:left!important}
.apd87-host-contact-button:hover{transform:translateY(-1px)!important;box-shadow:0 20px 40px rgba(15,23,42,.13)!important;border-color:rgba(148,163,184,.8)!important}
.apd87-host-contact-button:focus-visible{outline:3px solid rgba(29,78,216,.22)!important;outline-offset:3px!important}
.apd87-host-contact-icon{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:14px!important;background:rgba(255,255,255,.82)!important;box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)!important;font-size:19px!important;line-height:1!important;flex:0 0 auto!important}
.apd87-host-contact-copy{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important;flex:1 1 auto!important}
.apd87-host-contact-copy strong{display:block!important;margin:0!important;color:#111827!important;font-size:17px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.02em!important}
.apd87-host-contact-copy small{display:block!important;margin:0!important;color:#667085!important;font-size:12px!important;line-height:1.35!important;font-weight:600!important}
.apd87-host-contact-arrow{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:999px!important;background:#fff!important;box-shadow:0 8px 16px rgba(15,23,42,.10)!important;font-size:18px!important;font-weight:800!important;flex:0 0 auto!important}

.apd87-contact-page[hidden]{display:none!important}
.apd87-contact-page{position:fixed!important;inset:0!important;z-index:30000!important;display:block!important;overflow:auto!important;background:#fff!important}
.apd87-contact-backdrop{position:fixed!important;inset:0!important;background:#fff!important}
.apd87-contact-shell{position:relative!important;z-index:1!important;min-height:100vh!important;background:#fff!important;color:#222!important}
.apd87-contact-header{height:72px!important;border-bottom:1px solid #e6e6e6!important;background:#fff!important}
.apd87-contact-header-inner{width:min(1180px,calc(100% - 40px))!important;height:100%!important;margin:0 auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.apd87-brand{display:inline-flex!important;align-items:center!important;text-decoration:none!important}
.apd87-brand img{display:block!important;width:108px!important;height:40px!important;object-fit:contain!important}
.apd87-close{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;background:#f4f4f4!important;color:#222!important;font-size:24px!important;line-height:1!important}
.apd87-contact-body{width:min(1060px,calc(100% - 40px))!important;margin:0 auto!important;padding:34px 0 76px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;gap:56px!important;align-items:start!important}
.apd87-contact-main{min-width:0!important}
.apd87-back{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;margin:0 0 12px!important;border:0!important;background:transparent!important;color:#222!important;font-size:38px!important;line-height:.7!important;padding:0!important}
.apd87-contact-intro{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;padding-bottom:20px!important;border-bottom:1px solid #dedede!important}
.apd87-contact-intro h1{margin:0 0 7px!important;font-size:28px!important;line-height:1.1!important;font-weight:800!important;letter-spacing:-.035em!important;color:#222!important}
.apd87-contact-intro p{margin:0!important;color:#717171!important;font-size:14px!important;line-height:1.45!important}
.apd87-contact-avatars{display:flex!important;align-items:center!important;flex:0 0 auto!important}
.apd87-contact-avatars img{width:42px!important;height:42px!important;border-radius:50%!important;object-fit:cover!important;border:2px solid #fff!important;box-shadow:0 5px 12px rgba(0,0,0,.10)!important}
.apd87-contact-avatars img+img{margin-left:-9px!important}
.apd87-faq{padding:24px 0 0!important}
.apd87-faq>h2{margin:0 0 22px!important;font-size:20px!important;line-height:1.2!important;font-weight:800!important;color:#222!important}
.apd87-faq article{margin:0 0 24px!important}
.apd87-faq h3{margin:0 0 8px!important;font-size:15px!important;line-height:1.3!important;font-weight:800!important;color:#222!important}
.apd87-faq ul{margin:0!important;padding-left:20px!important}
.apd87-faq li{margin:0 0 7px!important;color:#353535!important;font-size:14px!important;line-height:1.45!important}
.apd87-message-form{padding-top:22px!important;border-top:1px solid #dedede!important}
.apd87-message-form h2{margin:0 0 14px!important;font-size:19px!important;line-height:1.25!important;font-weight:800!important;color:#222!important}
.apd87-message-form textarea{display:block!important;width:100%!important;min-height:132px!important;padding:15px 16px!important;border:1px solid #a9a9a9!important;border-radius:10px!important;background:#fff!important;color:#222!important;font:inherit!important;font-size:14px!important;line-height:1.5!important;resize:vertical!important;box-shadow:none!important}
.apd87-message-form textarea:focus{outline:none!important;border-color:#222!important;box-shadow:0 0 0 2px rgba(34,34,34,.08)!important}
.apd87-send{min-height:45px!important;margin-top:14px!important;padding:0 20px!important;border:0!important;border-radius:10px!important;background:#efefef!important;color:#2e2e2e!important;font-size:14px!important;font-weight:800!important;box-shadow:none!important}
.apd87-send:hover{background:#e7e7e7!important}
.apd87-send[disabled]{opacity:.58!important;cursor:wait!important}
.apd87-status{min-height:20px!important;margin:9px 0 0!important;font-size:13px!important;color:#5f6368!important}
.apd87-status.is-error{color:#b42318!important}.apd87-status.is-success{color:#067647!important}

.apd87-booking-column{position:sticky!important;top:96px!important}
.apd87-booking-card{padding:18px!important;border:1px solid #dedede!important;border-radius:22px!important;background:#fff!important;box-shadow:0 12px 30px rgba(0,0,0,.10)!important}
.apd87-booking-top{display:grid!important;grid-template-columns:minmax(0,1fr) 112px!important;gap:14px!important;align-items:start!important}
.apd87-booking-top h2{margin:0 0 7px!important;font-size:17px!important;line-height:1.02!important;font-weight:800!important;color:#222!important;letter-spacing:-.03em!important}
.apd87-booking-top p{margin:0 0 4px!important;font-size:13px!important;line-height:1.28!important;color:#222!important}
.apd87-booking-top small{display:block!important;color:#717171!important;font-size:11px!important;line-height:1.35!important}
.apd87-booking-top img{display:block!important;width:112px!important;height:86px!important;border-radius:12px!important;object-fit:cover!important}
.apd87-live-price{margin:14px 0 12px!important;color:#111827!important}
.apd87-live-price strong{font-size:18px!important;line-height:1.05!important;font-weight:800!important;letter-spacing:-.03em!important}
.apd87-live-price span{margin-left:5px!important;color:#374151!important;font-size:14px!important;font-weight:600!important}
.apd87-date-grid{display:grid!important;grid-template-columns:1fr 1fr!important;border:1px solid #565656!important;border-radius:14px 14px 0 0!important;overflow:hidden!important;background:#fff!important}
.apd87-date-grid label{position:relative!important;min-height:70px!important;margin:0!important;padding:11px 12px!important;display:block!important;background:#fff!important;cursor:pointer!important}
.apd87-date-grid label+label{border-left:1px solid #565656!important}
.apd87-date-grid span,.apd87-guests-trigger>span{display:block!important;margin:0 0 6px!important;font-size:10px!important;line-height:1!important;font-weight:800!important;color:#111!important;letter-spacing:.03em!important}
.apd87-date-grid input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;z-index:2!important}
.apd87-date-grid em{display:block!important;font-style:normal!important;color:#717171!important;font-size:13px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.apd87-date-grid label.has-value em{color:#111827!important;font-weight:700!important}
.apd87-guests-shell{position:relative!important}
.apd87-guests-trigger{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important;width:100%!important;padding:12px!important;border:1px solid #565656!important;border-top:0!important;border-radius:0 0 14px 14px!important;background:#fff!important;color:#222!important;text-align:left!important}
.apd87-guests-trigger strong{display:block!important;font-size:13px!important;line-height:1.2!important;font-weight:600!important;color:#111827!important;flex:1 1 auto!important}
.apd87-guests-trigger i{font-style:normal!important;font-size:17px!important;line-height:1!important;color:#444!important;flex:0 0 auto!important;transition:transform .18s ease!important}
.apd87-guests-trigger[aria-expanded="true"] i{transform:rotate(180deg)!important}
.apd87-guests-panel{position:absolute!important;top:100%!important;left:0!important;right:0!important;z-index:12!important;margin-top:8px!important;padding:16px 16px 14px!important;border:1px solid #d8dbe2!important;border-radius:16px!important;background:#fff!important;box-shadow:0 20px 44px rgba(15,23,42,.16)!important}
.apd87-guest-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:12px 0!important;border-bottom:1px solid #eceff3!important}
.apd87-guest-row:last-of-type{border-bottom:0!important}
.apd87-guest-row[data-disabled="1"]{opacity:.62!important}
.apd87-guest-copy strong{display:block!important;margin:0 0 4px!important;font-size:15px!important;line-height:1.2!important;font-weight:700!important;color:#111827!important}
.apd87-guest-copy span{display:block!important;margin:0!important;font-size:12px!important;line-height:1.35!important;color:#4b5563!important}
.apd87-guest-counter{display:flex!important;align-items:center!important;gap:10px!important;flex:0 0 auto!important}
.apd87-guest-counter button{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border:1px solid #d0d5dd!important;border-radius:999px!important;background:#fff!important;color:#222!important;font-size:18px!important;line-height:1!important;padding:0!important}
.apd87-guest-counter button[disabled]{opacity:.38!important;cursor:not-allowed!important}
.apd87-guest-counter output{display:inline-block!important;min-width:18px!important;text-align:center!important;color:#111827!important;font-size:16px!important;font-weight:700!important}
.apd87-guests-capacity{margin:12px 0 0!important;font-size:12px!important;line-height:1.45!important;color:#374151!important}
.apd87-guests-close{display:block!important;margin:14px 0 0 auto!important;padding:0!important;border:0!important;background:transparent!important;color:#111827!important;font-size:14px!important;font-weight:700!important}
.apd87-availability{display:block!important;width:100%!important;min-height:50px!important;margin-top:16px!important;border:0!important;border-radius:14px!important;background:linear-gradient(90deg,#e61e4d 0%,#d70466 100%)!important;color:#fff!important;font-size:17px!important;font-weight:800!important;box-shadow:0 14px 28px rgba(214,4,102,.20)!important}
.apd87-availability:hover{filter:brightness(.99)!important}
.apd87-booking-status{min-height:18px!important;margin:10px 2px 0!important;color:#717171!important;font-size:12px!important;line-height:1.4!important}
.apd87-booking-status.is-error{color:#b42318!important}
.apd87-booking-status.is-success{color:#067647!important}
.apd87-booking-summary{margin-top:12px!important;padding:0 2px!important}
.apd87-summary-note{margin:0 0 10px!important;font-size:12px!important;line-height:1.4!important;color:#4b5563!important;text-align:center!important}
.apd87-summary-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;margin:0 0 10px!important;font-size:14px!important;line-height:1.35!important;color:#111827!important}
.apd87-summary-row span{display:block!important;flex:1 1 auto!important}
.apd87-summary-row strong{display:block!important;flex:0 0 auto!important;white-space:nowrap!important;color:#111827!important;font-weight:700!important}
.apd87-summary-row.is-total{padding-top:10px!important;border-top:1px solid #e5e7eb!important;font-weight:800!important}
.apd87-summary-row.is-total span,.apd87-summary-row.is-total strong{font-size:14px!important;font-weight:800!important}
body.apd87-contact-open{overflow:hidden!important}

@media(max-width:991px){
  .apd87-contact-header{height:64px!important}
  .apd87-contact-header-inner{width:calc(100% - 28px)!important}
  .apd87-contact-body{width:min(720px,calc(100% - 28px))!important;padding:18px 0 48px!important;grid-template-columns:1fr!important;gap:24px!important}
  .apd87-booking-column{position:static!important;order:-1!important}
  .apd87-contact-main{order:2!important}
  .apd87-contact-intro h1{font-size:25px!important}
  .apd87-booking-card{max-width:520px!important;width:100%!important;margin:0 auto!important}
}
@media(max-width:560px){
  .apd87-contact-body{width:calc(100% - 24px)!important}
  .apd87-contact-intro{align-items:flex-start!important}
  .apd87-contact-avatars{display:none!important}
  .apd87-contact-intro h1{font-size:23px!important}
  .apd87-booking-top{grid-template-columns:minmax(0,1fr) 88px!important}
  .apd87-booking-top img{width:88px!important;height:70px!important}
  .apd87-message-form textarea{min-height:118px!important}
  .apd87-host-contact-button{padding:14px 16px!important}
  .apd87-host-contact-copy strong{font-size:16px!important}
  .apd87-host-contact-copy small{font-size:11px!important}
}
