html {

    overflow-y: scroll;

}



#researchresult {

    --sr-surface: #ffffff;

    --sr-background-start: #fbfdfc;

    --sr-background-middle: #f5faf8;

    --sr-primary-dark: #00755e;

    --sr-raspberry-dark: #8f284b;

    --sr-radius-control: 10px;

    --sr-radius-panel: 16px;

    --sr-radius-pill: 999px;

    width: 100%;

    font-family: var(--font-main);

    font-size: var(--fs-body);

    min-width: 0;

    padding: 18px 0 36px;

    background:

        radial-gradient(circle at 12% 0%, rgba(61, 199, 171, 0.16), transparent 28rem),

        radial-gradient(circle at 88% 12%, rgba(238, 218, 6, 0.12), transparent 24rem),

        linear-gradient(180deg, var(--sr-background-start) 0%, var(--sr-background-middle) 44%, var(--sr-surface) 100%);

}



.sr-filter-shell {

    width: min(94%, 1680px);

    margin: 12px auto 18px;

    padding: 12px 14px 11px;



    background:

        linear-gradient(135deg,

            rgba(1, 141, 113, 0.045),

            rgba(61, 199, 171, 0.025)),

        rgba(255, 255, 255, 0.96);



    border: 1px solid rgba(1, 141, 113, 0.18);

    border-radius: var(--sr-radius-panel);



    box-shadow:

        0 10px 28px rgba(1, 141, 113, 0.07),

        0 2px 7px rgba(17, 17, 17, 0.025);

}



.sr-filter-form {

    display: flex;

    flex-direction: column;

    gap: 10px;

}



.sr-filter-main-two-rows {

    display: grid;

    grid-template-columns:

        minmax(210px, 1.15fr) minmax(210px, 1.15fr) minmax(180px, 0.9fr) minmax(170px, 0.82fr);



    column-gap: 14px;

    row-gap: 8px;

    align-items: start;

}



.sr-field {

    display: flex;

    flex-direction: column;

    gap: 5px;

    min-width: 0;

}



.sr-field-head {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 8px;

}



.sr-field label,
.sr-field-head label {

    margin: 0;



    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 800;

    line-height: 1.2;

    letter-spacing: 0.012em;



    color: #161616;

}



.sr-field input,
.sr-field select {

    width: 100%;

    height: 40px;

    padding: 0 12px;



    border: 1px solid rgba(1, 141, 113, 0.19);

    border-radius: var(--sr-radius-control);



    background: rgba(255, 255, 255, 0.9);

    color: #151515;



    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 600;



    outline: none;

    box-shadow: 0 1px 2px rgba(17, 17, 17, 0.015);



    transition:

        border-color 0.18s ease,

        box-shadow 0.18s ease,

        background-color 0.18s ease;

}



.sr-field input:hover,
.sr-field select:hover {

    border-color: rgba(1, 141, 113, 0.38);

    background-color: var(--sr-surface);

}



.sr-field input:focus,
.sr-field select:focus {

    border-color: var(--color-primary);

    background-color: var(--sr-surface);

    box-shadow: 0 0 0 3px rgba(61, 199, 171, 0.14);

}



.sr-field input[type="number"]::-webkit-outer-spin-button,
.sr-field input[type="number"]::-webkit-inner-spin-button {

    margin: 0;

    -webkit-appearance: none;

}



.sr-field input[type="number"] {

    appearance: textfield;

    -moz-appearance: textfield;

}



.sr-field-errors {

    margin-top: 3px;

    color: var(--color-raspberry);

    font-size: 12px;

    line-height: 1.3;

}



.sr-field-dropdown,
.sr-select-dropdown {

    position: relative;

    min-width: 0;

}



.sr-select-dropdown summary {

    display: flex;

    align-items: center;

    justify-content: space-between;



    height: 40px;

    padding: 0 12px;



    list-style: none;

    cursor: pointer;



    border: 1px solid rgba(1, 141, 113, 0.19);

    border-radius: var(--sr-radius-control);



    background: rgba(255, 255, 255, 0.9);

    box-shadow: 0 1px 2px rgba(17, 17, 17, 0.015);



    transition:

        border-color 0.18s ease,

        box-shadow 0.18s ease,

        background-color 0.18s ease;

}



.sr-select-dropdown summary::-webkit-details-marker {

    display: none;

}



.sr-select-dropdown summary:hover {

    border-color: rgba(1, 141, 113, 0.42);

    background-color: var(--sr-surface);

}



.sr-select-dropdown[open] summary {

    border-color: var(--color-primary);

    background-color: var(--sr-surface);

    box-shadow: 0 0 0 3px rgba(61, 199, 171, 0.14);

}



.sr-select-value {

    min-width: 0;

    overflow: hidden;



    color: #171717;



    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 600;



    text-overflow: ellipsis;

    white-space: nowrap;

}



.sr-select-arrow {

    position: relative;



    width: 12px;

    height: 12px;

    margin-left: 10px;



    flex-shrink: 0;

}



.sr-select-arrow::before,
.sr-select-arrow::after {

    content: "";



    position: absolute;

    top: 50%;



    width: 7px;

    height: 2px;



    background: var(--color-primary);

    border-radius: var(--sr-radius-pill);



    transition: transform 0.18s ease;

}



.sr-select-arrow::before {

    left: 0;

    transform: translateY(-50%) rotate(45deg);

}



.sr-select-arrow::after {

    right: 0;

    transform: translateY(-50%) rotate(-45deg);

}



.sr-select-dropdown[open] .sr-select-arrow::before {

    transform: translateY(-50%) rotate(-45deg);

}



.sr-select-dropdown[open] .sr-select-arrow::after {

    transform: translateY(-50%) rotate(45deg);

}



.sr-select-panel {

    position: absolute;

    top: 100%;

    left: 0;

    z-index: 30;



    width: 100%;

    min-width: 250px;

    margin-top: 6px;

    padding: 7px;



    background: rgba(255, 255, 255, 0.99);

    border: 1px solid rgba(1, 141, 113, 0.18);

    border-radius: 11px;



    box-shadow:

        0 18px 38px rgba(17, 17, 17, 0.11),

        0 4px 10px rgba(1, 141, 113, 0.05);

}



