.roompilot-card{box-sizing:border-box;margin:1.5rem 0;padding:1.5rem;border:1px solid #dcdcde;border-radius:10px;background:#fff;color:#1d2327;overflow:hidden}.roompilot-card *{box-sizing:border-box}.roompilot-card h2,.roompilot-card h3{margin-top:0}.roompilot-form{display:grid;gap:1rem}.roompilot-form--inline,.roompilot-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:end}.roompilot-form label{display:grid;gap:.4rem;font-weight:600}.roompilot-form input,.roompilot-form select,.roompilot-form textarea{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid #8c8f94;border-radius:6px;background:#fff;color:#1d2327;font:inherit}.roompilot-form textarea{min-height:110px;resize:vertical}.roompilot-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:44px;padding:.65rem 1rem;border:1px solid #2271b1;border-radius:6px;background:#2271b1;color:#fff;text-decoration:none;font:inherit;font-weight:600;cursor:pointer}.roompilot-button:hover,.roompilot-button:focus{background:#135e96;color:#fff}.roompilot-notice{padding:.8rem 1rem;border-left:4px solid #72aee6;background:#f0f6fc}.roompilot-notice--success{border-color:#00a32a;background:#edfaef}.roompilot-notice--warning{border-color:#dba617;background:#fcf9e8}.roompilot-notice--error{border-color:#d63638;background:#fcf0f1}.roompilot-details{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:.5rem 1rem}.roompilot-details dt{font-weight:700}.roompilot-details dd{margin:0}.roompilot-search__results{display:grid;gap:1rem;margin-top:1rem}.roompilot-property-summary,.roompilot-portal-section{padding:1rem;border:1px solid #dcdcde;border-radius:8px;overflow:hidden}.roompilot-field--wide{grid-column:1/-1}.roompilot-checkbox{display:flex!important;grid-column:1/-1;align-items:flex-start;gap:.6rem!important}.roompilot-checkbox input{width:auto;min-height:0;margin-top:.25rem}.roompilot-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.roompilot-property-grid{display:grid;grid-template-columns:repeat(var(--roompilot-property-columns,3),minmax(0,1fr));gap:1.25rem;margin:1.5rem 0}.roompilot-property-card{overflow:hidden;border:1px solid #dcdcde;border-radius:12px;background:#fff;color:#1d2327}.roompilot-property-card__content{display:grid;gap:.75rem;padding:1rem}.roompilot-property-card__content h3,.roompilot-property-card__content p{margin:0}.roompilot-property-card__price{font-weight:700}.roompilot-property-card .roompilot-button{margin-top:.25rem}
.roompilot-image-link{position:relative;display:block;width:100%;overflow:hidden;background:#f0f0f1;cursor:zoom-in}.roompilot-image-link:after{content:'+';position:absolute;right:12px;bottom:12px;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:rgba(0,0,0,.62);color:#fff;font-size:1.55rem;line-height:1;opacity:.9;transition:transform .15s ease,opacity .15s ease}.roompilot-image-link:hover:after,.roompilot-image-link:focus:after{transform:scale(1.08);opacity:1}.roompilot-image-link:focus{outline:3px solid #72aee6;outline-offset:-3px}.roompilot-property-summary>.roompilot-image-link,.roompilot-property-card>.roompilot-image-link{margin:-1rem -1rem 1rem;width:calc(100% + 2rem)}.roompilot-property-summary__image,.roompilot-property-card__image{display:block;width:100%;height:240px;max-width:100%;margin:0;object-fit:cover}.roompilot-property-card>.roompilot-image-link{margin:0;width:100%}
.roompilot-property-media{position:relative;width:100%;margin:0 0 1.5rem;border-radius:10px;outline:0}.roompilot-property-media__viewport{position:relative;width:100%;overflow:hidden;border-radius:10px;background:#f0f0f1;aspect-ratio:16/9}.roompilot-property-media__slide{position:absolute;inset:0;display:block;margin:0;visibility:hidden;opacity:0;transition:opacity .2s ease}.roompilot-property-media__slide.is-active{position:relative;visibility:visible;opacity:1}.roompilot-property-media__image{display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover}.roompilot-slider__button{position:absolute;top:50%;z-index:3;width:44px;height:44px;padding:0;transform:translateY(-50%);border:0;border-radius:50%;background:rgba(0,0,0,.66);color:#fff;font-size:2rem;line-height:1;cursor:pointer}.roompilot-slider__button--prev{left:12px}.roompilot-slider__button--next{right:12px}.roompilot-slider__dots{display:flex;justify-content:center;gap:.45rem;margin-top:.75rem}.roompilot-slider__dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#a7aaad;cursor:pointer}.roompilot-slider__dots button.is-active{background:#2271b1}
.roompilot-lightbox-open{overflow:hidden}.roompilot-lightbox[hidden]{display:none}.roompilot-lightbox{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.9)}.roompilot-lightbox figure{max-width:min(1400px,94vw);max-height:92vh;margin:0;text-align:center}.roompilot-lightbox img{display:block;max-width:100%;max-height:84vh;margin:auto;border-radius:8px;object-fit:contain}.roompilot-lightbox figcaption{margin-top:.65rem;color:#fff}.roompilot-lightbox__close,.roompilot-lightbox__nav{position:fixed;z-index:2;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer}.roompilot-lightbox__close{top:18px;right:18px;width:48px;height:48px;border-radius:50%;font-size:2rem}.roompilot-lightbox__nav{top:50%;width:52px;height:64px;transform:translateY(-50%);font-size:2.5rem}.roompilot-lightbox__nav--prev{left:18px}.roompilot-lightbox__nav--next{right:18px}
.roompilot-property-contact{margin:2rem -1.5rem -1.5rem;padding:1.5rem 1.5rem 0;border-top:1px solid #dcdcde}.roompilot-property-contact address{font-style:normal}.roompilot-property-map{overflow:hidden;width:calc(100% + 3rem);margin:1rem -1.5rem 0;background:#f0f0f1;aspect-ratio:16/7}.roompilot-property-map iframe{display:block;width:100%;height:100%;border:0}.roompilot-map-link{display:inline-block;margin-bottom:1.5rem;font-weight:600}
@media(max-width:900px){.roompilot-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.roompilot-card{padding:1rem}.roompilot-details{grid-template-columns:1fr}.roompilot-details dd{margin-bottom:.5rem}.roompilot-property-grid{grid-template-columns:1fr}.roompilot-property-summary__image,.roompilot-property-card__image{height:210px}.roompilot-property-media__viewport{aspect-ratio:4/3}.roompilot-lightbox__nav{width:42px;height:54px}.roompilot-lightbox__nav--prev{left:6px}.roompilot-lightbox__nav--next{right:6px}.roompilot-property-contact{margin:2rem -1rem -1rem;padding:1rem 1rem 0}.roompilot-property-map{width:calc(100% + 2rem);margin-right:-1rem;margin-left:-1rem;aspect-ratio:4/3}.roompilot-map-link{margin-bottom:1rem}}
.roompilot-checkout-summary{margin:1rem 0;padding:1rem;border:1px solid currentColor;border-radius:var(--roompilot-radius,8px)}
.roompilot-checkout-summary p{display:flex;justify-content:space-between;gap:1rem;margin:.5rem 0}
.roompilot-services{display:grid;gap:.75rem;margin:0;padding:1rem;border:1px solid #dcdcde;border-radius:8px}.roompilot-services legend{padding:0 .35rem;font-weight:700}.roompilot-service-option{display:grid!important;grid-template-columns:auto 1fr minmax(70px,100px);align-items:center;gap:.75rem!important;padding:.65rem;border:1px solid #e2e4e7;border-radius:7px}.roompilot-service-option>input[type="checkbox"]{width:auto;min-height:0}.roompilot-service-option small{display:block;margin-top:.2rem;font-weight:400;color:#646970}.roompilot-price-line{display:flex;justify-content:space-between;gap:1rem;margin:.45rem 0}.roompilot-price-line--discount strong{color:#008a20}.roompilot-price-line--tax,.roompilot-price-line--fee{font-size:.95em}.roompilot-price-totals{margin-top:.75rem;padding-top:.5rem;border-top:1px solid currentColor}

/* Voucher controls */
.roompilot-voucher-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end;padding:1rem;border:1px solid var(--roompilot-border,#dcdcde);border-radius:.75rem;background:var(--roompilot-surface-soft,#f6f7f7)}
.roompilot-voucher-field label{display:grid;gap:.35rem}
.roompilot-voucher-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.roompilot-voucher-field small,.roompilot-voucher-message{grid-column:1/-1;margin:0}
.roompilot-voucher-message--success{color:#08783e}
.roompilot-voucher-message--error{color:#b32d2e}
@media(max-width:640px){.roompilot-voucher-field{grid-template-columns:1fr}.roompilot-voucher-actions{grid-column:1/-1}}
.roompilot-form__contents{display:contents;margin:0;padding:0;border:0;min-width:0}.roompilot-elementor-view--editor{pointer-events:none}.roompilot-elementor-view--editor a,.roompilot-elementor-view--editor button,.roompilot-elementor-view--editor input,.roompilot-elementor-view--editor select,.roompilot-elementor-view--editor textarea{cursor:default}.roompilot-editor-preview-notice{margin:0 0 1rem;padding:.7rem .9rem;border:1px dashed #8c8f94;border-radius:6px;background:#f6f7f7;color:#50575e;font-size:.9rem}.roompilot-card [disabled]{cursor:not-allowed}.roompilot-image-link--preview{cursor:default}.roompilot-image-link--preview:after{display:none}

/* Canonical RoomPilot lodging component package. */
.roompilot-component{--roompilot-surface:#fff;--roompilot-surface-soft:#f6f7f7;--roompilot-text:#1d2327;--roompilot-muted:#50575e;--roompilot-border:#dcdcde;--roompilot-primary:#2271b1;--roompilot-primary-hover:#135e96;--roompilot-radius:12px;--roompilot-shadow:0 10px 30px rgba(29,35,39,.08);box-sizing:border-box;width:100%;max-width:100%;color:var(--roompilot-text);font:inherit;line-height:1.55;overflow-wrap:anywhere}.roompilot-component *{box-sizing:border-box;min-width:0}.roompilot-component img{max-width:100%}.roompilot-component__heading{margin:0 0 1rem;font-size:clamp(1.35rem,2vw,2rem);line-height:1.2}.roompilot-align--center{text-align:center}.roompilot-align--right{text-align:right}.roompilot-align--center .roompilot-property-card__actions,.roompilot-align--center .roompilot-form>fieldset>.roompilot-button{justify-content:center;margin-inline:auto}.roompilot-align--right .roompilot-property-card__actions,.roompilot-align--right .roompilot-form>fieldset>.roompilot-button{justify-content:flex-end;margin-left:auto}.roompilot-button,.roompilot-pagination__link{min-height:44px;padding:.7rem 1.15rem;white-space:normal;text-align:center}.roompilot-button--secondary{border-color:var(--roompilot-border);background:var(--roompilot-surface);color:var(--roompilot-primary)}.roompilot-button--secondary:hover,.roompilot-button--secondary:focus{border-color:var(--roompilot-primary);background:var(--roompilot-surface-soft);color:var(--roompilot-primary-hover)}.roompilot-text-link{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .25rem;color:var(--roompilot-primary);font-weight:600;text-decoration:underline;text-underline-offset:.2em}.roompilot-component :where(a,button,input,select,textarea):focus-visible{outline:3px solid #72aee6;outline-offset:2px}.roompilot-component [aria-disabled="true"],.roompilot-component :disabled{opacity:.72}
.roompilot-property-card{position:relative;display:grid;grid-template-areas:"media" "content" "contact" "booking";width:100%;max-width:100%;margin:0;border:1px solid var(--roompilot-border);border-radius:var(--roompilot-radius);background:var(--roompilot-surface);box-shadow:var(--roompilot-shadow);overflow:hidden}.roompilot-property-card__media{grid-area:media;width:100%;overflow:hidden;background:var(--roompilot-surface-soft)}.roompilot-property-card__media>.roompilot-image-link,.roompilot-property-card__media .roompilot-property-media,.roompilot-property-card__media .roompilot-property-media__viewport{height:100%;margin:0;border-radius:0}.roompilot-property-card__image,.roompilot-property-card__media .roompilot-property-media__image{display:block;width:100%;height:100%;max-width:none;object-fit:cover}.roompilot-image-ratio--16-9 .roompilot-property-card__media{aspect-ratio:16/9}.roompilot-image-ratio--4-3 .roompilot-property-card__media{aspect-ratio:4/3}.roompilot-image-ratio--3-2 .roompilot-property-card__media{aspect-ratio:3/2}.roompilot-image-ratio--1-1 .roompilot-property-card__media{aspect-ratio:1/1}.roompilot-image-ratio--auto .roompilot-property-card__media{aspect-ratio:auto;min-height:220px}.roompilot-property-card__content{grid-area:content;display:grid;align-content:start;gap:.85rem;padding:1.25rem}.roompilot-property-card__title{margin:0;font-size:clamp(1.2rem,1.6vw,1.55rem);line-height:1.25}.roompilot-property-card__title a{position:relative;z-index:2;color:inherit;text-decoration:none}.roompilot-property-card__title a:hover,.roompilot-property-card__title a:focus{text-decoration:underline}.roompilot-property-card__description,.roompilot-property-card__excerpt,.roompilot-property-card__address{margin:0}.roompilot-property-card__description>:first-child{margin-top:0}.roompilot-property-card__description>:last-child{margin-bottom:0}.roompilot-property-card__address{font-style:normal;color:var(--roompilot-muted)}.roompilot-property-facts{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;margin:0}.roompilot-property-facts>div{display:grid;gap:.1rem}.roompilot-property-facts dt{font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--roompilot-muted)}.roompilot-property-facts dd{margin:0;font-weight:650}.roompilot-property-amenities{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.roompilot-property-card__actions{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.15rem}.roompilot-property-card__overlay-link{position:absolute;inset:0;z-index:1}.roompilot-property-card__booking{grid-area:booking;padding:0 1.25rem 1.25rem}.roompilot-property-card__booking .roompilot-booking-form--embedded{margin:0;box-shadow:none}.roompilot-property-card>.roompilot-property-contact{grid-area:contact;margin:0;padding:1.25rem;border-top:1px solid var(--roompilot-border)}
.roompilot-property>.roompilot-property-card--detail .roompilot-property-card__content{padding:clamp(1.25rem,3vw,2rem)}.roompilot-property>.roompilot-property-card--hero{min-height:min(680px,75vh)}.roompilot-property>.roompilot-property-card--hero .roompilot-property-card__media{min-height:clamp(320px,55vw,620px)}.roompilot-property>.roompilot-property-card--hero .roompilot-property-card__content{padding:clamp(1.5rem,4vw,3rem)}.roompilot-property>.roompilot-property-card--compact .roompilot-property-card__content{gap:.55rem;padding:1rem}.roompilot-property>.roompilot-property-card--compact .roompilot-property-card__media{max-height:220px}
.roompilot-layout--horizontal>.roompilot-property-card,.roompilot-layout--horizontal .roompilot-property-card--horizontal,.roompilot-image-position--left .roompilot-property-card{grid-template-columns:minmax(220px,42%) minmax(0,1fr);grid-template-areas:"media content" "contact contact" "booking booking"}.roompilot-image-position--right .roompilot-property-card{grid-template-columns:minmax(0,1fr) minmax(220px,42%);grid-template-areas:"content media" "contact contact" "booking booking"}.roompilot-layout--horizontal .roompilot-property-card__media,.roompilot-image-position--left .roompilot-property-card__media,.roompilot-image-position--right .roompilot-property-card__media{height:100%;min-height:260px;aspect-ratio:auto}.roompilot-image-position--background .roompilot-property-card{isolation:isolate;min-height:420px;grid-template-areas:"content" "contact" "booking"}.roompilot-image-position--background .roompilot-property-card__media{position:absolute;inset:0;z-index:-2;height:100%;aspect-ratio:auto}.roompilot-image-position--background .roompilot-property-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.18))}.roompilot-image-position--background .roompilot-property-card__content{align-self:end;max-width:720px;color:#fff}.roompilot-image-position--background .roompilot-property-card__address,.roompilot-image-position--background .roompilot-property-facts dt{color:rgba(255,255,255,.84)}
.roompilot-property-list{display:grid;grid-template-columns:repeat(var(--roompilot-columns-desktop,3),minmax(0,1fr));gap:1.25rem;width:100%}.roompilot-layout--list .roompilot-property-list,.roompilot-layout--compact-list .roompilot-property-list{grid-template-columns:1fr}.roompilot-layout--list .roompilot-property-card{grid-template-columns:minmax(220px,34%) minmax(0,1fr);grid-template-areas:"media content" "contact contact" "booking booking"}.roompilot-layout--list .roompilot-property-card__media{height:100%;min-height:240px;aspect-ratio:auto}.roompilot-layout--horizontal-list .roompilot-property-list{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(280px,36vw);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding:.15rem .15rem 1rem}.roompilot-layout--horizontal-list .roompilot-property-card{scroll-snap-align:start}.roompilot-layout--compact-list .roompilot-property-card{grid-template-columns:120px minmax(0,1fr);grid-template-areas:"media content" "contact contact" "booking booking";box-shadow:none}.roompilot-layout--compact-list .roompilot-property-card__media{height:100%;min-height:120px;aspect-ratio:1/1}.roompilot-layout--compact-list .roompilot-property-card__content{gap:.45rem;padding:.85rem}.roompilot-layout--compact-list .roompilot-property-facts{font-size:.9rem}.roompilot-layout--compact-list .roompilot-property-card__description{display:none}
.roompilot-property-catalog,.roompilot-property-collection{display:grid;gap:1.25rem}.roompilot-catalog-filters{padding:1rem;border:1px solid var(--roompilot-border);border-radius:var(--roompilot-radius);background:var(--roompilot-surface-soft)}.roompilot-catalog-filters .roompilot-form__grid,.roompilot-availability-search .roompilot-form__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.roompilot-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin-top:1.25rem}.roompilot-pagination__link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--roompilot-border);border-radius:6px;background:var(--roompilot-surface);color:var(--roompilot-primary);font-weight:600;text-decoration:none}.roompilot-pagination__status{color:var(--roompilot-muted)}
.roompilot-availability-search{display:grid;gap:1rem}.roompilot-availability-search__results{margin-top:.25rem}.roompilot-layout--inline.roompilot-availability-search .roompilot-form__grid{grid-template-columns:repeat(5,minmax(120px,1fr))}.roompilot-layout--compact.roompilot-availability-search{padding:1rem}.roompilot-layout--compact.roompilot-availability-search .roompilot-form__grid{gap:.65rem}.roompilot-layout--compact.roompilot-availability-search .roompilot-component__heading{font-size:1.25rem}
.roompilot-booking-form{display:grid;gap:1rem}.roompilot-booking-form--embedded{border-radius:calc(var(--roompilot-radius) - 2px);background:var(--roompilot-surface-soft)}.roompilot-layout--inline.roompilot-booking-form .roompilot-form__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.roompilot-layout--compact.roompilot-booking-form{padding:1rem}.roompilot-layout--compact.roompilot-booking-form .roompilot-form__grid{gap:.65rem}.roompilot-layout--compact.roompilot-booking-form .roompilot-component__heading{font-size:1.25rem}.roompilot-guest-portal__sections{display:grid;gap:1rem}.roompilot-portal-section{background:var(--roompilot-surface-soft)}
.roompilot-property-contact h3{margin-top:0}.roompilot-property-map{width:100%;margin:1rem 0 0;aspect-ratio:16/7;border-radius:8px}.roompilot-map-link{margin:.75rem 0 0}.roompilot-property-media{margin:0}.roompilot-property-media__viewport{height:100%;aspect-ratio:inherit}.roompilot-property-card__media .roompilot-property-media__slide,.roompilot-property-card__media .roompilot-image-link{height:100%}.roompilot-property-card__media .roompilot-slider__dots{position:absolute;right:0;bottom:.75rem;left:0;z-index:3;margin:0}.roompilot-property-card__media .roompilot-slider__dots button{box-shadow:0 0 0 2px rgba(255,255,255,.8)}
@media(max-width:900px){.roompilot-property-list{grid-template-columns:repeat(var(--roompilot-columns-tablet,2),minmax(0,1fr))}.roompilot-layout--inline.roompilot-availability-search .roompilot-form__grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.roompilot-layout--horizontal-list .roompilot-property-list{grid-auto-columns:minmax(280px,60vw)}}
@media(max-width:680px){.roompilot-property-list{grid-template-columns:repeat(var(--roompilot-columns-mobile,1),minmax(0,1fr))}.roompilot-layout--horizontal>.roompilot-property-card,.roompilot-layout--horizontal .roompilot-property-card--horizontal,.roompilot-image-position--left .roompilot-property-card,.roompilot-image-position--right .roompilot-property-card,.roompilot-layout--list .roompilot-property-card{grid-template-columns:1fr;grid-template-areas:"media" "content" "contact" "booking"}.roompilot-layout--horizontal .roompilot-property-card__media,.roompilot-image-position--left .roompilot-property-card__media,.roompilot-image-position--right .roompilot-property-card__media,.roompilot-layout--list .roompilot-property-card__media{height:auto;min-height:0;aspect-ratio:4/3}.roompilot-layout--compact-list .roompilot-property-card{grid-template-columns:96px minmax(0,1fr)}.roompilot-layout--compact-list .roompilot-property-card__media{min-height:96px}.roompilot-layout--horizontal-list .roompilot-property-list{grid-auto-columns:minmax(270px,86vw)}.roompilot-layout--inline.roompilot-availability-search .roompilot-form__grid{grid-template-columns:1fr}.roompilot-property-card__content,.roompilot-property-card__booking,.roompilot-property-card>.roompilot-property-contact{padding:1rem}.roompilot-property-facts{gap:.55rem 1rem}.roompilot-property-card__actions>*{width:100%}.roompilot-pagination{justify-content:space-between}.roompilot-property-map{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.roompilot-component *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Progressive lodging catalog. */
.roompilot-property-catalog{container-type:inline-size}
.roompilot-catalog-filters{display:block;padding:clamp(1rem,2vw,1.5rem)}
.roompilot-catalog-filters__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end}
.roompilot-catalog-filters__grid .roompilot-field--search{grid-column:span 2}
.roompilot-field{display:grid;gap:.4rem;font-weight:650}
.roompilot-field>span,.roompilot-catalog-sort>span{font-size:.9rem;color:var(--roompilot-text)}
.roompilot-catalog-filters__choices{margin:1rem 0 0;padding:1rem;border:1px solid var(--roompilot-border);border-radius:8px;background:var(--roompilot-surface)}
.roompilot-catalog-filters__choices legend{padding:0 .4rem;font-weight:700}
.roompilot-choice-group{display:flex;flex-wrap:wrap;gap:.65rem 1rem}
.roompilot-choice{display:inline-flex!important;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.55rem!important;font-weight:500!important;cursor:pointer}
.roompilot-choice input{width:auto!important;min-height:0!important;margin:.25rem 0 0;flex:0 0 auto}
.roompilot-choice--prominent{font-weight:650!important}
.roompilot-catalog-filters__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}
.roompilot-catalog-filters__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-left:auto}
.roompilot-button--secondary{border-color:var(--roompilot-border);background:var(--roompilot-surface);color:var(--roompilot-primary)}
.roompilot-button--secondary:hover,.roompilot-button--secondary:focus{border-color:var(--roompilot-primary);background:var(--roompilot-surface-soft);color:var(--roompilot-primary-hover)}
.roompilot-catalog-active{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}
.roompilot-catalog-active__label{font-weight:700}
.roompilot-catalog-active ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}
.roompilot-catalog-active a{display:inline-flex;align-items:center;gap:.25rem;min-height:36px;padding:.4rem .7rem;border:1px solid var(--roompilot-border);border-radius:999px;background:var(--roompilot-surface-soft);color:var(--roompilot-text);text-decoration:none}
.roompilot-catalog-active a:hover,.roompilot-catalog-active a:focus{border-color:var(--roompilot-primary);color:var(--roompilot-primary)}
.roompilot-catalog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem 0}
.roompilot-catalog-count{margin:0;font-weight:700}
.roompilot-catalog-toolbar__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto}
.roompilot-catalog-sort{display:flex;align-items:center;gap:.55rem;font-weight:650}
.roompilot-catalog-sort select{min-height:40px;padding:.45rem 2rem .45rem .65rem;border:1px solid var(--roompilot-border);border-radius:6px;background:var(--roompilot-surface);color:var(--roompilot-text);font:inherit}
.roompilot-catalog-views{display:inline-flex;border:1px solid var(--roompilot-border);border-radius:7px;overflow:hidden}
.roompilot-catalog-view{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.45rem .8rem;background:var(--roompilot-surface);color:var(--roompilot-primary);font-weight:650;text-decoration:none}
.roompilot-catalog-view+.roompilot-catalog-view{border-left:1px solid var(--roompilot-border)}
.roompilot-catalog-view.is-active,.roompilot-catalog-view[aria-current=true]{background:var(--roompilot-primary);color:#fff}
.roompilot-property-list--list{grid-template-columns:1fr}
.roompilot-property-list--list .roompilot-property-card{grid-template-columns:minmax(220px,34%) minmax(0,1fr);grid-template-areas:"media content" "contact contact" "booking booking"}
.roompilot-property-list--list .roompilot-property-card__media{height:100%;min-height:240px;aspect-ratio:auto}
.roompilot-catalog-results{min-height:4rem}
.roompilot-property-card.is-map-highlighted{outline:3px solid var(--roompilot-primary);outline-offset:3px;box-shadow:0 0 0 6px rgba(34,113,177,.15),var(--roompilot-shadow)}
.roompilot-catalog-map{width:100%;overflow:hidden;border:1px solid var(--roompilot-border);border-radius:var(--roompilot-radius);background:var(--roompilot-surface-soft)}
.roompilot-catalog-map__canvas{width:100%;height:var(--roompilot-map-height,420px);min-height:200px}
.roompilot-catalog-map-notice{margin:0}
.roompilot-pagination__pages{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;margin:0;padding:0;list-style:none}
.roompilot-pagination__link{min-width:42px;min-height:42px;padding:.5rem .75rem}
.roompilot-pagination__link.is-current{border-color:var(--roompilot-primary);background:var(--roompilot-primary);color:#fff}
.roompilot-property-card:focus{outline:3px solid var(--roompilot-primary);outline-offset:3px}
.roompilot-property-catalog[aria-busy=true]{cursor:progress}
.roompilot-property-catalog[aria-busy=true] .roompilot-catalog-results{opacity:.55}
.roompilot-property-catalog a:focus-visible,.roompilot-property-catalog button:focus-visible,.roompilot-property-catalog input:focus-visible,.roompilot-property-catalog select:focus-visible{outline:3px solid #72aee6;outline-offset:2px}
@container (max-width:900px){.roompilot-catalog-filters__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roompilot-catalog-filters__grid .roompilot-field--search{grid-column:1/-1}}
@container (max-width:620px){.roompilot-catalog-filters__grid{grid-template-columns:1fr}.roompilot-catalog-filters__grid .roompilot-field--search{grid-column:auto}.roompilot-catalog-filters__footer,.roompilot-catalog-toolbar{align-items:stretch;flex-direction:column}.roompilot-catalog-filters__actions,.roompilot-catalog-toolbar__controls{width:100%;margin-left:0}.roompilot-catalog-filters__actions>*{flex:1 1 auto}.roompilot-catalog-sort{justify-content:space-between;width:100%}.roompilot-catalog-sort select{max-width:70%}.roompilot-catalog-views{width:100%}.roompilot-catalog-view{flex:1}.roompilot-property-list--list .roompilot-property-card{grid-template-columns:1fr;grid-template-areas:"media" "content" "contact" "booking"}.roompilot-property-list--list .roompilot-property-card__media{height:auto;min-height:0;aspect-ratio:4/3}.roompilot-pagination{justify-content:center}.roompilot-pagination__pages{order:3;width:100%}}

/* Accessibility and narrow-container hardening. */
.roompilot-component,.roompilot-component *{min-width:0}
.roompilot-component h1,.roompilot-component h2,.roompilot-component h3,.roompilot-component p,.roompilot-component li,.roompilot-component dt,.roompilot-component dd,.roompilot-component label,.roompilot-component button,.roompilot-component a,.roompilot-component strong,.roompilot-component small{overflow-wrap:anywhere;word-break:normal}
.roompilot-component .roompilot-button{max-width:100%;white-space:normal;text-align:center}
.roompilot-component a:focus-visible,.roompilot-component button:focus-visible,.roompilot-component input:focus-visible,.roompilot-component select:focus-visible,.roompilot-component textarea:focus-visible,.roompilot-lightbox button:focus-visible{outline:3px solid #72aee6;outline-offset:2px}
.roompilot-lightbox[hidden]{display:none!important}
@media(max-width:420px){
	.roompilot-component{max-width:100%}
	.roompilot-card,.roompilot-property-card__content,.roompilot-property-card__booking,.roompilot-property-card>.roompilot-property-contact{padding:.85rem}
	.roompilot-form__grid,.roompilot-catalog-filters__grid{grid-template-columns:1fr!important}
	.roompilot-catalog-toolbar__controls,.roompilot-catalog-filters__actions,.roompilot-property-card__actions,.roompilot-voucher-actions{display:grid;width:100%;grid-template-columns:1fr}
	.roompilot-catalog-sort{display:grid;grid-template-columns:1fr;width:100%}
	.roompilot-catalog-sort select{width:100%;max-width:none!important}
	.roompilot-catalog-active ul{width:100%}
	.roompilot-catalog-active li,.roompilot-catalog-active a{max-width:100%}
	.roompilot-pagination__link{min-width:38px;min-height:38px;padding:.4rem .55rem}
	.roompilot-property-map{min-height:220px}
}
@media(max-width:340px){
	.roompilot-choice-group,.roompilot-catalog-active,.roompilot-catalog-toolbar,.roompilot-catalog-filters__footer{align-items:stretch;flex-direction:column}
	.roompilot-choice{width:100%}
}

.roompilot-catalog-map__preview{display:block;width:100%;height:var(--roompilot-map-height,420px);min-height:200px;object-fit:cover}
.roompilot-property-map__notice{margin:1rem 0 0}
.roompilot-button.is-disabled,.roompilot-button[aria-disabled=true]{border-color:#c3c4c7;background:#f0f0f1;color:#646970;cursor:not-allowed;pointer-events:none}
.roompilot-property-map__preview{display:block;width:100%;height:100%;object-fit:cover}
.roompilot-catalog-map--embed{position:relative}.roompilot-catalog-map__embed{display:block;width:100%;height:var(--roompilot-map-height,420px);min-height:200px;border:0}.roompilot-catalog-map__markers{position:absolute;inset:0;pointer-events:none}.roompilot-catalog-map__marker{position:absolute;z-index:2;width:30px;height:30px;margin:-15px 0 0 -15px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--roompilot-primary);box-shadow:0 2px 8px rgba(0,0,0,.35);cursor:pointer;pointer-events:auto}.roompilot-catalog-map__marker::after{content:"";position:absolute;left:50%;bottom:-7px;width:10px;height:10px;background:inherit;transform:translateX(-50%) rotate(45deg);border-right:2px solid #fff;border-bottom:2px solid #fff}.roompilot-catalog-map__marker span{position:absolute;inset:8px;border-radius:50%;background:#fff}.roompilot-catalog-map__marker:focus-visible{outline:3px solid var(--roompilot-primary);outline-offset:4px}
