/* JRNP_RESPONSIVE_FINAL_V1
   Final mobile/desktop QA layer. Loaded last in the canonical listing bundle. */

body.jrnp-premium-listing .content-section,
body.jrnp-premium-listing .content-wrap,
body.jrnp-premium-listing .content-left,
body.jrnp-premium-listing .content-right,
body.jrnp-premium-listing .jrnp-space-explorer,
body.jrnp-premium-listing .jrnp-space-explorer-inner,
body.jrnp-premium-listing .jrnp-space-groups,
body.jrnp-premium-listing .jrnp-wide-property-content,
body.jrnp-premium-listing .rules-section,
body.jrnp-premium-listing .location-section,
body.jrnp-premium-listing .also-like-section,
body.jrnp-premium-listing footer,
body.jrnp-premium-listing .footer-section{
  height:auto!important;
  min-height:0!important;
}

body.jrnp-premium-listing .booking-widget.jrnp-approved-booking,
body.jrnp-premium-listing .rate-calendar-card,
body.jrnp-premium-listing .jrnp-booking-trust{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

body.jrnp-premium-listing .jrnp-booking-contract-status{
  margin:8px 2px 12px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#47625b!important;
  font:600 12px/1.45 Inter,sans-serif!important;
}
body.jrnp-premium-listing .jrnp-booking-contract-status.is-error{
  margin:10px 0 12px!important;
  padding:10px 12px!important;
  border:1px solid rgba(162,50,50,.22)!important;
  border-radius:10px!important;
  background:#fff6f4!important;
  color:#963636!important;
}

@media(min-width:1024px){
  body.jrnp-premium-listing .content-left>.jrnp-booking-under-description{
    width:min(900px,calc(100% - 64px))!important;
    max-width:900px!important;
  }
  body.jrnp-premium-listing .booking-widget.jrnp-approved-booking{
    padding:26px 30px 28px!important;
  }
  body.jrnp-premium-listing .jrnp-booking-title{
    font-size:40px!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-day{
    min-height:50px!important;
  }
}

@media(max-width:900px){
  /* Scroll-reveal content must remain visible in mobile full-page capture and fast scroll. */
  body.jrnp-premium-listing .reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  body.jrnp-premium-listing{
    padding-bottom:82px!important;
  }
  body.jrnp-premium-listing .content-section{
    padding:34px 16px 24px!important;
  }
  body.jrnp-premium-listing .content-wrap{
    gap:24px!important;
  }
  body.jrnp-premium-listing .content-left>.jrnp-booking-under-description{
    width:100%!important;
    max-width:680px!important;
    margin:18px auto 24px!important;
  }
  body.jrnp-premium-listing .booking-widget.jrnp-approved-booking{
    padding:20px 18px 22px!important;
    border-radius:20px!important;
  }
  body.jrnp-premium-listing .jrnp-booking-intro{
    padding-top:16px!important;
    margin-bottom:14px!important;
  }
  body.jrnp-premium-listing .jrnp-booking-title{
    font-size:clamp(30px,8vw,36px)!important;
    line-height:1.04!important;
  }
  body.jrnp-premium-listing .jrnp-booking-copy{
    font-size:13px!important;
    line-height:1.45!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .date-cell{
    min-height:62px!important;
    padding:9px 11px!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .guest-select{
    min-height:58px!important;
    padding:9px 13px!important;
    margin-bottom:14px!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking input[type=date],
  body.jrnp-premium-listing .jrnp-approved-booking select{
    min-height:30px!important;
    font-size:14px!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-calendar-title{
    padding:10px 9px!important;
    gap:7px!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-calendar-controls{
    min-width:0!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-calendar-month{
    min-width:88px!important;
    font-size:11px!important;
  }
  body.jrnp-premium-listing .jrnp-calendar-legend-approved{
    gap:8px!important;
    font-size:8px!important;
    min-width:0!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-calendar-grid{
    padding:0 6px 8px!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-cal-head{
    padding:7px 1px!important;
    font-size:8px!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-day{
    min-height:40px!important;
    padding:3px 1px!important;
    border-radius:0!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-day-num,
  body.jrnp-premium-listing .jrnp-approved-booking .rate-day-number{
    font-size:10px!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-day-price{
    font-size:8px!important;
    letter-spacing:-.02em!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-calendar-hint,
  body.jrnp-premium-listing .jrnp-calendar-snapshot-note{
    font-size:10px!important;
    line-height:1.4!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .book-btn{
    min-height:50px!important;
    font-size:13px!important;
  }
  body.jrnp-premium-listing .jrnp-booking-trust{
    margin-top:12px!important;
  }
  body.jrnp-premium-listing .jrnp-booking-trust div{
    padding:10px 4px!important;
    font-size:8px!important;
    line-height:1.3!important;
  }
  body.jrnp-premium-listing .jrnp-booking-trust b{
    font-size:16px!important;
    margin-bottom:4px!important;
  }
  body.jrnp-premium-listing .amenities-section.jrnp-approved-amenities{
    margin:26px auto!important;
  }
  body.jrnp-premium-listing .jrnp-space-explorer,
  body.jrnp-premium-listing .rules-section,
  body.jrnp-premium-listing .location-section,
  body.jrnp-premium-listing .also-like-section{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
  body.jrnp-premium-listing .footer-section,
  body.jrnp-premium-listing footer{
    padding-bottom:96px!important;
  }
}

@media(max-width:520px){
  body.jrnp-premium-listing .content-section{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body.jrnp-premium-listing .booking-widget.jrnp-approved-booking{
    padding:18px 14px 20px!important;
  }
  body.jrnp-premium-listing .jrnp-booking-title{
    font-size:30px!important;
  }
  body.jrnp-premium-listing .jrnp-booking-copy{
    font-size:12.5px!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-calendar-title{
    flex-wrap:wrap!important;
  }
  body.jrnp-premium-listing .jrnp-approved-booking .rate-calendar-controls{
    width:100%!important;
    justify-content:center!important;
  }
  body.jrnp-premium-listing .jrnp-calendar-legend-approved{
    width:100%!important;
    margin-left:0!important;
    justify-content:center!important;
  }
  body.jrnp-premium-listing .jrnp-booking-trust{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.jrnp-premium-listing .jrnp-booking-trust div{
    min-height:58px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    border-right:1px solid var(--jrnp-approved-line)!important;
    border-bottom:1px solid var(--jrnp-approved-line)!important;
  }
  body.jrnp-premium-listing .jrnp-booking-trust div:nth-child(2n){
    border-right:0!important;
  }
  body.jrnp-premium-listing .jrnp-booking-trust div:nth-last-child(-n+2){
    border-bottom:0!important;
  }
  body.jrnp-premium-listing .jrnp-approved-amenities .amenities-title{
    font-size:32px!important;
  }
  body.jrnp-premium-listing .jrnp-approved-amenities .amenity-group{
    padding:20px 18px!important;
  }
}

@media print{
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .jrnp-sticky-book-cta,.chat-widget{display:none!important}
}