.sr-select-options {

    display: flex;

    flex-direction: column;

    gap: 3px;



    max-height: 240px;

    overflow-y: auto;

    overscroll-behavior: contain;



    scrollbar-width: thin;

    scrollbar-color: rgba(1, 141, 113, 0.45) transparent;

}



.sr-select-options::-webkit-scrollbar {

    width: 6px;

}



.sr-select-options::-webkit-scrollbar-thumb {

    background: rgba(1, 141, 113, 0.4);

    border-radius: var(--sr-radius-pill);

}



.sr-option-check,
.sr-option-radio {

    display: flex;

    align-items: center;

    gap: 8px;



    margin: 0;

    padding: 7px 8px;



    color: #171717;

    border-radius: 8px;

    cursor: pointer;



    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 600;



    transition:

        color 0.16s ease,

        background-color 0.16s ease;

}



.sr-option-check:hover,
.sr-option-radio:hover {

    color: #016c58;

    background-color: rgba(61, 199, 171, 0.1);

}



.sr-option-check input[type="checkbox"],
.sr-option-radio input[type="radio"] {

    width: 15px;

    height: 15px;

    padding: 0;



    flex-shrink: 0;

    accent-color: var(--color-primary);

}



.sr-option-check span,
.sr-option-radio span {

    line-height: 1.3;

}



.sr-field-range {

    gap: 2px;

}



.sr-field-range .sr-range-box {

    display: flex;

    flex-direction: column;



    padding: 0 1px 16px;

}



.sr-slider {

    position: relative;



    display: flex;

    align-items: center;



    height: 31px;

    overflow: visible;

}



.sr-slider-track,
.sr-slider-progress {

    position: absolute;

    right: 0;

    left: 0;



    height: 4px;

    border-radius: var(--sr-radius-pill);

}



.sr-slider-track {

    background: rgba(1, 141, 113, 0.13);

    box-shadow: inset 0 1px 2px rgba(1, 141, 113, 0.08);

}



.sr-slider-progress {

    background: linear-gradient(90deg,

            var(--color-primary) 0%,

            var(--color-third) 100%);



    box-shadow: 0 1px 3px rgba(1, 141, 113, 0.2);

}



.sr-slider input[type="range"] {

    position: absolute;



    width: 100%;

    height: 31px;

    margin: 0;

    padding: 0;



    appearance: none;

    -webkit-appearance: none;



    background: transparent;

    border: 0;

    pointer-events: none;

}



.sr-slider input[type="range"]:focus {

    box-shadow: none;

    outline: none;

}



.sr-thumb-label {

    position: absolute;

    top: 30px;



    max-width: 100%;

    padding: 2px 7px;



    color: var(--sr-surface);

    background: var(--color-primary);

    border: none;

    border-radius: var(--sr-radius-pill);

    box-shadow: none;



    font-family: var(--font-main);

    font-size: 11px;

    font-weight: 700;

    line-height: 1.05;



    white-space: nowrap;

    pointer-events: none;



    transform: translateX(-50%);

}



.sr-thumb-label-min {

    z-index: 2;

}



.sr-thumb-label-max {

    z-index: 1;

}



.sr-slider input[type="range"]::-webkit-slider-runnable-track {

    height: 4px;

    background: transparent;

}



.sr-slider input[type="range"]::-webkit-slider-thumb {

    width: 26px;

    height: 26px;



    appearance: none;

    -webkit-appearance: none;



    border: 2px solid var(--sr-surface);

    border-radius: 50%;



    background-color: var(--color-primary);

    background-image: var(--range-pin-icon);

    background-repeat: no-repeat;

    background-position: center;

    background-size: 17px 17px;



    box-shadow:

        0 4px 10px rgba(1, 141, 113, 0.26),

        0 0 0 1px rgba(1, 141, 113, 0.08);



    cursor: pointer;

    pointer-events: auto;



    transition:

        transform 0.16s ease,

        background-color 0.16s ease,

        box-shadow 0.16s ease;

}



.sr-slider input[type="range"]::-webkit-slider-thumb:hover {

    z-index: 4;

    transform: scale(1.07);



    background-color: #027b64;



    box-shadow:

        0 5px 13px rgba(1, 141, 113, 0.34),

        0 0 0 3px rgba(61, 199, 171, 0.11);

}



.sr-slider input[type="range"]::-moz-range-track {

    height: 4px;

    background: transparent;

}



.sr-slider input[type="range"]::-moz-range-thumb {

    width: 24px;

    height: 24px;



    border: 2px solid var(--sr-surface);

    border-radius: 50%;



    background-color: var(--color-primary);

    background-image: var(--range-pin-icon);

    background-repeat: no-repeat;

    background-position: center;

    background-size: 17px 17px;



    box-shadow:

        0 4px 10px rgba(1, 141, 113, 0.26),

        0 0 0 1px rgba(1, 141, 113, 0.08);



    cursor: pointer;

    pointer-events: auto;



    transition:

        transform 0.16s ease,

        background-color 0.16s ease,

        box-shadow 0.16s ease;

}



.sr-slider input[type="range"]::-moz-range-thumb:hover {

    transform: scale(1.07);



    background-color: #027b64;



    box-shadow:

        0 5px 13px rgba(1, 141, 113, 0.34),

        0 0 0 3px rgba(61, 199, 171, 0.11);

}



.sr-range-input-price-min {

    --range-pin-icon: url("../../website/icons/sunny.png");

}



.sr-range-input-price-max {

    --range-pin-icon: url("../../website/icons/beach-umbrella.png");

}



.sr-range-input-surface-min {

    --range-pin-icon: url("../../website/icons/oyster.png");

}



.sr-range-input-surface-max {

    --range-pin-icon: url("../../website/icons/seahorse.png");

}



.sr-range-input-pieces-min {

    --range-pin-icon: url("../../website/icons/wave.png");

}



.sr-range-input-pieces-max {

    --range-pin-icon: url("../../website/icons/travel.png");

}



.sr-actions,
.sr-actions-top,
.sr-actions-bottom {

    display: flex;

    align-items: center;

    justify-content: flex-end;



    min-width: 0;

}



