/* JRNP_OTA_LISTING_V1
   OTA-informed property-page layout: familiar gallery, compact hierarchy,
   desktop sticky booking rail, mobile booking handoff, and public-safe stay guide. */

body.jrnp-ota-listing{
  --jrnp-ota-max:1180px;
  --jrnp-ota-rail:420px;
  --jrnp-ota-gap:32px;
  --jrnp-ota-green:#0f4f43;
  --jrnp-ota-green-dark:#0a4037;
  --jrnp-ota-gold:#c4956a;
  --jrnp-ota-ink:#173e36;
  --jrnp-ota-muted:#66716d;
  --jrnp-ota-line:rgba(23,62,54,.13);
  --jrnp-ota-bg:#faf8f5;
  background:var(--jrnp-ota-bg)!important;
  color:var(--jrnp-ota-ink)!important;
}

body.jrnp-ota-listing,
body.jrnp-ota-listing button,
body.jrnp-ota-listing input,
body.jrnp-ota-listing select,
body.jrnp-ota-listing textarea{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
}

body.jrnp-ota-listing h1,
body.jrnp-ota-listing h2,
body.jrnp-ota-listing h3{
  text-wrap:balance;
}

body.jrnp-ota-listing .jrnp-approved-listing-shell{
  width:min(var(--jrnp-ota-max),calc(100% - 40px))!important;
  margin:18px auto 0!important;
}

