/**
 * Hayha R3 Customer-Facing Search Page Styles
 * Baseline: M Village Reference Spec (search-desktop-spec.md)
 * Viewports: Desktop (1440x1000), Mobile Safety (390x844)
 */

/* --------------------------------------------------------------------------
 * Global Page Canvas
 * -------------------------------------------------------------------------- */
html,
body {
    overflow-x: clip;
    margin: 0;
    padding: 0;
}

.hayha-search-page,
.hayha-search-page-wrapper {
    background-color: var(--hayha-theme-surface) !important;
    color: var(--hayha-theme-text);
    font-family: inherit;
    font-size: 14px;
    line-height: 20px;
    font-weight: 300;
    min-height: 100vh;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    overflow: visible;
    overflow-x: visible;
}

.hayha-search-page-wrapper *,
.hayha-search-page-wrapper *::before,
.hayha-search-page-wrapper *::after {
    box-sizing: border-box;
}

/* --------------------------------------------------------------------------
 * 1. Sticky Search & Filter Header (Prominent Horizontal Strip)
 * -------------------------------------------------------------------------- */
.hayha-filter-header {
    position: sticky;
    top: var(--hayha-live-header-offset, 0px);
    z-index: 100;
    width: 100%;
    height: 76px;
    background-color: var(--hayha-theme-surface);
    box-shadow: rgba(16, 25, 40, 0.05) 0px 5px 13px -5px;
    border: 0px solid var(--hayha-theme-border);
    border-bottom: none;
    display: flex;
    align-items: center;
}

.hayha-filter-header__inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    height: 76px;
}

.hayha-search-form--desktop {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 76px;
    margin: 0;
    padding: 0;
}

.hayha-search-field-divider {
    width: 1px;
    height: 32px;
    background-color: var(--hayha-theme-soft);
    flex: 0 0 1px;
    margin: 0;
    padding: 0;
    border: none;
}

.hayha-search-field {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    outline: none;
    border-radius: 8px;
    transition: background-color 0.15s ease;
    text-transform: none !important;
    letter-spacing: normal;
    box-sizing: border-box;
    margin: 0;
}

.hayha-search-field:hover,
.hayha-search-field--active {
    background-color: var(--hayha-theme-surface);
}

.hayha-search-field__label {
    font-size: 12px;
    line-height: 16px;
    color: var(--hayha-theme-accent) !important;
    font-weight: 500;
    margin-bottom: 2px;
    text-transform: none !important;
    letter-spacing: normal;
}

.hayha-search-field__value {
    font-size: 14px;
    line-height: 20px;
    font-weight: 500 !important;
    color: var(--hayha-theme-text) !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: none !important;
    letter-spacing: normal;
}

.hayha-search-field--location {
    flex: 1 1 280px;
    width: auto;
    min-width: 0;
    height: 56px;
    padding: 0 24px;
}

.hayha-search-field--date {
    flex: 1 1 210px;
    width: auto;
    min-width: 0;
    height: 42px;
    padding: 0 24px;
}

.hayha-search-field--guests {
    flex: 1.2 1 280px;
    width: auto;
    min-width: 0;
    height: 43px;
    padding: 0 24px;
}

.hayha-search-action {
    flex: 0 0 auto;
    margin-left: 0;
    margin-right: 0;
    display: flex;
    align-items: center;
}

/* Desktop Search CTA Button: White background, Orange border, Orange text */
.hayha-search-page .hayha-search-button--desktop,
.hayha-search-button--desktop {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    width: 138.3px !important;
    min-width: 138.3px !important;
    max-width: 138.3px !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: var(--hayha-theme-surface) !important;
    color: var(--hayha-theme-accent) !important;
    border: 0.8px solid var(--hayha-theme-accent) !important;
    border-radius: 60px !important;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 44px !important;
    text-align: center !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    box-shadow: 0 6px 14px -4px color-mix(in srgb, var(--hayha-theme-accent) 35%, transparent) !important;
    transition: all 0.15s ease !important;
}

.hayha-search-page .hayha-search-button--desktop:hover,
.hayha-search-button--desktop:hover {
    background-color: var(--hayha-theme-surface) !important;
    border-color: var(--hayha-theme-hover) !important;
    color: var(--hayha-theme-hover) !important;
}

.hayha-search-page .hayha-search-button--desktop:active,
.hayha-search-button--desktop:active {
    transform: scale(0.98) !important;
}

/* --------------------------------------------------------------------------
 * Modal Overlay & Backdrop System
 * -------------------------------------------------------------------------- */
.hayha-modal-backdrop {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.35);
    z-index: 99998;
    transition: opacity 0.2s ease;
}

.hayha-modal-backdrop[hidden] {
    display: none !important;
}

.hayha-search-modal {
    position: absolute;
    top: 80px;
    background-color: var(--hayha-theme-surface);
    border: 1px solid var(--hayha-theme-border);
    border-radius: 16px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.06);
    z-index: 100000;
    box-sizing: border-box;
}

.hayha-search-modal[hidden] {
    display: none !important;
}

/* --------------------------------------------------------------------------
 * Modal A: Location Modal (Two Columns ~1270px)
 * -------------------------------------------------------------------------- */
.hayha-location-modal {
    left: 0;
    right: 0;
    width: 100%;
    max-width: 1270px;
    min-height: auto;
    padding: 24px 0;
    border: 1px solid var(--hayha-theme-border);
    border-radius: 16px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
    background-color: var(--hayha-theme-surface);
    box-sizing: border-box;
}

.hayha-location-modal__inner {
    display: flex;
    width: 100%;
    min-height: auto;
    gap: 20px;
}

.hayha-location-modal__left-col {
    flex: 1 1 50%;
    max-width: 50%;
    padding: 0 24px;
    border-right: 1px solid var(--hayha-theme-border);
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 400px;
    max-height: 576px;
    overflow-y: auto;
    box-sizing: border-box;
}

.hayha-location-modal__right-col {
    flex: 1 1 50%;
    max-width: 50%;
    padding: 0 24px 0 16px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 400px;
    max-height: 576px;
    overflow-y: auto;
    box-sizing: border-box;
}

.hayha-loc-default-sections {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.hayha-loc-section {
    display: flex;
    flex-direction: column;
}

.hayha-loc-section--destination {
    display: flex;
    flex-direction: column;
}

.hayha-loc-section--suitability {
    display: flex;
    flex-direction: column;
}

.hayha-loc-section--area {
    display: flex;
    flex-direction: column;
}

.hayha-loc-heading {
    font-size: 16px;
    font-weight: 500;
    color: var(--hayha-theme-muted) !important;
    text-transform: uppercase;
    letter-spacing: normal;
    margin: 0 0 12px 0;
    line-height: 24px;
}

.hayha-loc-chips-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.hayha-loc-chip {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 5px 10px;
    border: 1px solid var(--hayha-theme-border);
    border-radius: 9999px;
    background-color: transparent;
    color: var(--hayha-theme-text);
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    font-family: inherit;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer;
    box-shadow: none;
    box-sizing: border-box;
    gap: 8px;
    margin: 0;
    transition: all 0.15s ease;
}

.hayha-loc-chip--suitability {
    padding: 5px 10px;
    gap: 10px;
}

.hayha-loc-chip__icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.hayha-loc-chip:hover {
    border-color: var(--hayha-theme-hover);
    color: var(--hayha-theme-hover);
    background-color: var(--hayha-theme-surface);
}

.hayha-loc-chip--active {
    border-color: var(--hayha-theme-accent);
    color: var(--hayha-theme-accent);
    background-color: var(--hayha-theme-surface);
    font-weight: 500;
}

.hayha-loc-hotels-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.hayha-loc-hotel-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0;
    margin-bottom: 10px;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    text-decoration: none;
    width: 100%;
    box-sizing: border-box;
    box-shadow: none !important;
    cursor: pointer;
    transition: opacity 0.15s ease;
}

.hayha-loc-hotel-item:hover {
    background-color: transparent;
    border: 0;
    box-shadow: none;
    opacity: 0.85;
}

.hayha-loc-hotel-item:hover .hayha-loc-hotel-title {
    color: var(--hayha-theme-hover);
}

.hayha-loc-hotel-item--active {
    background-color: transparent;
    border: 0;
}

.hayha-loc-hotel-thumb {
    width: 74px;
    height: 74px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background-color: #F1F5F9;
}

.hayha-loc-hotel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.hayha-loc-hotel-thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--hayha-theme-soft);
    color: var(--hayha-theme-muted);
    font-size: 11px;
    font-weight: 600;
}

.hayha-loc-hotel-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    overflow: hidden;
}

.hayha-loc-hotel-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 2px;
}

.hayha-loc-hotel-pill {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    background-color: #ECF8FF;
    color: #0148D2;
    border-radius: 76px;
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
    width: fit-content;
}

.hayha-loc-hotel-pill--green {
    background-color: #ECFDF5;
    color: #059669;
}

.hayha-loc-hotel-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--hayha-theme-heading);
    line-height: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hayha-loc-hotel-landmark {
    font-size: 14px;
    color: #1A8C5E;
    font-weight: 400;
    line-height: 20px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.hayha-loc-hotel-check-icon {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

/* --------------------------------------------------------------------------
 * Modal B: Date Picker Modal (Dual-Month ~740px)
 * -------------------------------------------------------------------------- */
.hayha-date-modal {
    left: 300px;
    width: 740px;
    min-height: auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 16px;
}

.hayha-date-modal__months-row {
    display: flex;
    gap: 32px;
}

.hayha-cal-month-col {
    flex: 1;
}

.hayha-cal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 40px;
    margin-bottom: 12px;
}

.hayha-cal-month-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--hayha-theme-heading);
}

.hayha-cal-nav-btn {
    appearance: none;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    min-width: 40px;
    min-height: 40px;
    flex: 0 0 40px;
    box-shadow: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--hayha-theme-border);
    background-color: var(--hayha-theme-surface);
    color: var(--hayha-theme-text);
    font-size: 20px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
}

.hayha-cal-nav-btn:hover {
    border-color: var(--hayha-theme-hover);
    color: var(--hayha-theme-hover);
}

.hayha-cal-nav-btn svg { display: block; width: 16px; height: 16px; flex: 0 0 16px; max-width: none; fill: none; stroke: currentColor; filter: none; }
.hayha-mobile-cal-nav .hayha-cal-nav-btn { width: 44px; height: 44px; min-width: 44px; min-height: 44px; flex-basis: 44px; padding: 0; }
.hayha-cal-nav-btn:focus-visible { outline: 3px solid var(--hayha-theme-accent); outline-offset: 2px; }
.hayha-search-modal .hayha-cal-day:focus-visible,
.hayha-mobile-sheet .hayha-cal-day:focus-visible { outline: 3px solid var(--hayha-theme-accent) !important; outline-offset: 2px; }
.hayha-cal-nav-btn:disabled { opacity: .35; cursor: default; }
@media (prefers-reduced-motion: reduce) { .hayha-cal-nav-btn { transition: none; } }

.hayha-cal-nav-placeholder {
    width: 40px;
    height: 40px;
}

.hayha-cal-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: var(--hayha-theme-muted);
    margin-bottom: 8px;
}

.hayha-cal-days-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    row-gap: 6px;
}

.hayha-cal-day {
    width: 40px;
    height: 40px;
    margin: 0 auto;
    border-radius: 50%;
    border: none;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
    color: var(--hayha-theme-text);
    cursor: pointer;
    position: relative;
    transition: all 0.15s ease;
}

.hayha-cal-day--empty {
    cursor: default;
    pointer-events: none;
}

.hayha-cal-day:hover:not(.hayha-cal-day--disabled) {
    background-color: var(--hayha-theme-surface);
    color: var(--hayha-theme-hover);
}

.hayha-cal-day--start,
.hayha-cal-day.is-selected-start {
    background-color: var(--hayha-theme-accent) !important;
    color: var(--hayha-theme-contrast) !important;
    font-weight: 600;
}

.hayha-cal-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: var(--hayha-theme-accent);
    position: absolute;
    bottom: 4px;
}

.hayha-cal-day--start .hayha-cal-dot,
.hayha-cal-day.is-selected-start .hayha-cal-dot,
.hayha-cal-day--end .hayha-cal-dot,
.hayha-cal-day.is-selected-end .hayha-cal-dot {
    background-color: var(--hayha-theme-surface) !important;
}

.hayha-cal-day--end,
.hayha-cal-day.is-selected-end {
    background-color: var(--hayha-theme-accent) !important;
    color: var(--hayha-theme-contrast) !important;
    font-weight: 600;
}

.hayha-cal-day--in-range,
.hayha-cal-day.is-in-range {
    background-color: var(--hayha-theme-surface);
    border-radius: 0;
    color: var(--hayha-theme-accent);
    width: 100%;
}

.hayha-cal-day--disabled,
.hayha-cal-day.is-disabled {
    color: var(--hayha-theme-muted) !important;
    cursor: not-allowed;
}

