.jbl-booking-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.75rem;align-items:end;padding:1rem;background:#fff;border:1px solid rgba(31,58,43,.16);border-radius:1rem;box-shadow:0 14px 35px rgba(31,58,43,.12)}
.jbl-booking-strip>div{min-width:0}.jbl-booking-strip label,.jbl-contact-form label{display:block;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#1f3a2b;margin-bottom:.35rem}
.jbl-booking-strip input,.jbl-contact-form input,.jbl-contact-form textarea{width:100%;min-height:48px;border:1px solid #b9c2ba;border-radius:.6rem;background:#fff;color:#222;padding:.7rem .8rem;font:inherit}
.jbl-booking-strip button,.jbl-contact-form button{min-height:48px;border:0;border-radius:999px;padding:.75rem 1.25rem;background:#1f3a2b;color:#fff;font-weight:800;cursor:pointer}
.jbl-form-error{grid-column:1/-1;color:#9f3027;margin:0;font-size:.9rem}.jbl-booking-page{display:grid;gap:1.5rem}.jbl-booking-summary{padding:1.5rem;border-radius:1rem;background:#f4efe6}.jbl-booking-summary dl{display:flex;flex-wrap:wrap;gap:1rem}.jbl-booking-summary dl div{min-width:9rem}.jbl-booking-summary dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.jbl-booking-summary dd{margin:0;font-weight:800}.jbl-beds24 iframe{display:block;width:100%;border:0;border-radius:1rem;background:#fff}.jbl-engine-action{padding:1.5rem;border:1px solid #dccbb0;border-radius:1rem;background:#fff}.jbl-alert{padding:1rem 1.2rem;border-left:4px solid #a67c52;border-radius:.5rem;background:#fff8e9}.jbl-alert--error{border-color:#b65c4a;background:#fff1ef}.jbl-alert--success{border-color:#2e7551;background:#effaf3}.jbl-gallery__filters{display:flex;gap:.5rem;overflow:auto;padding:.25rem 0 1rem}.jbl-gallery__filters button{white-space:nowrap;border:1px solid #9ca99e;border-radius:999px;background:#fff;padding:.65rem 1rem;color:#1f3a2b;font-weight:700;cursor:pointer}.jbl-gallery__filters button[aria-pressed="true"]{background:#1f3a2b;color:#fff}.jbl-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.jbl-gallery__item{display:block;min-width:0;padding:0;border:0;border-radius:.8rem;overflow:hidden;background:#e8e1d5;cursor:zoom-in;aspect-ratio:4/3}.jbl-gallery__item[hidden]{display:none}.jbl-gallery__item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.jbl-gallery__item:hover img{transform:scale(1.025)}.jbl-lightbox{width:min(94vw,1200px);padding:0;border:0;border-radius:1rem;background:#111;color:#fff}.jbl-lightbox::backdrop{background:rgba(0,0,0,.82)}.jbl-lightbox img{display:block;max-width:100%;max-height:82vh;margin:auto}.jbl-lightbox>button{position:absolute;top:.75rem;right:.75rem;z-index:2;width:46px;height:46px;border:0;border-radius:50%;font-size:2rem;background:rgba(0,0,0,.72);color:#fff}.jbl-lightbox p{padding:0 1rem 1rem}.jbl-faq{display:grid;gap:.75rem}.jbl-faq details{border:1px solid #d9ded8;border-radius:.8rem;background:#fff;padding:1rem 1.15rem}.jbl-faq summary{cursor:pointer;font-weight:800;color:#1f3a2b}.jbl-faq p{margin:.75rem 0 0}.jbl-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.jbl-contact-form__wide{grid-column:1/-1}.jbl-contact-form textarea{resize:vertical}.jbl-checkbox{display:flex!important;gap:.65rem;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}.jbl-checkbox input{width:1.25rem!important;min-height:1.25rem!important;margin-top:.1rem}.jbl-honeypot{position:absolute!important;left:-10000px!important}.jbl-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:.75rem 1.25rem;background:#1f3a2b;color:#fff!important;text-decoration:none;font-weight:800}.jbl-button--secondary{background:transparent;color:#1f3a2b!important;border:1px solid #1f3a2b}
@media(max-width:900px){.jbl-booking-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.jbl-booking-strip button{grid-column:1/-1}.jbl-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.jbl-booking-strip,.jbl-contact-form{grid-template-columns:1fr}.jbl-contact-form__wide{grid-column:auto}.jbl-gallery__grid{grid-template-columns:1fr}.jbl-gallery__item{aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){.jbl-gallery__item img{transition:none}}