.sr-actions-top {

    align-self: end;

}



.sr-actions-bottom {

    align-self: center;

    padding-top: 7px;

}



.sr-actions-top .sr-btn,
.sr-actions-bottom .sr-btn {

    width: 100%;

    min-width: 0;

}

.sr-mobile-filter-actions,
.sr-mobile-filter-footer {

    display: none;

}

.sr-mobile-filter-panel {

    display: contents;

}



.sr-btn {

    height: 40px;

    padding: 0 17px;



    border: 1px solid transparent;

    border-radius: var(--sr-radius-control);



    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 800;

    letter-spacing: 0.008em;



    cursor: pointer;

    white-space: nowrap;



    box-shadow: 0 2px 5px rgba(17, 17, 17, 0.025);



    transition:

        transform 0.16s ease,

        box-shadow 0.16s ease,

        background-color 0.16s ease,

        border-color 0.16s ease,

        color 0.16s ease;

}



.sr-btn:hover {

    transform: translateY(-1px);

}



.sr-btn:active {

    transform: translateY(0);

}



.sr-btn-primary {

    height: 44px;

    color: var(--sr-surface);

    background: var(--color-primary);

    border-color: var(--color-primary);

    box-shadow: 0 7px 18px rgba(1, 141, 113, 0.24);

}



.sr-btn-primary:hover {

    color: var(--sr-surface);

    background: var(--sr-primary-dark);

    border-color: var(--sr-primary-dark);

    box-shadow: 0 9px 22px rgba(1, 141, 113, 0.3);

}



.sr-btn-secondary {

    color: var(--color-raspberry);

    background: var(--sr-surface);

    border-color: rgba(184, 50, 95, 0.42);

    box-shadow: none;

}



.sr-btn-secondary:hover {

    color: var(--sr-raspberry-dark);

    background: rgba(184, 50, 95, 0.055);

    border-color: var(--color-raspberry);

    box-shadow: 0 4px 10px rgba(184, 50, 95, 0.08);

}



.sr-btn:focus-visible {

    outline: none;

    box-shadow: 0 0 0 3px rgba(61, 199, 171, 0.17);

}



.sr-btn:disabled {

    opacity: 0.5;

    cursor: not-allowed;

    transform: none;

}



.sr-field-errors,
.sr-form-errors {

    margin-top: 4px;

    color: var(--color-raspberry);

    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 700;

}



.sr-form-errors {

    padding: 12px 14px;

    border-radius: var(--sr-radius-control);

    background: rgba(184, 50, 95, 0.08);

    border: 1px solid rgba(184, 50, 95, 0.16);

}




/* =========================================================
/* =========================================================
   ADVANCED FILTERS
   ========================================================= */

.sr-advanced,
.sr-advanced-filters,
.sr-filter-form>details {
    width: 100%;
    min-width: 0;
    margin-top: 4px;
}

/* Toggle */
.sr-advanced-toggle,
.sr-advanced>summary,
.sr-advanced-filters>summary,
.sr-filter-form>details>summary {
    display: flex;
    align-items: center;
    gap: 10px;

    width: 100%;
    min-height: 42px;
    padding: 8px 11px;

    list-style: none;
    cursor: pointer;

    color: var(--color-primary);
    border: 1px solid rgba(1, 141, 113, 0.17);
    border-radius: var(--sr-radius-control);

    font-family: var(--font-main);
    font-size: var(--fs-small);
    font-weight: 850;
    line-height: 1.2;
}

.sr-advanced>summary::-webkit-details-marker,
.sr-advanced-filters>summary::-webkit-details-marker,
.sr-filter-form>details>summary::-webkit-details-marker {
    display: none;
}

.sr-advanced-toggle:hover,
.sr-advanced>summary:hover,
.sr-advanced-filters>summary:hover,
.sr-filter-form>details>summary:hover {
    color: var(--sr-primary-dark);
    border-color: rgba(1, 141, 113, 0.30);
    background: linear-gradient(135deg,
            rgba(1, 141, 113, 0.075),
            rgba(61, 199, 171, 0.04));
}

.sr-advanced-toggle:focus-visible,
.sr-advanced>summary:focus-visible,
.sr-advanced-filters>summary:focus-visible,
.sr-filter-form>details>summary:focus-visible {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(61, 199, 171, 0.15);
}

.sr-advanced-toggle::before,
.sr-advanced>summary::before,
.sr-advanced-filters>summary::before,
.sr-filter-form>details>summary::before {
    content: "⚙";

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;
    flex: 0 0 25px;

    color: var(--color-primary);
    border-radius: 50%;

    font-size: 12px;
    line-height: 1;
}

.sr-advanced-toggle::after,
.sr-advanced>summary::after,
.sr-advanced-filters>summary::after,
.sr-filter-form>details>summary::after {
    content: "";

    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    margin-left: auto;
    margin-right: 3px;

    border-right: 2px solid var(--color-primary);
    border-bottom: 2px solid var(--color-primary);

    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.2s ease;
}

.sr-advanced.is-open .sr-advanced-toggle::after,
.sr-advanced[open]>summary::after,
.sr-advanced-filters[open]>summary::after,
.sr-filter-form>details[open]>summary::after {
    transform: rotate(225deg) translate(-2px, -2px);
}

/* Content */
.sr-advanced-panel,
.sr-advanced> :not(summary),
.sr-advanced-filters> :not(summary),
.sr-filter-form>details> :not(summary) {
    margin-top: 8px;
}

.sr-advanced-panel {
    padding: 12px;

    background:
        radial-gradient(circle at 4% 0%, rgba(61, 199, 171, 0.08), transparent 18rem),
        radial-gradient(circle at 96% 0%, rgba(254, 239, 16, 0.08), transparent 16rem),
        rgba(255, 255, 255, 0.72);

    border: 1px solid rgba(1, 141, 113, 0.12);
    border-radius: 12px;
}

/*
   IMPORTANT: the current HTML has the labels and counters directly inside
   .sr-advanced-col. Therefore THIS element is the 3-column grid.
*/
.sr-advanced-grid {
    display: block;
}

.sr-advanced-col {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    min-width: 0;
}