.hayha-date-modal__footer {
    border-top: 0.8px solid var(--hayha-theme-border);
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 16px;
    padding-top: 10px;
}

.hayha-date-modal__footer-right {
    text-align: right;
}

.hayha-date-modal__summary-text {
    font-size: 14px;
    font-weight: 600;
    color: var(--hayha-theme-text);
}

.hayha-date-modal__subnote {
    font-size: 12px;
    color: var(--hayha-theme-muted);
    margin-top: 2px;
}

/* --------------------------------------------------------------------------
 * Modal C: Guest Popover (~386px x 447px)
 * -------------------------------------------------------------------------- */
.hayha-guest-popover {
    left: 771px;
    right: auto;
    width: 386px;
    min-height: auto;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 16px;
}

.hayha-guest-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    border-bottom: 0.8px solid var(--hayha-theme-border);
}

.hayha-guest-row:last-child {
    border-bottom: none;
}

.hayha-guest-row__info {
    display: flex;
    flex-direction: column;
    text-align: left;
    gap: 2px;
}

.hayha-guest-row__title {
    font-size: 15px;
    font-weight: 600;
    color: var(--hayha-theme-heading);
    line-height: 20px;
    margin: 0;
}

.hayha-guest-row__subtitle,
.hayha-guest-row__desc {
    font-size: 12px;
    color: var(--hayha-theme-muted);
    line-height: 16px;
    margin: 0;
}

.hayha-guest-stepper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.hayha-search-page .hayha-stepper-btn,
.hayha-stepper-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    border-radius: 50% !important;
    border: 1px solid var(--hayha-theme-border) !important;
    background-color: var(--hayha-theme-surface) !important;
    color: var(--hayha-theme-text) !important;
    font-size: 18px !important;
    line-height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    text-transform: none !important;
    transition: all 0.15s ease !important;
}

.hayha-search-page .hayha-stepper-btn:hover:not(:disabled),
.hayha-stepper-btn:hover:not(:disabled) {
    border-color: var(--hayha-theme-hover) !important;
    color: var(--hayha-theme-hover) !important;
}

.hayha-search-page .hayha-stepper-btn--disabled,
.hayha-search-page .hayha-stepper-btn:disabled,
.hayha-stepper-btn--disabled,
.hayha-stepper-btn:disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    border-color: var(--hayha-theme-border) !important;
}

.hayha-stepper-count,
.hayha-stepper-val {
    font-size: 16px;
    font-weight: 600;
    color: var(--hayha-theme-text);
    min-width: 20px;
    text-align: center;
}

.hayha-stepper-count--active,
.hayha-stepper-val--active {
    color: var(--hayha-theme-accent);
}

.hayha-guest-promo-box {
    background-color: #FEF6EE;
    border-radius: 8px;
    padding: 16px;
    margin-top: 16px;
}

.hayha-guest-promo-box__title {
    font-size: 13px;
    font-weight: 600;
    color: var(--hayha-theme-accent);
    margin: 0 0 4px 0;
}

.hayha-guest-promo-box__text {
    font-size: 12px;
    line-height: 17px;
    color: var(--hayha-theme-text);
    margin: 0;
}

/* --------------------------------------------------------------------------
 * Main Content Canvas & Container (#FAFAFA Canvas)
 * -------------------------------------------------------------------------- */
.hayha-search-main {
    background-color: var(--hayha-theme-page);
    padding: 20px 0 48px 0;
    width: 100%;
    min-height: calc(100vh - 76px);
}

.hayha-search-container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.hayha-search-validation-notice {
    background-color: var(--hayha-theme-surface);
    border: 1px solid #F87171;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 16px;
    width: 100%;
}

.hayha-validation-message {
    color: #B91C1C;
    font-size: 14px;
    font-weight: 500;
    margin: 0;
}

/* --------------------------------------------------------------------------
 * Two-Column Page Grid (Starts Immediately Below Search Bar)
 * Left: 940px | Gap: 24px | Right: 276px | Total: 1240px
 * -------------------------------------------------------------------------- */
.hayha-search-page-layout {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    width: 100%;
}

.hayha-search-left-col {
    flex: 1 1 0%;
    width: auto;
    max-width: none;
    min-width: 0;
}

.hayha-search-sidebar {
    flex: 0 0 270px;
    width: 270px;
    max-width: 270px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* --------------------------------------------------------------------------
 * 2. Hero / Banner Region (Inside Left Column, Photographic with Overlay)
 * -------------------------------------------------------------------------- */
.hayha-search-hero-banner {
    position: relative;
    width: 100%;
    height: 180px;
    border-radius: 12px;
    background-size: cover;
    background-position: center;
    background-color: var(--hayha-theme-heading);
    overflow: hidden;
    margin-bottom: 16px;
    display: flex;
    align-items: flex-end;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.hayha-search-hero-banner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.15) 0%, rgba(15, 23, 42, 0.72) 100%);
    z-index: 1;
}

.hayha-search-hero-banner__content {
    position: relative;
    z-index: 2;
    padding: 20px 24px;
    color: var(--hayha-theme-contrast);
}

.hayha-search-hero-banner__badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--hayha-theme-accent);
    margin-bottom: 4px;
}

.hayha-search-hero-banner__title {
    font-size: 20px;
    font-weight: 600;
    line-height: 26px;
    color: var(--hayha-theme-contrast);
    margin: 0 0 4px 0;
}

.hayha-search-hero-banner__subtitle {
    font-size: 13px;
    line-height: 18px;
    color: var(--hayha-theme-muted);
    margin: 0;
    max-width: 600px;
    font-weight: 300;
}

/* --------------------------------------------------------------------------
 * 3. Result Toolbar (Count on Left, Connected Sort on Right matching reference)
 * -------------------------------------------------------------------------- */
.hayha-search-toolbar {
    display: flex;
    align-items: center;
    gap: 2px;
    height: 46px;
    width: 100%;
    max-width: 100%;
    margin-bottom: 16px;
}

.hayha-search-toolbar__count {
    flex: 1;
    background-color: var(--hayha-theme-surface);
    border-radius: 8px 0 0 8px;
    padding: 8px 20px;
    height: 46px;
    display: flex;
    align-items: center;
    gap: 6px;
    border: 0;
    border-right: none;
}

.hayha-count-number {
    font-size: 18px;
    font-weight: 600;
    color: var(--hayha-theme-text);
    text-transform: none !important;
}

.hayha-count-label {
    font-size: 16px;
    font-weight: 500;
    color: var(--hayha-theme-text);
    text-transform: none !important;
}

.hayha-search-toolbar__sort-wrap {
    position: relative;
    width: 183px;
    flex: 0 0 183px;
    height: 46px;
}

.hayha-desktop-sort-trigger,
.hayha-search-page .hayha-search-toolbar__sort-wrap .hayha-desktop-sort-trigger {
    width: 100% !important;
    height: 46px !important;
    min-height: 0 !important;
    background-color: var(--hayha-theme-surface) !important;
    border-radius: 0 8px 8px 0 !important;
    padding: 4px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    border: 0 !important;
    border-left: 1px solid #f3f4f6 !important;
    cursor: pointer !important;
    text-align: left !important;
    outline: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    font-family: inherit;
    line-height: normal !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    box-shadow: none !important;
    vertical-align: middle !important;
}

.hayha-desktop-sort-trigger:hover,
.hayha-desktop-sort-trigger--open,
.hayha-search-page .hayha-search-toolbar__sort-wrap .hayha-desktop-sort-trigger:hover,
.hayha-search-page .hayha-search-toolbar__sort-wrap .hayha-desktop-sort-trigger--open {
    background-color: var(--hayha-theme-surface) !important;
}

.hayha-desktop-sort-label,
.hayha-search-page .hayha-search-toolbar__sort-wrap .hayha-desktop-sort-label {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--hayha-theme-muted) !important;
    line-height: 16px !important;
    padding-left: 1px !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    margin: 0 !important;
}

.hayha-desktop-sort-value-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.hayha-desktop-sort-value,
.hayha-search-page .hayha-search-toolbar__sort-wrap .hayha-desktop-sort-value {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--hayha-theme-accent) !important;
    line-height: 20px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    margin: 0 !important;
}

.hayha-desktop-sort-chevron,
.hayha-search-page .hayha-search-toolbar__sort-wrap .hayha-desktop-sort-chevron {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    margin-left: 6px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
}

.hayha-desktop-sort-chevron .hayha-svg-icon,
.hayha-desktop-sort-chevron img {
    width: 14px;
    height: 14px;
    display: block;
    transition: transform 0.2s ease;
}

.hayha-desktop-sort-trigger--open .hayha-desktop-sort-chevron .hayha-svg-icon,
.hayha-desktop-sort-trigger--open .hayha-desktop-sort-chevron img {
    transform: rotate(180deg);
}

.hayha-desktop-sort-menu,
.hayha-search-page .hayha-search-toolbar__sort-wrap .hayha-desktop-sort-menu {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    right: 0 !important;
    width: 183px !important;
    background-color: var(--hayha-theme-surface) !important;
    border-radius: 8px !important;
    border: 0.8px solid var(--hayha-theme-border) !important;
    box-shadow: rgba(16, 25, 40, 0.1) 0px 8px 24px -4px !important;
    padding: 4px 0 !important;
    z-index: 60 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    min-height: 0 !important;
}

.hayha-desktop-sort-menu[hidden] {
    display: none !important;
}

.hayha-search-page .hayha-search-toolbar__sort-wrap #hayha-desktop-sort-form {
    margin: 0 !important;
    padding: 0 !important;
}

.hayha-sort-option,
.hayha-search-page .hayha-search-toolbar__sort-wrap .hayha-sort-option {
    display: block !important;
    width: 100% !important;
    height: 38px !important;
    min-height: 0 !important;
    padding: 9px 16px !important;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    line-height: 20px !important;
    color: var(--hayha-theme-text) !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    text-transform: none !important;
    outline: none !important;
}

.hayha-sort-option:hover,
.hayha-search-page .hayha-search-toolbar__sort-wrap .hayha-sort-option:hover {
    background-color: var(--hayha-theme-surface) !important;
    color: var(--hayha-theme-text) !important;
}

.hayha-sort-option--active,
.hayha-search-page .hayha-search-toolbar__sort-wrap .hayha-sort-option--active {
    color: var(--hayha-theme-text) !important;
    font-weight: 500 !important;
    background-color: var(--hayha-theme-soft) !important;
}

/* --------------------------------------------------------------------------
 * 4. Promotional Notice Block
 * -------------------------------------------------------------------------- */
.hayha-search-promo-notice {
    background-color: #fef6ee;
    border: 0;
    box-shadow: 0 1.5px 4px -1px rgba(65, 25, 10, 0.07);
    border-radius: 8px;
    padding: 14px 20px;
    margin-bottom: 16px;
}

.hayha-search-promo-notice__title {
    font-size: 14px;
    font-weight: 600;
    color: var(--hayha-theme-accent);
    margin: 0 0 3px 0;
    line-height: 20px;
}

.hayha-search-promo-notice__text {
    font-size: 13px;
    line-height: 19px;
    color: var(--hayha-theme-text);
    margin: 0;
}

/* --------------------------------------------------------------------------
 * 5. Property Result Cards (Desktop Compact 3-Column Layout: 244px Height)
 * Column 1: Image 330px | Column 2: Info ~400px | Column 3: Price/CTA 210px
 * -------------------------------------------------------------------------- */
.hayha-search-results-list {
    width: 100%;
    max-width: 100%;
}

.hayha-property-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.hayha-property-card {
    display: flex;
    flex-direction: row;
    width: 100%;
    min-height: 243px;
    height: 243px;
    max-height: 243px;
    background-color: var(--hayha-theme-surface);
    border: 1px solid #ececec;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    box-shadow: none;
    transition: box-shadow 0.2s ease, transform 0.15s ease;
    box-sizing: border-box;
}

.hayha-property-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* Column 1: Media Block (Left, 330px x 243px) */
.hayha-property-card__media {
    flex: 0 0 330px;
    width: 330px;
    height: 100%;
    position: relative;
    overflow: hidden;
    background-color: var(--hayha-theme-surface);
}

/* Image Bottom Gradient Overlay (Brand Watermark & Carousel Dots Legibility) */
.hayha-property-card__gradient-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 76px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.28) 55%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
    z-index: 5;
}

.hayha-property-card__media-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.hayha-property-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.3s ease;
}

.hayha-property-card:hover .hayha-property-card__image {
    transform: scale(1.02);
}



/* Multi-image carousel */
.hayha-property-carousel {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.hayha-property-carousel__track {
    display: flex;
    width: 100%;
    height: 100%;
    position: relative;
}

.hayha-property-carousel__slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    display: none;
    position: absolute;
    inset: 0;
}

.hayha-property-carousel__slide.is-active {
    display: block;
}

.hayha-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 10;
    opacity: 0.85;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.hayha-carousel-btn:hover {
    opacity: 1;
    transform: translateY(-50%) scale(1.05);
}

