/* Keep the check-in date clear of the divider after the property field. */
.catalog-booking-form__dates label:first-child { padding-left: 30px; }

/* Replace the two legacy selects only after the new control is ready. */
.acme-filters-ready .catalog-toolbar__inner > label:nth-of-type(2),
.acme-filters-ready .catalog-toolbar__inner > label:nth-of-type(4) { display: none !important; }
.acme-filters-ready .catalog-toolbar__inner {
  grid-template-columns: minmax(260px, 1fr) auto auto !important;
  align-items: center;
  gap: 0;
}
.acme-filter-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 138px;
  min-height: 44px;
  margin: 8px 16px;
  padding: 0 18px;
  border: 1px solid #cfd4d7;
  background: #fff;
  color: #17283d;
  font: 700 13px/1.2 Arial, sans-serif;
  cursor: pointer;
  white-space: nowrap;
}
.acme-filter-trigger::before { content: '☷'; color: #b9653e; font-size: 20px; font-weight: 400; margin-right: 10px; }
.acme-filter-trigger:hover, .acme-filter-trigger:focus-visible, .acme-filter-trigger.is-active { border-color: #b9653e; background: #fff7f1; }
.acme-filter-overlay[hidden] { display: none !important; }
.acme-filter-open { overflow: hidden; }
.acme-filter-overlay { position: fixed; z-index: 10000; inset: 0; display: flex; justify-content: flex-end; }
.acme-filter-shade { position: absolute; inset: 0; background: rgba(10, 27, 44, .48); }
.acme-filter-panel { position: relative; display: flex; flex-direction: column; width: min(440px, 100%); height: 100%; background: #fff; color: #17283d; box-shadow: -12px 0 36px rgba(10, 27, 44, .16); }
.acme-filter-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 30px 30px 22px; border-bottom: 1px solid #e4e6e7; }
.acme-filter-kicker { margin: 0 0 10px !important; color: #b9653e; font-size: 10px !important; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.acme-filter-head h2 { margin: 0; font: 400 34px/1.1 Georgia, serif; }
.acme-filter-head p:last-child { margin: 9px 0 0; color: #6c747a; font-size: 13px; line-height: 1.45; }
.acme-filter-close { width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid #dce0e2; background: #fff; color: #17283d; font-size: 23px; line-height: 1; cursor: pointer; }
.acme-filter-fields { flex: 1; overflow-y: auto; padding: 12px 30px 22px; }
.acme-filter-field { display: block; padding: 18px 0; border-bottom: 1px solid #ececed; }
.acme-filter-field > span, .acme-filter-row > span { display: block; margin-bottom: 11px; font-size: 13px; font-weight: 750; }
.acme-filter-field select { width: 100%; height: 43px; padding: 0 12px; border: 1px solid #d6dadc; border-radius: 0; background: #fff; color: #17283d; font: 400 14px Arial, sans-serif; }
.acme-filter-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.acme-filter-row small { color: #777f83; font-weight: 400; }
.acme-filter-row output { color: #b9653e; font-size: 14px; font-weight: 750; white-space: nowrap; }
.acme-dual-range { position: relative; height: 34px; margin: 5px 0 0; --start: 0%; --end: 100%; }
.acme-dual-range::before { content: ''; position: absolute; top: 15px; right: 0; left: 0; height: 4px; border-radius: 3px; background: linear-gradient(to right, #d9dddf 0 var(--start), #b9653e var(--start) var(--end), #d9dddf var(--end) 100%); }
.acme-dual-range input[type="range"] { position: absolute; inset: 0; width: 100%; height: 34px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; pointer-events: none; }
.acme-dual-range input[type="range"]:last-child { z-index: 1; }
.acme-dual-range input[type="range"]::-webkit-slider-runnable-track { height: 4px; background: transparent; }
.acme-dual-range input[type="range"]::-webkit-slider-thumb { width: 19px; height: 19px; margin-top: -8px; border: 0; border-radius: 50%; appearance: none; -webkit-appearance: none; background: #b9653e; cursor: grab; pointer-events: auto; }
.acme-dual-range input[type="range"]::-moz-range-track { height: 4px; background: transparent; }
.acme-dual-range input[type="range"]::-moz-range-thumb { width: 19px; height: 19px; border: 0; border-radius: 50%; background: #b9653e; cursor: grab; pointer-events: auto; }
.acme-dual-range input[type="range"]:focus-visible::-webkit-slider-thumb { outline: 2px solid #17283d; outline-offset: 3px; }
.acme-filter-field > small, .acme-filter-check small { display: block; margin-top: 9px; color: #7b8285; font-size: 11px; line-height: 1.4; }
.acme-filter-check { display: flex; align-items: flex-start; gap: 12px; padding: 21px 0; cursor: pointer; }
.acme-filter-check input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: #b9653e; }
.acme-filter-check strong { display: block; font-size: 13px; }
.acme-area-field { padding-bottom: 10px; }
.acme-area-field + .acme-filter-check { box-sizing: border-box; min-height: 44px; align-items: center; padding: 8px 0; }
.acme-custom-filters { padding: 0; margin: 0; }
.acme-custom-filters > strong { display: block; font-size: 13px; margin-bottom: 4px; }
.acme-custom-filters .acme-filter-check { padding: 12px 0; border-bottom: 1px solid #ececed; }
.acme-custom-filters > div > .acme-filter-check:first-child { min-height: 44px; align-items: center; padding-top: 0; }
.acme-filter-actions { display: flex; gap: 10px; padding: 18px 30px 24px; border-top: 1px solid #e4e6e7; background: #fff; }
.acme-filter-actions button { min-height: 48px; border: 0; cursor: pointer; font: 750 13px Arial, sans-serif; }
.acme-filter-reset { width: 34%; background: #f1f2f2; color: #17283d; }
.acme-filter-apply { flex: 1; background: #b9653e; color: #fff; }
.acme-filter-apply:hover { background: #a3512e; }
.acme-filter-error { color: #a23b2a; font-size: 12px; }
@media (max-width: 720px) {
  .catalog-booking-form__dates label:first-child { padding-left: 18px; }
  .acme-filters-ready .catalog-toolbar__inner { grid-template-columns: minmax(0, 1fr) auto !important; }
  .acme-filter-trigger { grid-column: 1; grid-row: 2; justify-self: start; min-width: 0; min-height: 42px; margin: 7px 10px; padding: 0 13px; }
  .acme-filters-ready .catalog-toolbar__inner .view-switch { grid-column: 2; grid-row: 2; }
  .acme-filter-overlay { align-items: flex-end; }
  .acme-filter-panel { width: 100%; height: min(94dvh, 820px); border-radius: 18px 18px 0 0; box-shadow: 0 -12px 36px rgba(10, 27, 44, .18); }
  .acme-filter-head { padding: 15px 18px 12px; }
  .acme-filter-kicker, .acme-filter-head p:last-child { display: none; }
  .acme-filter-head h2 { font-size: 24px; }
  .acme-filter-fields { padding: 3px 18px 10px; }
  .acme-filter-field { padding: 10px 0; }
  .acme-filter-field > span, .acme-filter-row > span { margin-bottom: 7px; }
  .acme-filter-field select { height: 40px; }
  .acme-dual-range, .acme-dual-range input[type="range"] { height: 30px; }
  .acme-dual-range::before { top: 13px; }
  .acme-filter-check { padding: 10px 0; }
  .acme-area-field { padding-bottom: 6px; }
  .acme-area-field + .acme-filter-check { padding: 6px 0; }
  .acme-custom-filters { padding-top: 0; }
  .acme-custom-filters .acme-filter-check { padding: 9px 0; }
  .acme-filter-actions { padding: 10px 18px max(12px, env(safe-area-inset-bottom)); }
  .acme-filter-actions button { min-height: 44px; }
}