.sr-advanced-col h4 {
    grid-column: 1 / -1;

    position: relative;
    margin: 0 0 2px;
    padding: 0 0 9px;

    color: #161616;
    font-family: var(--font-main);
    font-size: var(--fs-small);
    font-weight: 850;
    line-height: 1.25;
}

.sr-advanced-col h4::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;

    width: 58px;
    height: 3px;

    border-radius: var(--sr-radius-pill);
    background: linear-gradient(90deg,
            var(--color-primary),
            var(--color-third),
            var(--color-secondary),
            var(--color-raspberry));
}

/* If wrappers exist, make them transparent to the grid. */
.sr-check-list,
.sr-counter-list {
    display: contents;
}

/* Checkbox cards */
.sr-check-row {
    position: relative;

    display: flex;
    align-items: center;
    gap: 9px;

    width: 100%;
    min-width: 0;
    min-height: 46px;
    margin: 0;
    padding: 9px 12px;

    color: rgba(17, 17, 17, 0.76);
    background: rgba(255, 255, 255, 0.95);

    border: 1px solid rgba(1, 141, 113, 0.15);
    border-radius: 10px;

    font-family: var(--font-main);
    font-size: var(--fs-small);
    font-weight: 750;
    line-height: 1.25;

    cursor: pointer;
    user-select: none;

    box-shadow: 0 3px 9px rgba(17, 17, 17, 0.02);

    transition:
        transform 0.16s ease,
        border-color 0.16s ease,
        box-shadow 0.16s ease,
        background-color 0.16s ease,
        color 0.16s ease;
}

.sr-check-row::before {
    content: "";
    position: absolute;
    top: 7px;
    bottom: 7px;
    left: 0;
    width: 3px;

    border-radius: 0 4px 4px 0;
    background: var(--color-third);
    opacity: 0;

    transition: opacity 0.16s ease;
}

/* Four-color rhythm, subtle and consistent with the site palette. */
.sr-check-row:nth-of-type(4n + 1)::before {
    background: var(--color-primary);
}

.sr-check-row:nth-of-type(4n + 2)::before {
    background: var(--color-third);
}

.sr-check-row:nth-of-type(4n + 3)::before {
    background: var(--color-secondary);
}

.sr-check-row:nth-of-type(4n + 4)::before {
    background: var(--color-raspberry);
}

.sr-check-row:hover {
    color: var(--color-primary);
    background: #fff;
    border-color: rgba(1, 141, 113, 0.28);
    box-shadow: 0 8px 18px rgba(1, 141, 113, 0.06);
    transform: translateY(-1px);
}

.sr-check-row:hover::before,
.sr-check-row:has(input[type="checkbox"]:checked)::before {
    opacity: 1;
}

.sr-check-row input[type="checkbox"] {
    width: 16px;
    height: 16px;
    min-width: 16px;
    margin: 0;
    padding: 0;

    accent-color: var(--color-primary);
    cursor: pointer;
}

.sr-check-row:has(input[type="checkbox"]:checked) {
    color: var(--color-primary);
    background: rgba(1, 141, 113, 0.055);
    border-color: rgba(1, 141, 113, 0.30);
    box-shadow: inset 0 0 0 1px rgba(61, 199, 171, 0.05);
}

/* Counter cards: same size and same grid behavior as the checkboxes. */
.sr-counter-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;

    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 6px 7px 6px 12px;

    color: var(--color-text);
    background: rgba(255, 255, 255, 0.95);

    border: 1px solid rgba(1, 141, 113, 0.15);
    border-radius: 10px;

    font-family: var(--font-main);
    font-size: var(--fs-small);
    font-weight: 750;
    line-height: 1.25;

    box-shadow: 0 3px 9px rgba(17, 17, 17, 0.02);

    transition:
        transform 0.16s ease,
        border-color 0.16s ease,
        box-shadow 0.16s ease,
        background-color 0.16s ease;
}

.sr-counter-row:hover {
    background: #fff;
    border-color: rgba(1, 141, 113, 0.28);
    box-shadow: 0 8px 18px rgba(1, 141, 113, 0.06);
    transform: translateY(-1px);
}

.sr-counter-row>span {
    min-width: 0;
}

.sr-counter {
    display: inline-grid;
    grid-template-columns: 32px 38px 32px;
    align-items: center;

    height: 32px;
    overflow: hidden;

    border: 1px solid rgba(1, 141, 113, 0.19);
    border-radius: 8px;
    background: #fff;
}

.sr-counter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;

    border: 0;
    background: transparent;

    color: var(--color-primary);
    font-family: var(--font-main);
    font-size: 16px;
    font-weight: 850;
    line-height: 1;

    cursor: pointer;

    transition:
        color 0.16s ease,
        background-color 0.16s ease;
}

.sr-counter-btn:hover {
    color: var(--sr-primary-dark);
    background: rgba(1, 141, 113, 0.08);
}

.sr-counter-btn:focus-visible {
    position: relative;
    z-index: 2;
    outline: 2px solid var(--color-third);
    outline-offset: -2px;
}

.sr-counter-input {
    width: 38px;
    height: 32px;
    padding: 0;

    border: 0;
    border-left: 1px solid rgba(1, 141, 113, 0.13);
    border-right: 1px solid rgba(1, 141, 113, 0.13);
    outline: none;

    background: #fff;
    color: var(--color-text);

    font-family: var(--font-main);
    font-size: 13px;
    font-weight: 850;
    text-align: center;

    appearance: textfield;
    -moz-appearance: textfield;
}

.sr-counter-input::-webkit-inner-spin-button,
.sr-counter-input::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
}

/* Responsive: 3 cols desktop, 2 tablet, 1 mobile. */




.sr-results-toolbar {

    display: grid;

    grid-template-columns: minmax(0, 4fr) minmax(190px, 1fr);

    align-items: center;

    gap: 16px;

    margin-bottom: 14px;

    padding: 9px 12px 9px 16px;

    background: rgba(255, 255, 255, 0.96);

    border: 1px solid rgba(1, 141, 113, 0.16);

    border-radius: 12px;

    box-shadow: 0 6px 18px rgba(1, 141, 113, 0.06);

}