.hayha-carousel-btn--prev {
    left: 12px;
}

.hayha-carousel-btn--next {
    right: 12px;
}

.hayha-carousel-btn img {
    display: block;
    width: 40px;
    height: 40px;
}

.hayha-carousel-dots {
    position: absolute;
    bottom: 10px;
    right: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
    z-index: 10;
}

.hayha-carousel-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: all 0.2s ease;
}

.hayha-carousel-dot.is-active {
    width: 16px;
    border-radius: 9999px;
    background-color: var(--hayha-theme-surface);
}

/* Column 2: Information Block (Center, Upper/Lower Grouped) */
.hayha-property-card__info-col {
    flex: 1 1 auto;
    width: auto;
    height: 243px;
    padding: 12px 15px;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.hayha-property-card__info-upper {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.hayha-property-card__locations {
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 2px;
}

.hayha-property-card__title {
    flex-shrink: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 26px;
    color: var(--hayha-theme-heading);
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hayha-property-card__title a {
    color: var(--hayha-theme-heading);
    text-decoration: none;
    transition: color 0.15s ease;
}

.hayha-property-card__title a:hover {
    color: var(--hayha-theme-hover);
}

.hayha-property-card__address {
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: var(--hayha-theme-text);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hayha-property-card__info-lower {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    margin-top: auto;
}

.hayha-property-card__amenities-desktop {
    flex-shrink: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.hayha-property-card__amenities-mobile {
    display: none;
}

.hayha-amenity-pill {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 76px;
    background-color: #FFF7ED;
    font-size: 12px;
    font-weight: 400;
    color: var(--hayha-theme-text);
    line-height: 18px;
}

.hayha-amenity-pill__icon {
    width: 15px;
    height: 15px;
    margin-right: 6px;
    flex-shrink: 0;
    object-fit: contain;
}

.hayha-amenity-pill--overflow {
    color: var(--hayha-theme-accent);
    font-weight: 500;
}

.hayha-property-card__description {
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    color: var(--hayha-theme-muted);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Column 3: Dedicated Price & CTA Block (Right, tightened to ~165px) */
.hayha-property-card__action-col {
    flex: 0 0 165px;
    width: 165px;
    max-width: 180px;
    min-width: 150px;
    height: 243px;
    border-left: 1px solid #f0f0f0;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    text-align: right;
    background-color: var(--hayha-theme-surface);
    box-sizing: border-box;
}

.hayha-property-card__price-panel {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
}

/* Skeleton Loading State */
.hayha-price-skeleton {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    width: 100%;
    margin-top: 4px;
}

.hayha-skeleton-line {
    border-radius: 4px;
    background: linear-gradient(90deg, var(--hayha-theme-soft) 25%, var(--hayha-theme-soft) 50%, var(--hayha-theme-soft) 75%);
    background-size: 200% 100%;
    animation: hayha-skeleton-shimmer 1.5s infinite;
}

.hayha-skeleton-line--sm {
    width: 60px;
    height: 14px;
}

.hayha-skeleton-line--lg {
    width: 120px;
    height: 24px;
}

.hayha-skeleton-line--btn {
    width: 110px;
    height: 40px;
    border-radius: 9999px;
    margin-top: 40px;
}

@keyframes hayha-skeleton-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Available with Price State */
.hayha-price-state-available,
.hayha-price-state-unresolved,
.hayha-price-state-unmapped,
.hayha-price-state-error,
.hayha-price-state-no-criteria {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    gap: 12px;
}

.hayha-price-hierarchy {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: auto;
    margin-bottom: 0;
}

.hayha-price-from-label {
    font-size: 11px;
    font-weight: 500;
    color: var(--hayha-theme-muted);
    line-height: 15px;
    letter-spacing: 0.02em;
    text-align: right;
}

.hayha-price-amount-row {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: 2px;
}

.hayha-price-numeric {
    font-size: 20px;
    font-weight: 600;
    color: var(--hayha-theme-accent);
    line-height: 24px;
    letter-spacing: -0.01em;
}

.hayha-price-unit {
    font-size: 11px;
    font-weight: 400;
    color: var(--hayha-theme-text);
    line-height: 15px;
    margin-top: 1px;
}

.hayha-price-urgency {
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    color: #D70D00;
    margin-top: 6px;
    margin-bottom: 6px;
    text-align: center;
    width: 100%;
}

.hayha-price-urgency--last-room {
    font-weight: 600;
}

.hayha-price-notice {
    font-size: 13px;
    line-height: 18px;
    color: var(--hayha-theme-muted);
    text-align: right;
    margin-top: 8px;
}

/* Sold Out State */
.hayha-price-state-soldout {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
}

.hayha-soldout-notice {
    font-size: 12px;
    font-weight: 600;
    color: #D70D00;
    line-height: 16px;
    text-align: center;
    width: 100%;
    margin-bottom: 8px;
}

.hayha-soldout-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    height: 40px;
    padding: 0 10px;
    white-space: nowrap;
    flex-shrink: 0;
    background-color: #FEF2F2;
    border: 1px solid #D70D00;
    border-radius: 8px;
    color: #D70D00;
    font-size: 14px;
    font-weight: 600;
    box-sizing: border-box;
}

.hayha-soldout-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* No Criteria State */
.hayha-property-card__price-box {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

.hayha-property-card__price-status {
    font-size: 13px;
    font-weight: 600;
    color: #1F2937;
    line-height: 18px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.hayha-property-card__price-subnote {
    font-size: 11px;
    color: var(--hayha-theme-muted);
    margin-top: 4px;
}

.hayha-property-card__cta-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    margin-top: 12px;
}

.hayha-search-page .hayha-property-card__cta,
.hayha-property-card__cta {
    display: inline-flex !important;
    white-space: nowrap;
    flex-shrink: 0;
    align-items: center !important;
    justify-content: center !important;
    height: 38px !important;
    min-height: 38px !important;
    width: auto !important;
    padding: 0 18px !important;
    margin: 0 !important;
    background-color: var(--hayha-theme-accent) !important;
    color: var(--hayha-theme-contrast) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    line-height: 38px !important;
    text-align: center !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
}

.hayha-search-page .hayha-property-card__cta:hover,
.hayha-property-card__cta:hover {
    background-color: var(--hayha-theme-hover) !important;
    color: var(--hayha-theme-contrast) !important;
}

.hayha-search-page .hayha-property-card__cta:active,
.hayha-property-card__cta:active {
    transform: scale(0.98) !important;
}

.hayha-search-page .hayha-property-card__cta.hayha-btn--processing,
.hayha-property-card__cta.hayha-btn--processing,
.hayha-search-page .hayha-search-button--desktop:disabled,
.hayha-search-button--desktop:disabled,
.hayha-sheet-apply-btn:disabled,
.hayha-btn-select-room:disabled,
.hayha-btn--processing {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

/* --------------------------------------------------------------------------
 * 6. Right Sidebar Cards (Begins Alongside Hero)
 * -------------------------------------------------------------------------- */
.hayha-sidebar-card {
    width: 270px;
    box-sizing: border-box;
    background-color: var(--hayha-theme-surface);
    border: 0;
    border-radius: 8px;
    box-shadow: rgba(16, 25, 40, 0.05) 0px 5px 13px -5px;
    padding: 14px 16px;
}

.hayha-sidebar-card--accordion {
    padding: 0;
    overflow: visible;
}

.hayha-sidebar-card--map {
    padding: 0;
    overflow: hidden;
    height: 130px;
}

.hayha-sidebar-card__map-preview {
    background: linear-gradient(135deg, #F1F5F9 0%, var(--hayha-theme-soft) 100%);
    height: 100%;
    padding: 20px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: relative;
}

.hayha-map-action-pill {
    display: inline-block;
    padding: 6px 18px;
    background-color: var(--hayha-theme-surface);
    border: 1px solid var(--hayha-theme-border);
    border-radius: 9999px;
    font-size: 13px;
    font-weight: 500;
    color: var(--hayha-theme-text);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    cursor: pointer;
}

.hayha-map-location-caption {
    font-size: 13px;
    font-weight: 600;
    color: var(--hayha-theme-text);
}

/* Accordion Trigger (Header Row exactly 64px, isolated from theme cascade) */
.hayha-search-main .hayha-sidebar-card__header,
.hayha-search-main .hayha-accordion-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding: 0 16px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    font-family: inherit;
    text-align: left !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-accordion-chevron {
    font-size: 14px !important;
    line-height: 1 !important;
    color: var(--hayha-theme-muted) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    transition: transform 0.25s ease !important;
}

.hayha-accordion[data-expanded="true"] .hayha-accordion-chevron {
    transform: rotate(180deg) !important;
}

.hayha-accordion[data-expanded="false"] .hayha-accordion-chevron {
    transform: rotate(0deg) !important;
}

.hayha-accordion-body {
    padding: 0 16px 16px 16px;
    box-sizing: border-box;
}

.hayha-accordion[data-expanded="false"] .hayha-accordion-body {
    display: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.hayha-accordion[data-expanded="true"] .hayha-accordion-body {
    display: block !important;
}

.hayha-search-main .hayha-sidebar-card__title {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 24px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    color: #030712 !important;
    margin: 0 !important;
}

.hayha-sidebar-card__subtitle {
    font-size: 12px;
    line-height: 16px;
    color: var(--hayha-theme-muted);
    margin: 0 0 4px 0;
}

/* Price Slider Shell */
.hayha-price-slider-shell {
    margin: 8px 0 12px 0;
}

.hayha-price-slider-track {
    position: relative;
    height: 4px;
    background-color: var(--hayha-theme-soft);
    border-radius: 2px;
}

.hayha-price-slider-bar {
    position: absolute;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: var(--hayha-theme-accent);
    border-radius: 2px;
}

.hayha-price-slider-handle {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: var(--hayha-theme-accent);
    border: 2px solid var(--hayha-theme-border);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    cursor: pointer;
}

.hayha-price-range-boxes {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.hayha-price-box-item {
    flex: 1;
    padding: 5px 8px;
    border: 1px solid var(--hayha-theme-border);
    border-radius: 6px;
    font-size: 12px;
    text-align: center;
    color: var(--hayha-theme-text);
    background-color: var(--hayha-theme-surface);
}

.hayha-price-range-sep {
    color: var(--hayha-theme-muted);
    font-size: 12px;
}

.hayha-price-filter-footer {
    display: flex;
    justify-content: flex-end;
}

.hayha-filter-reset-link {
    font-size: 12px;
    color: var(--hayha-theme-muted);
    cursor: pointer;
}

/* Brand, Trip, Area Filter Common */
.hayha-search-main .hayha-sidebar-title-with-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.hayha-search-main .hayha-brand-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 14px !important;
    color: var(--hayha-theme-contrast) !important;
    background-color: var(--hayha-theme-heading) !important;
    padding: 2px 6px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    height: 18px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

.hayha-sidebar-truthful-state {
    font-size: 13px;
    line-height: 18px;
    color: var(--hayha-theme-muted);
    padding: 6px 0 2px 0;
    margin: 0;
}

.hayha-sidebar-filter-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hayha-filter-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--hayha-theme-text);
    cursor: pointer;
}

.hayha-filter-checkbox {
    accent-color: var(--hayha-theme-accent);
    cursor: pointer;
}

.hayha-filter-text {
    line-height: 18px;
}

/* --------------------------------------------------------------------------
 * Empty State
 * -------------------------------------------------------------------------- */
.hayha-empty-state {
    padding: 48px 24px;
    text-align: center;
    background-color: var(--hayha-theme-surface);
    border: 1px solid var(--hayha-theme-border);
    border-radius: 12px;
}

.hayha-empty-state__box {
    max-width: 480px;
    margin: 0 auto;
}

.hayha-empty-state__icon-mark {
    width: 48px;
    height: 48px;
    margin: 0 auto 16px auto;
    border-radius: 50%;
    background-color: var(--hayha-theme-soft);
    border: 2px solid var(--hayha-theme-border);
}

.hayha-empty-state__title {
    font-size: 18px;
    font-weight: 600;
    color: var(--hayha-theme-heading);
    margin: 0 0 8px 0;
}

.hayha-empty-state__description {
    font-size: 14px;
    line-height: 22px;
    color: var(--hayha-theme-muted);
    margin: 0;
}

/* --------------------------------------------------------------------------
 * Responsive Breakpoints (Tablet & Mobile Safety 390x844)
 * -------------------------------------------------------------------------- */
@media screen and (max-width: 960px) {
    .hayha-search-container {
        width: 100%;
        max-width: 100%;
        padding: 0 16px;
    }

    .hayha-search-page-layout {
        flex-direction: column;
        gap: 20px;
    }

    .hayha-search-left-col {
        width: 100%;
        max-width: 100%;
        flex: none;
    }

    .hayha-search-sidebar {
        width: 100%;
        flex: none;
    }

    .hayha-property-card {
        width: 100%;
    }
}

/* Universal Plugin-Local SVG Icon Class (Global Scope) */
.hayha-svg-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: currentColor;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    vertical-align: middle;
    flex-shrink: 0;
}

.hayha-svg-icon--filter {
    -webkit-mask-image: url('icons/filter.svg');
    mask-image: url('icons/filter.svg');
}

.hayha-svg-icon--sort {
    -webkit-mask-image: url('icons/sort.svg');
    mask-image: url('icons/sort.svg');
}

.hayha-svg-icon--map {
    -webkit-mask-image: url('icons/map.svg');
    mask-image: url('icons/map.svg');
}

.hayha-svg-icon--map-pin {
    -webkit-mask-image: url('icons/map-pin.svg');
    mask-image: url('icons/map-pin.svg');
}

.hayha-svg-icon--calendar {
    -webkit-mask-image: url('icons/calendar.svg');
    mask-image: url('icons/calendar.svg');
}

.hayha-svg-icon--users {
    -webkit-mask-image: url('icons/users.svg');
    mask-image: url('icons/users.svg');
}

.hayha-svg-icon--close {
    -webkit-mask-image: url('icons/close.svg');
    mask-image: url('icons/close.svg');
}

.hayha-svg-icon--chevron-down {
    -webkit-mask-image: url('icons/chevron-down.svg');
    mask-image: url('icons/chevron-down.svg');
}

.hayha-svg-icon--chevron-left {
    -webkit-mask-image: url('icons/chevron-left.svg');
    mask-image: url('icons/chevron-left.svg');
}

.hayha-svg-icon--chevron-right {
    -webkit-mask-image: url('icons/chevron-right.svg');
    mask-image: url('icons/chevron-right.svg');
}

.hayha-svg-icon--minus {
    -webkit-mask-image: url('icons/minus.svg');
    mask-image: url('icons/minus.svg');
}

.hayha-svg-icon--plus {
    -webkit-mask-image: url('icons/plus.svg');
    mask-image: url('icons/plus.svg');
}

.hayha-svg-icon--check {
    -webkit-mask-image: url('icons/check.svg');
    mask-image: url('icons/check.svg');
}

.hayha-svg-icon--search {
    -webkit-mask-image: url('icons/search.svg');
    mask-image: url('icons/search.svg');
}

/* Mobile Elements Hidden by Default on Desktop */
.hayha-mobile-search-capsule-wrap,
.hayha-mobile-search-summary-wrap,
.hayha-mobile-quick-actions,
.hayha-mobile-sheet,
.hayha-mobile-overlay-root {
    display: none;
}

.hayha-mobile-drawer {
    display: none;
}

@media screen and (max-width: 768px) {
    html {
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }

    body {
        max-width: 100vw !important;
        overflow-x: clip !important;
        box-sizing: border-box !important;
    }

    .hayha-search-page,
    .hayha-search-page-wrapper,
    .hayha-search-main,
    .hayha-search-container {
        max-width: 100vw !important;
        overflow-x: clip !important;
        box-sizing: border-box !important;
    }

    .hayha-search-sidebar {
        display: none !important;
    }

    .hayha-search-page-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .hayha-search-left-col {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }

    /* R3-UI-005C1: Summary full-width flat bar — no card inset, no side gutters */
    .hayha-mobile-search-capsule-wrap {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        background-color: var(--hayha-theme-surface) !important;
        box-sizing: border-box !important;
    }

    .hayha-mobile-search-capsule {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        background-color: var(--hayha-theme-surface) !important;
        border: none !important;
        border-bottom: 0.8px solid var(--hayha-theme-border) !important;
        border-radius: 0 !important;
        padding: 12px 16px !important;
        box-shadow: none !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .hayha-mobile-capsule__info {
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
    }

    /* R3-UI-005C: Typography parity with Modern Village reference spec (search-mobile-spec.md §2.B) */
    .hayha-mobile-capsule__dest {
        font-size: 18px !important;
        font-weight: 600 !important;
        color: var(--hayha-theme-text) !important;
        line-height: 24px !important;
    }

    .hayha-mobile-capsule__meta {
        font-size: 13px !important;
        color: var(--hayha-theme-muted) !important;
        line-height: 18px !important;
    }

    .hayha-mobile-capsule__action {
        color: var(--hayha-theme-accent) !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        padding: 4px 0 !important;
        flex-shrink: 0 !important;
    }

    /* Mobile Sticky Utility Toolbar (flat white surface, sticky, edge-to-edge, no outer card) */
    .hayha-filter-header {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: var(--hayha-live-header-offset, 0px) !important;
        height: 55px !important;
        min-height: 55px !important;
        padding: 0 !important;
        margin: 0 !important;
        background-color: var(--hayha-theme-surface) !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        z-index: 100 !important;
    }

    body.admin-bar .hayha-filter-header {
        top: var(--hayha-live-header-offset, 0px) !important;
    }

    .hayha-filter-header__inner {
        width: 100% !important;
        max-width: 100% !important;
        height: 55px !important;
        min-height: 55px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
    }

    .hayha-search-form--desktop:not(.hayha-fixed-criteria) {
        display: none !important;
    }

    .hayha-search-modal:not([data-fixed-popup]) {
        display: none !important;
    }

    /* R3-UI-005C1: Toolbar full-width, no left offset */
    .hayha-mobile-quick-actions {
        display: flex !important;
        align-items: stretch !important;
        width: 100% !important;
        height: 55px !important;
        background-color: var(--hayha-theme-surface) !important;
        border-top: 0.8px solid var(--hayha-theme-border) !important;
        border-bottom: 0.8px solid var(--hayha-theme-border) !important;
        border-left: none !important;
        border-right: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .hayha-mobile-quick-cluster {
        display: flex !important;
        align-items: center !important;
        justify-content: space-around !important;
        gap: 0 !important;
        height: 100% !important;
        padding: 0 16px !important;
        border-right: 0.8px solid var(--hayha-theme-border) !important;
        border-top: none !important;
        border-bottom: none !important;
        border-left: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        flex-shrink: 0 !important;
    }

    /* Scoped theme cascade isolation against Flatsome generic button/margin styles */
    .hayha-search-page .hayha-mobile-quick-btn,
    .hayha-mobile-quick-btn {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 34px !important;
        height: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font-family: inherit;
        cursor: pointer !important;
        transition: opacity 0.15s ease !important;
        box-sizing: border-box !important;
        -webkit-tap-highlight-color: transparent !important;
        text-transform: none !important;
        letter-spacing: normal !important;
        line-height: normal !important;
    }

    .hayha-search-page .hayha-mobile-quick-btn:hover,
    .hayha-search-page .hayha-mobile-quick-btn:active,
    .hayha-search-page .hayha-mobile-quick-btn--active,
    .hayha-mobile-quick-btn:hover,
    .hayha-mobile-quick-btn:active,
    .hayha-mobile-quick-btn--active {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
    }

    /* R3-UI-005C1: Icon fix — remove black background from img-based icon spans */
    .hayha-mobile-quick-btn .hayha-util-icon {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 20px !important;
        height: 20px !important;
        background-color: transparent !important;
        background: transparent !important;
        margin: 0 auto !important;
        flex-shrink: 0 !important;
    }

    .hayha-mobile-quick-btn .hayha-util-icon img {
        width: 20px !important;
        height: 20px !important;
        display: block !important;
        object-fit: contain !important;
        opacity: 0.85 !important;
        transition: opacity 0.15s ease !important;
    }

    .hayha-mobile-quick-btn:hover .hayha-util-icon,
    .hayha-mobile-quick-btn--active .hayha-util-icon {
        background-color: transparent !important;
        background: transparent !important;
    }

    .hayha-search-page .hayha-util-text,
    .hayha-util-text {
        font-size: 10px !important;
        font-weight: 400 !important;
        color: var(--hayha-theme-text) !important;
        line-height: 14px !important;
        margin: 2px 0 0 0 !important;
        padding: 0 !important;
        text-align: center !important;
        white-space: nowrap !important;
        transition: color 0.15s ease !important;
        text-transform: none !important;
        letter-spacing: normal !important;
    }

    .hayha-search-page .hayha-mobile-quick-btn:hover .hayha-util-text,
    .hayha-search-page .hayha-mobile-quick-btn--active .hayha-util-text {
        color: var(--hayha-theme-hover) !important;
    }

    .hayha-search-page .hayha-mobile-chips-scroll,
    .hayha-mobile-chips-scroll {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        flex: 1 !important;
        min-width: 0 !important;
        height: 100% !important;
        margin: 0 !important;
    }

    .hayha-mobile-chips-scroll::-webkit-scrollbar {
        display: none !important;
    }

    .hayha-search-page .hayha-mobile-brand-pill,
    .hayha-mobile-brand-pill {
        display: inline-flex !important;
        align-items: center !important;
        height: 32px !important;
        padding: 0 12px !important;
        margin: 0 !important;
        background-color: var(--hayha-theme-surface) !important;
        border: 0.8px solid var(--hayha-theme-border) !important;
        border-radius: 9999px !important;
        box-shadow: none !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        color: var(--hayha-theme-text) !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        cursor: pointer !important;
        transition: all 0.15s ease !important;
        text-transform: none !important;
        letter-spacing: normal !important;
    }

    .hayha-search-page .hayha-mobile-brand-pill--active,
    .hayha-mobile-brand-pill--active {
        background-color: var(--hayha-theme-heading) !important;
        color: var(--hayha-theme-contrast) !important;
        border-color: var(--hayha-theme-border) !important;
        border-width: 0.8px !important;
    }

    .hayha-search-page .hayha-mobile-brand-pill:hover,
    .hayha-mobile-brand-pill:hover {
        border-color: var(--hayha-theme-hover) !important;
        color: var(--hayha-theme-hover) !important;
        background-color: var(--hayha-theme-surface) !important;
    }

    /* Mobile Sheet Pattern (Filter, Sort, Map, Drawer, Sub-sheets) */
    .hayha-mobile-overlay-root {
        display: block;
        position: static;
    }

    .hayha-modal-backdrop {
        z-index: 999998 !important;
    }

    .hayha-mobile-sheet {
        display: flex !important;
        flex-direction: column;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: var(--hayha-theme-surface);
        border-radius: 16px 16px 0 0;
        z-index: 999999 !important;
        box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.18);
        max-height: 90vh;
        overflow: hidden;
        box-sizing: border-box;
        transform: translateY(0);
        transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .hayha-mobile-sheet[hidden] {
        display: none !important;
    }

    .hayha-sheet-handle-bar {
        padding: 12px 0 4px 0;
        display: flex;
        justify-content: center;
        flex-shrink: 0;
    }

    .hayha-sheet-handle-pill {
        width: 44px;
        height: 4px;
        background-color: var(--hayha-theme-soft);
        border-radius: 9999px;
    }

    .hayha-sheet-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px 20px 14px 20px;
        border-bottom: 1px solid var(--hayha-theme-border);
        flex-shrink: 0;
    }

    .hayha-sheet-title {
        font-size: 16px;
        font-weight: 600;
        color: var(--hayha-theme-heading);
        text-transform: none !important;
    }

    .hayha-sheet-close-btn {
        background: transparent;
        border: none;
        color: var(--hayha-theme-muted);
        cursor: pointer;
        padding: 6px;
        line-height: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        transition: background-color 0.15s ease;
    }

    .hayha-sheet-close-btn:hover {
        background-color: var(--hayha-theme-soft);
    }

    .hayha-sheet-body {
        padding: 16px 20px;
        flex: 1 1 auto;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
        max-height: calc(90vh - 130px);
    }

    .hayha-sheet-footer {
        flex-shrink: 0;
        padding: 12px 20px 20px 20px;
        background-color: var(--hayha-theme-surface);
        border-top: 1px solid var(--hayha-theme-border);
        box-sizing: border-box;
    }

    /* Custom Mobile Field Trigger Rows (Search Drawer) */
    .hayha-mobile-field-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        padding: 14px 16px;
        background: var(--hayha-theme-surface);
        border: 1px solid var(--hayha-theme-border);
        border-radius: 12px;
        margin-bottom: 10px;
        cursor: pointer;
        text-align: left;
        font-family: inherit;
        transition: all 0.15s ease;
        box-sizing: border-box;
    }

    .hayha-mobile-field-row:hover,
    .hayha-mobile-field-row:active {
        border-color: var(--hayha-theme-hover);
        background-color: var(--hayha-theme-surface);
    }

    .hayha-mobile-field-icon {
        color: var(--hayha-theme-accent);
        width: 20px;
        height: 20px;
        flex-shrink: 0;
    }

    .hayha-mobile-field-text {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-width: 0;
    }

    .hayha-mobile-field-label {
        font-size: 12px;
        color: var(--hayha-theme-muted);
        line-height: 16px;
        font-weight: 400;
    }

    .hayha-mobile-field-value {
        font-size: 14px;
        font-weight: 600;
        color: var(--hayha-theme-text);
        line-height: 20px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .hayha-mobile-field-arrow {
        color: var(--hayha-theme-muted);
        width: 16px;
        height: 16px;
        flex-shrink: 0;
    }

    /* Location Sub-Sheet */
    .hayha-mobile-search-box {
        position: relative;
        margin-bottom: 16px;
    }

    .hayha-mobile-search-icon {
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--hayha-theme-muted);
        width: 18px;
        height: 18px;
    }

    .hayha-mobile-search-input {
        width: 100%;
        height: 44px;
        padding: 0 12px 0 38px;
        border: 1px solid var(--hayha-theme-border);
        border-radius: 8px;
        font-size: 14px;
        font-family: inherit;
        box-sizing: border-box;
        outline: none;
    }

    .hayha-mobile-search-input:focus {
        border-color: var(--hayha-theme-accent);
    }

    .hayha-mobile-loc-chips {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-top: 8px;
    }

    .hayha-mobile-loc-chip {
        height: 36px;
        padding: 0 16px;
        border: 1px solid var(--hayha-theme-border);
        border-radius: 9999px;
        background: var(--hayha-theme-surface);
        font-size: 13px;
        font-weight: 500;
        color: var(--hayha-theme-text);
        cursor: pointer;
        transition: all 0.15s ease;
    }

    .hayha-mobile-loc-chip--active {
        border-color: var(--hayha-theme-accent);
        color: var(--hayha-theme-accent);
        background-color: var(--hayha-theme-surface);
    }

    .hayha-mobile-hotel-card {
        padding: 12px 14px;
        border: 1px solid var(--hayha-theme-border);
        border-radius: 10px;
        background: var(--hayha-theme-surface);
        margin-top: 8px;
    }

    .hayha-mobile-hotel-card--active {
        border-color: var(--hayha-theme-accent);
        background: var(--hayha-theme-surface);
    }

    .hayha-mobile-hotel-card__brand {
        font-size: 11px;
        font-weight: 600;
        color: var(--hayha-theme-accent);
    }

    .hayha-mobile-hotel-card__title {
        font-size: 14px;
        font-weight: 600;
        color: var(--hayha-theme-heading);
    }

    .hayha-mobile-hotel-card__loc {
        font-size: 12px;
        color: var(--hayha-theme-muted);
    }

    /* Date Sub-Sheet */
    .hayha-mobile-calendar-container {
        min-height: 200px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        max-height: 52vh;
        margin-bottom: 12px;
        box-sizing: border-box;
    }

    .hayha-mobile-date-summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 14px;
        background: var(--hayha-theme-surface);
        border-radius: 8px;
        font-size: 13px;
        color: var(--hayha-theme-text);
        font-weight: 500;
        margin-top: 8px;
    }

    .hayha-mobile-date-summary__label {
        color: var(--hayha-theme-muted);
        font-weight: 400;
    }

    /* Filter Sheet Accordions */
    .hayha-mobile-accordion {
        border-bottom: 1px solid var(--hayha-theme-border);
        padding: 4px 0;
    }

    .hayha-mobile-accordion__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 48px;
        background: transparent;
        border: none;
        font-size: 15px;
        font-weight: 600;
        color: var(--hayha-theme-text);
        text-align: left;
        cursor: pointer;
        padding: 0;
    }

    .hayha-accordion-chevron {
        width: 18px;
        height: 18px;
        color: var(--hayha-theme-muted);
        transition: transform 0.2s ease;
    }

    .hayha-mobile-accordion--open .hayha-accordion-chevron {
        transform: rotate(180deg);
    }

    .hayha-mobile-accordion__content {
        display: none;
        padding: 4px 0 12px 0;
    }

    .hayha-mobile-accordion--open .hayha-mobile-accordion__content {
        display: block;
    }

    .hayha-mobile-filter-section {
        margin-bottom: 16px;
        padding-bottom: 14px;
        border-bottom: 1px solid var(--hayha-theme-border);
    }

    .hayha-mobile-filter-heading {
        font-size: 15px;
        font-weight: 600;
        color: var(--hayha-theme-heading);
        margin-bottom: 8px;
    }

    .hayha-sheet-footer {
        display: flex;
        gap: 12px;
        padding: 12px 20px 24px 20px;
        border-top: 1px solid var(--hayha-theme-border);
    }

    .hayha-sheet-btn {
        flex: 1;
        height: 44px;
        border-radius: 9999px;
        font-family: inherit;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    .hayha-sheet-btn--secondary {
        background-color: var(--hayha-theme-surface);
        color: var(--hayha-theme-text);
        border: 1px solid var(--hayha-theme-border);
    }

    .hayha-sheet-btn--primary,
    .hayha-sheet-apply-btn {
        background-color: var(--hayha-theme-accent);
        color: var(--hayha-theme-contrast);
        border: none;
        border-radius: 9999px;
        height: 44px;
        font-family: inherit;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Filter/sort sheets: measured mobile spacing; QA inset is zero outside local preview. */
    #hayha-mobile-filter-sheet, #hayha-mobile-sort-sheet {
        bottom: var(--hh-preview-inset,0px);
        max-height: calc(90dvh - var(--hh-preview-inset,0px));
        animation: hayha-filter-enter 300ms cubic-bezier(.4,0,.2,1) both;
    }
    #hayha-mobile-filter-sheet .hayha-sheet-body, #hayha-mobile-sort-sheet .hayha-sheet-body { min-height:0; max-height:none; padding-inline:24px; }
    #hayha-mobile-filter-sheet .hayha-sheet-footer, #hayha-mobile-sort-sheet .hayha-sheet-footer { padding:16px 24px 32px; gap:16px; }
    #hayha-mobile-filter-sheet .hayha-sheet-btn, #hayha-mobile-sort-sheet .hayha-sheet-btn { height:40px; min-height:40px; margin-top:8px; }
    #hayha-mobile-filter-sheet .hayha-sheet-btn--secondary, #hayha-mobile-sort-sheet .hayha-sheet-btn--secondary { flex:0 0 auto; width:auto; padding:0; border:0; border-radius:0; text-decoration:underline; }
    #hayha-mobile-sort-sheet .hayha-sheet-body { min-height:calc(50svh - 96px); }
    @keyframes hayha-filter-enter { from { transform:translateY(100%); } to { transform:translateY(0); } }
    @media(prefers-reduced-motion:reduce){#hayha-mobile-filter-sheet,#hayha-mobile-sort-sheet{animation:none}}

    /* Mobile Sort Form Options */
    .hayha-mobile-sort-sheet {
        border-radius: 16px 16px 0 0;
        background-color: var(--hayha-theme-surface);
    }

    .hayha-mobile-sort-body {
        padding: 0;
    }

    .hayha-mobile-sort-form,
    .hayha-search-page .hayha-mobile-sort-form {
        display: flex;
        flex-direction: column;
        margin: 0 !important;
        padding: 0 !important;
    }

    .hayha-mobile-sort-options-list,
    .hayha-search-page .hayha-mobile-sort-options-list {
        display: flex;
        flex-direction: column;
        padding: 4px 0;
        margin: 0 !important;
    }

    .hayha-mobile-sort-option,
    .hayha-search-page .hayha-mobile-sort-option {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        padding: 14px 20px !important;
        border: none !important;
        border-bottom: 1px solid var(--hayha-theme-border) !important;
        cursor: pointer !important;
        transition: background-color 0.15s ease !important;
        box-sizing: border-box !important;
        position: relative !important;
        user-select: none !important;
        margin: 0 !important;
        margin-bottom: 0 !important;
        line-height: 20px !important;
        letter-spacing: normal !important;
        text-transform: none !important;
    }

    .hayha-mobile-sort-option:last-child,
    .hayha-search-page .hayha-mobile-sort-option:last-child {
        border-bottom: none !important;
    }

    .hayha-mobile-sort-option:hover,
    .hayha-search-page .hayha-mobile-sort-option:hover {
        background-color: var(--hayha-theme-surface) !important;
    }

    .hayha-mobile-sort-option--active,
    .hayha-search-page .hayha-mobile-sort-option--active {
        background-color: var(--hayha-theme-surface) !important;
    }

    .hayha-mobile-sort-radio-input {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0;
        pointer-events: none;
    }

    .hayha-mobile-sort-radio-custom {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 1.5px solid var(--hayha-theme-border);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        transition: all 0.15s ease;
        box-sizing: border-box;
        position: relative;
    }

    .hayha-mobile-sort-option--active .hayha-mobile-sort-radio-custom {
        border-color: var(--hayha-theme-accent);
        border-width: 2px;
    }

    .hayha-mobile-sort-option--active .hayha-mobile-sort-radio-custom::after {
        content: "";
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background-color: var(--hayha-theme-accent);
        position: absolute;
    }

    .hayha-mobile-sort-option-label,
    .hayha-search-page .hayha-mobile-sort-option-label {
        font-size: 15px !important;
        font-weight: 400 !important;
        color: var(--hayha-theme-text) !important;
        line-height: 20px !important;
        flex: 1 !important;
        letter-spacing: normal !important;
        text-transform: none !important;
        margin: 0 !important;
    }

    .hayha-mobile-sort-option--active .hayha-mobile-sort-option-label,
    .hayha-search-page .hayha-mobile-sort-option--active .hayha-mobile-sort-option-label {
        font-weight: 500 !important;
        color: var(--hayha-theme-text) !important;
    }

    .hayha-mobile-sort-footer,
    .hayha-search-page .hayha-mobile-sort-footer {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 16px 20px 24px 20px !important;
        border-top: 1px solid var(--hayha-theme-border) !important;
        margin-top: 6px !important;
        box-sizing: border-box !important;
    }

    .hayha-mobile-sort-reset-btn,
    .hayha-search-page .hayha-mobile-sort-reset-btn {
        background: transparent !important;
        border: none !important;
        color: var(--hayha-theme-accent) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        text-decoration: underline !important;
        cursor: pointer !important;
        padding: 6px 0 !important;
        font-family: inherit;
        margin: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        min-height: 0 !important;
        line-height: 20px !important;
        letter-spacing: normal !important;
        text-transform: none !important;
        box-shadow: none !important;
    }

    .hayha-mobile-sort-apply-btn,
    .hayha-search-page .hayha-mobile-sort-apply-btn {
        background-color: var(--hayha-theme-accent) !important;
        color: var(--hayha-theme-contrast) !important;
        border: none !important;
        border-radius: 9999px !important;
        padding: 12px 28px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        cursor: pointer !important;
        font-family: inherit;
        transition: background-color 0.15s ease !important;
        margin: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        min-height: 0 !important;
        line-height: 20px !important;
        letter-spacing: normal !important;
        text-transform: none !important;
        box-shadow: none !important;
    }

    .hayha-mobile-sort-apply-btn:hover,
    .hayha-mobile-sort-apply-btn:active,
    .hayha-search-page .hayha-mobile-sort-apply-btn:hover,
    .hayha-search-page .hayha-mobile-sort-apply-btn:active {
        background-color: var(--hayha-theme-hover) !important;
    }

    /* Mobile Map Shell */
    .hayha-mobile-map-shell {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 32px 16px;
        background-color: var(--hayha-theme-surface);
        border: 1px dashed var(--hayha-theme-border);
        border-radius: 12px;
        text-align: center;
    }

    .hayha-mobile-map-icon {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        background-color: var(--hayha-theme-surface);
        border: 1px solid #FFE4D6;
        margin-bottom: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .hayha-mobile-map-title {
        font-size: 15px;
        font-weight: 600;
        color: var(--hayha-theme-heading);
        margin-bottom: 6px;
    }

    .hayha-mobile-map-notice {
        font-size: 13px;
        color: var(--hayha-theme-muted);
        line-height: 18px;
        max-width: 280px;
    }

    /* Mobile Drawer */
    .hayha-mobile-drawer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: var(--hayha-theme-surface);
        border-radius: 16px 16px 0 0;
        padding: 20px;
        z-index: 60;
        box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.18);
        max-height: 85vh;
        overflow-y: auto;
        box-sizing: border-box;
    }

    .hayha-mobile-drawer[hidden] {
        display: none !important;
    }

    .hayha-mobile-drawer__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 16px;
        padding-bottom: 10px;
        border-bottom: 1px solid var(--hayha-theme-border);
    }

    .hayha-mobile-drawer__title {
        font-size: 16px;
        font-weight: 600;
        color: var(--hayha-theme-heading);
    }

    .hayha-mobile-drawer__close {
        background: transparent;
        border: none;
        font-size: 18px;
        cursor: pointer;
        color: var(--hayha-theme-muted);
        padding: 4px;
    }

    .hayha-mobile-form {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .hayha-mobile-input-group {
        display: flex;
        flex-direction: column;
        gap: 4px;
        flex: 1;
    }

    .hayha-mobile-input-row {
        display: flex;
        gap: 10px;
    }

    .hayha-mobile-label {
        font-size: 12px;
        font-weight: 500;
        color: var(--hayha-theme-accent);
    }

    .hayha-mobile-input {
        border: 1px solid var(--hayha-theme-border);
        border-radius: 8px;
        padding: 8px 12px;
        font-family: inherit;
        font-size: 13px;
        color: var(--hayha-theme-text);
        background-color: var(--hayha-theme-surface);
        width: 100%;
        box-sizing: border-box;
    }

    .hayha-search-button--mobile {
        background-color: var(--hayha-theme-accent);
        color: var(--hayha-theme-contrast);
        border: none;
        border-radius: 9999px;
        height: 44px;
        width: 100%;
        font-family: inherit;
        font-size: 14px;
        font-weight: 500;
        margin-top: 10px;
        cursor: pointer;
    }

    .hayha-search-left-col {
        display: flex;
        flex-direction: column;
    }

    .hayha-search-hero-banner {
        height: auto;
        min-height: 140px;
        padding: 16px;
        margin-bottom: 14px;
        order: 1;
    }

    .hayha-search-promo-notice {
        order: 2;
        margin-bottom: 14px;
    }

    .hayha-search-toolbar {
        margin-bottom: 12px;
        height: auto;
        min-height: 36px;
        background: transparent;
        border: none;
        order: 3;
        display: flex;
        align-items: center;
        padding: 0 15px !important;
        box-sizing: border-box;
    }

    .hayha-search-toolbar__sort-wrap {
        display: none !important;
    }

    .hayha-search-toolbar__count {
        background: transparent;
        border: none;
        padding: 0;
        height: auto;
        font-size: 18px;
        font-weight: 600;
        color: var(--hayha-theme-text);
        gap: 4px;
        text-transform: none !important;
    }

    .hayha-search-results-list {
        order: 4;
    }

    .hayha-count-number {
        font-size: 18px;
        font-weight: 600;
        color: var(--hayha-theme-text);
        text-transform: none !important;
    }

    .hayha-count-label {
        font-size: 16px;
        font-weight: 500;
        color: var(--hayha-theme-text);
        text-transform: none !important;
    }

    /* Mobile Property Card (Stacked, full width of canvas) */
    .hayha-property-card {
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 16px 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
    }

    .hayha-property-card__media {
        flex: none !important;
        width: 100% !important;
        height: 56.25vw !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 16/9 !important;
    }

    .hayha-property-card__info-col {
        height: auto !important;
        padding: 12px 16px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        gap: 0 !important;
    }

    .hayha-property-card__title {
        font-size: 17px !important;
        line-height: 24px !important;
    }

    .hayha-property-card__address {
        font-size: 13px !important;
        line-height: 18px !important;
        margin-top: 4px !important;
    }

    .hayha-property-card__description {
        display: none !important;
    }

    .hayha-property-card__amenities-desktop {
        display: none !important;
    }

    .hayha-property-card__amenities-mobile {
        display: block !important;
        margin-top: 8px !important;
        width: 100% !important;
        overflow: hidden !important;
    }

    .hayha-amenities-scroll-track {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        gap: 6px !important;
        padding-bottom: 2px !important;
        scrollbar-width: none;
    }

    .hayha-amenities-scroll-track::-webkit-scrollbar {
        display: none;
    }

    .hayha-amenities-scroll-track .hayha-amenity-pill {
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        font-size: 12px !important;
        padding: 4px 8px !important;
    }

    .hayha-property-card__action-col {
        flex: none !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        border-left: none !important;
        border-top: 0.8px solid var(--hayha-theme-border) !important;
        padding: 12px 16px !important;
        background-color: var(--hayha-theme-surface) !important;
        box-sizing: border-box !important;
    }

    .hayha-property-card__price-panel {
        height: auto !important;
        width: 100% !important;
    }

    .hayha-price-state-available,
    .hayha-price-state-unresolved,
    .hayha-price-state-unmapped,
    .hayha-price-state-error,
    .hayha-price-state-no-criteria {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        text-align: left !important;
        width: 100% !important;
    }

    .hayha-price-hierarchy {
        align-items: flex-start !important;
        text-align: left !important;
    }

    .hayha-price-from-label {
        font-size: 12px !important;
        text-align: left !important;
    }

    .hayha-price-amount-row {
        flex-direction: row !important;
        align-items: baseline !important;
        gap: 4px !important;
    }

    .hayha-price-numeric {
        font-size: 20px !important;
        line-height: 24px !important;
    }

    .hayha-price-unit {
        font-size: 12px !important;
    }

    .hayha-price-urgency {
        font-size: 12px !important;
        text-align: center !important;
        margin-top: 0 !important;
        margin-bottom: 4px !important;
    }

    .hayha-price-notice {
        font-size: 12px !important;
        text-align: left !important;
    }

    .hayha-price-state-soldout {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        text-align: left !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .hayha-soldout-notice {
        text-align: left !important;
        font-size: 12px !important;
        margin-bottom: 0 !important;
        flex: 1 !important;
    }

    .hayha-soldout-badge {
        width: auto !important;
        height: 38px !important;
        padding: 0 14px !important;
        font-size: 13px !important;
        flex-shrink: 0 !important;
    }

    .hayha-property-card__price-box {
        align-items: flex-start !important;
        text-align: left !important;
    }

    .hayha-property-card__cta-box {
        width: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        margin-top: 0 !important;
    }

    .hayha-search-page .hayha-property-card__cta,
    .hayha-property-card__cta {
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 16px !important;
        font-size: 14px !important;
        line-height: 38px !important;
        width: auto !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }
}

/* ==========================================================================
 * R3-011C: Structured Taxonomies, Filters, Sort & Sheets Parity
 * ========================================================================== */

/* --- Card Brand Watermark --- */
.hayha-property-card__brand-watermark {
    position: absolute;
    bottom: 10px;
    left: 12px;
    z-index: 10;
    max-width: 130px;
    display: flex;
    align-items: center;
    pointer-events: none;
}

.hayha-brand-watermark-img {
    max-height: 32px;
    max-width: 120px;
    object-fit: contain;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
}

.hayha-brand-watermark-text {
    background: rgba(19, 19, 19, 0.65);
    backdrop-filter: blur(4px);
    color: var(--hayha-theme-contrast);
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

/* --- Card Location Capsules --- */
.hayha-property-card__locations {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.hayha-location-capsule {
    display: inline-flex;
    align-items: center;
    background-color: #ECF8FF;
    color: #0148D2;
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
    padding: 2px 10px;
    border-radius: 76px;
}

/* --- Card Suitability (PHÙ HỢP) --- */
.hayha-property-card__suitability {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 8px;
    margin-top: 6px;
    font-size: 12px;
    line-height: 18px;
    color: #1A8C5E;
    flex-shrink: 0;
}

.hayha-suitability-label {
    font-size: 12px;
    font-weight: 500;
    color: #1A8C5E;
    letter-spacing: 0.02em;
    margin-right: 4px;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    line-height: 18px;
    text-transform: uppercase;
}

.hayha-suitability-chips {
    display: contents;
}

.hayha-suitability-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #1A8C5E;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    white-space: nowrap;
}

.hayha-suitability-icon {
    width: 11px;
    height: 11px;
    flex-shrink: 0;
    display: inline-block;
    vertical-align: middle;
}

/* --- Brand Filter Tiles Grid (2 columns) --- */
.hayha-brand-filter-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 6px;
}

.hayha-brand-filter-tile {
    position: relative;
    border: 1.5px solid var(--hayha-theme-border);
    border-radius: 8px;
    padding: 8px 6px;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-color: var(--hayha-theme-surface);
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
    user-select: none;
    box-sizing: border-box;
}

.hayha-brand-filter-tile:hover {
    border-color: var(--hayha-theme-border);
    background-color: var(--hayha-theme-surface);
}

.hayha-brand-tile-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.hayha-brand-filter-tile.is-checked {
    border-color: var(--hayha-theme-accent);
    background-color: #FFF7ED;
    box-shadow: 0 0 0 1px var(--hayha-theme-accent) inset;
}

.hayha-brand-tile-content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.hayha-brand-tile-logo {
    max-height: 32px;
    max-width: 100%;
    object-fit: contain;
}

.hayha-brand-tile-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--hayha-theme-text);
    text-align: center;
    line-height: 16px;
}

.hayha-brand-filter-tile.is-checked .hayha-brand-tile-name {
    color: var(--hayha-theme-accent);
    font-weight: 600;
}

/* --- Checkbox Filter List (Suitability, Location) --- */
.hayha-filter-options-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 6px;
}

.hayha-filter-checkbox-row {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    line-height: 20px;
    color: var(--hayha-theme-text);
    user-select: none;
    padding: 3px 0;
}

.hayha-filter-checkbox-input,
.hayha-filter-checkbox-row .hayha-mobile-filter-checkbox-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.hayha-filter-checkbox-custom {
    width: 18px;
    height: 18px;
    border: 1.5px solid var(--hayha-theme-border);
    border-radius: 4px;
    background-color: var(--hayha-theme-surface);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.hayha-filter-checkbox-row:hover .hayha-filter-checkbox-custom {
    border-color: var(--hayha-theme-border);
}

.hayha-filter-checkbox-row.is-checked .hayha-filter-checkbox-custom {
    background-color: var(--hayha-theme-accent);
    border-color: var(--hayha-theme-accent);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
}

.hayha-filter-checkbox-label {
    font-size: 14px;
    color: var(--hayha-theme-text);
    line-height: 20px;
}

.hayha-filter-checkbox-row.is-checked .hayha-filter-checkbox-label {
    color: var(--hayha-theme-text);
    font-weight: 500;
}

/* --- Dual-Handle Price Range Slider --- */
.hayha-price-range-container {
    padding: 4px 0 8px;
}

.hayha-price-range-values {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 600;
    color: var(--hayha-theme-text);
    margin-bottom: 14px;
}

.hayha-price-range-val {
    min-width: 70px;
}

.hayha-price-range-val:last-child {
    text-align: right;
}

.hayha-price-range-sep {
    color: var(--hayha-theme-muted);
    font-weight: 400;
    margin: 0 4px;
}

.hayha-dual-range-wrapper {
    position: relative;
    height: 24px;
    display: flex;
    align-items: center;
    width: 100%;
}

.hayha-dual-range-track {
    position: absolute;
    left: 0;
    right: 0;
    height: 10px;
    background-color: var(--hayha-theme-soft);
    border-radius: 9999px;
    z-index: 1;
}

.hayha-dual-range-highlight {
    position: absolute;
    height: 10px;
    background-color: var(--hayha-theme-accent);
    border-radius: 9999px;
    z-index: 2;
    left: 0;
    width: 0%;
}

.hayha-range-input {
    position: absolute;
    left: 0;
    width: 100%;
    height: 24px;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    pointer-events: none;
    margin: 0;
    z-index: 3;
}

.hayha-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    background: var(--hayha-theme-accent);
    border: 3px solid var(--hayha-theme-surface);
    box-shadow: 0 4px 4px -2px rgba(24, 39, 75, 0.08), 0 2px 4px -2px rgba(24, 39, 75, 0.12);
    cursor: pointer;
    pointer-events: auto;
    transition: transform 0.1s ease;
}

.hayha-range-input::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    background: var(--hayha-theme-accent);
    border: 3px solid var(--hayha-theme-surface);
    box-shadow: 0 4px 4px -2px rgba(24, 39, 75, 0.08), 0 2px 4px -2px rgba(24, 39, 75, 0.12);
    cursor: pointer;
    pointer-events: auto;
}

.hayha-range-input::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

.hayha-range-input:disabled::-webkit-slider-thumb {
    background: var(--hayha-theme-accent) !important;
    border: 5px solid var(--hayha-theme-border) !important;
    box-shadow: 0 4px 4px -2px rgba(24, 39, 75, 0.08), 0 2px 4px -2px rgba(24, 39, 75, 0.12) !important;
    cursor: default;
}

.hayha-range-input:disabled::-moz-range-thumb {
    background: var(--hayha-theme-accent) !important;
    border: 5px solid var(--hayha-theme-border) !important;
    box-shadow: 0 4px 4px -2px rgba(24, 39, 75, 0.08), 0 2px 4px -2px rgba(24, 39, 75, 0.12) !important;
    cursor: default;
}

.hayha-price-range-loading-note {
    font-size: 12px;
    color: var(--hayha-theme-muted);
    margin-top: 8px;
    font-style: italic;
}

.hayha-price-range-container[data-state="ready"] .hayha-price-range-loading-note {
    display: none;
}

/* --- Price Range Boxes & Reset Button --- */
.hayha-price-range-boxes {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
    gap: 8px;
}

.hayha-price-box {
    flex: 1;
    height: 32px;
    background: var(--hayha-theme-surface);
    border: 1.5px solid var(--hayha-theme-border);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    box-sizing: border-box;
}

.hayha-price-box__val {
    font-size: 14px;
    font-weight: 500;
    color: var(--hayha-theme-text);
    white-space: nowrap;
    text-transform: none !important;
}

.hayha-price-range-sep {
    font-size: 14px;
    font-weight: 500;
    color: var(--hayha-theme-muted);
    flex-shrink: 0;
}

.hayha-price-reset-row {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

.hayha-search-page .hayha-price-reset-btn,
.hayha-search-sidebar .hayha-price-reset-btn,
.hayha-price-reset-btn {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    color: var(--hayha-theme-muted) !important;
    font-family: inherit;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
    transition: color 0.15s ease !important;
}

.hayha-search-page .hayha-price-reset-btn:hover,
.hayha-search-sidebar .hayha-price-reset-btn:hover,
.hayha-price-reset-btn:hover {
    color: var(--hayha-theme-hover) !important;
}

.hayha-search-page .hayha-price-reset-btn span,
.hayha-search-sidebar .hayha-price-reset-btn span,
.hayha-price-reset-btn span {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    color: inherit !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-price-reset-icon {
    display: inline-block !important;
    width: 13px !important;
    height: 12px !important;
    min-width: 13px !important;
    min-height: 12px !important;
    max-width: 13px !important;
    max-height: 12px !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}

/* --- Location Picker Chip Icon --- */
.hayha-loc-chip__icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 6px;
    flex-shrink: 0;
    vertical-align: middle;
}

/* --- Card Interactive Role & Watermark White Presentation --- */
.hayha-property-card[role="link"] {
    cursor: pointer;
}

.hayha-property-card[role="link"]:focus-visible {
    outline: 2px solid var(--hayha-theme-accent);
    outline-offset: 2px;
}

.hayha-brand-watermark-img {
    filter: brightness(0) invert(1) drop-shadow(0 1px 3px rgba(0, 0, 0, 0.6)) !important;
}

.hayha-brand-watermark-img--light {
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.6)) !important;
}

@media(min-width:769px){
/* --- Card Price Desktop Lower-Anchored Alignment (Price sits above CTA button, flexible space at top) --- */
.hayha-property-card__action-col {
    justify-content: flex-end !important;
}

.hayha-property-card__price-panel {
    justify-content: flex-end !important;
}

.hayha-price-state-available {
    justify-content: flex-end !important;
}

.hayha-price-state-available .hayha-price-hierarchy {
    margin-top: auto !important;
    margin-bottom: 0 !important;
}

.hayha-price-state-available .hayha-price-amount-row {
    margin: 2px 0 0 0;
}

.hayha-property-card__action-col .hayha-property-card__cta-box {
    margin-top: 12px !important;
}

}

/* --- Empty Results State --- */
.hayha-clear-filters-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--hayha-theme-accent);
    color: var(--hayha-theme-contrast);
    border: none;
    border-radius: 6px;
    padding: 10px 22px;
    font-size: 14px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.15s;
}

