/* ── search bar (home hero + listings page) ── */
@keyframes fadeUp { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
.hs{--navy:#14213d;--gold:#b8913a;position:relative;z-index:5;width:min(960px,100%);background:#fff;border-radius:20px;padding:10px;box-shadow:0 18px 50px rgba(0,0,0,.26);display:grid;grid-template-columns:1.4fr 1fr 1fr 1.25fr;gap:8px;font-family:'Inter',system-ui,sans-serif;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.hs.busy{transform:translateY(-8px) scale(1.01);box-shadow:0 30px 70px rgba(0,0,0,.35)}
.hs-t{position:relative;display:flex;align-items:center;gap:10px;background:#f6f5f2;border-radius:14px;padding:8px 12px 8px 10px;min-height:62px;min-width:0;overflow:hidden}
.hs-ic{width:42px;height:42px;border-radius:50%;background:#f3ecdc;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hs-ic svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hs-b{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.hs-lab{font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;color:#6b5d49;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-b input,.hs-num{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.2rem;font-weight:600;color:var(--navy);line-height:1.1;border:0;outline:0;background:transparent;width:100%;min-width:0;padding:0;appearance:none;-webkit-appearance:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.hs-b input[type=date]{font-size:1.1rem;letter-spacing:-.01em}
.hs-b input::placeholder{color:#a39a8d;font-weight:500}
.hs-b input[type=date]{position:relative;color:var(--navy)}.hs-b input[type=date]:not(.set){color:#a39a8d}
.hs-b input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.hs-b input[type=date]::-webkit-datetime-edit{padding:0}
.hs-chev{width:16px;height:16px;flex-shrink:0;fill:none;stroke:#1c150c;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.hs-step{display:flex;align-items:center;gap:4px;flex-shrink:0}
/* in a tight row (under ~1000px of bar width) the date and guests tiles drop their icon circles so values never clip; the location tile keeps its pin */
@container (max-width:1000px){.hs-t:not(.hs-where) .hs-ic{display:none}}
@media(max-width:1000px){.hs-t:not(.hs-where) .hs-ic{display:none}}
.hs-step button{width:30px;height:30px;border-radius:50%;border:0;background:#e9e6e0;color:#1c150c;font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.hs-step button:hover{background:#dcd7ce}.hs-step button:disabled{opacity:.35;cursor:default}
.hs-step .hs-num{width:2ch;text-align:center;font-size:1.15rem}
.hs-go{grid-column:1/-1;border:0;border-radius:14px;min-height:50px;background:linear-gradient(90deg,#a87f2c 0%,#c9a14a 45%,#e0bd63 60%,#b8913a 100%);color:#fff;font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;box-shadow:0 8px 24px rgba(184,145,58,.35);transition:filter .2s,transform .2s}
.hs-go:hover{filter:brightness(1.05)}.hs-go:active{transform:scale(.995)}
.hs-go svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hs-spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:hs-rot .7s linear infinite}@keyframes hs-rot{to{transform:rotate(360deg)}}
/* typeahead */
.hs-dd{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border-radius:16px;box-shadow:0 18px 44px rgba(0,0,0,.18);overflow:hidden;z-index:30;text-align:left}
.hs-dd button{display:block;width:100%;text-align:left;border:0;background:none;font-family:'Inter',system-ui,sans-serif;padding:12px 18px;cursor:pointer;font-size:.92rem;color:#1c150c;line-height:1.3}
.hs-dd button small{display:block;color:#8b8177;font-size:.72rem}.hs-dd button:hover,.hs-dd button.on{background:#f4ede0}
.hs-dd button b{font-weight:600;color:var(--gold);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;margin-left:8px}
/* veil on the home page */
.hs-veil{position:fixed;inset:0;z-index:9999;background:rgba(28,21,12,.96);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;opacity:0;transition:opacity .45s;pointer-events:none}
.hs-veil.on{opacity:1;pointer-events:auto}.hs-veil img{height:54px;filter:brightness(0) invert(1);opacity:0;transform:translateY(10px);animation:hs-up .6s .1s forwards}
.hs-veil-t{font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem;color:#fff;opacity:0;transform:translateY(10px);animation:hs-up .6s .25s forwards}
.hs-veil-s{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;opacity:0;transform:translateY(10px);animation:hs-up .6s .4s forwards}
.hs-veil-s span{font-size:.78rem;letter-spacing:.06em;color:#fff;border:1px solid rgba(255,255,255,.35);padding:7px 14px;border-radius:20px}
@keyframes hs-up{to{opacity:1;transform:none}}
@media(max-width:900px){.hs{grid-template-columns:1fr 1fr;padding:10px;border-radius:20px}.hs-t.hs-where,.hs-t.hs-guests{grid-column:1/-1}.hs-t{min-height:60px;padding:8px 10px 8px 8px;gap:8px}.hs-ic{width:40px;height:40px}.hs-b input,.hs-num{font-size:1.15rem}.hs-b input[type=date]{font-size:1.05rem}.hs-t:not(.hs-where):not(.hs-guests) .hs-chev{display:none}.hs-t .hs-ic{display:flex}.hs-step button{width:34px;height:34px}}
/* the same layout when the bar sits in a narrow column (e.g. the listings page), whatever the viewport */
.hs-mount{container-type:inline-size}
@container (max-width:900px){.hs{grid-template-columns:1fr 1fr;padding:10px;border-radius:20px}.hs-t.hs-where,.hs-t.hs-guests{grid-column:1/-1}.hs-t{min-height:60px;padding:8px 10px 8px 8px;gap:8px}.hs-ic{width:40px;height:40px}.hs-b input,.hs-num{font-size:1.15rem}.hs-b input[type=date]{font-size:1.05rem}.hs-t:not(.hs-where):not(.hs-guests) .hs-chev{display:none}.hs-t .hs-ic{display:flex}.hs-step button{width:34px;height:34px}}
@media(max-width:420px){.hs-t{gap:8px}.hs-ic{width:36px;height:36px}.hs-ic svg{width:17px;height:17px}.hs-b input{font-size:1.05rem}.hs-b input[type=date]{font-size:.98rem}.hs-lab{font-size:.5rem;letter-spacing:.14em}}
@container (max-width:420px){.hs-t{gap:8px}.hs-ic{width:36px;height:36px}.hs-ic svg{width:17px;height:17px}.hs-b input{font-size:1.05rem}.hs-b input[type=date]{font-size:.98rem}.hs-lab{font-size:.5rem;letter-spacing:.14em}}
