/* JRNP screenshot blend: visual-only layer; no structural/content injection */
:root{
  --jrnp-forest:#183f35;
  --jrnp-forest-2:#214d41;
  --jrnp-cream:#f5efe6;
  --jrnp-paper:#fffdfa;
  --jrnp-ink:#20332d;
  --jrnp-muted:#6f7a75;
  --jrnp-bronze:#b77b43;
  --jrnp-line:#dcded8;
  --jrnp-shadow:0 20px 60px rgba(25,52,43,.10);
}
body{background:var(--jrnp-paper)!important;color:var(--jrnp-ink)!important;font-family:Inter,DM Sans,system-ui,sans-serif!important}
h1,h2,h3,.display,.section-title{font-family:'Playfair Display',Georgia,serif!important;letter-spacing:-.025em}

/* Screenshot-inspired white navigation */
.site-nav,.nav,.jrnp-green-nav{background:rgba(255,255,255,.98)!important;border-bottom:1px solid #eceeea!important;box-shadow:0 1px 0 rgba(20,50,42,.04)!important;color:var(--jrnp-ink)!important;backdrop-filter:blur(14px)!important}
.site-nav .nav-inner,.nav .navin{min-height:74px!important}
.site-nav a,.site-nav button,.nav a,.nav button,.jrnp-green-nav a,.jrnp-green-nav button{color:var(--jrnp-ink)!important;text-shadow:none!important}
.site-nav .nav-logo img,.nav .brand img{filter:none!important}
.site-nav .nav-btn,.nav .navcta,.jrnp-green-nav .nav-btn{background:var(--jrnp-forest)!important;color:#fff!important;border-radius:999px!important;padding:13px 24px!important;font-weight:700!important;border:0!important}
.site-nav .nav-btn:hover,.nav .navcta:hover{background:var(--jrnp-forest-2)!important}
.mobile-overlay,.jrnp-mobile-menu{background:var(--jrnp-paper)!important;color:var(--jrnp-ink)!important}
.mobile-overlay a,.jrnp-mobile-menu a{color:var(--jrnp-ink)!important}
.mobile-overlay .btn-primary,.jrnp-mobile-menu .jrnp-mobile-book{background:var(--jrnp-forest)!important;color:#fff!important;border-radius:999px!important}

/* Hero: retain approved city-view photo, use screenshot proportions and editorial treatment */
.hero,.jrnp-home-hero,#hero{min-height:82vh!important;background-position:center!important;background-size:cover!important;position:relative!important}
.hero:before,.jrnp-home-hero:before,#hero:before{background:linear-gradient(90deg,rgba(13,43,35,.66) 0%,rgba(13,43,35,.34) 46%,rgba(13,43,35,.10) 100%)!important}
.hero .wrap,.hero-content,.hero-inner{position:relative!important;z-index:2!important}
.hero-copy,.hero-content{max-width:860px!important;text-align:left!important}
.hero h1,.hero-title{font-size:clamp(58px,7.8vw,112px)!important;line-height:.96!important;color:#fff!important;margin-bottom:26px!important}
.hero p,.hero-subtitle{font-size:clamp(18px,1.8vw,25px)!important;line-height:1.65!important;color:rgba(255,255,255,.9)!important;max-width:760px!important}
.hero .eyebrow,.hero-label{color:#f3dfbd!important;letter-spacing:.2em!important;font-weight:800!important}
.hero-actions,.hero-buttons{justify-content:flex-start!important;gap:16px!important}
.hero .btn-primary,.hero-buttons .btn-primary{background:#fff!important;color:var(--jrnp-forest)!important;border-radius:999px!important;font-weight:800!important}
.hero .btn-ghost,.hero-buttons .btn-outline{border-color:rgba(255,255,255,.55)!important;color:#fff!important;border-radius:999px!important}

/* Search/availability card from screenshot */
.searchbar,#jrnp-availability,.jrnp-ref-availability-box{background:#fff!important;border:1px solid var(--jrnp-line)!important;border-radius:24px!important;box-shadow:var(--jrnp-shadow)!important}
.searchfield{padding:17px 20px!important}
.searchfield label{color:#6a756f!important;font-weight:800!important}
.searchgo,.availability-search button{background:var(--jrnp-forest)!important;color:#fff!important;border-radius:16px!important;font-weight:800!important}

/* Global section rhythm and screenshot cream/white alternation */
section{scroll-margin-top:84px}
.collection,.faq,.jrnp-ref-guides,.jrnp-stayhub,.cancel-section{background:var(--jrnp-cream)!important}
.section-title,.display{color:var(--jrnp-ink)}
.eyebrow,.section-label,.jrnp-ref-eyebrow{color:var(--jrnp-bronze)!important;font-weight:800!important;letter-spacing:.18em!important}

/* Property photography: soft rounded mosaic like screenshots */
.properties{gap:22px!important}
.property,.property-image-wrap,.property-card .property-image-wrap,.jrnp-home-large,.jrnp-home-small{border-radius:28px!important}
.property{overflow:hidden!important;box-shadow:none!important}
.property img,.property-image-wrap img{object-fit:cover!important}
.property:after{background:linear-gradient(180deg,transparent 38%,rgba(13,41,34,.78))!important}
.propertybody{padding:34px!important}
.property h3,.property-name{font-size:clamp(31px,3.2vw,48px)!important;line-height:1.02!important}
.pill,.property-badge{background:rgba(255,255,255,.88)!important;color:var(--jrnp-forest)!important;border-color:rgba(255,255,255,.7)!important;backdrop-filter:blur(10px)!important}

/* Direct-booking section: screenshot deep green / four-star editorial feel */
.direct,.jrnp-why-direct,.jrnp-direct-advantage{background:var(--jrnp-forest)!important;color:#fff!important}
.direct h2,.direct h3,.direct .display,.jrnp-why-direct h2,.jrnp-why-direct h3{color:#fff!important}
.direct p,.jrnp-why-direct p{color:rgba(255,255,255,.78)!important}
.benefit,.jrnp-why-direct-grid>div{border-color:rgba(255,255,255,.18)!important}
.benefitnum{color:#efc37a!important;border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.05)!important}
.hostcard img{border-radius:30px!important}
.hostnote{background:var(--jrnp-cream)!important;border-radius:22px!important;color:var(--jrnp-ink)!important}

/* Reviews: pale cards, big serif quotes */
.reviewgrid,.testimonials-grid{gap:24px!important}
.review,.testimonial-card{background:#f8f2e8!important;border:0!important;border-radius:26px!important;box-shadow:none!important;padding:32px!important}
.review p,.testimonial-quote{font-family:'Playfair Display',Georgia,serif!important;font-size:clamp(21px,2vw,29px)!important;line-height:1.45!important;color:var(--jrnp-ink)!important}
.stars,.testimonial-stars{color:var(--jrnp-bronze)!important}

/* FAQ: open editorial list with thin lines and bronze + */
.faq{background:#fff!important}
.faqgrid{gap:72px!important}
.faqitem,.faq-item,.jrnp-faq-list details{background:transparent!important;border-radius:0!important;border:0!important;border-top:1px solid var(--jrnp-line)!important}
.faqitem:last-child,.faq-item:last-child,.jrnp-faq-list details:last-child{border-bottom:1px solid var(--jrnp-line)!important}
.faqbtn,.faq-question,.jrnp-faq-list summary{font-family:'Playfair Display',Georgia,serif!important;font-size:clamp(21px,2vw,29px)!important;font-weight:500!important;color:var(--jrnp-ink)!important;padding:24px 0!important}
.faqbtn span:last-child{color:var(--jrnp-bronze)!important}
.faqans,.faq-answer p,.jrnp-faq-list p{color:var(--jrnp-muted)!important;font-size:16px!important;line-height:1.65!important}

/* Listing page booking card matching mobile screenshot */
.booking-widget,.rate-calendar-card,.jrnp-booking-card{background:#fff!important;border:1px solid #d9ddd8!important;border-radius:28px!important;box-shadow:0 18px 50px rgba(30,54,46,.08)!important;padding:30px!important}
.booking-widget h2,.booking-widget h3,.rate-calendar-card h2,.rate-calendar-card h3{font-family:'Playfair Display',Georgia,serif!important;color:var(--jrnp-ink)!important}
.booking-widget input,.booking-widget select,.booking-widget textarea,.rate-calendar-card input,.rate-calendar-card select{border:1px solid #d7dbd6!important;border-radius:13px!important;background:#fff!important;min-height:52px!important}
.booking-widget button[type=submit],.booking-submit,.request-book-btn{background:var(--jrnp-forest)!important;color:#fff!important;border-radius:999px!important;min-height:56px!important;font-weight:800!important}
.jrnp-calendar-intro{background:#f8f2e8!important;border-radius:18px!important;padding:18px!important;margin-bottom:18px!important}
.jrnp-calendar-intro span{color:var(--jrnp-bronze)!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.12em!important}
.jrnp-spa-request{background:#fbf6ed!important;border-radius:16px!important;padding:16px!important;border:1px solid #ebe0cf!important}

/* Room / space cards */
#explore-the-home .room-card,#explore-the-home .space-card,.room-card,.space-card{border-radius:24px!important;overflow:hidden!important;background:#fff!important;border:1px solid #e3e5e1!important;box-shadow:none!important}
#explore-the-home img,.room-card img,.space-card img{aspect-ratio:4/3!important;object-fit:cover!important;width:100%!important}

/* Maps, water-level and info cards */
.jrnp-listing-map,.jrnp-water-level,.jrnp-access-card,.jrnp-ota-links{border-radius:24px!important;border:1px solid #dfe2dd!important;background:#fff!important;box-shadow:none!important}
.jrnp-listing-map .map-wrap{border-radius:20px!important;overflow:hidden!important}

/* CTA + footer polish */
.ctabox{border-radius:32px!important}
.ctabox:after{background:rgba(15,48,39,.58)!important}
.sitefooter,.site-footer,.footer{background:#173b31!important;color:#fff!important}
.sitefooter a,.site-footer a,.footer a{color:rgba(255,255,255,.82)!important}

@media(max-width:900px){
  .site-nav,.nav{min-height:68px!important}
  .hero,.jrnp-home-hero,#hero{min-height:72vh!important}
  .hero-copy,.hero-content{text-align:left!important;padding-left:18px!important;padding-right:18px!important}
  .hero h1,.hero-title{font-size:clamp(49px,14vw,76px)!important}
  .searchbar{border-radius:20px!important;margin-left:14px!important;margin-right:14px!important}
  .property,.property-image-wrap{border-radius:24px!important}
  .booking-widget,.rate-calendar-card{padding:22px!important;border-radius:22px!important}
  .faqgrid{grid-template-columns:1fr!important;gap:28px!important}
}

@media(max-width:600px){
  .hero{min-height:70vh!important}
  .hero p,.hero-subtitle{font-size:17px!important}
  .hero-actions,.hero-buttons{gap:10px!important}
  .hero .btn,.hero-buttons a{min-height:50px!important;padding:0 20px!important}
  .property{min-height:410px!important}
  .review,.testimonial-card{padding:24px!important}
  .faqbtn,.faq-question,.jrnp-faq-list summary{font-size:22px!important}
}