.sr-results-count {

    min-width: 0;

    margin: 0;

    color: rgba(17, 17, 17, 0.68);

    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 700;

}



.sr-results-count strong {

    color: var(--color-primary);

    font-size: var(--fs-body);

    font-weight: 900;

}



.sr-sort-field {

    display: grid;

    grid-template-columns: auto minmax(0, 1fr);

    align-items: center;

    gap: 8px;

    min-width: 0;

}



.sr-sort-field label {

    margin: 0;

    color: #161616;

    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 800;

    white-space: nowrap;

}



.sr-sort-field select {

    width: 100%;

    height: 36px;

    padding: 0 34px 0 10px;

    color: #151515;

    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 700;

    cursor: pointer;

    outline: none;

    background: var(--sr-surface);

    border: 1px solid rgba(1, 141, 113, 0.22);

    border-radius: 9px;

    transition: border-color 0.18s ease, box-shadow 0.18s ease;

}



.sr-sort-field select:hover {

    border-color: rgba(1, 141, 113, 0.48);

}



.sr-sort-field select:focus {

    border-color: var(--color-primary);

    box-shadow: 0 0 0 3px rgba(61, 199, 171, 0.14);

}



.sr-results-shell {

    --sr-map-sticky-top: 75px;

    --sr-map-bottom-gap: 22px;



    width: 90%;

    margin: 0 auto 32px;

}



.sr-results-layout {

    display: grid;

    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);

    gap: 20px;

    align-items: start;

}



.sr-results-map,
.sr-results-list {

    min-width: 0;

}



.sr-results-map {

    grid-column: 2;

    grid-row: 1;

    position: sticky;

    top: var(--sr-map-sticky-top);

    align-self: start;

    display: grid;

    grid-template-rows: minmax(0, 1fr) 0fr;

    gap: 0;

    height: calc(100vh - var(--sr-map-sticky-top) - var(--sr-map-bottom-gap));

    min-height: 520px;

    transition:

        grid-template-rows 0.28s ease,

        gap 0.28s ease;

}



.sr-results-map.has-property-preview {

    grid-template-rows: minmax(300px, 1fr) 124px;

    gap: 12px;

}



.sr-map-shell {

    width: 100%;

    min-height: 0;

    padding: 8px;

    overflow: hidden;

    background: var(--sr-surface);

    border: 1px solid rgba(1, 141, 113, 0.14);

    border-radius: 14px;

    box-shadow: 0 12px 30px rgba(1, 141, 113, 0.08);

}



#results-map {

    width: 100%;

    height: 100%;

    min-height: 100%;

    border-radius: var(--sr-radius-control);

    overflow: hidden;

    box-sizing: border-box;

    background: rgba(61, 199, 171, 0.08);

}



.sr-map-property-preview {

    display: grid;

    grid-template-columns: 132px minmax(0, 1fr);

    min-height: 0;

    overflow: hidden;

    opacity: 0;

    visibility: hidden;

    transform: translateY(-8px);

    pointer-events: none;

    color: inherit;

    text-decoration: none;

    background: var(--sr-surface);

    border: 1px solid rgba(1, 141, 113, 0.16);

    border-radius: 14px;

    box-shadow: 0 12px 30px rgba(1, 141, 113, 0.10);

    transition:

        opacity 0.20s ease,

        transform 0.24s ease,

        visibility 0s linear 0.24s,

        border-color 0.18s ease,

        box-shadow 0.18s ease;

}



.sr-map-property-preview.is-visible {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

    pointer-events: auto;

    transition-delay: 0s;

}



.sr-map-property-preview:hover {

    color: inherit;

    text-decoration: none;

    border-color: rgba(184, 50, 95, 0.28);

    box-shadow: 0 16px 34px rgba(184, 50, 95, 0.12);

}



.sr-map-property-preview__media {

    min-width: 0;

    overflow: hidden;

    background: rgba(61, 199, 171, 0.08);

}



.sr-map-property-preview__media img {

    display: block;

    width: 100%;

    height: 100%;

    min-height: 122px;

    object-fit: cover;

    transition: transform 0.35s ease;

}



.sr-map-property-preview:hover .sr-map-property-preview__media img {

    transform: scale(1.04);

}



.sr-map-property-preview__body {

    min-width: 0;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 12px 14px;

}



.sr-map-property-preview__eyebrow {

    margin: 0 0 4px;

    color: var(--color-primary);

    font-family: var(--font-main);

    font-size: calc(var(--fs-small) * 0.82);

    font-weight: 850;

    letter-spacing: 0.06em;

    text-transform: uppercase;

}



.sr-map-property-preview__body h3 {

    margin: 0 0 5px;

    overflow: hidden;

    color: var(--color-text);

    font-family: var(--font-main);

    font-size: var(--fs-body);

    font-weight: 850;

    line-height: 1.25;

    text-overflow: ellipsis;

    white-space: nowrap;

}



.sr-map-property-preview__price {

    margin: 0 0 5px;

    color: var(--color-raspberry);

    font-family: var(--font-main);

    font-size: var(--fs-body);

    font-weight: 900;

    line-height: 1.2;

}



.sr-map-property-preview__location {

    margin: 0;

    overflow: hidden;

    color: rgba(17, 17, 17, 0.64);

    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 700;

    line-height: 1.3;

    text-overflow: ellipsis;

    white-space: nowrap;

}



.sr-results-list {

    display: grid;

    grid-column: 1;

    grid-row: 1;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 16px;

    align-content: start;

}



.sr-results-list>.property-card {

    min-width: 0;

}



.sr-results-list>p {

    grid-column: 1 / -1;

    margin: 0;

    padding: 22px;

    background: var(--sr-surface);

    border: 1px solid rgba(1, 141, 113, 0.14);

    border-radius: 12px;

    color: var(--color-text);

    font-family: var(--font-main);

    font-size: var(--fs-body);

    font-weight: 700;

}



#search-results {

    grid-column: 1 / -1;

}



.property-card {

    display: flex;

    flex-direction: column;

    overflow: hidden;

    border: 1px solid rgba(1, 141, 113, 0.14);

    border-radius: 12px;

    background: var(--sr-surface);

    box-shadow: 0 10px 24px rgba(1, 141, 113, 0.075);

    transition:

        transform 0.18s ease,

        box-shadow 0.18s ease,

        border-color 0.18s ease;

}



