/* JRNP production design lock — shared responsive/form/calendar corrections only. */
:root{--jrnp-field-height:52px;--jrnp-radius:12px;--jrnp-border:rgba(26,26,26,.13);--jrnp-gold:#C4956A;--jrnp-sand:#FAF8F5;--jrnp-text:#1A1A1A;--jrnp-muted:#7A756D}html{scroll-behavior:smooth;scroll-padding-top:96px}html,body{max-width:100%;overflow-x:hidden}img,picture,video,iframe,svg{max-width:100%}img{height:auto}.hero,.photo-gallery,.gallery-main,.content-section,.section{width:100%}.gallery-main img,.property-card img,.jrnp-room-card img,.jrnp-room-modal-gallery img{display:block;width:100%}.gallery-main img{height:100%;object-fit:cover}.jrnp-room-modal-gallery img,.jrnp-lightbox__image{object-fit:contain}
/* One consistent field system. Single-line controls never inherit textarea-sized height. */
form input:not([type=checkbox]):not([type=radio]):not([type=file]),form select,.date-cell,input[type=date],input[type=time],input[type=email],input[type=tel],input[type=text],input[type=url],input[type=number]{box-sizing:border-box!important;width:100%;height:var(--jrnp-field-height)!important;min-height:var(--jrnp-field-height)!important;max-height:var(--jrnp-field-height)!important;padding:0 16px!important;border:1px solid var(--jrnp-border)!important;border-radius:var(--jrnp-radius)!important;background:#fff;color:var(--jrnp-text);font:inherit;line-height:1.2;box-shadow:none!important}form select{padding-right:42px!important;background-position:right 15px center}form textarea,textarea{box-sizing:border-box;width:100%;min-height:112px!important;height:auto!important;padding:14px 16px!important;border:1px solid var(--jrnp-border)!important;border-radius:var(--jrnp-radius)!important;background:#fff;color:var(--jrnp-text);font:inherit;line-height:1.5;resize:vertical}.form-group label,.booking-field label{display:block;margin:0 0 7px;line-height:1.25}form input:focus,form select:focus,form textarea:focus{outline:3px solid rgba(196,149,106,.18)!important;outline-offset:1px;border-color:var(--jrnp-gold)!important}form input:disabled,form select:disabled{opacity:.58;cursor:not-allowed}.form-row{align-items:start}.date-row,.booking-dates{align-items:stretch}.date-cell{display:flex!important;flex-direction:column;justify-content:center;overflow:hidden;padding:8px 14px!important}.date-cell label{margin:0 0 3px}.date-cell input{border:0!important;padding:0!important;height:24px!important;min-height:24px!important;max-height:24px!important;background:transparent!important;border-radius:0!important}.guest-selector,.guests-control{min-height:var(--jrnp-field-height);border-radius:var(--jrnp-radius);overflow:hidden}.guest-selector input[type=number],.guests-control input[type=number]{appearance:textfield;-moz-appearance:textfield}.guest-selector input::-webkit-inner-spin-button,.guest-selector input::-webkit-outer-spin-button,.guests-control input::-webkit-inner-spin-button,.guests-control input::-webkit-outer-spin-button{appearance:none;margin:0}
/* Availability calendar navigation and selected-stay treatment. */
#availability,.availability-section,.calendar-section,[data-availability]{scroll-margin-top:96px}.rate-calendar{max-width:880px;margin-inline:auto;overflow:hidden}.rate-calendar-nav,.calendar-header,.rate-calendar-header{display:grid!important;grid-template-columns:minmax(92px,1fr) minmax(130px,auto) minmax(92px,1fr);align-items:center;gap:12px;width:100%;padding:0 4px 14px}.rate-calendar-nav button,.calendar-header button,.calendar-prev,.calendar-next{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;max-width:150px;min-height:42px!important;padding:0 14px!important;border:1px solid var(--jrnp-border)!important;border-radius:999px!important;background:#fff!important;color:var(--jrnp-text)!important;font:600 14px/1 Inter,sans-serif!important;white-space:nowrap;overflow:visible!important}.rate-calendar-nav button:first-child,.calendar-prev{justify-self:start}.rate-calendar-nav button:last-child,.calendar-next{justify-self:end}.rate-calendar-nav button:hover,.calendar-header button:hover{border-color:var(--jrnp-gold)!important;background:var(--jrnp-sand)!important}.rate-calendar-nav button:focus-visible,.calendar-header button:focus-visible{outline:3px solid rgba(196,149,106,.25);outline-offset:2px}.rate-calendar-nav button:disabled,.calendar-header button:disabled{opacity:.35;cursor:not-allowed}.rate-calendar-month,.calendar-month,.calendar-header h3{justify-self:center;text-align:center;margin:0!important;font-size:clamp(17px,3vw,22px)!important;white-space:nowrap}.rate-calendar-grid{width:100%;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important}.rate-day{min-width:0!important;width:100%!important;overflow:hidden}.rate-day.selected-start,.rate-day.check-in,.rate-day[aria-pressed=true]{border-color:var(--jrnp-gold)!important;box-shadow:inset 0 0 0 1px var(--jrnp-gold)}.rate-day.selected-range,.rate-day.in-range{background:#F4ECE4!important}.rate-day.selected-end,.rate-day.check-out{background:#EAD8C7!important;border-color:#A67B50!important}.rate-day.blocked,.rate-day:disabled{opacity:.46!important;cursor:not-allowed!important;background:#F3F0EC!important}.rate-calendar-loading{min-height:220px;display:grid;place-items:center;color:var(--jrnp-muted)}
/* Booking details and request states. */
.jrnp-booking-details{margin:18px 0;border:1px solid var(--jrnp-border);border-radius:12px;background:#fff;overflow:hidden}.jrnp-booking-details summary{cursor:pointer;padding:16px 18px;font-weight:600;list-style-position:inside}.jrnp-booking-details-body{padding:4px 18px 18px}.jrnp-field-help{font-size:12px;line-height:1.5;color:var(--jrnp-muted);margin-top:5px}.jrnp-check{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.45;margin:12px 0}.jrnp-check input{width:auto!important;margin-top:2px;flex:0 0 auto}.jrnp-request-error{margin:0 0 16px;padding:12px 14px;border:1px solid #B75B50;border-radius:10px;background:#FFF6F4;color:#7A2921;font-size:14px}.jrnp-request-success{padding:8px 2px}.jrnp-success-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--jrnp-gold);margin-bottom:6px}.jrnp-request-success h3{font-size:30px;margin:0 0 10px}.jrnp-request-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:20px 0}.jrnp-request-summary div{padding:10px 0;border-bottom:1px solid var(--jrnp-border)}.jrnp-request-summary dt{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--jrnp-muted);font-weight:700}.jrnp-request-summary dd{margin:3px 0 0;font-weight:600}.jrnp-request-next{font-size:13px;color:var(--jrnp-muted)}button[aria-busy=true]{cursor:wait;opacity:.75}
/* Properties listing separation: keep each property's content visually grouped. */
.property-grid{row-gap:34px!important}.property-card,.card{position:relative}.property-card+.property-card,.grid>.card+.card{scroll-margin-top:96px}.jrnp-property-divider{padding:16px 18px;border:1px solid var(--jrnp-border);border-radius:14px;background:#F7F1EA;color:var(--jrnp-text);font-size:14px;line-height:1.55}.jrnp-property-divider strong{display:block;color:#A67B50;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
/* About page: full-width desktop hero while keeping approved typography/content. */
.jrnp-about-page .hero{width:100vw;max-width:none;margin-left:calc(50% - 50vw);min-height:clamp(360px,46vw,560px);display:flex;align-items:center;background:linear-gradient(90deg,rgba(250,248,245,.96),rgba(250,248,245,.86)),url('/assets/images/hosts-nick-jay-jrnp-rentals.jpg') center 36%/cover no-repeat}.jrnp-about-page .hero>.wrap{width:min(1180px,calc(100% - 48px));max-width:1180px}.jrnp-about-page .hero .narrow{max-width:760px}.jrnp-about-page .jrnp-about-story img{width:100%;height:100%;min-height:260px;object-fit:cover}
@media(max-width:900px){.jrnp-about-page .hero{min-height:430px;background-position:center top}.jrnp-about-page .hero>.wrap{width:min(100% - 36px,760px)}.jrnp-about-page .jrnp-about-story img{min-height:0;aspect-ratio:4/3}.content-wrap{max-width:100%}.rate-calendar{max-width:100%}}
@media(max-width:700px){html{scroll-padding-top:88px}#availability,.availability-section,.calendar-section,[data-availability]{scroll-margin-top:88px}.jrnp-about-page .hero{width:100%;margin-left:0;min-height:390px;padding-left:18px;padding-right:18px;background:linear-gradient(rgba(250,248,245,.92),rgba(250,248,245,.92)),url('/assets/images/hosts-nick-jay-jrnp-rentals.jpg') center top/cover no-repeat}.jrnp-about-page .hero>.wrap{width:100%}.jrnp-about-page h1{font-size:clamp(36px,11vw,52px)}.photo-gallery{padding-inline:12px}.gallery-main{border-radius:12px}.form-row{grid-template-columns:1fr!important;display:grid!important}.jrnp-booking-details-body{padding-inline:14px}.booking-widget,.booking-modal-content,.jrnp-room-modal-content{width:100%!important;max-width:100%!important}.modal-book-btn,.book-btn,.jrnp-check-availability{min-height:50px}.rate-calendar-nav,.calendar-header,.rate-calendar-header{grid-template-columns:88px minmax(0,1fr) 88px;gap:5px;padding-inline:0}.rate-calendar-nav button,.calendar-header button,.calendar-prev,.calendar-next{min-height:38px!important;padding:0 8px!important;font-size:12px!important;max-width:88px}.rate-calendar-grid{gap:4px!important}.rate-day{padding:7px 2px!important;min-height:76px!important;border-radius:10px!important}.rate-day-num{font-size:14px!important}.rate-day-price{font-size:11px!important}.rate-day-source{font-size:9px!important}.jrnp-request-summary{grid-template-columns:1fr}.property-grid{row-gap:24px!important}}
@media(max-width:390px){.jrnp-about-page .hero{min-height:360px}.jrnp-about-page .hero>.wrap{width:100%}.photo-gallery{padding-inline:8px}.jrnp-booking-details summary{padding:14px}.jrnp-booking-details-body{padding:2px 12px 14px}.rate-calendar-nav,.calendar-header,.rate-calendar-header{grid-template-columns:76px minmax(0,1fr) 76px}.rate-calendar-nav button,.calendar-header button,.calendar-prev,.calendar-next{max-width:76px;padding-inline:5px!important;font-size:11px!important}.rate-day{min-height:70px!important}}
@supports(-webkit-touch-callout:none){input,select,textarea{font-size:16px!important}body{-webkit-text-size-adjust:100%}}
