/* Stay search bar (assets/booking/search.js): extended-search component with a property list in "Where".
   Loaded by the booking page and the kaystay.com homepage. */
.bk-search { margin: 18px 0 8px; }
.bk-search .extended-search__field--where { min-width: 0; }
.bk-search .bk-search__places { left: 0; transform: none; min-width: min(24rem, 92vw); padding: 0.4rem; }
.bk-search .extended-search__summary { color: #b4493a; }
.bk-place { display: flex; align-items: center; gap: 12px; width: 100%; border: 0; background: none; border-radius: 0.85rem; padding: 0.5rem; text-align: left; cursor: pointer; font: inherit; color: var(--brand-900, #343836); }
.bk-place:hover:not(:disabled), .bk-place.is-on { background: var(--brand-50, #f9faf8); }
.bk-place:disabled { cursor: default; opacity: 0.55; }
.bk-place__img { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 0.65rem; background: var(--brand-200, #e1e7de) center / cover no-repeat; }
.bk-place__img--all { display: flex; align-items: center; justify-content: center; color: var(--brand-800, #5e6360); }
.bk-place__text { display: flex; flex-direction: column; min-width: 0; }
.bk-place__text strong { font-size: 0.9rem; }
.bk-place__text span { font-size: 0.8rem; color: var(--brand-800, #5e6360); }
.bk-num { width: 48px; height: 38px; padding: 0 4px; border: 1px solid #e1e7de; border-radius: 10px; background: #fff; color: #343836; font: inherit; font-size: 16px; font-weight: 700; text-align: center; }
.bk-num:focus { outline: none; border-color: #343836; }

/* Prices on homepage stay cards, laid out like the Signature property cards. */
.stay-price { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; min-width: 0; min-height: 44px; margin: 0; color: #343836; }
.stay-price:empty { display: none; }
.stay-price__from, .stay-price__unit, .stay-price__hint { font-size: 12px; line-height: 1.3; color: #5e6360; }
.stay-price__hint { font-size: 13px; }
.stay-price__amount { font-size: 14px; line-height: 1.2; color: #5e6360; }
.stay-price__amount s { font-size: 14px; color: #5e6360; }
.stay-price__amount strong { font-size: 22px; font-weight: 700; color: #343836; }
.stay-price__wait { display: block; width: 110px; height: 30px; border-radius: 8px; background: linear-gradient(90deg, #e6eae2 0%, #f1f3ee 50%, #e6eae2 100%) 0 0 / 200% 100%; animation: stay-shimmer 1.2s linear infinite; }
@keyframes stay-shimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .stay-price__wait { animation: none; } }