.property-card:hover {

    transform: translateY(-2px);

    border-color: rgba(184, 50, 95, 0.24);

    box-shadow: 0 18px 34px rgba(184, 50, 95, 0.10);

}



.property-card.is-map-hovered {

    transform: translateY(-2px);

    border-color: rgba(184, 50, 95, 0.28);

    box-shadow: 0 18px 34px rgba(184, 50, 95, 0.12);

}



.property-favorite-btn {

    position: absolute;

    top: 14px;

    right: 14px;

    z-index: 8;



    width: 20px;

    height: 20px;



    display: inline-flex;

    align-items: center;

    justify-content: center;



    padding: 0;

    margin: 0;



    border: 0;

    border-radius: 0;



    background: transparent;

    box-shadow: none;



    cursor: pointer;



    transition:

        transform 0.18s ease,

        opacity 0.18s ease;

}



.property-favorite-btn img {

    display: block;

    width: 20px;

    height: 20px;

    background: transparent;

    object-fit: contain;

    pointer-events: none;

}



.property-favorite-btn:hover,
.property-favorite-btn:focus {

    background: transparent;

    box-shadow: none;

    transform: scale(1.08);

}



.property-favorite-btn:active {

    transform: scale(0.95);

    background: transparent;

}



.property-favorite-btn.active {

    background: transparent;

    box-shadow: none;

}



.property-favorite-btn,
.property-favorite-btn:hover,
.property-favorite-btn:focus,
.property-favorite-btn:active,
.property-favorite-btn.active,
.property-favorite-btn.active:hover,
.property-favorite-btn.active:focus {

    background: transparent !important;

    background-color: transparent !important;

    box-shadow: none !important;

}



.property-link {

    display: flex;

    flex-direction: column;

    color: inherit;

    text-decoration: none;

}



.property-media {

    position: relative;

    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: rgba(61, 199, 171, 0.08);

}



.property-media::after {

    content: "";

    position: absolute;

    inset: 0;

    background:

        linear-gradient(180deg,

            rgba(17, 17, 17, 0.22) 0%,

            transparent 34%,

            transparent 100%);

    pointer-events: none;

}



.property-media img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform 0.45s ease;

    transform: scale(1.25);

}



.property-card:hover .property-media img {

    transform: scale(1.035);

}



.property-topbar {

    position: absolute;

    z-index: 2;

    top: 10px;

    left: 10px;

    right: 10px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

}



.property-ref {

    display: inline-flex;

    align-items: center;

    min-height: 28px;

    padding: 0 10px;

    border: 1px solid var(--color-raspberry);

    border-radius: var(--sr-radius-pill);

    background: rgba(17, 17, 17, 0.24);

    color: var(--sr-surface);

    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 850;

    letter-spacing: 0.01em;

    backdrop-filter: blur(7px);

    box-shadow: 0 8px 18px rgba(17, 17, 17, 0.12);

}



.property-body {

    padding: 9px 10px 7px;

}



.property-price-row {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 3px;

    margin-bottom: 5px;

}



.property-price strong {

    font-family: var(--font-main);

    font-size: var(--fs-body);

    line-height: 1;

    color: var(--color-text);

    font-weight: 900;

}



.property-price span {

    font-family: var(--font-main);

    font-size: var(--fs-small);

    color: rgba(17, 17, 17, 0.62);

    font-weight: 700;

}



.property-location {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    color: var(--color-primary);

    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 800;

    text-align: left;

}



.property-location i {

    font-size: var(--fs-small);

}



.property-body h3 {

    margin: 0 0 3px;

    font-family: var(--font-main);

    font-size: var(--fs-body);

    line-height: 1.35;

    color: var(--color-text);

    font-weight: 850;

}



.property-title {

    margin: 0 0 4px;

    font-family: var(--font-main);

    font-size: var(--fs-small);

    line-height: 1.45;

    color: rgba(17, 17, 17, 0.68);

    display: -webkit-box;

    -webkit-line-clamp: 2;

    line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

    min-height: 35px;

}



.property-meta {

    display: flex;

    flex-wrap: wrap;

    gap: 3px;

}



.property-legal {

    margin: 0;

    font-family: var(--font-main);

    font-size: var(--fs-small);

    line-height: 1.4;

    color: rgba(17, 17, 17, 0.58);

}



.property-details {

    margin: 0 10px 9px;

    padding-top: 7px;

    border-top: 1px solid rgba(17, 17, 17, 0.12);

}



.property-details summary {

    cursor: pointer;

    list-style: none;

    width: fit-content;

    padding: 0;

    border: 0;

    border-radius: 0;

    background: transparent;

    color: var(--color-third);

    font-family: var(--font-main);

    font-size: var(--fs-small);

    font-weight: 850;

    transition:

        color 0.18s ease,

        transform 0.18s ease;

}



.property-details summary:hover {

    background: transparent;

    border-color: transparent;

    color: var(--color-secondary);

    transform: translateY(-1px);

}



.property-details summary::-webkit-details-marker {

    display: none;

}



.property-details-content {

    padding-top: 8px;

}



.property-details-content p {

    margin: 0 0 6px;

    font-family: var(--font-main);

    font-size: var(--fs-small);

    line-height: 1.45;

    color: rgba(17, 17, 17, 0.68);

}



.property-details-content a {

    color: var(--color-raspberry);

    text-decoration: none;

    font-weight: 800;

}



.sr-select-options::-webkit-scrollbar {

    width: 8px;

}



.sr-select-options::-webkit-scrollbar-thumb {

    background: rgba(1, 141, 113, 0.22);

    border-radius: var(--sr-radius-pill);

}



.sr-select-options::-webkit-scrollbar-track {

    background: transparent;

}



.sr-map-pin {

    display: block;

    position: relative;



    width: 28px;

    height: 28px;



    background-color: var(--color-primary) !important;

    border: 2px solid var(--sr-surface);

    border-radius: 50% 50% 50% 0;



    transform: rotate(-45deg);

    transform-origin: center;



    box-shadow: 0 8px 18px rgba(1, 141, 113, 0.34);



    transition:

        background-color 0.18s ease,

        box-shadow 0.18s ease,

        transform 0.18s ease;

}