.hayha-clear-filters-btn:hover {
    background-color: var(--hayha-theme-hover);
}

/* --- Mobile Sort Sheet Styles --- */
.hayha-mobile-sort-options-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 0;
}

.hayha-mobile-sort-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 8px;
    border-radius: 8px;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.15s;
}

.hayha-mobile-sort-option:active {
    background-color: var(--hayha-theme-soft);
}

.hayha-mobile-sort-radio-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

.hayha-mobile-sort-radio-custom {
    width: 20px;
    height: 20px;
    border: 2px solid var(--hayha-theme-border);
    border-radius: 50%;
    background-color: var(--hayha-theme-surface);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.15s;
}

.hayha-mobile-sort-option--active .hayha-mobile-sort-radio-custom {
    border-color: var(--hayha-theme-accent);
}

.hayha-mobile-sort-option--active .hayha-mobile-sort-radio-custom::after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--hayha-theme-accent);
}

.hayha-mobile-sort-option-label {
    font-size: 15px;
    color: var(--hayha-theme-text);
    font-weight: 400;
}

.hayha-mobile-sort-option--active .hayha-mobile-sort-option-label {
    color: var(--hayha-theme-accent);
    font-weight: 600;
}

body.hayha-modal-open,
body.hayha-sheet-is-open,
.hayha-body-scroll-lock {
    overflow: hidden !important;
}

