.elementor-widget-themo-accommodation-search-results,
.elementor-widget-themo-mphb-search-form {
    --vx-blue: #438ed6;
    --vx-blue-dark: #316fae;
    --vx-green: #16794b;
    --vx-green-soft: #ecfdf3;
    --vx-red: #b42318;
    --vx-red-soft: #fff1f0;
    --vx-ink: #172033;
    --vx-muted: #667085;
    --vx-line: #e4e7ec;
    --vx-card-radius: 18px;
}

/* ---------- Search summary ---------- */
.elementor-widget-themo-accommodation-search-results .vx-summary {
    max-width: 1450px !important;
    margin: 18px auto 28px !important;
    padding: 22px !important;
    border: 1px solid #d7e5f5 !important;
    border-radius: 20px !important;
    background: #f7fbff !important;
    box-shadow: 0 12px 34px rgba(16, 24, 40, .07) !important;
}

.elementor-widget-themo-accommodation-search-results .vx-summary.is-empty {
    border-color: #fecaca !important;
    background: #fff8f7 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-summary-top,
.elementor-widget-themo-accommodation-search-results .vx-summary-heading {
    display: flex !important;
    align-items: center !important;
}

.elementor-widget-themo-accommodation-search-results .vx-summary-top {
    justify-content: space-between !important;
    gap: 18px !important;
}

.elementor-widget-themo-accommodation-search-results .vx-summary-heading {
    min-width: 0 !important;
    gap: 13px !important;
}

.elementor-widget-themo-accommodation-search-results .vx-summary-icon {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #dcfce7 !important;
    color: var(--vx-green) !important;
    font-size: 24px !important;
    font-weight: 900 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-summary.is-empty .vx-summary-icon {
    background: #fee4e2 !important;
    color: var(--vx-red) !important;
}

.elementor-widget-themo-accommodation-search-results .vx-summary-heading small {
    display: block !important;
    color: var(--vx-blue) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
}

.elementor-widget-themo-accommodation-search-results .vx-summary-heading h2 {
    margin: 3px 0 0 !important;
    color: var(--vx-ink) !important;
    font-size: clamp(24px, 3vw, 34px) !important;
    line-height: 1.08 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-search-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 17px 0 12px !important;
}

.elementor-widget-themo-accommodation-search-results .vx-search-meta span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    padding: 7px 12px !important;
    border: 1px solid var(--vx-line) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-search-meta .vx-date-range {
    font-weight: 850 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-price-warning {
    margin: 0 !important;
    padding: 11px 13px !important;
    border-radius: 11px !important;
    background: #fff4c2 !important;
    color: #604800 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-change-search,
.elementor-widget-themo-accommodation-search-results .vx-edit-search-button {
    appearance: none !important;
    border: 0 !important;
    cursor: pointer !important;
    font-family: inherit !important;
    text-decoration: none !important;
}

.elementor-widget-themo-accommodation-search-results .vx-change-search {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding: 10px 17px !important;
    border-radius: 12px !important;
    background: var(--vx-ink) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

.elementor-widget-themo-accommodation-search-results .vx-change-search:hover,
.elementor-widget-themo-accommodation-search-results .vx-change-search:focus-visible {
    background: #263247 !important;
}

/* ---------- Results heading ---------- */
.elementor-widget-themo-accommodation-search-results .vx-section-title {
    position: relative !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 13px !important;
    max-width: 1450px !important;
    margin: 30px auto 20px !important;
    padding: 0 8px !important;
    clear: both !important;
}

.elementor-widget-themo-accommodation-search-results .vx-section-title h2 {
    margin: 0 !important;
    color: var(--vx-ink) !important;
    font-size: 27px !important;
    line-height: 1.15 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-section-title p {
    margin: 5px 0 0 !important;
    color: var(--vx-muted) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-available-title > span {
    flex: 0 0 14px !important;
    width: 14px !important;
    height: 14px !important;
    margin-top: 8px !important;
    border-radius: 50% !important;
    background: #12b76a !important;
    box-shadow: 0 0 0 6px #d1fadf !important;
}

.elementor-widget-themo-accommodation-search-results .vx-unavailable-title > span {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #fee4e2 !important;
    color: var(--vx-red) !important;
    font-size: 23px !important;
    font-weight: 900 !important;
}

.elementor-widget-themo-accommodation-search-results .thmv-search-results-info {
    display: none !important;
}

/* ---------- Available cards ---------- */
/* Four comfortable cards per row. Avoids the narrow five-column layout that split words. */
.elementor-widget-themo-accommodation-search-results .elementor-row.thmv-style-1 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
    padding: 0 8px !important;
}

.elementor-widget-themo-accommodation-search-results .elementor-row.thmv-style-1 > .thmv-column {
    display: flex !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    padding: 0 !important;
}

.elementor-widget-themo-accommodation-search-results .elementor-row.thmv-style-1 > .thmv-column > .elementor-widget-wrap {
    display: flex !important;
    width: 100% !important;
    padding: 0 !important;
}

.elementor-widget-themo-accommodation-search-results .elementor-row.thmv-style-1 .thmv-grid {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    border: 1px solid var(--vx-line) !important;
    border-radius: var(--vx-card-radius) !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(16, 24, 40, .07) !important;
}

.elementor-widget-themo-accommodation-search-results .thmv-grid-img {
    position: relative !important;
    height: 230px !important;
    min-height: 230px !important;
    overflow: hidden !important;
    border-radius: var(--vx-card-radius) var(--vx-card-radius) 0 0 !important;
    background: #e9eef3 !important;
}

.elementor-widget-themo-accommodation-search-results .thmv-grid-img .elementor-widget-image-carousel,
.elementor-widget-themo-accommodation-search-results .thmv-grid-img .elementor-image-carousel-wrapper,
.elementor-widget-themo-accommodation-search-results .thmv-grid-img .elementor-image-carousel,
.elementor-widget-themo-accommodation-search-results .thmv-grid-img .swiper-slide,
.elementor-widget-themo-accommodation-search-results .thmv-grid-img figure {
    height: 100% !important;
    min-height: 0 !important;
}

.elementor-widget-themo-accommodation-search-results .thmv-grid-img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

.elementor-widget-themo-accommodation-search-results .vx-available-badge {
    position: absolute !important;
    z-index: 60 !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    background: var(--vx-green) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .18) !important;
    pointer-events: none !important;
}

.elementor-widget-themo-accommodation-search-results .thmv-top-box {
    position: absolute !important;
    z-index: 55 !important;
    top: 12px !important;
    right: auto !important;
    left: 12px !important;
    width: auto !important;
    max-width: calc(100% - 118px) !important;
    margin: 0 !important;
}

.elementor-widget-themo-accommodation-search-results .thmv-top-box span {
    display: block !important;
    max-width: 100% !important;
    padding: 8px 11px !important;
    overflow: hidden !important;
    border-radius: 4px !important;
    background: rgba(255,255,255,.96) !important;
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.10) !important;
}

.elementor-widget-themo-accommodation-search-results .thmv-info {
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;
    min-width: 0 !important;
    padding: 18px !important;
}

.elementor-widget-themo-accommodation-search-results .thmv-title {
    min-height: 2.3em !important;
    margin: 0 0 10px !important;
    color: var(--vx-ink) !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

.elementor-widget-themo-accommodation-search-results .thmv-title a {
    color: inherit !important;
    text-decoration: none !important;
}

.elementor-widget-themo-accommodation-search-results .thmv-description {
    display: -webkit-box !important;
    min-height: 4.2em !important;
    margin: 0 0 12px !important;
    overflow: hidden !important;
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

/* Amenities: protect words from character-by-character wrapping caused by the theme. */
.elementor-widget-themo-accommodation-search-results ul.thmv-icons.thmv-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 14px !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    list-style: none !important;
}

.elementor-widget-themo-accommodation-search-results ul.thmv-icons.thmv-list > li {
    display: flex !important;
    float: none !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 38px !important;
    flex: none !important;
    margin: 0 !important;
    padding: 7px 0 !important;
    border-bottom: 1px solid #edf0f3 !important;
    line-height: 1.25 !important;
}

.elementor-widget-themo-accommodation-search-results ul.thmv-icons.thmv-list > li > .thmv-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-widget-themo-accommodation-search-results ul.thmv-icons.thmv-list > li > .thmv-icon svg,
.elementor-widget-themo-accommodation-search-results ul.thmv-icons.thmv-list > li > .thmv-icon i {
    display: block !important;
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    max-height: 16px !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

.elementor-widget-themo-accommodation-search-results ul.thmv-icons.thmv-list > li > .thmv-icon-label {
    display: block !important;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #344054 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

/* Price and booking controls */
.elementor-widget-themo-accommodation-search-results .mphb-regular-price {
    margin: auto 0 4px !important;
    padding-top: 14px !important;
    border-top: 1px solid #edf0f3 !important;
    text-align: center !important;
}

.elementor-widget-themo-accommodation-search-results .vx-price-for {
    display: block !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 5px auto 12px !important;
    padding: 6px 10px !important;
    border: 1px solid #abefc6 !important;
    border-radius: 999px !important;
    background: var(--vx-green-soft) !important;
    color: #166534 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.elementor-widget-themo-accommodation-search-results .mphb-reserve-room-section {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-quantity-row,
.elementor-widget-themo-accommodation-search-results .mphb-rooms-quantity-wrapper.vx-quantity-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    min-height: 36px !important;
    margin: 0 0 10px !important;
    color: #475467 !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-quantity-label {
    font-weight: 850 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-stock-note {
    display: block !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 auto 10px !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    background: #fff7ed !important;
    color: #9a3412 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}

.elementor-widget-themo-accommodation-search-results .mphb-rooms-quantity {
    display: inline-block !important;
    width: auto !important;
    min-width: 54px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border-radius: 9px !important;
}

.elementor-widget-themo-accommodation-search-results .mphb-available-rooms-count {
    color: #667085 !important;
    white-space: nowrap !important;
}

.elementor-widget-themo-accommodation-search-results .mphb-book-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 47px !important;
    margin: 0 !important;
    padding: 11px 16px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

/* ---------- Unavailable cards ---------- */
.elementor-widget-themo-accommodation-search-results .vx-unavailable-section {
    max-width: 1450px !important;
    margin: 48px auto 0 !important;
    padding: 18px 8px 0 !important;
    border-top: 2px solid #fee4e2 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-unavailable-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    gap: 18px !important;
}

.elementor-widget-themo-accommodation-search-results .vx-unavailable-card {
    display: flex !important;
    overflow: hidden !important;
    flex-direction: column !important;
    min-height: 100% !important;
    border: 1px solid #ead7d5 !important;
    border-radius: var(--vx-card-radius) !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(16, 24, 40, .05) !important;
}

.elementor-widget-themo-accommodation-search-results .vx-unavailable-media {
    position: relative !important;
    height: 190px !important;
    background: #d0d5dd center/cover no-repeat !important;
    filter: grayscale(.85) !important;
}

.elementor-widget-themo-accommodation-search-results .vx-unavailable-media::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(17, 24, 39, .28) !important;
}

.elementor-widget-themo-accommodation-search-results .vx-unavailable-media b {
    position: absolute !important;
    z-index: 2 !important;
    top: 12px !important;
    left: 12px !important;
    padding: 7px 9px !important;
    border-radius: 999px !important;
    background: rgba(123, 47, 42, .92) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.elementor-widget-themo-accommodation-search-results .vx-unavailable-body {
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;
    padding: 16px !important;
}

.elementor-widget-themo-accommodation-search-results .vx-unavailable-body h3 {
    margin: 0 0 10px !important;
    color: var(--vx-ink) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-unavailable-reason {
    margin: 0 0 14px !important;
    padding: 10px 11px !important;
    border-radius: 10px !important;
    background: var(--vx-red-soft) !important;
    color: #912018 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

.elementor-widget-themo-accommodation-search-results .vx-edit-search-button {
    width: 100% !important;
    min-height: 42px !important;
    margin-top: auto !important;
    padding: 9px 12px !important;
    border: 1px solid #98a2b3 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

/* ---------- Search form ---------- */
.vx-original-search-heading {
    display: none !important;
}

.elementor-widget-themo-mphb-search-form.vx-search-widget {
    width: 100% !important;
    max-width: 1240px !important;
    margin: 28px auto 48px !important;
    padding: 0 16px !important;
}

.elementor-widget-themo-mphb-search-form.vx-search-widget .elementor-widget-container,
.elementor-widget-themo-mphb-search-form.vx-search-widget .th-fo-form,
.elementor-widget-themo-mphb-search-form.vx-search-widget .mphb_sc_search-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 22px !important;
    border: 1px solid #d7e5f5 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 12px 34px rgba(16, 24, 40, .07) !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-form-intro {
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #e8eef5 !important;
    background: transparent !important;
    color: inherit !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-form-intro-copy {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-form-intro strong {
    display: block !important;
    margin: 0 0 4px !important;
    color: var(--vx-ink) !important;
    font-size: 24px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-form-intro-copy > span {
    display: block !important;
    margin: 0 !important;
    color: var(--vx-muted) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form .mphb-required-fields-tip {
    display: none !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-fields {
    display: grid !important;
    grid-template-columns: minmax(190px, 1.25fr) minmax(190px, 1.25fr) minmax(130px, .75fr) minmax(145px, .85fr) minmax(190px, auto) !important;
    gap: 14px !important;
    align-items: end !important;
    width: 100% !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-fields > p {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form br {
    display: none !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form label {
    display: block !important;
    margin: 0 !important;
    color: #344054 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form label abbr {
    display: none !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form input[type="text"],
.elementor-widget-themo-mphb-search-form form.vx-search-form select {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #101828 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form input[type="text"]:focus,
.elementor-widget-themo-mphb-search-form form.vx-search-form select:focus {
    outline: none !important;
    border-color: #84caff !important;
    box-shadow: 0 0 0 4px rgba(67, 142, 214, .14) !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-submit-button-wrapper {
    display: flex !important;
    align-self: end !important;
    justify-content: stretch !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-submit-button-wrapper input[type="submit"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 190px !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: var(--vx-blue) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: 0 7px 18px rgba(67, 142, 214, .22) !important;
}

.elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-submit-button-wrapper input[type="submit"]:hover,
.elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-submit-button-wrapper input[type="submit"]:focus-visible {
    background: var(--vx-blue-dark) !important;
}

.vx-search-form-highlight {
    animation: vx-search-pulse 1.6s ease !important;
}

@keyframes vx-search-pulse {
    0%, 100% { box-shadow: none; }
    35% { box-shadow: 0 0 0 6px rgba(67, 142, 214, .18); }
}

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
    .elementor-widget-themo-accommodation-search-results .elementor-row.thmv-style-1 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-submit-button-wrapper {
        grid-column: 1 / -1 !important;
        justify-self: end !important;
        width: min(100%, 300px) !important;
    }
}

@media (max-width: 799px) {
    .elementor-widget-themo-accommodation-search-results .elementor-row.thmv-style-1 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .elementor-widget-themo-accommodation-search-results .vx-summary {
        display: grid !important;
        gap: 12px !important;
        margin: 12px 12px 22px !important;
        padding: 16px !important;
        border-radius: 18px !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-summary-top {
        display: contents !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-summary-heading {
        order: 1 !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-summary-icon {
        flex-basis: 36px !important;
        width: 36px !important;
        height: 36px !important;
        font-size: 21px !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-summary-heading h2 {
        font-size: 26px !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-search-meta {
        order: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-search-meta .vx-date-range {
        grid-column: 1 / -1 !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-search-meta span {
        min-height: 0 !important;
        padding: 9px 10px !important;
        border-radius: 10px !important;
        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-price-warning {
        order: 3 !important;
        padding: 10px 11px !important;
        font-size: 12px !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-change-search {
        order: 4 !important;
        width: 100% !important;
        min-height: 46px !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-section-title {
        margin: 22px 12px 14px !important;
        padding: 0 !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-section-title h2 {
        font-size: 23px !important;
    }

    .elementor-widget-themo-accommodation-search-results .vx-section-title p {
        font-size: 13px !important;
    }

    .elementor-widget-themo-accommodation-search-results .elementor-row.thmv-style-1,
    .elementor-widget-themo-accommodation-search-results .vx-unavailable-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding: 0 12px !important;
    }

    .elementor-widget-themo-accommodation-search-results .thmv-grid-img {
        height: 218px !important;
        min-height: 218px !important;
    }

    .elementor-widget-themo-accommodation-search-results .thmv-info {
        padding: 16px !important;
    }

    .elementor-widget-themo-accommodation-search-results .thmv-title {
        min-height: 0 !important;
        margin-bottom: 8px !important;
        font-size: 22px !important;
    }

    .elementor-widget-themo-accommodation-search-results .thmv-description {
        min-height: 0 !important;
        margin-bottom: 10px !important;
        -webkit-line-clamp: 4 !important;
    }

    .elementor-widget-themo-accommodation-search-results ul.thmv-icons.thmv-list {
        margin-bottom: 12px !important;
    }

    .elementor-widget-themo-mphb-search-form.vx-search-widget {
        margin: 24px auto 36px !important;
        padding: 0 12px !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form {
        padding: 17px !important;
        border-radius: 18px !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-form-intro {
        margin-bottom: 15px !important;
        padding-bottom: 13px !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-form-intro strong {
        font-size: 21px !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-form-intro-copy > span {
        font-size: 13px !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 13px 10px !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-check-in-date,
    .elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-check-out-date,
    .elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-submit-button-wrapper {
        grid-column: 1 / -1 !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-submit-button-wrapper {
        width: 100% !important;
        justify-self: stretch !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form input[type="text"],
    .elementor-widget-themo-mphb-search-form form.vx-search-form select,
    .elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-submit-button-wrapper input[type="submit"] {
        height: 48px !important;
        min-height: 48px !important;
    }
}

@media (max-width: 390px) {
    .elementor-widget-themo-accommodation-search-results ul.thmv-icons.thmv-list {
        grid-template-columns: 1fr !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form .vx-search-fields {
        grid-template-columns: 1fr !important;
    }

    .elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-adults,
    .elementor-widget-themo-mphb-search-form form.vx-search-form .mphb_sc_search-children {
        grid-column: 1 / -1 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vx-search-form-highlight {
        animation: none !important;
    }
}