.sr-map-pin::after {

    content: "";

    position: absolute;



    top: 7px;

    left: 7px;



    width: 10px;

    height: 10px;



    border-radius: var(--sr-radius-pill);

    background-color: var(--sr-surface);

}



.sr-map-pin.is-active {

    background-color: var(--color-raspberry) !important;

    box-shadow: 0 10px 22px rgba(184, 50, 95, 0.38);

    transform: rotate(-45deg) scale(1.08);

}



/* Tablet: up to 1024px */





/* Phone: up to 640px */

/* =========================
   RESPONSIVE
========================= */

@media (min-width: 641px) and (max-width: 1200px) {
.sr-advanced-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.sr-filter-shell {

        width: calc(100% - 28px);

        margin: 11px auto 17px;

        padding: 12px 13px;

    }



    .sr-filter-main-two-rows {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        column-gap: 13px;

        row-gap: 10px;

    }



    .sr-actions-top,
    .sr-actions-bottom {

        width: 100%;

        align-self: end;

        justify-content: stretch;

        padding-top: 0;

    }



    .sr-actions-top .sr-btn,
    .sr-actions-bottom .sr-btn {

        width: 100%;

    }



    .sr-results-layout {

        grid-template-columns:

            minmax(0, 2fr) minmax(280px, 1fr);



        gap: 16px;

    }



    .sr-results-list {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 14px;

    }



    .sr-results-map {

        min-height: 480px;

    }



    .sr-filter-shell {

        width: calc(100% - 22px);

        margin: 10px auto 16px;

        padding: 12px;

        border-radius: 13px;

    }



    .sr-filter-main-two-rows {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        column-gap: 12px;

        row-gap: 10px;

    }



    .sr-field {

        gap: 5px;

    }



    .sr-field-range {

        gap: 2px;

    }



    .sr-field-range .sr-range-box {

        padding-bottom: 17px;

    }



    .sr-select-panel {

        width: 100%;

        min-width: 100%;

    }



    .sr-results-shell {

        width: calc(100% - 22px);

    }



    .sr-results-layout {

        display: grid;

        grid-template-columns: 1fr;

        gap: 16px;

    }



    .sr-results-list {

        grid-column: 1;

        grid-row: auto;

        order: 1;



        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 14px;

    }



    .sr-results-map {

        position: static;

        top: auto;



        grid-column: 1;

        grid-row: auto;

        order: 2;



        height: auto;

        min-height: 0;



        grid-template-rows: 400px 0fr;

    }



    .sr-results-map.has-property-preview {

        grid-template-rows: 310px 120px;

    }



    .sr-map-shell {

        height: auto;

    }



    #results-map {

        height: 400px;

        min-height: 400px;

    }
}

@media (max-width: 1200px) {
    .sr-mobile-filter-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
        width: 100%;
    }

    .sr-mobile-filter-actions .sr-btn {
        width: 100%;
        min-width: 0;
        padding: 0 8px;
        font-size: 11px;
        line-height: 1.1;
        white-space: normal;
    }

    .sr-btn-mobile-filter {
        color: var(--color-primary);
        background: var(--sr-surface);
        border-color: rgba(1, 141, 113, 0.34);
        box-shadow: none;
    }

    .sr-btn-mobile-filter:hover,
    .sr-btn-mobile-filter[aria-expanded="true"] {
        color: var(--sr-primary-dark);
        background: rgba(61, 199, 171, 0.08);
        border-color: var(--color-primary);
    }

    .sr-mobile-filter-panel {
        display: none;
        width: 100%;
        min-width: 0;
        padding-top: 10px;
    }

    .sr-filter-form.is-mobile-filter-open .sr-mobile-filter-panel {
        display: block;
    }

    .sr-actions-top,
    .sr-actions-bottom {
        display: none;
    }
}

@media (max-width: 768px) {
.sr-mobile-filter-actions {
        grid-template-columns: 1fr;
    }

    .sr-mobile-filter-actions .sr-mobile-quick-action {
        display: none;
    }

    .sr-mobile-filter-footer {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 14px;
    }

    .sr-mobile-filter-footer .sr-btn {
        width: 100%;
        min-width: 0;
        height: auto;
        min-height: 44px;
        white-space: normal;
    }

.sr-advanced-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.sr-advanced-col {
        grid-template-columns: 1fr;
    }

    .sr-advanced-panel {
        padding: 10px;
    }

.sr-mobile-filter-actions {

        display: grid;

        grid-template-columns: 1fr;

        gap: 7px;

        width: 100%;

    }

    .sr-mobile-filter-actions .sr-btn {

        width: 100%;

        min-width: 0;

        padding: 0 8px;

        font-size: 11px;

        line-height: 1.1;

        white-space: normal;

    }

    .sr-btn-mobile-filter {

        color: var(--color-primary);

        background: var(--sr-surface);

        border-color: rgba(1, 141, 113, 0.34);

        box-shadow: none;

    }

    .sr-btn-mobile-filter:hover,
    .sr-btn-mobile-filter[aria-expanded="true"] {

        color: var(--sr-primary-dark);

        background: rgba(61, 199, 171, 0.08);

        border-color: var(--color-primary);

    }

    .sr-mobile-filter-panel {

        display: none;

        width: 100%;

        min-width: 0;

        padding-top: 10px;

    }

    .sr-filter-form.is-mobile-filter-open .sr-mobile-filter-panel {

        display: block;

    }

.sr-filter-shell {

        width: calc(100% - 28px);

        margin: 11px auto 17px;

        padding: 12px 13px;

    }



    .sr-filter-main-two-rows {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        column-gap: 13px;

        row-gap: 10px;

    }



    .sr-actions-top,
    .sr-actions-bottom {

        display: none;

    }



    .sr-actions-top .sr-btn,
    .sr-actions-bottom .sr-btn {

        width: 100%;

    }



    .sr-results-layout {

        grid-template-columns:

            minmax(0, 2fr) minmax(280px, 1fr);



        gap: 16px;

    }



    .sr-results-list {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 14px;

    }



    .sr-results-map {

        min-height: 480px;

    }



    .sr-filter-shell {

        width: calc(100% - 22px);

        margin: 10px auto 16px;

        padding: 12px;

        border-radius: 13px;

    }



    .sr-filter-main-two-rows {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        column-gap: 12px;

        row-gap: 10px;

    }



    .sr-field {

        gap: 5px;

    }



    .sr-field-range {

        gap: 2px;

    }



    .sr-field-range .sr-range-box {

        padding-bottom: 17px;

    }



    .sr-select-panel {

        width: 100%;

        min-width: 100%;

    }



    .sr-results-shell {

        width: calc(100% - 22px);

    }



    .sr-results-layout {

        display: grid;

        grid-template-columns: 1fr;

        gap: 16px;

    }



    .sr-results-list {

        grid-column: 1;

        grid-row: auto;

        order: 1;



        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 14px;

    }



    .sr-results-map {

        position: static;

        top: auto;



        grid-column: 1;

        grid-row: auto;

        order: 2;



        height: auto;

        min-height: 0;



        grid-template-rows: 400px 0fr;

    }



    .sr-results-map.has-property-preview {

        grid-template-rows: 310px 120px;

    }



    .sr-map-shell {

        height: auto;

    }



    #results-map {

        height: 400px;

        min-height: 400px;

    }