/* --------------------------------------------------------------------------
 * Plugin-Scoped Typography Normalization & Theme Isolation Layer
 * All rules strictly scoped under Hayha roots; no unscoped global selectors.
 * -------------------------------------------------------------------------- */
.hayha-search-page .hayha-loc-chip,
.hayha-location-modal .hayha-loc-chip,
.hayha-loc-chip {
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-search-page .hayha-loc-chip span,
.hayha-location-modal .hayha-loc-chip span,
.hayha-loc-chip span {
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-search-page .hayha-loc-chip--active,
.hayha-location-modal .hayha-loc-chip--active,
.hayha-search-page .hayha-loc-chip--selected,
.hayha-location-modal .hayha-loc-chip--selected {
    font-weight: 500 !important;
}

.hayha-search-sidebar .hayha-filter-checkbox-label,
.hayha-search-sidebar label.hayha-filter-checkbox-row,
.hayha-mobile-filter-modal .hayha-filter-checkbox-label,
.hayha-mobile-filter-modal label.hayha-filter-checkbox-row {
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-search-sidebar .hayha-brand-tile-name,
.hayha-search-sidebar label.hayha-brand-filter-tile,
.hayha-mobile-filter-modal .hayha-mobile-brand-tile-name,
.hayha-mobile-filter-modal label.hayha-mobile-brand-filter-tile {
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-search-page .hayha-price-reset-btn,
.hayha-search-sidebar .hayha-price-reset-btn,
.hayha-mobile-filter-modal .hayha-price-reset-btn {
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-search-page .hayha-price-box__val,
.hayha-search-sidebar .hayha-price-box__val,
.hayha-mobile-filter-modal .hayha-price-box__val {
    font-weight: 500 !important;
    text-transform: none !important;
}

.hayha-search-page .hayha-sort-option,
.hayha-search-page .hayha-sort-custom-select,
.hayha-search-page .hayha-sort-dropdown,
.hayha-search-page .hayha-sort-btn {
    font-weight: 400 !important;
    text-transform: none !important;
}

.hayha-search-page .hayha-sort-option--selected {
    font-weight: 600 !important;
}

.hayha-search-page .hayha-search-pill-value {
    text-transform: none !important;
}

/* Card Typography Theme Isolation */
.hayha-search-page .hayha-property-card__title,
.hayha-search-page .hayha-property-card__title a,
.hayha-property-card__title,
.hayha-property-card__title a {
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-search-page .hayha-property-card__address,
.hayha-property-card__address {
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-search-page .hayha-property-card__description,
.hayha-property-card__description {
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-search-page .hayha-suitability-text,
.hayha-property-card .hayha-suitability-text {
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.hayha-search-page .hayha-amenity-pill,
.hayha-property-card .hayha-amenity-pill {
    text-transform: none !important;
}

.hayha-search-page .hayha-amenity-pill__label,
.hayha-property-card .hayha-amenity-pill__label {
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* ==========================================================================
   R3-011F: Location Typeahead & Real-Time Suggestions
   ========================================================================== */

/* Top bar location field input */
.hayha-search-field--location {
    position: relative;
    cursor: text;
}

.hayha-search-field__input-container {
    height: 20px;
    min-height: 0;
    flex-shrink: 0;
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.hayha-search-field__input[type="text"] {
    height: 20px;
    min-height: 0;
    max-height: 20px;
    box-sizing: border-box;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 14px;
    font-weight: 500 !important;
    color: var(--hayha-theme-text);
    line-height: 20px;
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
    cursor: text;
    font-family: inherit;
    text-overflow: ellipsis;
}

.hayha-search-field__input::placeholder {
    color: var(--hayha-theme-muted);
    font-weight: 500;
    transition: opacity 0.2s ease;
}

/* Animated Typing / Jumping Hint */
.hayha-search-field__animated-hint {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 14px;
    font-weight: 500;
    color: var(--hayha-theme-muted);
    line-height: 20px;
    white-space: nowrap;
    overflow: hidden;
    display: none;
}

.hayha-search-field--location.is-animating-hint .hayha-search-field__animated-hint {
    display: inline-flex;
    align-items: center;
}

.hayha-search-field--location.is-animating-hint .hayha-search-field__input::placeholder {
    opacity: 0;
}

.hayha-hint-cursor {
    display: inline-block;
    width: 1.5px;
    height: 14px;
    background-color: var(--hayha-theme-accent);
    margin-left: 2px;
    animation: hayha-caret-blink 0.8s infinite;
    vertical-align: middle;
}

@keyframes hayha-caret-blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

@keyframes hayha-hint-jump {
    0%, 100% { transform: translateY(-50%); }
    50% { transform: translateY(calc(-50% - 1.5px)); }
}

/* Typeahead suggestions container */
.hayha-loc-suggestions {
    padding: 4px 0 12px 0;
}

.hayha-loc-suggestions__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.hayha-loc-suggestion-group {
    margin-bottom: 14px;
}

.hayha-loc-suggestion-group:last-child {
    margin-bottom: 0;
}

.hayha-loc-suggestion-heading {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--hayha-theme-muted);
    text-transform: uppercase;
    padding: 4px 8px;
    margin: 0 0 4px 0;
}

.hayha-loc-suggestion-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 8px;
    cursor: pointer;
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
    transition: background-color 0.15s ease;
    font-family: inherit;
    text-decoration: none;
    box-sizing: border-box;
}

.hayha-loc-suggestion-item:hover,
.hayha-loc-suggestion-item--active {
    background-color: var(--hayha-theme-soft);
}

.hayha-loc-suggestion-item__main {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
}

.hayha-loc-suggestion-item__icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hayha-loc-suggestion-item__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hayha-loc-suggestion-item__title {
    font-size: 14px;
    font-weight: 500;
    color: var(--hayha-theme-heading);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hayha-loc-suggestion-item__badge {
    font-size: 11px;
    font-weight: 500;
    color: var(--hayha-theme-muted);
    background: var(--hayha-theme-soft);
    padding: 2px 7px;
    border-radius: 4px;
    flex-shrink: 0;
}

.hayha-loc-suggestions__empty {
    padding: 28px 16px;
    text-align: center;
    color: var(--hayha-theme-muted);
    font-size: 14px;
}

/* --------------------------------------------------------------------------
 * R3-UI-005: Standalone Search Component & Shortcode Pill Wrapper
 * Matches Modern Village Lifestyle live reference capsule geometry & rhythm
 * -------------------------------------------------------------------------- */
.hayha-booking-search-wrapper,
.hayha-booking-search-shortcode {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    font-family: inherit;
    box-sizing: border-box;
    min-height: auto !important;
    background-color: transparent !important;
    overflow: visible !important;
}

/* Container elevation when modal is open (escapes theme banner stacking context) */
.has-hayha-modal-open,
.banner.has-hayha-modal-open,
.text-box.has-hayha-modal-open,
.section.has-hayha-modal-open,
.hayha-booking-search-wrapper.has-hayha-modal-open,
body:has(.hayha-search-modal:not([hidden])) .banner,
body:has(.hayha-search-modal:not([hidden])) .text-box,
body:has(.hayha-search-modal:not([hidden])) .hayha-booking-search-wrapper {
    z-index: 99999 !important;
    overflow: visible !important;
}

/* Anti-leak text rules against theme dark container styles (e.g. Flatsome banner .text.dark) */
.hayha-booking-search-wrapper label.hayha-search-field__label,
.hayha-booking-search-shortcode label.hayha-search-field__label,
.hayha-booking-search-wrapper span.hayha-search-field__label,
.hayha-booking-search-shortcode span.hayha-search-field__label,
label.hayha-search-field__label,
.hayha-search-field__label {
    color: var(--hayha-theme-accent) !important;
}

.hayha-booking-search-wrapper .hayha-search-field__value,
.hayha-booking-search-shortcode .hayha-search-field__value {
    color: var(--hayha-theme-text) !important;
}

.hayha-booking-search-wrapper .hayha-search-field__input,
.hayha-booking-search-shortcode .hayha-search-field__input {
    color: var(--hayha-theme-text) !important;
}

.hayha-booking-search-wrapper .hayha-loc-heading,
.hayha-booking-search-shortcode .hayha-loc-heading,
.hayha-search-modal .hayha-loc-heading {
    color: var(--hayha-theme-muted) !important;
}

.hayha-booking-search-wrapper .hayha-loc-card__title,
.hayha-booking-search-shortcode .hayha-loc-card__title,
.hayha-search-modal .hayha-loc-card__title {
    color: var(--hayha-theme-heading) !important;
}

.hayha-booking-search-wrapper .hayha-loc-card__subtitle,
.hayha-booking-search-shortcode .hayha-loc-card__subtitle,
.hayha-search-modal .hayha-loc-card__subtitle {
    color: var(--hayha-theme-muted) !important;
}

.hayha-booking-search-wrapper *,
.hayha-booking-search-wrapper *::before,
.hayha-booking-search-wrapper *::after,
.hayha-booking-search-shortcode *,
.hayha-booking-search-shortcode *::before,
.hayha-booking-search-shortcode *::after {
    box-sizing: border-box;
}

.hayha-booking-search-wrapper .hayha-filter-header,
.hayha-booking-search-shortcode .hayha-filter-header {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;
    background-color: var(--hayha-theme-surface) !important;
    border: 1px solid var(--hayha-theme-border) !important;
    border-radius: 60px !important;
    box-shadow: 0 10px 30px -5px rgba(16, 25, 40, 0.08), 0 4px 12px -2px rgba(16, 25, 40, 0.05) !important;
    padding: 0 16px 0 20px !important;
    box-sizing: border-box !important;
    z-index: 99999 !important;
    margin: 0 auto !important;
}

.hayha-booking-search-wrapper .hayha-filter-header__inner,
.hayha-booking-search-shortcode .hayha-filter-header__inner {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

.hayha-booking-search-wrapper .hayha-search-form--desktop,
.hayha-booking-search-shortcode .hayha-search-form--desktop {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.hayha-booking-search-wrapper .hayha-mobile-quick-actions,
.hayha-booking-search-shortcode .hayha-mobile-quick-actions {
    display: none !important;
}

/* R3-UI-005B: Search CTA button in shortcode context - background orange, text white */
.hayha-booking-search-wrapper .hayha-search-button--desktop,
.hayha-booking-search-shortcode .hayha-search-button--desktop {
    background-color: var(--hayha-theme-accent) !important;
    color: var(--hayha-theme-contrast) !important;
    border: 0.8px solid var(--hayha-theme-accent) !important;
    box-shadow: 0 2px 6px color-mix(in srgb, var(--hayha-theme-accent) 25%, transparent) !important;
}

.hayha-booking-search-wrapper .hayha-search-button--desktop:hover,
.hayha-booking-search-shortcode .hayha-search-button--desktop:hover {
    background-color: var(--hayha-theme-hover) !important;
    border-color: var(--hayha-theme-hover) !important;
    color: var(--hayha-theme-contrast) !important;
}

/* Tablet & Narrow Desktop Tuning (769px - 1080px) */
@media screen and (max-width: 1080px) and (min-width: 769px) {
    .hayha-search-field {
        padding: 0 12px !important;
    }
    .hayha-search-field--location {
        padding: 0 16px !important;
    }
}

/* Mobile Responsiveness (< 768px) */
@media screen and (max-width: 768px) {
    .hayha-booking-search-wrapper .hayha-filter-header,
    .hayha-booking-search-shortcode .hayha-filter-header {
        display: none !important;
    }

    .hayha-booking-search-wrapper .hayha-mobile-search-capsule-wrap,
    .hayha-booking-search-shortcode .hayha-mobile-search-capsule-wrap {
        display: block !important;
        background-color: transparent !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .hayha-booking-search-wrapper .hayha-mobile-capsule,
    .hayha-booking-search-shortcode .hayha-mobile-capsule {
        border-radius: 60px !important;
        padding: 12px 20px !important;
        background-color: var(--hayha-theme-surface) !important;
        border: 1px solid var(--hayha-theme-border) !important;
        box-shadow: 0 10px 25px -5px rgba(16, 25, 40, 0.08) !important;
        width: 100% !important;
    }

    .hayha-booking-search-wrapper .hayha-mobile-overlay-root,
    .hayha-booking-search-wrapper .hayha-mobile-sheet,
    .hayha-booking-search-shortcode .hayha-mobile-overlay-root,
    .hayha-booking-search-shortcode .hayha-mobile-sheet {
        display: block;
    }
}

/* Hotel loading cards reuse the room skeleton's shimmer and reduced-motion pattern. */
.hayha-search-skeletons[hidden] { display: none; }
.hayha-search-skeletons { display: grid; gap: 24px; }
.hayha-hotel-skeleton { display: grid; grid-template-columns: 32% 1fr 24%; gap: 24px; padding: 20px; min-height: 260px; border: 1px solid var(--hayha-theme-border); border-radius: 12px; background: var(--hayha-theme-surface); }
.hayha-hotel-skeleton .hayha-skeleton-shimmer { background: linear-gradient(90deg, var(--hayha-theme-soft) 25%, var(--hayha-theme-surface) 50%, var(--hayha-theme-soft) 75%); background-size: 200% 100%; animation: hayha-hotel-sweep 1.4s ease-in-out infinite; border-radius: 6px; }
.hayha-hotel-skeleton__image { min-height: 220px; }
.hayha-hotel-skeleton__info, .hayha-hotel-skeleton__price { display: flex; flex-direction: column; gap: 18px; padding-top: 12px; }
.hayha-hotel-skeleton__title { height: 28px; width: 85%; }
.hayha-hotel-skeleton__line { height: 16px; width: 70%; }
.hayha-hotel-skeleton__button { height: 44px; margin-top: auto; }
@keyframes hayha-hotel-sweep { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .hayha-hotel-skeleton .hayha-skeleton-shimmer { animation: none; } }
@media (max-width: 767px) {
 .hayha-hotel-skeleton { grid-template-columns: 1fr; gap: 16px; padding: 16px; }
 .hayha-hotel-skeleton__image { min-height: 200px; }
 .hayha-hotel-skeleton__price { display: grid; grid-template-columns: 1fr 1fr; }
 .hayha-hotel-skeleton__price .hayha-hotel-skeleton__line { grid-column: 1; }
 .hayha-hotel-skeleton__button { grid-column: 2; grid-row: 1 / 3; margin: 0; }
}

#hayha-price-reset-btn[hidden], #hayha-mobile-filter-reset[hidden], #hayha-mobile-sort-reset[hidden] { display: none !important; }

/* Home shortcode owns its capsule, including its actual template class name. */
@media(max-width:768px){
 .hayha-booking-search-shortcode .hayha-mobile-search-capsule{border:1px solid var(--hayha-theme-border)!important;border-radius:40px!important;padding:8px 12px 8px 20px!important;box-shadow:0 5px 18px #0001!important;gap:12px}
 .hayha-booking-search-shortcode .hayha-mobile-capsule__info{flex:1;min-width:0}
 .hayha-booking-search-shortcode :is(.hayha-home-location,.hayha-home-dates){display:flex;align-items:baseline;gap:6px;background:transparent;border:0;padding:0;margin:0;min-height:0;color:var(--hayha-theme-text);font:inherit;text-align:left;box-shadow:none}
 .hayha-booking-search-shortcode .hayha-home-location>span:first-child,.hayha-booking-search-shortcode .hayha-home-dates>span:first-child{font-size:12px;white-space:nowrap;color:var(--hayha-theme-muted)}
 .hayha-booking-search-shortcode .hayha-home-search-go{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;min-height:42px;border:0;border-radius:50%;padding:0;background:var(--hayha-theme-accent);color:var(--hayha-theme-contrast)}
 .hayha-home-search-go span{width:15px;height:15px;border:2px solid currentColor;border-radius:50%;position:relative}
 .hayha-home-search-go span:after{content:'';position:absolute;width:7px;height:2px;background:currentColor;right:-5px;bottom:-3px;transform:rotate(45deg)}
}
@media(min-width:769px){.hy-search.hayha-layout-fixed .hayha-search-form--desktop{border:0;border-radius:0;padding-inline:18px;background:var(--hayha-theme-surface)}}


/* Editable price bounds mirror the reference, with a separate currency cell. */
.hayha-price-box{padding:0;border-radius:0;height:40px;overflow:hidden;min-width:0}
.hayha-price-box .hayha-price-value-input{min-width:0;width:100%;height:100%;min-height:0;margin:0;padding:6px 2px;border:0;border-radius:0;background:transparent;color:var(--hayha-theme-text);font:inherit;font-size:14px;text-align:center;box-shadow:none}
.hayha-price-currency{display:grid;place-items:center;flex:0 0 22px;align-self:stretch;border-left:1px solid var(--hayha-theme-border);text-decoration:underline;color:var(--hayha-theme-text);font-size:15px}
.hayha-price-box:focus-within{outline:2px solid var(--hayha-theme-accent);outline-offset:1px}
.hayha-price-range-values .hayha-price-box{flex:1}
.hayha-price-range-values{gap:8px}
.hayha-range-input::-webkit-slider-thumb{box-shadow:none}
.hayha-range-input::-moz-range-thumb{box-shadow:none}

/* Home capsule reserves room for full Vietnamese weekdays and numeric dates. */
@media(min-width:769px){
 .hy-search .hayha-search-field--date{flex:0 0 240px;padding-inline:16px}
 .hy-search .hayha-search-field--guests{flex:1 1 110px;padding-inline:16px}
}
@media(min-width:769px) and (max-width:1100px){
 .hy-search .hayha-search-field--date{flex-basis:210px;padding-inline:12px}
 .hy-search .hayha-search-field--location,.hy-search .hayha-search-field--guests{padding-inline:12px}
}
@media(min-width:769px) and (max-width:950px){
 .hy-search .hayha-search-field--date{flex-basis:194px;padding-inline:8px}
 .hy-search .hayha-search-field--date .hayha-search-field__value{font-size:13px}
 .hy-search .hayha-search-field--guests{flex:0 0 76px;padding-inline:8px}
 .hy-search .hayha-search-field--location{padding-inline:8px}
}

/* Results on phones follow the reference's edge-to-edge media and quick brands. */
@media(max-width:768px){
 .hayha-search-main>.hayha-search-container{padding-inline:0}
 .hayha-search-main .hayha-search-promo-notice{margin-inline:16px}
 .hayha-search-main .hayha-search-toolbar{padding-inline:16px}
 .hayha-search-main .hayha-property-card{border-radius:0!important;border-left:0;border-right:0;margin:0!important}
 .hayha-search-main .hayha-property-card__info-col{padding-inline:16px}
 .hayha-mobile-brand-pill img{width:auto;max-width:100px;height:20px;object-fit:contain}
 .hayha-mobile-capsule__info{min-width:0;flex:1}
 .hayha-mobile-capsule__action{min-height:44px}
 .hayha-search-main .hayha-empty-state{margin-inline:16px}
}

/* Brand tiles own the selected outline; retain native accessible checkboxes without duplicate chrome. */
.hayha-mobile-brand-tile-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.hayha-brand-filter-tile:focus-within{outline:2px solid var(--hayha-theme-accent);outline-offset:2px}

@media(min-width:769px) and (max-width:1100px){
 .hayha-search-page:has(#hayha-cards-stack) .hayha-search-field--date{flex:0 0 190px;min-width:190px;padding-inline:12px}
}

@media(max-width:768px){
 .hayha-search-main .hayha-property-card__cta-box{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
 .hayha-search-main .hayha-property-card__price-panel .hayha-price-urgency{margin:0;text-align:right}
 .hayha-search-main .hayha-property-card__action-col{border-top:0!important;padding:16px!important}
 .hayha-search-main .hayha-property-card__price-panel .hayha-price-hierarchy{margin:0}
 .hayha-search-main .hayha-property-card__price-panel .hayha-price-amount-row{flex-wrap:wrap}
 .hayha-booking-search-shortcode .hayha-mobile-capsule__info{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px!important}
 .hayha-booking-search-shortcode :is(.hayha-home-location,.hayha-home-dates){flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
 .hayha-booking-search-shortcode .hayha-home-dates{border-left:1px solid #e5e7eb;padding-left:12px}
 .hayha-booking-search-shortcode .hayha-mobile-capsule__dest{font-size:16px!important;line-height:20px!important;font-weight:400!important;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
 .hayha-booking-search-shortcode .hayha-home-dates .hayha-mobile-capsule__meta{font-size:16px!important;line-height:20px!important;white-space:nowrap}
 .hayha-booking-search-shortcode .hayha-mobile-search-capsule{height:80px;padding-inline:20px 12px!important}
 .hayha-booking-search-shortcode .hayha-home-search-go{flex-basis:44px;width:44px;height:44px}
}
@media(max-width:360px){
 .hayha-booking-search-shortcode .hayha-mobile-capsule__info{gap:8px!important}
 .hayha-booking-search-shortcode .hayha-home-dates{padding-left:8px}
 .hayha-booking-search-shortcode .hayha-home-dates .hayha-mobile-capsule__meta{font-size:12px!important}
}

@media(max-width:768px){
 .hayha-booking-search-shortcode :is(.hayha-home-location,.hayha-home-dates)>span:first-child{font-size:14px}
 .hayha-search-main .hayha-property-card__title{font-size:18px!important}
 .hayha-search-main .hayha-price-numeric{font-size:24px!important;line-height:28px!important}
 .hayha-search-main :is(.hayha-price-from-label,.hayha-price-unit,.hayha-price-urgency){font-size:14px!important}
 .hayha-search-main .hayha-price-hierarchy{min-width:0;flex:1}
 .hayha-search-main .hayha-property-card__cta-box{flex-shrink:0}
 .hayha-search-main .hayha-search-promo-notice__title{font-size:16px;line-height:24px}
 .hayha-search-main .hayha-search-promo-notice__text{font-size:15px;line-height:22px}
}
@media(max-width:360px){.hayha-booking-search-shortcode .hayha-home-dates .hayha-mobile-capsule__meta{font-size:12px!important}}
