/* Public stay search: generous controls within the shared results rail. */
.booking-search .search-panel{border-radius:20px;border:1px solid color-mix(in srgb,var(--brand) 18%,#fff);box-shadow:0 14px 38px #43213012,0 2px 6px #43213005;padding:0 16px 20px;background:var(--surface,#fff)}
.booking-search .search-panel-heading{position:relative;margin:0 -16px 22px;padding:25px 16px 22px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 85%,#fff),var(--accent));border-bottom:1px solid color-mix(in srgb,var(--brand) 12%,#fff)}
.booking-search .search-panel-heading:before{content:"";display:block;width:28px;height:3px;border-radius:4px;background:var(--brand);margin-bottom:14px;opacity:.8}
.booking-search .search-panel-heading .eyebrow{font-size:10px;font-weight:800;letter-spacing:1.3px}
.booking-search .search-panel-heading h2{font-size:clamp(21px,1.7vw,26px);line-height:1.15;margin:9px 0 0}
.booking-search .search-grid{gap:18px 10px}
.booking-search .field{position:relative;font-size:11px;font-weight:700;gap:8px;color:var(--ink)}
.booking-search .field input{min-height:52px;padding:12px 10px;border:1px solid color-mix(in srgb,var(--brand) 15%,#deded9);border-radius:11px;background:linear-gradient(150deg,#fff,color-mix(in srgb,var(--accent) 12%,#fff));box-shadow:0 2px 4px #43213004;transition:border-color .15s,box-shadow .15s}
.booking-search .field input:hover{border-color:color-mix(in srgb,var(--brand) 45%,#fff)}
.booking-search .field input:focus-visible{outline:2px solid var(--brand);outline-offset:3px;box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 9%,transparent)}
.booking-search .field input[type="date"]{min-height:58px;font-size:clamp(14px,1.1vw,16px);font-weight:600;padding:13px 8px 13px 10px}
.booking-search .field input[type="date"]::-webkit-calendar-picker-indicator{width:22px;height:22px;padding:5px;border-radius:7px;background-color:color-mix(in srgb,var(--accent) 60%,#fff)}
.booking-search .search-grid>.field:nth-child(3),.booking-search .search-grid>.field:nth-child(4){padding-top:17px;border-top:1px solid color-mix(in srgb,var(--brand) 13%,#fff)}
.booking-search button.primary{min-height:54px;border-radius:12px;font-size:clamp(11px,.9vw,13px);font-weight:800;text-transform:uppercase;letter-spacing:.55px;position:relative;line-height:1.35;border:2px solid #fff;background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 85%,#000));box-shadow:0 4px 12px color-mix(in srgb,var(--brand) 20%,transparent);transition:box-shadow .15s,filter .15s}
.booking-search button.primary:hover{filter:brightness(1.08);box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 26%,transparent)}
body[data-page="guest"] .large-date-picker{border:1px solid color-mix(in srgb,var(--brand) 20%,#fff);padding:26px;border-radius:24px;box-shadow:0 30px 90px #43213038}
body[data-page="guest"] .date-picker-heading{padding:0 0 18px;border-bottom:1px solid color-mix(in srgb,var(--brand) 13%,#fff)}
body[data-page="guest"] .date-picker-heading p{font-weight:700;color:var(--brand);font-size:11px;letter-spacing:.8px;text-transform:uppercase}
body[data-page="guest"] .date-picker-close{background:color-mix(in srgb,var(--accent) 50%,#fff);border-radius:50%}
body[data-page="guest"] .date-picker-month{padding:9px;background:color-mix(in srgb,var(--accent) 25%,#fff);border-radius:15px;margin:18px 0 12px}
body[data-page="guest"] .date-picker-month button{background:#fff;color:var(--brand);box-shadow:0 2px 5px #43213008;border:1px solid color-mix(in srgb,var(--brand) 12%,#fff)}
body[data-page="guest"] .date-picker-month h3{font-size:18px}
body[data-page="guest"] .date-picker-days button{border-radius:12px;background:color-mix(in srgb,var(--accent) 13%,#fff);font-weight:500}
body[data-page="guest"] .date-picker-days button:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 12%,#fff);color:var(--brand)}
body[data-page="guest"] .date-picker-days button[aria-pressed="true"]{background:var(--brand);color:var(--brand-text,#fff);box-shadow:0 3px 8px color-mix(in srgb,var(--brand) 22%,transparent);font-weight:700}
body[data-page="guest"] .date-picker-days button:disabled{background:transparent}
@media(max-width:760px){
 .booking-search .search-panel{padding:0 18px 20px}
 .booking-search .search-panel-heading{margin:0 -18px 20px;padding:22px 18px}
 .booking-search .search-panel-heading h2{font-size:25px}
 .booking-search .search-grid{gap:18px 12px}
 .booking-search .field input[type="date"]{font-size:15px;padding-left:9px;padding-right:5px}
 .booking-search .field input[type="date"]::-webkit-calendar-picker-indicator{width:20px;height:20px;padding:3px}
 .booking-search button.primary{font-size:13px}
}
@media(max-width:380px){
 .booking-search .search-grid>.field:nth-child(-n+2){grid-column:1/-1}
 body[data-page="guest"] .large-date-picker{padding:16px}
}

.booking-search button.primary:after{content:"";position:absolute;inset:4px;border:1px solid #ffffffa6;border-radius:7px;pointer-events:none}
.booking-search .field input[type="date"]{padding-right:48px}
.booking-search .field input[type="date"]::-webkit-calendar-picker-indicator{display:none}
.booking-search .field:has(input[type="date"]):before{content:"";position:absolute;right:10px;bottom:12px;width:34px;height:34px;pointer-events:none;border:1px solid color-mix(in srgb,var(--brand) 17%,#fff);border-radius:10px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--accent) 65%,#fff));box-shadow:0 2px 5px #43213009}
.booking-search .field:has(input[type="date"]):after{content:"";position:absolute;right:17px;bottom:19px;width:20px;height:20px;pointer-events:none;background:var(--brand);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M7 3v5m10-5v5M3 11h18'/%3E%3Cpath d='M7.5 15h1m4-0h1m-6 3h1m4 0h1' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}

/* Firefox exposes its native icon inside the input: keep it under the custom tile. */
@supports (-moz-appearance:none){
 .booking-search .field input[type="date"]{padding-right:10px}
 .booking-search .field:has(input[type="date"]):before{z-index:1;right:6px;bottom:10px;width:40px;height:38px;background:var(--surface,#fff);box-shadow:0 0 0 3px var(--surface,#fff)}
 .booking-search .field:has(input[type="date"]):after{z-index:2;right:16px;bottom:19px}
}