body.jrnp-ota-listing .jrnp-approved-gallery-title{
  max-width:760px!important;
  font-size:clamp(38px,4.4vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.032em!important;
}

body.jrnp-ota-listing .jrnp-approved-gallery-eyebrow{
  letter-spacing:.14em!important;
}

body.jrnp-ota-listing .jrnp-approved-listing-facts{
  box-shadow:none!important;
  background:#fff!important;
}

body.jrnp-ota-listing .jrnp-approved-listing-tabs{
  position:sticky;
  top:76px;
  z-index:70;
  border:1px solid var(--jrnp-ota-line)!important;
  border-left:0!important;
  border-right:0!important;
  background:rgba(250,248,245,.96)!important;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}

body.jrnp-ota-listing .jrnp-approved-listing-tab{
  min-height:58px!important;
  font-size:13px!important;
  letter-spacing:-.004em;
}

body.jrnp-ota-listing .jrnp-approved-listing-tab[aria-current="true"],
body.jrnp-ota-listing .jrnp-approved-listing-tab.is-active{
  color:var(--jrnp-ota-green)!important;
  box-shadow:inset 0 -2px 0 var(--jrnp-ota-green);
  background:#fff!important;
}

body.jrnp-ota-listing .jrnp-ota-show-all{
  position:absolute;
  right:16px;
  bottom:16px;
  z-index:12;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 15px;
  border:1px solid rgba(23,62,54,.14);
  border-radius:10px;
  background:rgba(255,255,255,.96);
  color:var(--jrnp-ota-ink);
  box-shadow:0 4px 18px rgba(20,38,33,.12);
  font-size:12px;
  font-weight:750;
  letter-spacing:.01em;
}

body.jrnp-ota-listing .jrnp-ota-show-all:hover{
  background:#fff;
  border-color:rgba(23,62,54,.24);
}

body.jrnp-ota-listing .content-section{
  padding:48px 20px 56px!important;
}

body.jrnp-ota-listing .content-wrap{
  width:min(var(--jrnp-ota-max),100%)!important;
  max-width:var(--jrnp-ota-max)!important;
  margin:0 auto!important;
}

body.jrnp-ota-listing .content-left{
  min-width:0!important;
}

body.jrnp-ota-listing .jrnp-static-overview{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 30px!important;
  border:0!important;
  border-bottom:1px solid var(--jrnp-ota-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.jrnp-ota-listing .jrnp-static-overview h2,
body.jrnp-ota-listing .amenities-title,
body.jrnp-ota-listing .jrnp-static-room-tour h2,
body.jrnp-ota-listing .rules-title,
body.jrnp-ota-listing .location-title,
body.jrnp-ota-listing .property-faq-title{
  font-size:clamp(30px,3.3vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}

body.jrnp-ota-listing .jrnp-static-intro,
body.jrnp-ota-listing .desc-para,
body.jrnp-ota-listing .property-faq-intro{
  font-size:15px!important;
  line-height:1.65!important;
}

body.jrnp-ota-listing .host-card{
  border:0!important;
  border-top:1px solid var(--jrnp-ota-line)!important;
  border-bottom:1px solid var(--jrnp-ota-line)!important;
  border-radius:0!important;
  padding:28px 0!important;
  box-shadow:none!important;
  background:transparent!important;
}

body.jrnp-ota-listing .booking-widget{
  border-radius:18px!important;
  border:1px solid var(--jrnp-ota-line)!important;
  box-shadow:0 8px 28px rgba(22,45,38,.08)!important;
}

body.jrnp-ota-listing .jrnp-booking-title{
  font-size:32px!important;
  line-height:1.05!important;
}

body.jrnp-ota-listing .booking-widget .book-btn{
  min-height:52px!important;
  font-size:13px!important;
  letter-spacing:.06em!important;
}

body.jrnp-ota-listing .jrnp-static-room-tour,
body.jrnp-ota-listing .jrnp-property-feature,
body.jrnp-ota-listing .rules-wrap,
body.jrnp-ota-listing .location-wrap,
body.jrnp-ota-listing .reviews-wrap,
body.jrnp-ota-listing .property-faq-wrap,
body.jrnp-ota-listing .also-like-wrap{
  width:min(var(--jrnp-ota-max),calc(100% - 40px))!important;
  max-width:var(--jrnp-ota-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.jrnp-ota-listing .jrnp-static-room-tour{
  padding-left:0!important;
  padding-right:0!important;
}

body.jrnp-ota-listing .jrnp-room-card,
body.jrnp-ota-listing .amenity-group,
body.jrnp-ota-listing .property-faq-card{
  border-radius:16px!important;
  box-shadow:none!important;
}

body.jrnp-ota-listing .jrnp-room-card h4{
  font-size:26px!important;
}

body.jrnp-ota-listing .amenities-section{
  width:100%!important;
  max-width:none!important;
  margin:34px 0!important;
}

body.jrnp-ota-listing .amenities-section .amenities-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}

body.jrnp-ota-listing .amenities-section .amenity-group{
  padding:24px 25px!important;
}

body.jrnp-ota-listing .jrnp-approved-amenities .amenity-item{
  font-size:14px!important;
}

body.jrnp-ota-listing .jrnp-ota-guest-experience{
  width:min(var(--jrnp-ota-max),calc(100% - 40px));
  margin:48px auto;
  padding:32px;
  border:1px solid var(--jrnp-ota-line);
  border-radius:20px;
  background:#fff;
}

body.jrnp-ota-listing .jrnp-ota-kicker{
  display:block;
  margin:0 0 7px;
  color:#9a6b49;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

body.jrnp-ota-listing .jrnp-ota-guest-experience h2{
  margin:0;
  color:var(--jrnp-ota-ink);
  font:500 clamp(30px,3.2vw,40px)/1.08 "Playfair Display",Georgia,serif;
  letter-spacing:-.025em;
}

body.jrnp-ota-listing .jrnp-ota-guest-experience-head>p{
  max-width:720px;
  margin:10px 0 0;
  color:var(--jrnp-ota-muted);
  font-size:14px;
  line-height:1.6;
}

body.jrnp-ota-listing .jrnp-ota-guide-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
}

body.jrnp-ota-listing .jrnp-ota-guide-card{
  min-width:0;
  padding:18px;
  border:1px solid var(--jrnp-ota-line);
  border-radius:14px;
  background:var(--jrnp-ota-bg);
}

body.jrnp-ota-listing .jrnp-ota-guide-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:14px;
  border-radius:10px;
  background:#fff;
  color:var(--jrnp-ota-green);
  font-size:16px;
  font-weight:800;
}

body.jrnp-ota-listing .jrnp-ota-guide-card h3{
  margin:0 0 6px;
  color:var(--jrnp-ota-ink);
  font:700 14px/1.25 Inter,sans-serif;
}

body.jrnp-ota-listing .jrnp-ota-guide-card p{
  margin:0;
  color:var(--jrnp-ota-muted);
  font-size:12px;
  line-height:1.55;
}

body.jrnp-ota-listing .jrnp-ota-help{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--jrnp-ota-line);
}

body.jrnp-ota-listing .jrnp-ota-help strong{
  display:block;
  color:var(--jrnp-ota-ink);
  font-size:14px;
}

body.jrnp-ota-listing .jrnp-ota-help span{
  display:block;
  margin-top:3px;
  color:var(--jrnp-ota-muted);
  font-size:12px;
  line-height:1.45;
}

body.jrnp-ota-listing .jrnp-ota-help-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.jrnp-ota-listing .jrnp-ota-help-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid var(--jrnp-ota-line);
  border-radius:10px;
  background:#fff;
  color:var(--jrnp-ota-ink);
  font-size:12px;
  font-weight:750;
  text-decoration:none;
}

body.jrnp-ota-listing .jrnp-ota-help-actions a:first-child{
  background:var(--jrnp-ota-green);
  border-color:var(--jrnp-ota-green);
  color:#fff;
}

body.jrnp-ota-listing .jrnp-mobile-booking-bar{
  display:none;
}

@media(min-width:1024px){
  body.jrnp-ota-listing .jrnp-approved-listing-shell .photo-gallery{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,2fr) minmax(300px,.95fr)!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    overflow:visible!important;
  }

  body.jrnp-ota-listing .jrnp-approved-gallery-card{
    grid-column:1!important;
    grid-row:1 / 3!important;
    min-height:500px!important;
    border-radius:18px!important;
    box-shadow:none!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-main{
    width:100%!important;
    height:100%!important;
    min-height:500px!important;
    aspect-ratio:auto!important;
    border-radius:18px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-gallery-info{
    padding:30px 78px 30px 30px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-thumbs{
    grid-column:2!important;
    grid-row:1 / 3!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    height:500px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    scroll-snap-type:none!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-thumb{
    display:none!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    margin:0!important;
    border:0!important;
    border-radius:14px!important;
    opacity:1!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-thumb:nth-child(-n+4){
    display:block!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-arrow{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-facts{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    margin:18px 0 0!important;
    border-radius:14px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-fact,
  body.jrnp-ota-listing .jrnp-approved-listing-fact:first-child{
    grid-column:auto!important;
    min-width:0;
    padding:17px 16px!important;
    border-top:0!important;
    border-right:1px solid var(--jrnp-ota-line)!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-fact:last-child{
    border-right:0!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-fact-label{
    font-size:9px!important;
    margin-bottom:5px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-fact-value{
    font-size:14px!important;
    line-height:1.35!important;
  }

  body.jrnp-ota-listing .content-wrap,
  body.jrnp-ota-listing .content-wrap.jrnp-booking-stack{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) var(--jrnp-ota-rail)!important;
    align-items:start!important;
    gap:var(--jrnp-ota-gap)!important;
  }

  body.jrnp-ota-listing .content-wrap>.content-left,
  body.jrnp-ota-listing .content-wrap.jrnp-booking-stack>.content-left{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  body.jrnp-ota-listing .content-wrap>.content-right,
  body.jrnp-ota-listing .content-wrap>.content-right.jrnp-booking-moved{
    display:block!important;
    width:100%!important;
    max-width:var(--jrnp-ota-rail)!important;
    margin:0!important;
  }

  body.jrnp-ota-listing .content-right .booking-sticky,
  body.jrnp-ota-listing .content-right .jrnp-ota-booking-rail{
    position:sticky!important;
    top:96px!important;
    width:100%!important;
    max-width:var(--jrnp-ota-rail)!important;
  }

  body.jrnp-ota-listing .content-right .booking-widget.jrnp-approved-booking{
    padding:22px!important;
  }

  body.jrnp-ota-listing .content-right .jrnp-booking-title{
    font-size:30px!important;
  }

  body.jrnp-ota-listing .content-right .jrnp-booking-copy{
    font-size:12px!important;
    line-height:1.5!important;
  }

  body.jrnp-ota-listing .content-right .jrnp-approved-booking .rate-day{
    min-height:42px!important;
  }

  body.jrnp-ota-listing .content-right .jrnp-booking-trust{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  body.jrnp-ota-listing .content-right .jrnp-booking-trust div{
    min-height:58px;
    border-bottom:1px solid var(--jrnp-ota-line);
  }

  body.jrnp-ota-listing .content-right .jrnp-booking-trust div:nth-child(2n){
    border-right:0!important;
  }

  body.jrnp-ota-listing .content-right .jrnp-booking-trust div:nth-last-child(-n+2){
    border-bottom:0!important;
  }
}

@media(max-width:1023px){
  body.jrnp-ota-listing{
    padding-bottom:calc(82px + env(safe-area-inset-bottom))!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell{
    width:100%!important;
    padding:0 12px!important;
    margin-top:10px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-gallery-card{
    border-radius:18px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-main{
    min-height:0!important;
    aspect-ratio:4/3!important;
    border-radius:18px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-gallery-info{
    padding:22px 58px 22px 20px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-gallery-title{
    font-size:clamp(32px,9.5vw,44px)!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-thumbs{
    display:none!important;
  }

  body.jrnp-ota-listing .jrnp-ota-show-all{
    display:none!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-arrow{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-facts{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin:12px 0 0!important;
    border-radius:14px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-fact,
  body.jrnp-ota-listing .jrnp-approved-listing-fact:first-child{
    grid-column:auto!important;
    padding:13px 12px!important;
    border-top:1px solid var(--jrnp-ota-line)!important;
    border-right:1px solid var(--jrnp-ota-line)!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-fact:nth-child(2n){
    border-right:0!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-fact-label{
    font-size:8px!important;
    margin-bottom:4px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-fact-value{
    font-size:13px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-tabs{
    top:68px;
    display:flex!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-tabs::-webkit-scrollbar{
    display:none;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-tab{
    flex:0 0 auto;
    min-width:118px;
    min-height:50px!important;
    padding:10px 13px!important;
    font-size:11px!important;
  }

  body.jrnp-ota-listing .content-section{
    padding:28px 16px 36px!important;
  }

  body.jrnp-ota-listing .content-wrap,
  body.jrnp-ota-listing .content-wrap.jrnp-booking-stack{
    display:block!important;
    width:100%!important;
    max-width:720px!important;
    margin:0 auto!important;
  }

  body.jrnp-ota-listing .content-left,
  body.jrnp-ota-listing .content-right{
    width:100%!important;
    max-width:100%!important;
  }

  body.jrnp-ota-listing .content-left>.jrnp-booking-under-description,
  body.jrnp-ota-listing .content-left>.jrnp-ota-booking-rail{
    width:100%!important;
    max-width:100%!important;
    margin:24px 0 32px!important;
    position:static!important;
  }

  body.jrnp-ota-listing .content-right:empty{
    display:none!important;
  }

  body.jrnp-ota-listing .jrnp-static-overview h2,
  body.jrnp-ota-listing .amenities-title,
  body.jrnp-ota-listing .jrnp-static-room-tour h2,
  body.jrnp-ota-listing .rules-title,
  body.jrnp-ota-listing .location-title,
  body.jrnp-ota-listing .property-faq-title{
    font-size:clamp(28px,8vw,34px)!important;
  }

  body.jrnp-ota-listing .amenities-section .amenities-grid{
    grid-template-columns:1fr!important;
  }

  body.jrnp-ota-listing .jrnp-static-room-tour,
  body.jrnp-ota-listing .jrnp-property-feature,
  body.jrnp-ota-listing .rules-wrap,
  body.jrnp-ota-listing .location-wrap,
  body.jrnp-ota-listing .reviews-wrap,
  body.jrnp-ota-listing .property-faq-wrap,
  body.jrnp-ota-listing .also-like-wrap{
    width:calc(100% - 32px)!important;
  }

  body.jrnp-ota-listing .jrnp-ota-guest-experience{
    width:calc(100% - 32px);
    margin:34px auto;
    padding:24px 18px;
    border-radius:16px;
  }

  body.jrnp-ota-listing .jrnp-ota-guide-grid{
    grid-template-columns:1fr 1fr;
  }

  body.jrnp-ota-listing .jrnp-ota-help{
    align-items:flex-start;
    flex-direction:column;
  }

  body.jrnp-ota-listing .jrnp-mobile-booking-bar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:12000;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:70px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    border-top:1px solid var(--jrnp-ota-line);
    background:rgba(255,255,255,.97);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    box-shadow:0 -8px 24px rgba(22,45,38,.08);
  }

  body.jrnp-ota-listing .jrnp-mobile-booking-bar-copy{
    min-width:0;
  }

  body.jrnp-ota-listing .jrnp-mobile-booking-bar-copy strong{
    display:block;
    color:var(--jrnp-ota-ink);
    font-size:12px;
    line-height:1.2;
  }

  body.jrnp-ota-listing .jrnp-mobile-booking-bar-copy span{
    display:block;
    margin-top:3px;
    color:var(--jrnp-ota-muted);
    font-size:10px;
    line-height:1.2;
  }

  body.jrnp-ota-listing .jrnp-mobile-booking-bar button{
    flex:0 0 auto;
    min-height:46px;
    padding:0 17px;
    border:0;
    border-radius:10px;
    background:var(--jrnp-ota-green);
    color:#fff;
    font-size:12px;
    font-weight:800;
  }
}

@media(max-width:520px){
  body.jrnp-ota-listing .jrnp-approved-listing-shell{
    padding:0 8px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-facts{
    grid-template-columns:1fr 1fr!important;
  }

  body.jrnp-ota-listing .content-section{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  body.jrnp-ota-listing .booking-widget{
    padding:18px 14px!important;
  }

  body.jrnp-ota-listing .jrnp-ota-guide-grid{
    grid-template-columns:1fr;
  }

  body.jrnp-ota-listing .jrnp-ota-help-actions{
    width:100%;
  }

  body.jrnp-ota-listing .jrnp-ota-help-actions a{
    flex:1 1 140px;
  }
}

@media(prefers-reduced-motion:reduce){
  body.jrnp-ota-listing *,
  body.jrnp-ota-listing *::before,
  body.jrnp-ota-listing *::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}

/* JRNP_OTA_LISTING_LAUNCH_POLISH_V2 */
body.jrnp-ota-listing .jrnp-ota-show-all:focus-visible,
body.jrnp-ota-listing .jrnp-approved-listing-tab:focus-visible,
body.jrnp-ota-listing .jrnp-mobile-booking-bar button:focus-visible{
  outline:3px solid rgba(15,79,67,.28);
  outline-offset:3px;
}

body.jrnp-ota-listing .jrnp-mobile-booking-bar.has-selection .jrnp-mobile-booking-bar-copy strong{
  font-size:13px;
  letter-spacing:-.01em;
}

body.jrnp-ota-listing .jrnp-mobile-booking-bar.has-selection .jrnp-mobile-booking-bar-copy span{
  color:var(--jrnp-ota-ink);
}

@media(hover:hover){
  body.jrnp-ota-listing .jrnp-ota-show-all,
  body.jrnp-ota-listing .jrnp-mobile-booking-bar button{
    transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease;
  }

  body.jrnp-ota-listing .jrnp-ota-show-all:hover,
  body.jrnp-ota-listing .jrnp-mobile-booking-bar button:hover{
    transform:translateY(-1px);
  }

  body.jrnp-ota-listing .jrnp-mobile-booking-bar button:hover{
    background:var(--jrnp-ota-green-dark);
    box-shadow:0 8px 20px rgba(15,79,67,.16);
  }
}



/* JRNP_RESPONSIVE_AUDIT_FIX_20260930 */
/* Preserve the approved listing design while correcting shared tablet/mobile proportions. */
body.jrnp-ota-listing .jrnp-approved-gallery-info,
body.jrnp-ota-listing .jrnp-approved-gallery-title,
body.jrnp-ota-listing .jrnp-approved-gallery-kicker{
  text-shadow:none!important;
  filter:none!important;
}

@media(min-width:1440px){
  body.jrnp-ota-listing{
    --jrnp-ota-max:1360px;
  }
}

@media(max-width:1023px){
  body.jrnp-ota-listing{
    padding-bottom:calc(66px + env(safe-area-inset-bottom))!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-main{
    height:clamp(300px,52vw,460px)!important;
    min-height:300px!important;
    max-height:460px!important;
    aspect-ratio:auto!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-main img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  body.jrnp-ota-listing .jrnp-approved-gallery-info{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    padding:18px 54px 18px 18px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-gallery-title{
    font-size:clamp(28px,6vw,40px)!important;
    line-height:1.05!important;
  }

  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-arrow{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
  }

  body.jrnp-ota-listing .jrnp-mobile-booking-bar{
    min-height:58px!important;
    padding:7px 12px calc(7px + env(safe-area-inset-bottom))!important;
    gap:8px!important;
  }

  body.jrnp-ota-listing .jrnp-mobile-booking-bar button{
    min-height:40px!important;
    padding:0 14px!important;
  }

  body.jrnp-ota-listing .chat-toggle,
  body.jrnp-ota-listing .chat-button,
  body.jrnp-ota-listing [data-chat-toggle]{
    bottom:calc(70px + env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:600px){
  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-main{
    height:clamp(250px,68vw,340px)!important;
    min-height:250px!important;
    max-height:340px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-gallery-info{
    padding:14px 48px 14px 14px!important;
  }

  body.jrnp-ota-listing .jrnp-approved-gallery-title{
    font-size:clamp(25px,7.4vw,34px)!important;
  }

  body.jrnp-ota-listing .jrnp-approved-gallery-kicker{
    font-size:10px!important;
    letter-spacing:.11em!important;
  }

  body.jrnp-ota-listing .jrnp-mobile-booking-bar-copy span{
    display:none!important;
  }
}


/* JRNP_FAMILY_LISTING_AUDIT_FIX_20261001
   Final page-specific lock for the Phoenix family listing. Keeps the approved
   design while removing legacy glow/shadow residue and stabilizing desktop width. */
body.jrnp-family-listing-audit-fix.jrnp-ota-listing :where(h1,h2,h3,h4,p,a,button,label,span){
  text-shadow:none!important;
}
body.jrnp-family-listing-audit-fix.jrnp-ota-listing :where(h1,h2,h3,h4,.jrnp-approved-gallery-info,.jrnp-approved-gallery-title,.jrnp-approved-gallery-kicker){
  filter:none!important;
  -webkit-text-fill-color:currentColor!important;
}
body.jrnp-family-listing-audit-fix.jrnp-ota-listing .hero-price,
body.jrnp-family-listing-audit-fix.jrnp-ota-listing .compact-price{
  display:none!important;
}
body.jrnp-family-listing-audit-fix.jrnp-ota-listing .content-left>.reveal:first-child,
body.jrnp-family-listing-audit-fix.jrnp-ota-listing .host-card,
body.jrnp-family-listing-audit-fix.jrnp-ota-listing .amenities-section{
  box-shadow:none!important;
}
body.jrnp-family-listing-audit-fix.jrnp-ota-listing .booking-widget.jrnp-approved-booking{
  box-shadow:0 8px 24px rgba(22,45,38,.06)!important;
}
@media(min-width:1024px){
  body.jrnp-family-listing-audit-fix.jrnp-ota-listing{
    --jrnp-ota-max:1320px;
    --jrnp-ota-rail:420px;
    --jrnp-ota-gap:32px;
  }
  body.jrnp-family-listing-audit-fix.jrnp-ota-listing .content-wrap,
  body.jrnp-family-listing-audit-fix.jrnp-ota-listing .content-wrap.jrnp-booking-stack{
    width:min(var(--jrnp-ota-max),calc(100% - 48px))!important;
    max-width:var(--jrnp-ota-max)!important;
    grid-template-columns:minmax(0,1fr) var(--jrnp-ota-rail)!important;
    gap:var(--jrnp-ota-gap)!important;
  }
  body.jrnp-family-listing-audit-fix.jrnp-ota-listing .content-right .booking-sticky,
  body.jrnp-family-listing-audit-fix.jrnp-ota-listing .content-right .jrnp-ota-booking-rail{
    position:sticky!important;
    top:96px!important;
    width:100%!important;
    max-width:var(--jrnp-ota-rail)!important;
  }
}


/* JRNP_PREMIUM_STR_FOUNDATION_20261002
   Premium direct-booking foundation shared by the five canonical listings.
   Desktop keeps photography + a stable booking rail. Tablet/mobile collapse to
   a clean reading flow with a persistent bottom booking action. */
body.jrnp-ota-listing{
  --jrnp-ota-max:1320px;
  --jrnp-ota-rail:410px;
  --jrnp-ota-gap:46px;
}
body.jrnp-ota-listing .jrnp-approved-listing-shell,
body.jrnp-ota-listing .content-wrap,
body.jrnp-ota-listing .jrnp-static-room-tour,
body.jrnp-ota-listing .jrnp-property-feature,
body.jrnp-ota-listing .rules-wrap,
body.jrnp-ota-listing .location-wrap,
body.jrnp-ota-listing .reviews-wrap,
body.jrnp-ota-listing .property-faq-wrap,
body.jrnp-ota-listing .also-like-wrap{
  max-width:var(--jrnp-ota-max)!important;
}
body.jrnp-ota-listing .content-section{
  padding:56px 24px 72px!important;
}
body.jrnp-ota-listing .content-left{
  min-width:0!important;
}
body.jrnp-ota-listing .content-left>.reveal:first-child{
  padding-bottom:30px;
  border-bottom:1px solid var(--jrnp-ota-line);
}
body.jrnp-ota-listing .page-title{
  margin-bottom:8px!important;
  color:var(--jrnp-ota-ink)!important;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
body.jrnp-ota-listing .page-location{
  margin-bottom:18px!important;
}
body.jrnp-ota-listing .desc-para,
body.jrnp-ota-listing .jrnp-full-description__body p{
  max-width:760px;
  color:#43534f!important;
  font-size:16px!important;
  line-height:1.7!important;
}
body.jrnp-ota-listing .jrnp-full-description{
  max-width:800px;
  margin:22px 0 0!important;
}
body.jrnp-ota-listing .jrnp-full-description details{
  border:0!important;
  border-top:1px solid var(--jrnp-ota-line)!important;
  border-bottom:1px solid var(--jrnp-ota-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.jrnp-ota-listing .jrnp-full-description summary{
  min-height:50px;
  display:flex;
  align-items:center;
  color:var(--jrnp-ota-green)!important;
  font-size:14px!important;
  font-weight:750!important;
}

/* Property information should read like editorial content, not a dashboard. */
body.jrnp-ota-listing .jrnp-property-details{
  width:min(var(--jrnp-ota-max),calc(100% - 48px))!important;
  margin:46px auto 10px!important;
  padding:32px 0!important;
  border:0!important;
  border-top:1px solid var(--jrnp-ota-line)!important;
  border-bottom:1px solid var(--jrnp-ota-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.jrnp-ota-listing .jrnp-property-details .jrnp-detail-grid{
  gap:0 28px!important;
}
body.jrnp-ota-listing .jrnp-property-details .jrnp-detail-card{
  min-height:0!important;
  padding:18px 0!important;
  border:0!important;
  border-top:1px solid rgba(23,62,54,.10)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.jrnp-ota-listing .jrnp-property-details .jrnp-detail-label{
  color:#94613d!important;
}

/* Booking rail: hotel-grade hierarchy, clear total, one primary action. */
body.jrnp-ota-listing .booking-widget{
  padding:26px!important;
  border:1px solid rgba(23,62,54,.14)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(22,45,38,.09)!important;
}
body.jrnp-ota-listing .jrnp-booking-title{
  font-size:clamp(30px,2.8vw,38px)!important;
  line-height:1.04!important;
  letter-spacing:-.028em!important;
}
body.jrnp-ota-listing .jrnp-booking-copy{
  color:var(--jrnp-ota-muted)!important;
  font-size:13px!important;
  line-height:1.55!important;
}
body.jrnp-ota-listing .booking-widget .date-grid,
body.jrnp-ota-listing .booking-widget .guest-select{
  border-color:rgba(23,62,54,.16)!important;
  background:#fff!important;
}
body.jrnp-ota-listing .booking-widget #priceBreakdown{
  margin:18px 0 16px!important;
  padding:16px 0 0!important;
  border-top:1px solid var(--jrnp-ota-line)!important;
}
body.jrnp-ota-listing .booking-widget .price-row{
  padding:6px 0!important;
  color:#42534e!important;
}
body.jrnp-ota-listing .booking-widget .price-row.total{
  margin-top:8px!important;
  padding-top:12px!important;
  border-top:1px solid var(--jrnp-ota-line)!important;
  color:var(--jrnp-ota-ink)!important;
  font-size:17px!important;
}
body.jrnp-ota-listing .booking-widget .book-btn{
  min-height:54px!important;
  border-radius:12px!important;
  background:var(--jrnp-ota-green)!important;
  color:#fff!important;
  font-weight:800!important;
  letter-spacing:.025em!important;
  text-transform:none!important;
}
body.jrnp-ota-listing .booking-widget .book-btn:hover{
  background:var(--jrnp-ota-green-dark)!important;
  transform:translateY(-1px);
}
body.jrnp-ota-listing .book-note{
  margin-bottom:0!important;
  color:var(--jrnp-ota-muted)!important;
  line-height:1.5!important;
}
body.jrnp-ota-listing .book-direct-info{
  margin-top:20px!important;
}

/* Amenities use whitespace + grouping instead of decorative boxes. */
body.jrnp-ota-listing .amenities-section{
  padding:12px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.jrnp-ota-listing .amenities-section .amenities-grid{
  gap:0 30px!important;
}
body.jrnp-ota-listing .amenities-section .amenity-group{
  padding:22px 0!important;
  border:0!important;
  border-top:1px solid var(--jrnp-ota-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Room by Room remains JRNP's signature: large photography and calm copy. */
body.jrnp-ota-listing .jrnp-static-room-tour{
  padding-top:56px!important;
  padding-bottom:64px!important;
}
body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-grid{
  gap:34px!important;
}
body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card{
  border:0!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(23,61,50,.06)!important;
}
body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card-body{
  padding:24px 26px 28px!important;
}
body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card-cover,
body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-photo-grid figure{
  background:#f0ece5!important;
}

@media(min-width:1024px){
  body.jrnp-ota-listing .jrnp-approved-listing-shell{
    width:min(var(--jrnp-ota-max),calc(100% - 48px))!important;
  }
  body.jrnp-ota-listing .jrnp-approved-listing-shell .photo-gallery{
    grid-template-columns:minmax(0,1.9fr) minmax(320px,1fr)!important;
    gap:10px!important;
  }
  body.jrnp-ota-listing .jrnp-approved-gallery-card,
  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-main,
  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-thumbs{
    height:clamp(500px,40vw,620px)!important;
    min-height:500px!important;
    max-height:620px!important;
  }
  body.jrnp-ota-listing .content-wrap,
  body.jrnp-ota-listing .content-wrap.jrnp-booking-stack{
    grid-template-columns:minmax(0,1fr) var(--jrnp-ota-rail)!important;
    gap:var(--jrnp-ota-gap)!important;
  }
  body.jrnp-ota-listing .content-right .booking-sticky,
  body.jrnp-ota-listing .content-right .jrnp-ota-booking-rail{
    top:104px!important;
  }
}

/* Tablet deliberately uses the mobile reading model instead of a cramped rail. */
@media(min-width:768px) and (max-width:1023px){
  body.jrnp-ota-listing .jrnp-approved-listing-shell{
    width:calc(100% - 32px)!important;
    padding:0!important;
  }
  body.jrnp-ota-listing .content-section{
    padding:40px 24px 56px!important;
  }
  body.jrnp-ota-listing .content-wrap,
  body.jrnp-ota-listing .content-wrap.jrnp-booking-stack{
    max-width:820px!important;
  }
  body.jrnp-ota-listing .content-left>.jrnp-booking-under-description,
  body.jrnp-ota-listing .content-left>.jrnp-ota-booking-rail{
    margin:30px 0 42px!important;
  }
  body.jrnp-ota-listing .amenities-section .amenities-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.jrnp-ota-listing .jrnp-property-details{
    width:calc(100% - 48px)!important;
  }
}

@media(max-width:767px){
  body.jrnp-ota-listing .content-section{
    padding:28px 16px 42px!important;
  }
  body.jrnp-ota-listing .page-title{
    font-size:clamp(28px,8vw,36px)!important;
  }
  body.jrnp-ota-listing .desc-para,
  body.jrnp-ota-listing .jrnp-full-description__body p{
    font-size:15px!important;
    line-height:1.66!important;
  }
  body.jrnp-ota-listing .booking-widget{
    padding:20px!important;
    border-radius:18px!important;
    box-shadow:0 12px 32px rgba(22,45,38,.08)!important;
  }
  body.jrnp-ota-listing .amenities-section .amenities-grid{
    grid-template-columns:1fr!important;
  }
  body.jrnp-ota-listing .jrnp-property-details{
    width:calc(100% - 32px)!important;
    margin:34px auto 6px!important;
    padding:24px 0!important;
  }
  body.jrnp-ota-listing .jrnp-property-details .jrnp-detail-grid{
    grid-template-columns:1fr!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour{
    padding-top:38px!important;
    padding-bottom:46px!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-grid{
    gap:22px!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card{
    border-radius:16px!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card-body{
    padding:18px!important;
  }
  body.jrnp-ota-listing .jrnp-mobile-booking-bar{
    min-height:72px!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
  }
  body.jrnp-ota-listing .jrnp-mobile-booking-bar-copy strong{
    font-size:13px!important;
  }
  body.jrnp-ota-listing .jrnp-mobile-booking-bar-copy span{
    font-size:10px!important;
  }
  body.jrnp-ota-listing .jrnp-mobile-booking-bar button{
    min-height:48px!important;
    border-radius:11px!important;
    background:var(--jrnp-ota-green)!important;
  }
}

/* JRNP_PREMIUM_EDITORIAL_FACTS_20261002
   Replace stacked dashboard-like summary cards with the lighter editorial
   treatment used by premium hospitality/STR property pages. */
body.jrnp-ota-listing .jrnp-approved-listing-highlights,
body.jrnp-ota-listing .jrnp-approved-details-card{
  width:min(var(--jrnp-ota-max),calc(100% - 40px))!important;
  margin:28px auto 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.jrnp-ota-listing .jrnp-approved-highlights-head,
body.jrnp-ota-listing .jrnp-approved-details-head{
  padding:24px 0 16px!important;
}
body.jrnp-ota-listing .jrnp-approved-highlights-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  padding:0!important;
  border-top:1px solid var(--jrnp-ota-line)!important;
  border-bottom:1px solid var(--jrnp-ota-line)!important;
}
body.jrnp-ota-listing .jrnp-approved-highlight{
  min-height:112px!important;
  padding:20px!important;
  border:0!important;
  border-left:1px solid var(--jrnp-ota-line)!important;
  background:transparent!important;
}
body.jrnp-ota-listing .jrnp-approved-highlight:first-child{
  border-left:0!important;
}
body.jrnp-ota-listing .jrnp-approved-highlight-icon{
  background:#f4ede3!important;
  box-shadow:none!important;
}
body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-facts{
  margin:0!important;
  padding:0!important;
  border-top:1px solid var(--jrnp-ota-line)!important;
  border-bottom:1px solid var(--jrnp-ota-line)!important;
  background:transparent!important;
}
body.jrnp-ota-listing .jrnp-static-overview .jrnp-static-info-grid{
  gap:0 28px!important;
  margin-top:22px!important;
}
body.jrnp-ota-listing .jrnp-static-overview .jrnp-static-info-card{
  padding:18px 0!important;
  border:0!important;
  border-top:1px solid var(--jrnp-ota-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
@media(min-width:768px) and (max-width:1023px){
  body.jrnp-ota-listing .jrnp-approved-highlights-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight:nth-child(odd){
    border-left:0!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight:nth-child(n+3){
    border-top:1px solid var(--jrnp-ota-line)!important;
  }
}
@media(max-width:767px){
  body.jrnp-ota-listing .jrnp-approved-listing-highlights,
  body.jrnp-ota-listing .jrnp-approved-details-card{
    width:calc(100% - 32px)!important;
    margin-top:20px!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlights-head,
  body.jrnp-ota-listing .jrnp-approved-details-head{
    padding:18px 0 12px!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlights-grid{
    grid-template-columns:1fr!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight{
    min-height:0!important;
    padding:16px 0!important;
    border-left:0!important;
    border-top:1px solid var(--jrnp-ota-line)!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight:first-child{
    border-top:0!important;
  }
  body.jrnp-ota-listing .jrnp-static-overview .jrnp-static-info-grid{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
}


/* JRNP_PREMIUM_CONVERSION_POLISH_20261002
   Final conversion polish: keep the support control clear of the persistent
   booking bar and remove residual decorative stripes from editorial amenities. */
body.jrnp-ota-listing .amenities-section .amenity-group::before{
  content:none!important;
  display:none!important;
}
@media(max-width:1023px){
  body.jrnp-ota-listing .chat-widget{
    right:16px!important;
    bottom:calc(84px + env(safe-area-inset-bottom))!important;
  }
}
@media(max-width:430px){
  body.jrnp-ota-listing .chat-widget{
    right:14px!important;
    bottom:calc(88px + env(safe-area-inset-bottom))!important;
  }
}


/* JRNP_PREMIUM_COMPACT_ESSENTIALS_20261002
   Reduce duplicate vertical chrome before booking: the primary overview reads
   as editorial copy, and the essentials become a compact factual strip. */
body.jrnp-ota-listing .content-left>.reveal:first-child{
  padding:0 0 28px!important;
  border:0!important;
  border-bottom:1px solid var(--jrnp-ota-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-details-head{
  padding:18px 0 12px!important;
}
body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-details-head h2{
  font-size:clamp(26px,2.5vw,34px)!important;
}
body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-details-head p{
  margin-top:5px!important;
}
body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-facts{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:0!important;
  margin:0!important;
  border-top:1px solid var(--jrnp-ota-line)!important;
  border-bottom:1px solid var(--jrnp-ota-line)!important;
}
body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-fact,
body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-fact:first-child{
  display:block!important;
  grid-column:auto!important;
  min-height:0!important;
  padding:14px 15px!important;
  border:0!important;
  border-right:1px solid var(--jrnp-ota-line)!important;
  background:transparent!important;
}
body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-fact:last-child{
  border-right:0!important;
}
body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-fact-label{
  margin:0 0 5px!important;
  font-size:8.5px!important;
}
body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-fact-value{
  font-size:13px!important;
  line-height:1.3!important;
  text-align:left!important;
}
@media(max-width:767px){
  body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-details-head{
    padding:14px 0 9px!important;
  }
  body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-facts{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-fact,
  body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-fact:first-child{
    padding:12px 10px!important;
    border-right:1px solid var(--jrnp-ota-line)!important;
    border-top:1px solid var(--jrnp-ota-line)!important;
  }
  body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-fact:first-child{
    grid-column:1/-1!important;
    border-top:0!important;
    border-right:0!important;
  }
  body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-fact:nth-child(3),
  body.jrnp-ota-listing .jrnp-approved-details-card .jrnp-approved-listing-fact:nth-child(5){
    border-right:0!important;
  }
}


/* JRNP_PREMIUM_MOBILE_HIGHLIGHTS_20261002
   Keep all four property highlights while reducing the amount of vertical
   scrolling before guests reach the factual overview and booking flow. */
@media(max-width:767px){
  body.jrnp-ota-listing .jrnp-approved-highlights-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:9px!important;
    min-height:92px!important;
    padding:12px 9px!important;
    border-left:0!important;
    border-right:0!important;
    border-top:0!important;
    align-items:center!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight:nth-child(odd){
    border-right:1px solid var(--jrnp-ota-line)!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight:nth-child(n+3){
    border-top:1px solid var(--jrnp-ota-line)!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight-icon{
    width:33px!important;
    height:33px!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight-icon svg{
    width:19px!important;
    height:19px!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight strong{
    font-size:12.5px!important;
    line-height:1.25!important;
  }
  body.jrnp-ota-listing .jrnp-approved-highlight p{
    margin-top:4px!important;
    font-size:10px!important;
    line-height:1.35!important;
  }
}


/* JRNP_PREMIUM_AMENITIES_DISCLOSURE_20261002
   Keep verified amenity data in source while shortening the default shopping
   journey. JavaScript adds the collapsible class only after controls exist. */
body.jrnp-ota-listing .jrnp-amenities-collapsible:not(.is-expanded) .jrnp-amenity-overflow{
  display:none!important;
}
body.jrnp-ota-listing .jrnp-amenities-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-width:230px;
  min-height:48px;
  margin:24px 0 0;
  padding:0 16px;
  border:1px solid rgba(23,62,54,.22);
  border-radius:12px;
  background:#fff;
  color:var(--jrnp-ota-green);
  font:800 13px/1 Inter,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  cursor:pointer;
}
body.jrnp-ota-listing .jrnp-amenities-toggle:hover{
  border-color:rgba(23,62,54,.42);
  background:#faf8f4;
}
body.jrnp-ota-listing .jrnp-amenities-toggle:focus-visible{
  outline:3px solid rgba(15,79,67,.22);
  outline-offset:3px;
}
body.jrnp-ota-listing .jrnp-amenities-toggle span:last-child{
  font-size:20px;
  line-height:1;
}
@media(max-width:767px){
  body.jrnp-ota-listing .jrnp-amenities-toggle{
    width:100%;
    min-width:0;
    margin-top:20px;
  }
}


/* JRNP_GALLERY_ROOM_GRID_20261002
   Keep the four supporting gallery photos exactly level with the main photo,
   and present Room by Room as equal two-column cards on tablet/desktop. */
@media(min-width:1024px){
  body.jrnp-ota-listing .jrnp-approved-listing-shell .photo-gallery{
    --jrnp-gallery-height:clamp(480px,42vw,620px);
    height:var(--jrnp-gallery-height)!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
  }
  body.jrnp-ota-listing .jrnp-approved-gallery-card,
  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-main,
  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-thumbs{
    height:var(--jrnp-gallery-height)!important;
    min-height:var(--jrnp-gallery-height)!important;
    max-height:var(--jrnp-gallery-height)!important;
  }
  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-thumbs{
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    align-self:stretch!important;
  }
  body.jrnp-ota-listing .jrnp-approved-listing-shell .gallery-thumb:nth-child(-n+4){
    min-height:0!important;
    height:100%!important;
  }
}

@media(min-width:768px){
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:28px!important;
    align-items:stretch!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    height:100%!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card-cover{
    width:100%!important;
    aspect-ratio:4/3!important;
    min-height:0!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card-cover img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card-body{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-details{
    margin-top:auto!important;
  }
}
@media(max-width:767px){
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-grid{
    grid-template-columns:1fr!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card-cover{
    aspect-ratio:auto!important;
  }
  body.jrnp-ota-listing .jrnp-static-room-tour .jrnp-room-card-cover img{
    height:auto!important;
    object-fit:contain!important;
  }
}


/* JRNP_MOBILE_REFERENCE_POLISH_20261003
   Reference-driven mobile polish: keep all four section tabs visible and
   separate calendar navigation from the availability legend at narrow widths. */
@media(max-width:520px){
  body.jrnp-ota-listing .jrnp-approved-listing-tabs{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body.jrnp-ota-listing .jrnp-approved-listing-tab{
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    padding:8px 2px!important;
    font-size:clamp(9.5px,2.55vw,10.5px)!important;
    line-height:1.12!important;
    letter-spacing:-.018em!important;
    white-space:normal!important;
    text-align:center!important;
  }
  body.jrnp-ota-listing .jrnp-approved-booking .rate-calendar-title{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
  }
  body.jrnp-ota-listing .jrnp-approved-booking .rate-calendar-controls{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
  }
  body.jrnp-ota-listing .jrnp-calendar-legend-approved{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
  }
}
@media(max-width:360px){
  body.jrnp-ota-listing .jrnp-approved-listing-tab{
    font-size:9px!important;
    padding-left:1px!important;
    padding-right:1px!important;
  }
}