.sr-results-toolbar {

        grid-template-columns: 1fr;

        gap: 8px;

        padding: 10px 12px;

    }



    .sr-sort-field {

        grid-template-columns: auto minmax(0, 1fr);

    }



    #researchresult {

        padding-top: 8px;

    }



    .sr-filter-shell {

        width: calc(100% - 16px);

        margin: 8px auto 14px;

        padding: 11px;

        border-radius: 12px;

    }



    .sr-filter-main-two-rows {

        grid-template-columns: 1fr;

        gap: 10px;

    }



    .sr-field {

        gap: 4px;

    }



    .sr-field-head {

        display: flex;

        flex-direction: row;

        align-items: center;

        justify-content: space-between;

        gap: 7px;

    }



    .sr-field input,
    .sr-field select,
    .sr-select-dropdown summary,
    .sr-btn {

        height: 39px;

    }



    .sr-select-panel {

        min-width: 100%;

        margin-top: 5px;

        padding: 6px;

        border-radius: 10px;

    }



    .sr-select-options {

        max-height: 220px;

    }



    .sr-option-check,
    .sr-option-radio {

        padding: 7px;

    }



    .sr-field-range {

        padding: 1px 1px 0;

    }



    .sr-field-range .sr-range-box {

        padding: 0 1px 17px;

    }



    .sr-slider {

        height: 31px;

    }



    .sr-thumb-label {

        top: 27px;

        padding: 2px 6px;

        font-size: 10.5px;

    }



    .sr-actions-top,
    .sr-actions-bottom {

        display: none;

    }



    .sr-actions-top .sr-btn,
    .sr-actions-bottom .sr-btn {

        width: 100%;

    }



    .sr-results-shell {

        width: calc(100% - 16px);

        margin-bottom: 20px;

    }



    .sr-results-layout {

        gap: 14px;

    }



    .sr-results-list {

        grid-template-columns: 1fr;

        gap: 12px;

    }



    .sr-results-map {

        grid-template-rows: 310px 0fr;

    }



    .sr-results-map.has-property-preview {

        grid-template-rows: 245px 110px;

        gap: 9px;

    }



    #results-map {

        width: 100%;

        height: 100%;

        min-height: 100%;

        border-radius: 10px;

    }



    .sr-map-property-preview {

        grid-template-columns: 108px minmax(0, 1fr);

        border-radius: 11px;

    }



    .sr-map-property-preview__media img {

        min-height: 108px;

    }



    .sr-map-property-preview__body {

        padding: 9px 11px;

    }



    .sr-map-property-preview__eyebrow {

        display: none;

    }



    .sr-map-property-preview__body h3 {

        display: -webkit-box;

        overflow: hidden;



        white-space: normal;

        -webkit-box-orient: vertical;

        -webkit-line-clamp: 2;

        line-clamp: 2;

    }



    .property-media {

        aspect-ratio: 4 / 3;

    }



    .auth-popup__card {

        padding: 18px;

    }



    .auth-popup__actions {

        flex-direction: column;

        gap: 9px;

    }



    .auth-popup__btn {

        width: 100%;

    }



    .sr-filter-shell {

        width: calc(100% - 12px);

        margin: 6px auto 12px;

        padding: 9px;

        border-radius: 11px;

    }



    .sr-filter-main-two-rows {

        gap: 9px;

    }



    .sr-field input,
    .sr-field select,
    .sr-select-dropdown summary,
    .sr-btn {

        height: 38px;

    }



    .sr-select-dropdown summary {

        padding: 0 10px;

    }



    .sr-field-range .sr-range-box {

        padding-right: 2px;

        padding-bottom: 17px;

        padding-left: 2px;

    }



    .sr-slider input[type="range"]::-webkit-slider-thumb {

        width: 25px;

        height: 25px;

        background-size: 16px 16px;

    }



    .sr-slider input[type="range"]::-moz-range-thumb {

        width: 23px;

        height: 23px;

        background-size: 16px 16px;

    }



    .sr-thumb-label {

        padding: 2px 5px;

        font-size: 10px;

    }



    .sr-results-shell {

        width: calc(100% - 12px);

        margin-bottom: 16px;

    }



    .sr-results-list {

        gap: 10px;

    }



    .sr-results-map {

        grid-template-rows: 280px 0fr;

    }



    .sr-results-map.has-property-preview {

        grid-template-rows: 220px 105px;

        gap: 8px;

    }



    .sr-map-property-preview {

        grid-template-columns: 96px minmax(0, 1fr);

    }



    .sr-map-property-preview__media img {

        min-height: 103px;

    }



    .sr-map-property-preview__body {

        padding: 8px 9px;
    }

    .auth-popup__card {
        padding: 16px;
    }

    .sr-actions-bottom .sr-btn-primary {
        height: 42px;
    }
}
