.home-search {
    width: 100%;
    max-width: 1152px;
    margin: 12px auto 0;
    color: #183a2e;
}

.home-search [hidden] { display: none !important; }
.home-search-heading { margin-bottom: 24px; }
.home-search-eyebrow { color: #006a4e; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.home-search-heading h1 { margin: 10px 0; font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 700; line-height: 1.2; }
.home-search-heading > p { color: #5f7068; }

.home-search-form {
    padding: 24px;
    border: 1px solid #dce5df;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 8px 24px rgb(24 59 43 / 5%);
}

.home-search-modes { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #dce5df; }
.home-search-mode { padding: 10px 14px; border-radius: 10px; color: #52635b; font-size: 14px; font-weight: 600; }
.home-search-mode[aria-pressed="true"] { background: #e5f3eb; color: #006a4e; }
.home-search-mode:hover { background: #f0f6f2; }
.home-search-primary { display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.home-search-primary > *, .home-search-party > *, .home-search-travel-options > *, .home-search-budget-fields > * { min-width: 0; }
.home-search-form label:not([data-equipment-option]) { display: block; margin-bottom: 6px; color: #5f7068; font-size: 13px; font-weight: 600; }
.home-search .home-search-input { display: block; width: 100%; min-width: 0; min-height: 46px; padding: 11px 13px; border: 1px solid #dce5df; border-radius: 12px; background: #f6f8f7; color: #374151; font-size: 14px; line-height: 22px; box-shadow: none; }
.home-search .home-search-input::placeholder { color: #68766f; opacity: 1; }
.home-search .home-search-input:focus { background: #fff; border-color: #006a4e; outline: 2px solid #006a4e; outline-offset: 2px; }
.home-search .fr-date-wrapper, .home-search .fr-date-overlay { border-radius: 12px; }
.home-search .fr-date-overlay { background: #f6f8f7; color: #68766f; font-size: 14px; padding: 0 13px; }
.home-search-travel-options { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 12px; margin-top: 14px; }
.home-search-bottom { display: grid; grid-template-columns: minmax(0, 1.35fr) auto minmax(0, 1fr); gap: 16px; align-items: end; margin-top: 18px; }
.home-search-party, .home-search-budget-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.home-search-filters-toggle, .home-search-submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; border: 1px solid transparent; border-radius: 12px; padding: 10px 18px; font-size: 14px; font-weight: 600; line-height: 24px; }
.home-search-filters-toggle { border-color: #dce5df; color: #374151; background: #fff; }
.home-search-filters-toggle:hover { border-color: #006a4e; color: #006a4e; background: #f6faf7; }
.home-search-filter-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 50%; color: #006a4e; background: #e5f3eb; font-size: 12px; }
.home-search-submit { color: #fff; background: #006a4e; }
.home-search-submit:hover { background: #005d45; }
.home-search-filters-toggle svg, .home-search-submit svg { width: 18px; height: 18px; flex: none; }
.home-search button:focus-visible { outline: 2px solid #006a4e; outline-offset: 3px; }
.home-search-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; margin-top: 22px; padding-top: 20px; border-top: 1px solid #dce5df; }
.home-search-equipment { min-width: 0; }
.home-search-equipment [data-equipment-filter] > div:first-child { flex-wrap: wrap; align-items: start; }
.home-search-budget { min-width: 0; }
.home-search-budget legend { margin-bottom: 12px; padding: 0; color: #374151; font-size: 14px; font-weight: 600; }
.home-search-filter-summary { margin-top: 14px; color: #52635b; font-size: 13px; overflow-wrap: anywhere; }

@media (max-width: 900px) {
    .home-search-bottom { grid-template-columns: minmax(0, 1fr) auto; }
    .home-search-submit { grid-column: 1 / -1; }
    .home-search-filters { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .home-search { margin-top: 4px; }
    .home-search-heading { margin-bottom: 20px; }
    .home-search-form { padding: 16px; border-radius: 20px; }
    .home-search-modes { gap: 2px; }
    .home-search-mode { padding: 10px; font-size: 13px; }
    .home-search-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-search-location { grid-column: 1 / -1; }
    .home-search-bottom { grid-template-columns: 1fr; }
    .home-search .home-search-input { padding: 11px 10px; font-size: 16px; }
    .home-search .fr-date-overlay { padding: 0 10px; font-size: 13px; }
    .home-search-filters-toggle { justify-self: stretch; }
}

@media (max-width: 380px) {
    .home-search-primary, .home-search-budget-fields, .home-search-travel-options { grid-template-columns: 1fr; }
}
