/* HI hostel explorer: Webflow-safe, framework-free component styles. */
.hi-hostel-explorer,
.hi-hostel-explorer * {
  box-sizing: border-box;
}

.hi-hostel-explorer {
  --hixs-field: var(--_user-mode---light--bg, #fff8f2);
  --hixs-surface: var(--_user-mode---light--simp-bg, #fff);
  --hixs-ink: var(--_user-mode---light--text, #1f2430);
  --hixs-muted: var(--_user-mode---light--alt-text, #665f57);
  --hixs-soft-muted: var(--_user-mode---light--alt-text, #665f57);
  --hixs-amber: var(--_user-mode---primary--brand-500, #ff9b3d);
  --hixs-amber-hover: var(--_user-mode---primary--brand-600, color-mix(in srgb, var(--hixs-amber), black 20%));
  --hixs-amber-soft: var(--_user-mode---primary--brand-100, color-mix(in srgb, var(--hixs-amber), white 80%));
  --hixs-teal: var(--_user-mode---accent--accent-500, #008a73);
  --hixs-line: var(--_user-mode---light--border, color-mix(in srgb, var(--hixs-ink) 10%, transparent));
  --hixs-dash: color-mix(in srgb, var(--hixs-ink) 18%, transparent);
  --hixs-button-bg: var(--_user-mode---primary--brand-600, color-mix(in srgb, var(--hixs-amber), black 20%));
  --hixs-button-bg-hover: var(--_user-mode---primary--brand-400, color-mix(in srgb, var(--hixs-amber), white 20%));
  --hixs-button-border: #eae4d8;
  --hixs-button-border-hover: var(--_user-mode---primary--brand-600, color-mix(in srgb, var(--hixs-amber), black 20%));
  --hixs-button-text: var(--_user-mode---mono--mono-100, #fff);
  --hixs-button-text-hover: var(--_user-mode---primary--brand-900, color-mix(in srgb, var(--hixs-amber), black 80%));
  --hixs-map-text: var(--_user-mode---light--text, #1f2430);
  --hixs-map-muted: var(--_user-mode---light--alt-text, #665f57);
  --hixs-map-chip-bg: color-mix(in srgb, var(--_user-mode---light--simp-bg, #fff) 82%, transparent);
  --hixs-map-chip-border: color-mix(in srgb, var(--_user-mode---light--text, #1f2430) 18%, transparent);
  --hixs-radius: var(--radius--main, 1rem);
  --hixs-radius-sm: var(--radius--small, .5rem);
  --hixs-radius-pill: var(--radius--round, 100vw);
  --hixs-shadow: var(--_user-mode---light--shadow, rgba(31, 58, 96, .14));
  --hixs-active-top: 5rem;
  --hixs-bottom-clearance: calc(5rem + env(safe-area-inset-bottom, 0px));
  --hixs-map-height: var(--hi-hostel-explorer-map-height, 100svh);
  --_text-style---font-family: var(--_typography---font--primary-family, Inter, system-ui, sans-serif);
  --_text-style---font-size: var(--_typography---font-size--body, 1rem);
  --_text-style---line-height: var(--_typography---line-height--body, 1.5);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  --_text-style---text-transform: none;
  --_text-style---text-wrap: pretty;
  background: var(--hixs-field);
  color: var(--hixs-ink);
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  line-height: var(--_text-style---line-height);
  margin-left: calc(50% - 50vw);
  overflow: visible;
  position: relative;
  width: 100vw;
}

.hi-hostel-explorer[data-view="map"] {
  min-height: var(--hixs-map-height);
}

.hi-hostel-explorer[data-map-theme="dark"] {
  --hixs-field: var(--_user-mode---dark--bg, #17161a);
  --hixs-surface: var(--_user-mode---dark--simp-bg, #1f1d1e);
  --hixs-ink: var(--_user-mode---dark--text, #f7f1ea);
  --hixs-muted: var(--_user-mode---dark--alt-text, #c7bbb0);
  --hixs-soft-muted: var(--_user-mode---dark--alt-text, #c7bbb0);
  --hixs-line: var(--_user-mode---dark--border, color-mix(in srgb, var(--hixs-ink) 16%, transparent));
  --hixs-dash: color-mix(in srgb, var(--hixs-ink) 18%, transparent);
  --hixs-button-bg: var(--_user-mode---primary--brand-400, color-mix(in srgb, var(--hixs-amber), white 20%));
  --hixs-button-bg-hover: var(--_user-mode---primary--brand-100, color-mix(in srgb, var(--hixs-amber), white 80%));
  --hixs-button-border: #343230;
  --hixs-button-border-hover: var(--_user-mode---primary--brand-200, color-mix(in srgb, var(--hixs-amber), white 60%));
  --hixs-button-text: var(--_user-mode---primary--brand-900, color-mix(in srgb, var(--hixs-amber), black 80%));
  --hixs-button-text-hover: var(--_user-mode---primary--brand-900, color-mix(in srgb, var(--hixs-amber), black 80%));
  --hixs-map-text: var(--_user-mode---dark--text, #f7f1ea);
  --hixs-map-muted: var(--_user-mode---dark--alt-text, #c7bbb0);
  --hixs-map-chip-bg: color-mix(in srgb, var(--_user-mode---dark--simp-bg, #1f1d1e) 72%, transparent);
  --hixs-map-chip-border: color-mix(in srgb, var(--_user-mode---dark--text, #f7f1ea) 24%, transparent);
}

.hi-hostel-explorer button,
.hi-hostel-explorer input,
.hi-hostel-explorer select {
  color: var(--hixs-ink);
  font: inherit;
}

.hi-hostel-explorer a {
  color: inherit;
}

.hi-hostel-explorer [hidden] {
  display: none !important;
}

.hi-hostel-explorer :where(
  .hi-hostel-explorer__toggle-button,
  .hi-hostel-explorer__sort,
  .hi-hostel-explorer__sort-label,
  .hi-hostel-explorer__search-input,
  .hi-hostel-explorer__filter-button,
  .hi-hostel-explorer__filter-badge,
  .hi-hostel-explorer__suggestion-group h3,
  .hi-hostel-explorer__suggestion-icon,
  .hi-hostel-explorer__suggestion strong,
  .hi-hostel-explorer__suggestion small,
  .hi-hostel-explorer__suggestion em,
  .hi-hostel-explorer__map-fallback,
  .hi-hostel-explorer__eyebrow,
  .hi-hostel-explorer__drawer-title,
  .hi-hostel-explorer__drawer-subtitle,
  .hi-hostel-explorer__section-number,
  .hi-hostel-explorer__section-title,
  .hi-hostel-explorer__facet-group-title,
  .hi-hostel-explorer__filter-empty,
  .hi-hostel-explorer__selectable,
  .hi-hostel-explorer__selectable small,
  .hi-hostel-explorer__show-more,
  .hi-hostel-explorer__list-more,
  .hi-hostel-explorer__list-more button,
  .hi-hostel-explorer__clear-button,
  .hi-hostel-explorer__show-button,
  .hi-hostel-explorer__empty button,
  .hi-hostel-explorer__map-count,
  .hi-hostel-explorer__count,
  .hi-hostel-explorer__chip,
  .hi-hostel-card__placeholder,
  .hi-hostel-card__rating,
  .hi-hostel-card__kicker span,
  .hi-hostel-card__kicker em,
  .hi-hostel-card__title,
  .hi-hostel-card__meta,
  .hi-hostel-card__tag,
  .hi-hostel-card__price span,
  .hi-hostel-card__price strong,
  .hi-hostel-explorer__empty,
  .hi-hostel-explorer__error,
  .hi-hostel-explorer__loading,
  .hi-hostel-explorer__empty h2,
  .hi-hostel-popup__body,
  .hi-hostel-popup__title,
  .hi-hostel-popup__meta
) {
  font-family: var(--_text-style---font-family);
  font-size: var(--_text-style---font-size);
  font-weight: var(--_text-style---font-weight);
  letter-spacing: var(--_text-style---letter-spacing);
  line-height: var(--_text-style---line-height);
  text-transform: var(--_text-style---text-transform);
  text-wrap: var(--_text-style---text-wrap);
}

.hi-hostel-explorer__sr {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.hi-hostel-explorer__view-toggle,
.hi-hostel-explorer__sort {
  border-radius: var(--hixs-radius-pill);
  min-height: 2.625rem;
}

.hi-hostel-explorer__view-toggle {
  align-items: center;
  background: var(--hixs-field);
  border: 1px solid var(--hixs-line);
  color: var(--hixs-ink);
  display: inline-flex;
  padding: .1875rem;
}

.hi-hostel-explorer__toggle-button {
  --_text-style---font-size: var(--_typography---font-size--button, .9375rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--lead, 0);
  background: transparent;
  border: 0;
  border-radius: var(--hixs-radius-pill);
  color: var(--hixs-muted);
  cursor: pointer;
  min-height: 2.125rem;
  padding: 0 .9rem;
}

.hi-hostel-explorer__toggle-button[aria-pressed="true"] {
  background: var(--hixs-button-bg);
  color: var(--hixs-button-text);
}

.hi-hostel-explorer__sort {
  --_text-style---font-size: var(--_typography---font-size--button, .9375rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--lead, 0);
  appearance: none;
  background: var(--hixs-field);
  border: 1px solid var(--hixs-line);
  color: var(--hixs-ink);
  cursor: pointer;
  padding: 0 2rem 0 .875rem;
}

.hi-hostel-explorer__sort-wrap {
  display: grid;
  gap: .4rem;
  position: relative;
}

.hi-hostel-explorer__sort-label {
  --_text-style---font-size: var(--_typography---font-size--label, .875rem);
  --_text-style---line-height: var(--_typography---line-height--ui, 1.25);
  --_text-style---font-weight: var(--_typography---font--primary-medium, 500);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--label, 0);
  color: var(--hixs-muted);
}

.hi-hostel-explorer__sort-wrap::after {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid var(--hixs-muted);
  content: "";
  pointer-events: none;
  position: absolute;
  right: .875rem;
  top: auto;
  bottom: 1.3125rem;
}

.hi-hostel-explorer__searchbar-wrap {
  left: 50%;
  max-width: min(620px, calc(100vw - 40px));
  position: fixed;
  top: var(--hixs-active-top);
  transform: translateX(-50%);
  transition: left 0.5s cubic-bezier(.6,.02,.2,1), max-width 0.5s cubic-bezier(.6,.02,.2,1), transform 0.5s cubic-bezier(.6,.02,.2,1), opacity 0.2s ease;
  width: 100%;
  z-index: 18;
}

.hi-hostel-explorer.is-searchbar-docking .hi-hostel-explorer__searchbar-wrap {
  z-index: 64;
}

.hi-hostel-explorer.is-filter-open .hi-hostel-explorer__searchbar-wrap {
  left: auto;
  max-width: none;
  position: static;
  top: auto;
  transform: none;
  width: 100%;
  z-index: auto;
}

.hi-hostel-explorer.is-searchbar-docking .hi-hostel-explorer__drawer {
  overflow: visible;
  z-index: 64;
}

.hi-hostel-explorer.is-filter-open .hi-hostel-explorer__searchbar {
  box-shadow: none;
  grid-template-columns: minmax(0, 1fr);
  min-height: 3.25rem;
}

.hi-hostel-explorer__searchbar {
  align-items: center;
  background: var(--hixs-surface);
  border: var(--border-width--main, 1px) solid var(--hixs-line);
  border-radius: var(--hixs-radius-pill);
  box-shadow: 0 1rem 2.5rem var(--hixs-shadow);
  color: var(--hixs-ink);
  display: grid;
  gap: .5rem;
  grid-template-columns: minmax(12rem, 1fr) auto auto;
  min-height: 3.75rem;
  padding: .5rem;
}

.hi-hostel-explorer.is-filter-open .hi-hostel-explorer__filter-button {
  display: none;
}

.hi-hostel-explorer.is-filter-open .hi-hostel-explorer__view-toggle {
  display: none;
}

.hi-hostel-explorer__search-field {
  align-items: center;
  display: grid;
  gap: .75rem;
  grid-template-columns: 1.25rem auto minmax(0, 1fr);
  min-width: 0;
  padding-left: .875rem;
}

.hi-hostel-explorer__location-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .375rem;
  min-width: 0;
}

.hi-hostel-explorer__location-chip {
  --_text-style---font-size: var(--_typography---font-size--tag, .75rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  align-items: center;
  background: var(--hixs-button-bg);
  border: var(--border-width--main, 1px) solid var(--hixs-button-border);
  border-radius: var(--hixs-radius-pill);
  color: var(--hixs-button-text);
  cursor: pointer;
  display: inline-flex;
  gap: .35rem;
  max-width: 12rem;
  min-height: 1.875rem;
  padding: 0 .625rem;
}

.hi-hostel-explorer__location-chip span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hi-hostel-explorer__search-icon,
.hi-hostel-explorer__filter-icon {
  display: inline-block;
  position: relative;
}

.hi-hostel-explorer__search-icon {
  border: 2px solid var(--hixs-teal);
  border-radius: 50%;
  height: 17px;
  width: 17px;
}

.hi-hostel-explorer__search-icon::after {
  background: var(--hixs-teal);
  content: "";
  height: 8px;
  left: 12px;
  position: absolute;
  top: 12px;
  transform: rotate(-45deg);
  width: 2px;
}

.hi-hostel-explorer__search-input {
  --_text-style---font-size: var(--_typography---font-size--body-sm, .875rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.35);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  background: transparent;
  border: 0;
  color: var(--hixs-ink);
  min-height: 2.625rem;
  min-width: 0;
  outline: 0;
  width: 100%;
}

.hi-hostel-explorer__search-input::placeholder {
  color: var(--hixs-soft-muted);
}

.hi-hostel-explorer__filter-button {
  --_text-style---font-size: var(--_typography---font-size--button, .9375rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--lead, 0);
  align-items: center;
  background: var(--hixs-button-bg);
  border: var(--border-width--main, 1px) solid var(--hixs-button-border);
  border-radius: var(--hixs-radius-pill);
  color: var(--hixs-button-text);
  cursor: pointer;
  display: inline-flex;
  gap: .5rem;
  min-height: 2.75rem;
  padding: 0 1rem;
  position: relative;
}

.hi-hostel-explorer__filter-button:hover {
  background: var(--hixs-button-bg-hover);
  border-color: var(--hixs-button-border-hover);
  color: var(--hixs-button-text-hover);
}

.hi-hostel-explorer__filter-icon,
.hi-hostel-explorer__filter-icon::before,
.hi-hostel-explorer__filter-icon::after {
  background: currentColor;
  border-radius: var(--hixs-radius-pill);
  height: 2px;
  width: 16px;
}

.hi-hostel-explorer__filter-icon::before,
.hi-hostel-explorer__filter-icon::after {
  content: "";
  left: 0;
  position: absolute;
}

.hi-hostel-explorer__filter-icon::before {
  top: -6px;
  width: 12px;
}

.hi-hostel-explorer__filter-icon::after {
  top: 6px;
  width: 8px;
}

.hi-hostel-explorer__filter-badge {
  --_text-style---font-size: var(--_typography---font-size--tag, .75rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--tag, .04em);
  --_text-style---text-transform: uppercase;
  align-items: center;
  background: var(--hixs-button-text);
  border-radius: var(--hixs-radius-pill);
  color: var(--hixs-button-bg);
  display: inline-flex;
  height: 22px;
  justify-content: center;
  min-width: 22px;
  padding: 0 6px;
}

.hi-hostel-explorer__suggestions {
  background: var(--hixs-surface);
  border: 1px solid var(--hixs-line);
  border-radius: var(--hixs-radius);
  box-shadow: 0 18px 45px var(--hixs-shadow);
  margin-top: 10px;
  max-height: 440px;
  overflow: auto;
  padding: 12px;
}

.hi-hostel-explorer__suggestion-group + .hi-hostel-explorer__suggestion-group {
  border-top: 1px solid var(--hixs-line);
  margin-top: 10px;
  padding-top: 10px;
}

.hi-hostel-explorer__suggestion-group h3 {
  --_text-style---font-size: var(--_typography---font-size--caption, .75rem);
  --_text-style---line-height: var(--_typography---line-height--large, 1.45);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--eyebrow, .08em);
  --_text-style---text-transform: uppercase;
  color: var(--hixs-muted);
  margin: 4px 10px 8px;
}

.hi-hostel-explorer__suggestion {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--hixs-radius);
  color: var(--hixs-ink);
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  padding: 10px;
  text-align: left;
  width: 100%;
}

.hi-hostel-explorer__suggestion:hover {
  background: color-mix(in srgb, var(--hixs-amber-soft) 42%, transparent);
}

.hi-hostel-explorer__suggestion-icon {
  --_text-style---font-size: var(--_typography---font-size--tag, .75rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--tag, .04em);
  --_text-style---text-transform: uppercase;
  align-items: center;
  background: color-mix(in srgb, var(--hixs-teal) 11%, var(--hixs-surface));
  border: 2px solid var(--hixs-teal);
  border-radius: var(--hixs-radius-sm);
  color: var(--hixs-teal);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.hi-hostel-explorer__suggestion strong,
.hi-hostel-explorer__suggestion small {
  display: block;
}

.hi-hostel-explorer__suggestion strong {
  --_text-style---font-size: var(--_typography---font-size--label, .875rem);
  --_text-style---line-height: var(--_typography---line-height--ui, 1.25);
  --_text-style---font-weight: var(--_typography---font--primary-medium, 500);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--label, 0);
}

.hi-hostel-explorer__suggestion small,
.hi-hostel-explorer__suggestion em {
  --_text-style---font-size: var(--_typography---font-size--meta, .75rem);
  --_text-style---line-height: var(--_typography---line-height--meta, 1.25);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  color: var(--hixs-muted);
  font-style: normal;
}

.hi-hostel-explorer__drawer-backdrop {
  backdrop-filter: blur(7px);
  background: rgba(26, 26, 23, 0.28);
  inset: 0;
  position: fixed;
  z-index: 28;
}

.hi-hostel-explorer__drawer {
  background: var(--hixs-surface);
  border-right: 1px solid var(--hixs-line);
  bottom: 0;
  color: var(--hixs-ink);
  box-shadow: 24px 0 70px rgba(26, 26, 23, 0.24);
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  left: 0;
  max-width: min(480px, calc(100vw - 28px));
  overflow: hidden;
  padding: 0 var(--site--margin, 2rem);
  position: fixed;
  top: 0;
  transform: translateX(-104%);
  transition: transform 0.48s cubic-bezier(.6,.02,.2,1);
  width: 30rem;
  z-index: 30;
}

.hi-hostel-explorer.is-filter-open .hi-hostel-explorer__drawer {
  transform: translateX(0);
}

.hi-hostel-explorer__drawer-handle {
  display: none;
}

.hi-hostel-explorer__drawer-header {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 18px;
  padding-top: var(--hixs-active-top);
}

.hi-hostel-explorer__drawer-search-slot {
  display: grid;
  margin-bottom: 18px;
}

.hi-hostel-explorer__drawer-search-slot:empty {
  display: none;
}

.hi-hostel-explorer__drawer-sort {
  border-top: 1px solid var(--hixs-line);
  margin-bottom: 22px;
  padding-top: 18px;
}

.hi-hostel-explorer__drawer-sort .hi-hostel-explorer__sort {
  min-height: 3rem;
  width: 100%;
}

.hi-hostel-explorer__eyebrow {
  --_text-style---font-size: var(--_typography---font-size--caption, .75rem);
  --_text-style---line-height: var(--_typography---line-height--large, 1.45);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--eyebrow, .08em);
  --_text-style---text-transform: uppercase;
  color: var(--hixs-teal);
}

.hi-hostel-explorer__drawer-title {
  --_text-style---font-family: var(--_typography---font--primary-family, Inter, system-ui, sans-serif);
  --_text-style---font-size: var(--_typography---font-size--h3, 2rem);
  --_text-style---line-height: var(--_typography---line-height--subheading, 1.1);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--h3, 0);
  --_text-style---text-wrap: balance;
  margin: 8px 0 0;
}

.hi-hostel-explorer__drawer-subtitle {
  --_text-style---font-size: var(--_typography---font-size--body-sm, .875rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.35);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  color: var(--hixs-muted);
  margin: 10px 0 0;
}

.hi-hostel-explorer__drawer-close {
  align-items: center;
  background: var(--hixs-button-bg);
  border: var(--border-width--main, 1px) solid var(--hixs-button-border);
  border-radius: 50%;
  color: var(--hixs-button-text);
  cursor: pointer;
  display: inline-flex;
  font-size: 1.3rem;
  height: 2.4rem;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 2.4rem;
}

.hi-hostel-explorer__drawer-close:hover {
  background: var(--hixs-button-bg-hover);
  border-color: var(--hixs-button-border-hover);
  color: var(--hixs-button-text-hover);
}

.hi-hostel-explorer__filter-sections {
  display: grid;
  gap: 22px;
  overflow: auto;
  padding-bottom: 2rem;
}

.hi-hostel-explorer__filter-section {
  border-top: 1px solid var(--hixs-line);
  display: grid;
  gap: 16px;
  padding-top: 18px;
}

.hi-hostel-explorer__section-head {
  align-items: baseline;
  display: flex;
  gap: 12px;
}

.hi-hostel-explorer__section-number {
  --_text-style---font-size: var(--_typography---font-size--tag, .75rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--tag, .04em);
  --_text-style---text-transform: uppercase;
  color: var(--hixs-teal);
}

.hi-hostel-explorer__section-title {
  --_text-style---font-size: var(--_typography---font-size--h4, 1.375rem);
  --_text-style---line-height: var(--_typography---line-height--card-title, 1.15);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  --_text-style---text-wrap: balance;
  margin: 0;
}

.hi-hostel-explorer__chip-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hi-hostel-explorer__facet-groups {
  display: grid;
  gap: 18px;
}

.hi-hostel-explorer__facet-group {
  display: grid;
  gap: 8px;
}

.hi-hostel-explorer__facet-group-title {
  --_text-style---font-size: var(--_typography---font-size--label, .875rem);
  --_text-style---line-height: var(--_typography---line-height--ui, 1.25);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--label, 0);
  color: var(--hixs-ink);
  margin: 0;
}

.hi-hostel-explorer__filter-empty {
  color: var(--hixs-muted);
  margin: 0;
}

.hi-hostel-explorer__selectable {
  --_text-style---font-size: var(--_typography---font-size--body-sm, .875rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.35);
  --_text-style---font-weight: var(--_typography---font--primary-medium, 500);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  align-items: center;
  background: var(--hixs-surface);
  border: 1px solid var(--hixs-line);
  border-radius: var(--hixs-radius);
  color: var(--hixs-ink);
  cursor: pointer;
  display: flex;
  min-height: 48px;
  padding: 10px 12px;
  text-align: center;
  width: 100%;
}

.hi-hostel-explorer__selectable > span {
  min-width: 0;
  overflow-wrap: anywhere;
  width: 100%;
}

.hi-hostel-explorer__selectable:hover {
  border-color: var(--hixs-button-border);
}

.hi-hostel-explorer__selectable[aria-pressed="true"] {
  background: var(--hixs-button-bg);
  border-color: var(--hixs-button-border);
  color: var(--hixs-button-text);
}

.hi-hostel-explorer__selectable[aria-pressed="true"]:hover {
  background: var(--hixs-button-bg-hover);
  border-color: var(--hixs-button-border-hover);
  color: var(--hixs-button-text-hover);
}

.hi-hostel-explorer__selectable small {
  --_text-style---font-size: var(--_typography---font-size--meta, .75rem);
  --_text-style---line-height: var(--_typography---line-height--meta, 1.25);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  color: var(--hixs-muted);
  display: block;
}

.hi-hostel-explorer__show-more {
  --_text-style---font-size: var(--_typography---font-size--button, .9375rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--lead, 0);
  background: transparent;
  border: 0;
  color: var(--hixs-teal);
  cursor: pointer;
  justify-self: start;
  padding: .25rem 0;
}

.hi-hostel-explorer__list-more {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-column: 1 / -1;
  justify-items: center;
  margin-bottom: 2rem;
  padding: 16px 0 4px;
}

.hi-hostel-explorer__list-more p {
  color: var(--hixs-muted);
  margin: 0;
}

.hi-hostel-explorer__list-more button {
  --_text-style---font-size: var(--_typography---font-size--button, .9375rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--lead, 0);
  background: var(--hixs-button-bg);
  border: var(--border-width--main, 1px) solid var(--hixs-button-border);
  border-radius: var(--hixs-radius-pill);
  color: var(--hixs-button-text);
  cursor: pointer;
  min-height: 48px;
  padding: 0 22px;
}

.hi-hostel-explorer__list-more button:hover {
  background: var(--hixs-button-bg-hover);
  border-color: var(--hixs-button-border-hover);
  color: var(--hixs-button-text-hover);
}

.hi-hostel-explorer__drawer-footer {
  align-items: center;
  background: var(--hixs-surface);
  border-top: 1px solid var(--hixs-line);
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr auto;
  margin: 0 -28px;
  padding: 14px 28px var(--hixs-bottom-clearance);
}

.hi-hostel-explorer__clear-button,
.hi-hostel-explorer__show-button,
.hi-hostel-explorer__empty button {
  --_text-style---font-size: var(--_typography---font-size--button, .9375rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--lead, 0);
  border-radius: var(--hixs-radius-pill);
  cursor: pointer;
  min-height: 48px;
  padding: 0 20px;
}

.hi-hostel-explorer__clear-button {
  background: transparent;
  border: 1px solid var(--hixs-line);
  color: var(--hixs-ink);
  justify-self: start;
}

.hi-hostel-explorer__show-button,
.hi-hostel-explorer__empty button {
  background: var(--hixs-button-bg);
  border: var(--border-width--main, 1px) solid var(--hixs-button-border);
  color: var(--hixs-button-text);
}

.hi-hostel-explorer__show-button:hover,
.hi-hostel-explorer__empty button:hover {
  background: var(--hixs-button-bg-hover);
  border-color: var(--hixs-button-border-hover);
  color: var(--hixs-button-text-hover);
}

.hi-hostel-explorer__show-button {
  justify-self: end;
  text-align: right;
  width: max-content;
}

.hi-hostel-explorer__stage {
  padding-top: 0;
}

.hi-hostel-explorer__stage[data-view="list"] {
  padding-top: calc(var(--hixs-active-top) + 5rem);
}

.hi-hostel-explorer__stage[data-view="map"] {
  height: var(--hixs-map-height);
}

.hi-hostel-explorer__stage[data-view="map"] .hi-hostel-explorer__list-panel,
.hi-hostel-explorer__stage[data-view="list"] .hi-hostel-explorer__map-panel {
  display: none;
}

.hi-hostel-explorer__map-panel {
  height: 100%;
  position: relative;
}

.hi-hostel-explorer__map {
  background: var(--_user-mode---dark--bg, #17161a);
  height: 100%;
  width: 100%;
}

.hi-hostel-explorer__map-fallback {
  --_text-style---font-size: var(--_typography---font-size--body, 1rem);
  --_text-style---line-height: var(--_typography---line-height--body, 1.5);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  align-items: center;
  color: var(--hixs-map-text);
  display: flex;
  height: 100%;
  justify-content: center;
  padding: 32px;
  text-align: center;
}

.hi-hostel-explorer__map-overlay {
  color: var(--hixs-map-text);
  left: 28px;
  max-width: min(520px, calc(100vw - 56px));
  position: absolute;
  top: calc(var(--hixs-active-top) + 5rem);
  z-index: 3;
}

.hi-hostel-explorer__map-count {
  text-shadow: 0 1px 14px color-mix(in srgb, var(--hixs-map-chip-bg) 70%, transparent);
}

.hi-hostel-explorer__map-count,
.hi-hostel-explorer__count {
  --_text-style---font-size: var(--_typography---font-size--h3, 2rem);
  --_text-style---line-height: var(--_typography---line-height--subheading, 1.1);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--h3, 0);
  --_text-style---text-wrap: balance;
  margin: 0;
}

.hi-hostel-explorer__list-panel {
  color: var(--hixs-ink);
  margin: 0 auto;
  max-width: 1280px;
  padding: 34px 28px 56px;
}

.hi-hostel-explorer__list-header {
  display: grid;
  gap: 18px;
  margin-bottom: 28px;
}

.hi-hostel-explorer__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hi-hostel-explorer__chip {
  --_text-style---font-size: var(--_typography---font-size--tag, .75rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--tag, .04em);
  --_text-style---text-transform: uppercase;
  align-items: center;
  background: color-mix(in srgb, var(--hixs-surface) 86%, transparent);
  border: 1px solid var(--hixs-line);
  border-radius: var(--hixs-radius-pill);
  color: var(--hixs-ink);
  cursor: pointer;
  display: inline-flex;
  gap: 8px;
  min-height: 34px;
  padding: 0 12px;
}

.hi-hostel-explorer__chips--map .hi-hostel-explorer__chip {
  backdrop-filter: blur(8px);
  background: var(--hixs-map-chip-bg);
  border-color: var(--hixs-map-chip-border);
  color: var(--hixs-map-text);
}

.hi-hostel-explorer__chip--clear {
  color: var(--hixs-teal);
}

.hi-hostel-explorer__list {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hi-hostel-card {
  background: var(--hixs-surface);
  border: 1px solid var(--hixs-line);
  border-radius: var(--hixs-radius);
  box-shadow: 0 16px 34px rgba(87, 58, 27, 0.08);
  min-width: 0;
  overflow: hidden;
  position: relative;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.hi-hostel-card:hover {
  box-shadow: 0 20px 46px rgba(87, 58, 27, 0.14);
  transform: translateY(-3px);
}

.hi-hostel-card__media {
  background: color-mix(in srgb, var(--hixs-teal) 14%, var(--hixs-field));
  display: block;
  min-height: 13rem;
  position: relative;
  text-decoration: none;
}

.hi-hostel-card__image {
  aspect-ratio: 16 / 10;
  display: block;
  height: 13rem;
  object-fit: cover;
  width: 100%;
}

.hi-hostel-card__placeholder {
  --_text-style---font-size: var(--_typography---font-size--tag, .75rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--tag, .04em);
  --_text-style---text-transform: uppercase;
  align-items: center;
  background:
    repeating-linear-gradient(135deg, rgba(30, 122, 91, 0.16) 0 12px, transparent 12px 24px),
    color-mix(in srgb, var(--hixs-teal) 12%, var(--hixs-field));
  color: var(--hixs-teal);
  display: flex;
  height: 13rem;
  justify-content: center;
}

.hi-hostel-card__rating {
  --_text-style---font-size: var(--_typography---font-size--tag, .75rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--tag, .04em);
  --_text-style---text-transform: uppercase;
  background: var(--hixs-surface);
  border-radius: var(--hixs-radius-pill);
  left: 14px;
  padding: 7px 10px;
  position: absolute;
  top: 14px;
}

.hi-hostel-card__body {
  display: grid;
  gap: 10px;
  padding: 18px;
  text-decoration: none;
}

.hi-hostel-card__kicker {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.hi-hostel-card__kicker span {
  --_text-style---font-size: var(--_typography---font-size--caption, .75rem);
  --_text-style---line-height: var(--_typography---line-height--large, 1.45);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--eyebrow, .08em);
  --_text-style---text-transform: uppercase;
  color: var(--hixs-teal);
}

.hi-hostel-card__kicker em,
.hi-hostel-card__meta {
  --_text-style---font-size: var(--_typography---font-size--body-sm, .875rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.35);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  color: var(--hixs-muted);
  font-style: normal;
}

.hi-hostel-card__title {
  --_text-style---font-size: var(--_typography---font-size--card-title, 1.25rem);
  --_text-style---line-height: var(--_typography---line-height--card-title, 1.15);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  --_text-style---text-wrap: pretty;
  margin: 0;
}

.hi-hostel-card__meta {
  margin: 0;
}

.hi-hostel-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: .35rem;
  min-height: 31px;
}

.hi-hostel-card__tag {
  --_text-style---font-size: var(--_typography---font-size--tag, .75rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.2);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--tag, .04em);
  --_text-style---text-transform: uppercase;
  background: color-mix(in srgb, var(--hixs-amber-soft) 42%, var(--hixs-surface));
  border-radius: var(--hixs-radius-pill);
  color: var(--hixs-muted);
  padding: 7px 10px;
}

.hi-hostel-card__price {
  align-items: end;
  border-top: 1px solid var(--hixs-line);
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
  padding-top: 14px;
}

.hi-hostel-card__price span {
  --_text-style---font-size: var(--_typography---font-size--meta, .75rem);
  --_text-style---line-height: var(--_typography---line-height--meta, 1.25);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  color: var(--hixs-muted);
}

.hi-hostel-card__price strong {
  --_text-style---font-size: var(--_typography---font-size--h4, 1.375rem);
  --_text-style---line-height: var(--_typography---line-height--card-title, 1.15);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
}

.hi-hostel-explorer__empty,
.hi-hostel-explorer__error,
.hi-hostel-explorer__loading {
  --_text-style---font-size: var(--_typography---font-size--body, 1rem);
  --_text-style---line-height: var(--_typography---line-height--body, 1.5);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  background: var(--hixs-surface);
  border: 1px solid var(--hixs-line);
  border-radius: var(--hixs-radius);
  color: var(--hixs-muted);
  display: grid;
  gap: 14px;
  grid-column: 1 / -1;
  justify-items: center;
  padding: 42px;
  text-align: center;
}

.hi-hostel-explorer__empty h2 {
  --_text-style---font-size: var(--_typography---font-size--h3, 2rem);
  --_text-style---line-height: var(--_typography---line-height--subheading, 1.1);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--h3, 0);
  --_text-style---text-wrap: balance;
  color: var(--hixs-ink);
  font-style: italic;
  margin: 0;
}

.hi-hostel-explorer__empty p {
  margin: 0;
}

.hi-hostel-popup {
  background: var(--hixs-surface);
  border-radius: var(--hixs-radius-sm);
  color: var(--hixs-ink);
  display: grid;
  gap: 0;
  max-width: 260px;
  overflow: hidden;
}

.hi-hostel-popup__image {
  height: 120px;
  object-fit: cover;
  width: 100%;
}

.hi-hostel-popup__body {
  --_text-style---font-size: var(--_typography---font-size--body-sm, .875rem);
  --_text-style---line-height: var(--_typography---line-height--medium, 1.35);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  display: grid;
  gap: .5rem;
  padding: .875rem;
}

.hi-hostel-popup__title {
  --_text-style---font-size: var(--_typography---font-size--card-title, 1.25rem);
  --_text-style---line-height: var(--_typography---line-height--card-title, 1.15);
  --_text-style---font-weight: var(--_typography---font--primary-bold, 700);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  --_text-style---text-wrap: pretty;
  color: var(--hixs-ink);
  margin: 0;
}

.hi-hostel-popup__meta {
  --_text-style---font-size: var(--_typography---font-size--meta, .75rem);
  --_text-style---line-height: var(--_typography---line-height--meta, 1.25);
  --_text-style---font-weight: var(--_typography---font--primary-regular, 400);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--normal, 0);
  color: var(--hixs-muted);
  margin: 0;
}

.hi-hostel-popup__button-wrap {
  background: var(--hixs-button-bg);
  border: var(--border-width--main, 1px) solid var(--hixs-button-border);
  border-radius: var(--hixs-radius-pill);
  color: var(--hixs-button-text);
  display: inline-grid;
  min-height: 2.75rem;
  overflow: hidden;
  place-items: center;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.hi-hostel-popup__button-wrap .button_standard_element {
  align-items: center;
  color: var(--hixs-button-text);
  display: inline-flex;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0 1rem;
  width: 100%;
}

.hi-hostel-popup__button-wrap .button_main_text {
  color: var(--hixs-button-text);
  position: relative;
  z-index: 1;
}

.hi-hostel-popup__button-wrap .button_main_line,
.hi-hostel-popup__button-wrap .button_main_icon {
  display: none;
}

.hi-hostel-popup__button-link {
  inset: 0;
  position: absolute;
}

.hi-hostel-explorer .mapboxgl-popup-content {
  background: transparent;
  border-radius: var(--hixs-radius-sm);
  box-shadow: 0 1rem 2.5rem var(--hixs-shadow);
  padding: 0;
}

.hi-hostel-explorer .mapboxgl-popup-close-button {
  color: var(--hixs-ink);
  font-size: 1.5rem;
  line-height: 1;
  padding: .25rem .5rem;
}

.hi-hostel-explorer .mapboxgl-ctrl-bottom-left,
.hi-hostel-explorer .mapboxgl-ctrl-bottom-right {
  bottom: 2rem;
}

@media (max-width: 1000px) {
  .hi-hostel-explorer__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .hi-hostel-explorer__view-toggle {
    min-height: 2.375rem;
  }

  .hi-hostel-explorer__toggle-button {
    min-height: 2rem;
    padding: 0 .55rem;
  }

  .hi-hostel-explorer__searchbar-wrap,
  .hi-hostel-explorer.is-filter-open .hi-hostel-explorer__searchbar-wrap {
    left: var(--site--margin, 1rem);
    max-width: calc(100vw - var(--site--margin, 1rem) * 2);
    top: var(--hixs-active-top);
    transform: none;
  }

  .hi-hostel-explorer.is-filter-open .hi-hostel-explorer__searchbar-wrap {
    left: auto;
    max-width: none;
    position: static;
    top: auto;
    width: 100%;
  }

  .hi-hostel-explorer__searchbar {
    gap: .375rem;
    grid-template-columns: minmax(0, 1fr) auto auto;
    min-height: 3.125rem;
    padding: .375rem;
  }

  .hi-hostel-explorer.is-filter-open .hi-hostel-explorer__searchbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .hi-hostel-explorer__search-field {
    gap: .5rem;
    grid-column: auto;
    grid-template-columns: 1rem auto minmax(0, 1fr);
    min-height: 2.375rem;
    padding-left: .625rem;
  }

  .hi-hostel-explorer__location-chip {
    max-width: 8rem;
  }

  .hi-hostel-explorer__search-input {
    min-height: 2.25rem;
  }

  .hi-hostel-explorer__search-icon {
    height: 15px;
    width: 15px;
  }

  .hi-hostel-explorer__search-icon::after {
    height: 7px;
    left: 10px;
    top: 10px;
  }

  .hi-hostel-explorer__sort-wrap {
    display: none;
  }

  .hi-hostel-explorer__filter-button span:not(.hi-hostel-explorer__filter-icon):not(.hi-hostel-explorer__filter-badge) {
    display: none;
  }

  .hi-hostel-explorer__filter-button {
    height: 2.375rem;
    justify-content: center;
    min-height: 2.375rem;
    padding: 0;
    width: 2.375rem;
  }

  .hi-hostel-explorer__drawer {
    bottom: 0;
    border-radius: var(--radius--large, 2rem) var(--radius--large, 2rem) 0 0;
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
    left: 0;
    max-height: 90svh;
    max-width: none;
    padding: 0 18px;
    right: 0;
    top: auto;
    transform: translateY(104%);
    width: 100vw;
  }

  .hi-hostel-explorer.is-filter-open .hi-hostel-explorer__drawer {
    transform: translateY(0);
  }

  .hi-hostel-explorer__drawer-handle {
    background: var(--hixs-line);
    border-radius: var(--hixs-radius-pill);
    display: block;
    height: 5px;
    justify-self: center;
    margin: var(--hixs-active-top) 0 10px;
    width: 52px;
  }

  .hi-hostel-explorer__drawer-header {
    padding-top: 0;
  }

  .hi-hostel-explorer__drawer-sort .hi-hostel-explorer__sort-wrap {
    display: grid;
  }

  .hi-hostel-explorer__drawer-footer {
    grid-template-columns: 1fr auto;
    margin: 0 -18px;
    padding: 14px 18px var(--hixs-bottom-clearance);
  }

  .hi-hostel-explorer__stage[data-view="map"] {
    height: var(--hixs-map-height);
  }

  .hi-hostel-explorer__map-overlay {
    left: var(--site--margin, 1rem);
    top: calc(var(--hixs-active-top) + 5rem);
  }

  .hi-hostel-explorer__list-panel {
    padding: 28px 16px 44px;
  }

  .hi-hostel-explorer__list {
    grid-template-columns: 1fr;
  }

  .hi-hostel-card__image,
  .hi-hostel-card__placeholder,
  .hi-hostel-card__media {
    height: 12rem;
    min-height: 12rem;
  }

}
