.palmera-native-control{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip-path:inset(50%)!important;pointer-events:none!important;margin:0!important;padding:0!important;border:0!important}
.palmera-control{font:inherit;display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-width:0;min-height:44px;padding:8px 0;text-align:left;background:transparent;color:var(--ink);border-radius:6px;cursor:pointer;line-height:1.3}
.palmera-control>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palmera-control svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.palmera-control:hover{color:var(--accent-text)}.palmera-control:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.palmera-control:disabled{opacity:.45;cursor:default}.palmera-control.control-invalid{outline:2px solid var(--accent-text)}
.header .language-control .palmera-control{width:90px;font:500 12px/1.2 var(--font-body);gap:9px}.header .language-control .palmera-control svg{width:15px;height:15px}
.browse-tools .palmera-control{font-size:13px;width:auto;min-width:140px}.browse-tools>div:has(.palmera-control){align-items:center}.search-field .palmera-control{font-size:15px;padding:0;min-height:32px}.search-field .palmera-control.is-empty{color:var(--muted)}
.booking-fields .palmera-control,.stay-dates .palmera-control{font-size:15px}label:has(>.palmera-native-control){position:relative}
.palmera-picker{position:fixed;inset:auto;margin:0;padding:18px;border:1px solid #ded5cc;border-radius:18px;background:#faf6f0;color:#171412;width:354px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);box-shadow:0 18px 70px #17141230;font:400 14px/1.4 var(--font-body);overflow:auto;overscroll-behavior:contain}
.palmera-picker::backdrop{background:#17141218}.picker-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 0 12px;border-bottom:1px solid #ded5cc;margin-bottom:8px}.picker-heading>span{font-size:12px;font-weight:600;color:#625b55;letter-spacing:.01em}.picker-close{font-size:25px;width:32px;height:32px;min-height:32px;display:grid;place-items:center;border-radius:50%;background:#eee5dc;line-height:1}.picker-options{display:grid;gap:3px;max-height:min(380px,55dvh);overflow:auto;padding:4px}.picker-options button{width:100%;text-align:left;border-radius:9px;padding:12px 35px 12px 12px;min-height:44px;font:500 14px/1.4 var(--font-body);position:relative}.picker-options button[aria-selected=true]{background:#efdfd3;color:#8b351e}.picker-options button[aria-selected=true]:after{content:'✓';position:absolute;right:12px}.picker-options button:hover,.picker-options button:focus-visible{background:#eee5dc;outline:2px solid #b8300f;outline-offset:-2px}.picker-options button:disabled{opacity:.4}.calendar-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0 14px}.calendar-bar strong{font-family:var(--font-display);font-size:20px;font-weight:500;text-transform:capitalize;letter-spacing:-.025em}.calendar-bar button{height:36px;width:36px;border-radius:50%;border:1px solid #ded5cc;font-size:20px}.calendar-bar button:disabled{opacity:.25}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.calendar-week{font-size:11px;font-weight:600;color:#625b55;padding:0 0 9px}.calendar-grid button{height:40px;min-width:0;padding:0;border-radius:50%;font-size:13px;font-weight:500}.calendar-grid button:disabled{color:#b7afa8;cursor:default}.calendar-grid button:not(:disabled):hover{background:#efdfd3}.calendar-grid button[aria-current=date]{box-shadow:inset 0 0 0 1px #b8300f;color:#b8300f}.calendar-grid button[aria-pressed=true]{background:#b8300f;color:#fff}.calendar-grid button:focus-visible{outline:2px solid #b8300f;outline-offset:1px}.calendar-footer{display:flex;justify-content:space-between;padding-top:14px;margin-top:12px;border-top:1px solid #ded5cc}.calendar-footer button{font-size:12px;font-weight:600;min-height:36px;padding:6px 10px;border-radius:7px}.calendar-footer button:hover{background:#eee5dc}.calendar-footer button:disabled{opacity:.35}
@media(max-width:600px){.palmera-picker{left:12px!important;right:12px;bottom:max(12px,env(safe-area-inset-bottom));top:auto!important;width:auto!important;padding:20px;border-radius:22px;max-height:80dvh}.palmera-picker::backdrop{background:#17141265}.calendar-grid button{height:44px}.picker-options button{min-height:48px}.palmera-app .header .language-control .palmera-control{width:82px;font-size:12px}.palmera-control{font-size:16px}.app-filter-form .palmera-control,.app-standalone-search .palmera-control{padding:12px;border:1px solid #ded5cc;border-radius:12px;margin-top:6px;background:#faf6f0}}
@media(prefers-reduced-motion:no-preference){.palmera-picker[open]{animation:picker-in .14s ease-out}@keyframes picker-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}
.palmera-picker::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}.palmera-picker{scrollbar-width:thin}.palmera-picker .picker-close:focus-visible{outline:2px solid #b8300f;outline-offset:2px}
.booking-date-fields .palmera-control{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:14px;min-height:48px;margin-top:6px}.booking-date-fields>div{min-width:0}.longer-search .palmera-control{font-size:14px}
.availability-picker{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:760px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:25px;animation:none!important}.availability-picker .picker-heading h2{font:500 25px/1.1 var(--font-display);letter-spacing:-.03em}.availability-selection{display:flex;gap:10px;padding-top:10px}.availability-selection>button{flex:1;text-align:left;border:1px solid var(--line);border-radius:12px;padding:10px 15px;display:grid;gap:4px}.availability-selection>button.is-active{border-color:var(--accent-text);background:#f3e5dc}.availability-selection small{font-size:11px;color:var(--muted)}.availability-selection strong{font-size:15px;font-weight:500}.availability-hint{font-size:12px;padding:16px 0 0;min-height:38px}.availability-navigation{display:flex;justify-content:space-between;margin-bottom:-32px;position:relative;z-index:1;pointer-events:none}.availability-navigation button{pointer-events:auto;border:1px solid var(--line);border-radius:50%;height:32px;width:32px;font-size:20px}.availability-navigation button:disabled{opacity:.3}.availability-months{display:grid;grid-template-columns:1fr 1fr;gap:28px}.availability-month h3{font:500 20px/1.2 var(--font-display);text-align:center;padding:5px 30px 20px;text-transform:capitalize}.availability-picker .calendar-grid button{height:42px}.availability-picker .calendar-grid button:disabled{text-decoration:line-through;color:#b7afa8}.availability-picker .calendar-grid button.in-range{background:#efdfd3;border-radius:4px;color:var(--ink)}.availability-picker .calendar-grid button[aria-pressed=true]{background:var(--accent-text);color:white;text-decoration:none}.availability-picker .calendar-grid button.night-unavailable:not(:disabled){text-decoration:none;box-shadow:inset 0 0 0 1px var(--line)}.availability-legend{font-size:11px;color:var(--muted);padding-top:16px;white-space:pre-wrap}.availability-message{padding:35px 0}.availability-retry{padding:12px 18px;background:var(--ink);color:var(--paper);border-radius:8px}.calendar-footer .availability-apply{background:var(--ink);color:var(--paper);padding:12px 20px;font-size:13px}.calendar-footer .availability-apply:hover{background:var(--accent-text)}.availability-note{font-size:10px;color:var(--muted);padding-top:10px}
@media(max-width:600px){.palmera-picker.availability-picker{inset:auto 8px max(8px,env(safe-area-inset-bottom)) 8px!important;transform:none;width:auto!important;max-width:none;max-height:90dvh;padding:20px}.availability-months{display:block}.availability-month+.availability-month{display:none}.availability-month h3{padding-top:7px}.availability-selection strong{font-size:14px}.availability-picker .calendar-grid button{height:44px}.availability-picker .picker-heading h2{font-size:23px}.availability-hint{padding-bottom:15px}.availability-navigation{margin-bottom:-34px}}
.availability-picker .calendar-grid button:disabled{text-decoration:none}.availability-picker .calendar-grid button.night-unavailable:disabled{text-decoration:line-through}.availability-picker .calendar-grid button.in-range{text-decoration:none!important}
