/* =============================================================
   Responsive — Desktop-first
   ─────────────────────────────────────────────────────────────
   ≥ 1440px           default → template_styles.css
                                 container  1400px, gutter  0px
                                 header inner max-w 1600px, pad 100px

   ≤ 1439px  1024 frame       → container 1024px, gutter 20px
   (screen shrinks freely;      net content 984px
    at 1024px margin = 0        header inner max-w 1024px, pad 20px
    → next breakpoint kicks in)

   ≤ 1023px  768 frame        → container  768px, gutter 20px
   (screen shrinks freely;      net content 728px
    at 808px margin = 0         header inner max-w  768px, pad 20px
    → next breakpoint kicks in)

   ≤  767px  fluid frame      → container  100%, gutter 20px
                                 net content = 100vw − 40px
                                 header inner max-w  100%, pad 20px
============================================================= */

/* Duplicates of top-layout cards inside grid:
   hidden by default (desktop), shown below 1440px */
.catalog-items__card--top-product {
    display: none;
}

@media (max-width: 767.98px) {
    .contacte-section {
        padding: 56px 0;
    }

    .contacte-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .layout-bordered {
        flex-direction: column;
    }

    .layout-bordered > *:first-child,
    .layout-bordered > *:last-child {
        padding-left: 20px;
        padding-right: 20px;
    }

    .layout-bordered-aside,
    .layout-bordered-main {
        width: 100%;
    }

    .layout-bordered-main {
        border-left: 0;
        border-top: 1px solid #e1e1e1;
    }

    .layout-bordered-aside-inner,
    .layout-bordered-main-inner {
        max-width: none;
        padding: 32px 0;
    }

    .layout-bordered-main-inner {
        margin-left: 0;
    }

    .layout-bordered-aside-inner h1,
    .layout-bordered-main-inner h2 {
        font-size: clamp(28px, 9vw, 34px);
        line-height: 1.15;
    }

    .layout-bordered-aside-inner > p {
        margin-top: 12px;
    }

    .layout-bordered-aside-group {
        max-width: none;
        margin-top: 24px;
    }

    .layout-bordered-aside-group > * {
        padding: 20px 0;
    }

    .list-terms-1 {
        max-width: none;
    }

    .list-terms-1 dd {
        align-items: flex-start;
        gap: 12px;
        font-size: 16px;
        line-height: 1.5;
        letter-spacing: 0.02em;
    }

    .list-terms-1 dd > * + * {
        margin-left: 0;
    }

    .contacte-section .rd-form .row {
        margin-top: 24px;
        gap: 16px;
    }

    .contacte-section textarea.form-input {
        height: 120px;
    }

    .contacte-section .button-primary {
        display: block;
        width: 100%;
        min-width: 0;
    }
}

/* Mobile-only slide counter; hidden by default on larger breakpoints */
.catalog-detail-gallery__counter {
    display: none;
}

/* Catalog detail: 1024 frame / 984 net content at <=1439.98px */
@media (max-width: 1439.98px) and (min-width: 1024px) {
    .breadcrumb-page {
        margin-top: 20px;
    }

    .catalog-detail-intro {
        margin-top: 20px;
    }

    .catalog-detail-intro > .container {
        width: 1024px;
        max-width: 1024px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .catalog-detail__shell {
        width: 100%;
        max-width: 984px;
        margin-left: auto;
        margin-right: auto;
    }

    .catalog-detail__content {
        margin-top: 0;
        display: grid;
        grid-template-columns: 477px minmax(0, 1fr);
        gap: 20px;
        align-items: start;
    }

    .catalog-detail__breadcrumb + .catalog-detail__content {
        margin-top: 20px;
    }

    .catalog-detail-gallery {
        width: 477px;
        min-width: 477px;
        gap: 20px;
    }

    .catalog-detail-gallery__main {
        width: 477px;
        height: 335.77px;
        aspect-ratio: auto;
    }

    .catalog-detail-gallery__thumbs {
        gap: 20px;
    }

    .catalog-detail-gallery__thumbs-viewport {
        flex: none;
        width: 352.75px;
    }

    .catalog-detail-gallery__thumbs-track {
        gap: 20px;
    }

    .catalog-detail-gallery__thumbs-track .catalog-detail-gallery__thumb,
    .catalog-detail-gallery__thumb,
    .catalog-detail-gallery__more,
    .catalog-detail-gallery__thumbs-viewport ~ .catalog-detail-gallery__more {
        width: 104.25px;
        height: 73.26px;
        min-width: 104.25px;
        flex: 0 0 104.25px;
        aspect-ratio: auto;
    }

    .catalog-detail-info {
        width: 487px;
        min-width: 0;
        gap: 20px;
    }

    .catalog-detail-info__title {
        font-size: 28px;
    }

    .catalog-detail-info__address,
    .catalog-detail-info__map-link {
        font-size: 16px;
        font-weight: 600;
    }

    .catalog-detail-info__summary {
        gap: 20px;
    }

    .catalog-detail-info__price-main {
        font-size: 24px;
    }

    .catalog-detail-info__price-sub {
        font-size: 16px;
        font-weight: 400;
    }

    .catalog-detail-info__facts {
        gap: 20px;
    }

    .catalog-detail-info__fact-label {
        font-size: 14px;
    }

    .catalog-detail-info__fact-value {
        font-size: 16px;
    }

    .catalog-detail-info__description {
        font-size: 14px;
        line-height: 20px;
    }

    .catalog-detail-info__actions {
        width: 477px;
        max-width: 100%;
        grid-template-columns: repeat(2, 228.5px);
        justify-content: flex-start;
        gap: 20px;
    }

    .catalog-detail-info__actions--single {
        grid-template-columns: 228.5px;
    }

    .catalog-detail-info__button {
        width: 228.5px;
        min-height: 49px;
        height: 49px;
        padding: 0 16px;
        font-size: 14px;
    }
}

/* Blog detail: fluid desktop hero and 1024/984 frame at <=1439.98px */
@media (min-width: 1440px) {
    .blog-detail-shell {
        padding-left: clamp(20px, calc((100vw - 1400px) / 2), 100px);
        padding-right: 0;
    }

    .blog-detail-hero {
        min-height: 0;
        gap: 20px;
        align-items: stretch;
    }

    .blog-detail-copy {
        height: auto;
        gap: 20px;
    }

    .blog-detail-subtitle,
    .blog-detail-date {
        margin-top: 0;
    }

    .blog-detail-media {
        height: auto;
        aspect-ratio: 934 / 432;
        overflow: hidden;
    }

    .blog-detail-media__picture {
        display: block;
        width: 100%;
        height: 100%;
    }

    .blog-detail-media img {
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 1439.98px) and (min-width: 1024px) {
    .blog-detail-intro {
        margin-top: 40px;
    }

    .blog-detail-shell {
        width: 1024px;
        max-width: 1024px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 0;
    }

    .blog-detail-heading {
        gap: 0;
    }

    .blog-detail-hero {
        width: 1004px;
        max-width: 1004px;
        min-height: 386px;
        grid-template-columns: 386px 545px;
        column-gap: 73px;
        row-gap: 0;
        align-items: stretch;
    }

    .blog-detail-copy {
        width: 386px;
        max-width: 386px;
        min-width: 0;
        height: auto;
        gap: 20px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-detail-title {
        font-size: 42px;
        line-height: 1.05;
        letter-spacing: -0.03em;
    }

    .blog-detail-subtitle {
        margin: 0;
        font-size: 24px;
        line-height: 1.1;
        letter-spacing: -0.03em;
    }

    .blog-detail-date {
        margin-top: 0;
        font-size: 16px;
        line-height: 24px;
    }

    .blog-detail-media {
        width: 545px;
        max-width: 545px;
        height: 386px;
        aspect-ratio: auto;
        overflow: hidden;
    }

    .blog-detail-media__picture {
        display: block;
        width: 100%;
        height: 100%;
    }

    .blog-detail-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .blog-detail-introduction {
        margin: 62px 0 46px;
    }

    .blog-detail-introduction__shell {
        width: 1024px;
        max-width: 1024px;
        padding: 80px 20px;
        border-radius: 76.23px;
        gap: 50px;
    }

    .blog-detail-introduction__text {
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-detail-introduction__title {
        max-width: 984px;
        font-size: 32px;
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: 0;
    }

    .blog-detail-introduction__description {
        max-width: 984px;
        margin-top: 30px;
        font-size: 16px;
        line-height: 24px;
    }

    .blog-detail-introduction__media {
        width: 984px;
        max-width: 100%;
        height: 425.77px;
        border-radius: 0;
        overflow: hidden;
    }

    .blog-detail-introduction__media img {
        border-radius: 0;
    }

    .blog-detail-benefits__shell {
        width: 1024px;
        max-width: 1024px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-detail-benefits__inner {
        width: 984px;
        margin-right: auto;
        padding-left: 0;
        grid-template-columns: minmax(0, 1fr) 360px;
        column-gap: 24px;
    }

    .blog-detail-benefits__left,
    .blog-detail-benefits__richtext,
    .blog-detail-benefits__left > span {
        width: auto;
        max-width: none;
    }

    .blog-detail-benefits__aside {
        width: 360px;
    }

    .blog-detail-benefits__aside-text,
    .blog-detail-benefits__aside-link {
        width: 100%;
    }

    .blog-detail-rent-types__shell {
        width: 1024px;
        max-width: 1024px;
        margin-left: auto;
        margin-right: auto;
        padding: 80px 20px;
        border-radius: 76.23px;
    }

    .blog-detail-rent-types__inner {
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-detail-rent-types__title {
        max-width: 984px;
        font-size: 32px;
        font-weight: 700;
    }

    .blog-detail-rent-types__content,
    .blog-detail-rent-types__editor,
    .blog-detail-rent-types__content > span {
        width: 600px;
        max-width: 100%;
    }

    .blog-detail__footer .container {
        width: 1024px;
        max-width: 1024px;
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 1439.98px) and (min-width: 1024px) {
    .credit-intro__inner {
        width: 984px;
        max-width: 984px;
        height: 332px;
        margin-left: auto;
        margin-right: auto;
        padding: 60px;
        justify-content: space-between;
        gap: 0;
    }

    .credit-intro__content {
        width: 508px;
        max-width: 508px;
        height: auto;
    }

    .credit-intro__title {
        font-size: 28px;
    }

    .credit-intro__text {
        font-size: 14px;
        line-height: 20px;
    }

    .credit-intro__media {
        width: 356px;
        height: 172px;
        flex: 0 0 356px;
    }

    .credit-intro__img {
        width: 278px;
        height: 346px;
    }

    .credit-hero {
        margin-top: 47px;
    }

    .credit-hero__inner {
        width: 984px;
        max-width: 984px;
        min-height: 490px;
        padding-left: 0;
        margin-left: auto;
        margin-right: auto;
        gap: 60px;
        align-items: center;
        justify-content: center;
    }

    .credit-hero__media {
        width: 397.07px;
        flex: 0 0 397.07px;
    }

    .credit-hero__img {
        width: 397.07px;
        height: 490px;
    }

    .credit-hero__content {
        width: 526.93px;
        max-width: 526.93px;
        min-height: 0;
        margin-top: 0;
    }

    .credit-calculator {
        margin-top: 90px;
        padding-bottom: 48px;
    }

    .credit-calculator__title {
        font-size: 28px;
    }

    .credit-calculator__text {
        font-size: 14px;
        line-height: 20px;
    }

    .credit-calculator__img {
        width: 984px;
        max-width: 984px;
        height: 508px;
    }

    .credit-calculator__results {
        width: 984px;
        max-width: 984px;
    }
}

@media (max-width: 1023.98px) and (min-width: 768px) {
    .credit-intro__inner {
        width: 728px;
        max-width: 728px;
        height: 296px;
        margin-left: auto;
        margin-right: auto;
        padding: 40px 20px;
        justify-content: space-between;
        gap: 0;
    }

    .credit-intro__content {
        width: 332px;
        max-width: 332px;
        height: auto;
    }

    .credit-intro__title {
        font-size: 24px;
    }

    .credit-intro__text {
        margin-top: 20px;
        font-size: 14px;
        line-height: 20px;
    }

    .credit-intro__media {
        width: 356px;
        height: 216px;
        flex: 0 0 356px;
    }

    .credit-intro__img {
        width: 248px;
        height: 308px;
    }

    .credit-hero {
        margin-top: 20px;
    }

    .credit-hero__inner {
        width: 728px;
        max-width: 728px;
        min-height: 463px;
        padding-left: 0;
        margin-left: auto;
        margin-right: auto;
        gap: 0;
        align-items: flex-start;
        justify-content: center;
    }

    .credit-hero__media {
        width: 345.03px;
        flex: 0 0 345.03px;
    }

    .credit-hero__img {
        width: 345.03px;
        height: 425.78px;
    }

    .credit-hero__content {
        width: 382.89px;
        max-width: 382.89px;
        min-height: 463px;
        margin-top: 0;
    }

    .credit-hero__title {
        font-size: 28px;
    }

    .credit-hero__lead {
        font-size: 14px;
        line-height: 20px;
    }

    .credit-hero__stats {
        margin-top: 20px;
        gap: 20px;
    }

    .credit-hero__stat-title {
        font-size: 20px;
        line-height: 24px;
    }

    .credit-hero__stat-text {
        font-size: 14px;
        line-height: 20px;
    }

    .credit-hero__btn {
        width: 100%;
        max-width: 382.89px;
    }

    .credit-calculator {
        margin-top: 54px;
        padding-bottom: 81px;
    }

    .credit-calculator__title {
        font-size: 28px;
    }

    .credit-calculator__text {
        font-size: 14px;
        line-height: 20px;
    }

    .credit-calculator__img {
        width: 728px;
        max-width: 728px;
        height: 376px;
    }

    .credit-calculator__results {
        width: 728px;
        max-width: 728px;
    }

    .blog-detail-intro {
        margin-top: 30px;
    }

    .blog-detail-shell {
        width: 768px;
        max-width: 768px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-detail-heading {
        gap: 0;
    }

    .blog-detail-hero {
        width: 728px;
        max-width: 728px;
        min-height: 345px;
        grid-template-columns: 343px 345px;
        column-gap: 40px;
        row-gap: 0;
        align-items: stretch;
    }

    .blog-detail-copy {
        width: 343px;
        max-width: 343px;
        min-width: 0;
        height: auto;
        gap: 20px;
        justify-content: center;
        align-items: flex-start;
    }

    .blog-detail-title {
        font-size: 32px;
        line-height: 1.05;
        letter-spacing: -0.03em;
    }

    .blog-detail-subtitle {
        margin: 0;
        font-size: 18px;
        line-height: 1.1;
        letter-spacing: -0.03em;
    }

    .blog-detail-date {
        margin-top: 0;
        font-size: 16px;
        line-height: 24px;
    }

    .blog-detail-media {
        width: 345px;
        max-width: 345px;
        height: 345px;
        aspect-ratio: auto;
        overflow: hidden;
    }

    .blog-detail-media__picture {
        display: block;
        width: 100%;
        height: 100%;
    }

    .blog-detail-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .blog-detail-introduction {
        margin: 59px 0 65px;
    }

    .blog-detail-introduction__shell {
        width: 768px;
        max-width: 768px;
        margin-left: auto;
        margin-right: auto;
        padding: 50px 20px;
        gap: 50px;
    }

    .blog-detail-introduction__text {
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-detail-introduction__title {
        max-width: 688px;
        font-size: 28px;
        font-weight: 700;
        line-height: normal;
        letter-spacing: 0;
    }

    .blog-detail-introduction__description {
        max-width: 688px;
        margin-top: 30px;
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0;
    }

    .blog-detail-introduction__media {
        width: 728px;
        max-width: 100%;
        height: 315px;
        border-radius: 0;
        overflow: hidden;
    }

    .blog-detail-introduction__media img {
        border-radius: 0;
    }

    .blog-detail-benefits {
        margin-bottom: 44px;
    }

    .blog-detail-benefits__shell {
        width: 768px;
        max-width: 768px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-detail-benefits__inner {
        width: 728px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        display: flex;
        flex-direction: column;
        gap: 40px;
    }

    .blog-detail-benefits__left {
        width: 728px;
        max-width: 100%;
    }

    .blog-detail-benefits__title {
        font-size: 28px;
    }

    .blog-detail-benefits__richtext,
    .blog-detail-benefits__left > span {
        width: 728px;
        max-width: 100%;
    }

    .blog-detail-benefits__aside {
        width: 500px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .blog-detail-rent-types__shell {
        width: 768px;
        max-width: 768px;
        margin-left: auto;
        margin-right: auto;
        padding: 80px 20px;
    }

    .blog-detail-rent-types__inner {
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-detail-rent-types__title {
        max-width: 688px;
        font-size: 28px;
        font-weight: 700;
        line-height: normal;
        letter-spacing: -0.03em;
    }

    .blog-detail-rent-types__content,
    .blog-detail-rent-types__editor,
    .blog-detail-rent-types__content > span {
        width: auto;
        max-width: 688px;
    }

    .blog-detail__footer .container {
        width: 768px;
        max-width: 768px;
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 767.98px) {
    .credit-intro {
        padding-top: 0;
    }

    .credit-intro > .container,
    .credit-hero > .container,
    .credit-calculator > .container {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .credit-intro__inner {
        width: 100%;
        max-width: var(--mob-w);
        height: auto;
        min-height: 0;
        margin-left: auto;
        margin-right: auto;
        padding: calc(var(--mob-w) * 40 / 320) 20px 0;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
    }

    .credit-intro__content {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .credit-intro__title {
        font-size: calc(var(--mob-w) * 20 / 320);
        line-height: 1.2;
    }

    .credit-intro__text {
        margin-top: calc(var(--mob-w) * 16 / 320);
        font-size: calc(var(--mob-w) * 12 / 320);
        line-height: calc(var(--mob-w) * 16 / 320);
    }

    .credit-intro__media {
        width: 100%;
        max-width: calc(var(--mob-w) * 280 / 320);
        height: auto;
        margin-top: 0;
        margin-left: auto;
        margin-right: auto;
        flex: 0 0 auto;
    }

    .credit-intro__img {
        display: block;
        width: 100%;
        max-width: calc(var(--mob-w) * 248 / 320);
        height: auto;
    }

    .credit-hero {
        margin-top: calc(var(--mob-w) * 20 / 320);
    }

    .credit-hero__inner {
        width: 100%;
        max-width: var(--mob-w);
        min-height: 0;
        padding-left: 0;
        margin-left: auto;
        margin-right: auto;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 0;
    }

    .credit-hero__media {
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        flex: 0 0 auto;
    }

    .credit-hero__img {
        width: calc(var(--mob-w) * 235 / 320);
        height: calc(var(--mob-w) * 290 / 320);
    }

    .credit-hero__content {
        width: 100%;
        max-width: 100%;
        min-height: 0;
        margin-top: 0;
    }

    .credit-hero__title {
        font-size: calc(var(--mob-w) * 24 / 320);
        line-height: 1.2;
        letter-spacing: 0;
    }

    .credit-hero__lead {
        margin-top: calc(var(--mob-w) * 20 / 320);
        font-size: calc(var(--mob-w) * 14 / 320);
        line-height: calc(var(--mob-w) * 20 / 320);
    }

    .credit-hero__stats {
        width: 100%;
        margin-top: calc(var(--mob-w) * 20 / 320);
        gap: calc(var(--mob-w) * 20 / 320);
    }

    .credit-hero__stat-title {
        font-size: calc(var(--mob-w) * 18 / 320);
        line-height: calc(var(--mob-w) * 24 / 320);
    }

    .credit-hero__stat-text {
        margin-top: calc(var(--mob-w) * 10 / 320);
        font-size: calc(var(--mob-w) * 14 / 320);
        line-height: calc(var(--mob-w) * 20 / 320);
    }

    .credit-hero__btn {
        width: 100%;
        max-width: 100%;
        height: auto;
        margin-top: calc(var(--mob-w) * 20 / 320);
        padding: calc(var(--mob-w) * 16 / 320) 12px;
        font-family: "Unbounded", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 16 / 320);
        line-height: 1.2;
        letter-spacing: 0;
        white-space: nowrap;
    }

    .credit-calculator {
        margin-top: calc(var(--mob-w) * 40 / 320);
        padding-bottom: calc(var(--mob-w) * 63 / 320);
    }

    .credit-calculator__inner {
        align-items: stretch;
    }

    .credit-calculator__title {
        width: 100%;
        max-width: 100%;
        font-size: calc(var(--mob-w) * 24 / 320);
    }

    .credit-calculator__text {
        width: 100%;
        max-width: 100%;
        margin-top: calc(var(--mob-w) * 10 / 320);
        font-size: calc(var(--mob-w) * 14 / 320);
        line-height: calc(var(--mob-w) * 20 / 320);
    }

    .credit-calculator__img {
        width: 100%;
        max-width: 100%;
        height: calc(var(--mob-w) * 520 / 320);
        margin-top: calc(var(--mob-w) * 11 / 320);
    }

    .credit-calculator__results {
        width: 100%;
        max-width: 100%;
        margin-top: calc(var(--mob-w) * 16 / 320);
    }
}

@media (min-width: 360px) and (max-width: 500px) {
    .credit-hero__btn {
        font-size: 16px;
    }
}

@media (max-width: 767.98px) {
    .blog-detail-intro {
        margin-top: 20px;
    }

    .blog-detail-shell {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-detail-heading {
        gap: 0;
    }

    .blog-detail-hero {
        display: block;
        width: var(--mob-w);
        max-width: 100%;
        min-height: 0;
        margin-left: auto;
        margin-right: auto;
    }

    .blog-detail-copy {
        width: var(--mob-w);
        max-width: 100%;
        min-width: 0;
        height: auto;
        margin-left: auto;
        margin-right: auto;
        gap: calc(var(--mob-w) * 20 / 320);
        justify-content: center;
        align-items: flex-start;
        padding-left: 0;
        padding-right: 0;
    }

    .blog-detail-title {
        font-size: calc(var(--mob-w) * 24 / 320);
        line-height: 1.1;
        letter-spacing: -0.03em;
    }

    .blog-detail-subtitle {
        margin: 0;
        font-size: calc(var(--mob-w) * 14 / 320);
        line-height: 1.1;
        letter-spacing: -0.03em;
    }

    .blog-detail-date {
        margin-top: 0;
        font-size: calc(var(--mob-w) * 12 / 320);
        line-height: normal;
    }

    .blog-detail-media {
        display: none;
    }

    .blog-detail-introduction {
        margin: calc(var(--mob-w) * 33 / 320) 0 calc(var(--mob-w) * 30 / 320);
    }

    .blog-detail-introduction__shell {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: calc(var(--mob-w) * 30 / 320) 20px;
        gap: calc(var(--mob-w) * 30 / 320);
        border-radius: calc(var(--mob-w) * 24 / 320);
    }

    .blog-detail-introduction__text {
        width: var(--mob-w);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: calc(var(--mob-w) * 20 / 320);
        padding-right: calc(var(--mob-w) * 20 / 320);
    }

    .blog-detail-introduction__title {
        max-width: calc(var(--mob-w) * 280 / 320);
        font-size: calc(var(--mob-w) * 24 / 320);
        font-weight: 700;
        line-height: normal;
        letter-spacing: 0;
    }

    .blog-detail-introduction__description {
        max-width: calc(var(--mob-w) * 280 / 320);
        margin-top: calc(var(--mob-w) * 20 / 320);
        font-size: calc(var(--mob-w) * 14 / 320);
        line-height: calc(var(--mob-w) * 20 / 320);
        letter-spacing: 0;
    }

    .blog-detail-introduction__media {
        width: var(--mob-w);
        max-width: 100%;
        height: calc(var(--mob-w) * 138.46 / 320);
        margin-left: auto;
        margin-right: auto;
        border-radius: 0;
        overflow: hidden;
    }

    .blog-detail-introduction__media img {
        border-radius: 0;
    }

    .blog-detail-benefits {
        margin-bottom: calc(var(--mob-w) * 30 / 320);
    }

    .blog-detail-benefits__shell {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blog-detail-benefits__inner {
        width: var(--mob-w);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        display: flex;
        flex-direction: column;
        gap: calc(var(--mob-w) * 50 / 320);
    }

    .blog-detail-benefits__left {
        width: var(--mob-w);
        max-width: 100%;
        gap: calc(var(--mob-w) * 20 / 320);
    }

    .blog-detail-benefits__title {
        font-size: calc(var(--mob-w) * 24 / 320);
    }

    .blog-detail-benefits__richtext,
    .blog-detail-benefits__left > span {
        width: var(--mob-w);
        max-width: 100%;
        font-size: calc(var(--mob-w) * 14 / 320);
        line-height: calc(var(--mob-w) * 20 / 320);
    }

    .blog-detail-benefits__aside {
        width: var(--mob-w);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .blog-detail-benefits__avatar {
        width: var(--mob-w);
        height: var(--mob-w);
    }

    .blog-detail-benefits__aside-text {
        margin-top: calc(var(--mob-w) * 16 / 320);
        font-size: calc(var(--mob-w) * 16 / 320);
        font-weight: 600;
        line-height: calc(var(--mob-w) * 24 / 320);
    }

    .blog-detail-benefits__aside-link {
        margin-top: calc(var(--mob-w) * 16 / 320);
        font-size: calc(var(--mob-w) * 16 / 320);
        font-weight: 600;
        line-height: calc(var(--mob-w) * 24 / 320);
    }

    .blog-detail-rent-types {
        margin-bottom: calc(var(--mob-w) * 40 / 320);
    }

    .blog-detail-rent-types__shell {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: calc(var(--mob-w) * 30 / 320) 20px;
        border-radius: calc(var(--mob-w) * 24 / 320);
    }

    .blog-detail-rent-types__inner {
        width: var(--mob-w);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: calc(var(--mob-w) * 20 / 320);
        padding-right: calc(var(--mob-w) * 20 / 320);
    }

    .blog-detail-rent-types__title {
        max-width: calc(var(--mob-w) * 280 / 320);
        font-size: calc(var(--mob-w) * 24 / 320);
        font-weight: 700;
        line-height: normal;
        letter-spacing: -0.03em;
    }

    .blog-detail-rent-types__content {
        width: auto;
        max-width: calc(var(--mob-w) * 280 / 320);
        margin-top: calc(var(--mob-w) * 20 / 320);
        gap: calc(var(--mob-w) * 20 / 320);
    }

    .blog-detail-rent-types__item-text + .blog-detail-rent-types__item-text {
        margin-top: calc(var(--mob-w) * 20 / 320);
    }

    .blog-detail-rent-types__editor {
        width: auto;
        max-width: calc(var(--mob-w) * 280 / 320);
        margin-top: calc(var(--mob-w) * 20 / 320);
        font-size: calc(var(--mob-w) * 14 / 320);
        line-height: calc(var(--mob-w) * 20 / 320);
    }

    .blog-detail-rent-types__content > span {
        width: auto;
        max-width: calc(var(--mob-w) * 280 / 320);
        margin-top: 0;
        font-size: calc(var(--mob-w) * 14 / 320);
        line-height: calc(var(--mob-w) * 20 / 320);
    }

    .blog-detail-rent-types__editor strong,
    .blog-detail-rent-types__editor b,
    .blog-detail-rent-types__content > span strong,
    .blog-detail-rent-types__content > span b {
        margin: calc(var(--mob-w) * 20 / 320) 0;
    }

    .blog-detail-rent-types__editor p + p,
    .blog-detail-rent-types__content > span p + p {
        margin-top: calc(var(--mob-w) * 20 / 320);
    }

    .blog-detail__footer .container {
        width: 100%;
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* Breadcrumb: muted links must always stay on one line.
   Only the current page label is allowed to wrap. */
.breadcrumb-page .blog-detail-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 10px;
    row-gap: 6px;
    white-space: normal;
}

.breadcrumb-page .blog-detail-breadcrumb__muted,
.breadcrumb-page .blog-detail-breadcrumb__separator {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    max-width: max-content;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

.breadcrumb-page .blog-detail-breadcrumb__muted br,
.breadcrumb-page .blog-detail-breadcrumb__muted wbr,
.breadcrumb-page .blog-detail-breadcrumb__separator br,
.breadcrumb-page .blog-detail-breadcrumb__separator wbr {
    display: none !important;
}

.breadcrumb-page .blog-detail-breadcrumb__current {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    flex: 1 1 360px;
    min-width: 0;
    color: #221E1F;
}

.breadcrumb-page .blog-detail-breadcrumb__current-separator {
    flex: 0 0 auto;
    color: rgba(34, 30, 31, 0.35);
    white-space: nowrap !important;
}

.breadcrumb-page .blog-detail-breadcrumb__current.blog-detail-breadcrumb__current--detached {
    gap: 0;
}

.breadcrumb-page .blog-detail-breadcrumb__current.blog-detail-breadcrumb__current--detached .blog-detail-breadcrumb__current-separator {
    display: none;
}

.breadcrumb-page .blog-detail-breadcrumb__current-text {
    min-width: 0;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 599.98px) {
    .breadcrumb-page .blog-detail-breadcrumb {
        align-items: flex-start;
        column-gap: 8px;
        row-gap: 4px;
    }

    .breadcrumb-page .blog-detail-breadcrumb__current {
        gap: 8px;
        flex: 0 1 auto;
        max-width: 100%;
    }
}

@media (max-width: 359.98px) {
    .breadcrumb-page .blog-detail-breadcrumb {
        column-gap: 6px;
        row-gap: 2px;
    }

    .breadcrumb-page .blog-detail-breadcrumb__current {
        gap: 6px;
    }
}

/* Catalog regular cards: keep price/facts anchored to bottom,
   letting the space above adapt to variable title/address length */
.catalog-property-card--regular .catalog-property-card__body {
    flex: 1 1 auto;
}

.catalog-property-card--regular .catalog-property-card__footer {
    margin-top: auto;
}


/* ─────────────────────────────────────────────────────────────
   ≤ 1439px  │  1024 frame  │  984px net content
───────────────────────────────────────────────────────────── */
@media (max-width: 1439.98px) {

    :root {
        --container:    1024px;
        --gutter:         20px;

        /* cat card heights scaled from 1600 design × (984/1400) */
        --cat-top-h:     287px;
        --cat-bottom-h:  204px;
    }

    /* keep the 1024 frame stable until the 1023.98 breakpoint */
    .container {
        max-width: var(--container);
        margin-left:  auto;
        margin-right: auto;
    }

    .site-header .header__inner,
    .site-header .header__inner.container {
        width: 1024px;
        max-width: 1024px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .breadcrumb-page {
        max-width: 1024px;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Offers grid: fixed 690px cols would overflow 984px container → make fluid */
    .offers__grid {
        grid-template-columns: 1fr 1fr;
    }

    /* Home news: under default desktop show only 3 cards */
    .home-news .blog-grid .blog-card:nth-child(n + 4) {
        display: none;
    }

    /* Catalog items: top products are desktop-only (>= 1440px) */
    .catalog-items__top,
    .catalog-items__slide--top {
        display: none !important;
    }

    /* same items from top-layout reappear as regular cards below 1440 */
    .catalog-items__card--top-product {
        display: block !important;
    }

    /* ── component overrides for 1024 frame ── WIP */

}

/* ─────────────────────────────────────────────────────────────
   ≤ 1023.98px  │  Catalog filter mobile popup
───────────────────────────────────────────────────────────── */
.catalog-filter-extra {
    display: none;
}

.catalog-filter-mobile-head,
.catalog-filter-mobile-backdrop {
    display: none;
}

.catalog-filter-mobile-back {
    display: none;
}

.catalog-filter-mobile-body {
    display: none;
}

@media (max-width: 1023.98px) {
    .catalog-intro {
        margin-top: 6px;
    }

    .catalog-filter-panel {
        gap: 0;
    }

    .catalog-filter-popover-host {
        display: none;
    }

    .catalog-intro__title,
    .catalog-filter-tabs {
        display: none !important;
    }

    /* hide the desktop select row in mobile */
    .catalog-filter-selects--desktop {
        display: none !important;
    }

    .catalog-filter-extra {
        display: flex;
        width: max-content;
        max-width: 100%;
        min-width: 0;
        padding-right: 0;
        justify-content: flex-start;
        gap: 0;
        flex: 0 0 auto;
        margin-right: 16px;
    }

    .catalog-filter-reset + .catalog-filter-sort-wrap {
        margin-left: -14px;
    }

    .catalog-filter-extra > span:first-child {
        flex: 0 0 auto;
        font-family: var(--second-family);
        font-size: 16px;
        font-weight: 300;
        line-height: 24px;
    }

    .catalog-filter-extra__plus {
        display: none;
    }

    .catalog-filter-extra:not([disabled]):hover,
    .catalog-filter-extra:focus-visible,
    .catalog-filter-extra:active,
    .catalog-filter-extra[aria-expanded="true"] {
        color: var(--accent);
        border-bottom-color: var(--accent);
    }

    .catalog-filter-extra:not([disabled]):hover .catalog-filter-extra__plus::before,
    .catalog-filter-extra:focus-visible .catalog-filter-extra__plus::before,
    .catalog-filter-extra:active .catalog-filter-extra__plus::before,
    .catalog-filter-extra[aria-expanded="true"] .catalog-filter-extra__plus::before {
        filter: brightness(0) saturate(100%) invert(36%) sepia(98%) saturate(891%) hue-rotate(6deg) brightness(79%) contrast(83%);
    }

    .catalog-filter-view-switch {
        order: 3;
        width: min(100%, 244px);
        max-width: 100%;
        flex: 0 0 100%;
        margin-top: 2px;
        box-shadow: none;
    }

    .catalog-filter-bottom {
        align-items: flex-start;
        gap: 20px 16px;
    }

    .catalog-filter-extra {
        order: 1;
        margin-right: 0;
    }

    .catalog-filter-meta {
        order: 2;
        flex: 1 1 auto;
        width: auto;
        margin-left: auto;
        justify-content: flex-end;
    }

    .catalog-filter-sort-wrap {
        width: auto;
        max-width: 100%;
        min-width: 223px;
    }

    /* ═══════════════════════════════════════════
       MOBILE POPUP — drops down inline below toolbar
    ═══════════════════════════════════════════ */

    /* Host just becomes visible; panel is already position:relative */
    .catalog-filter-popover-host.catalog-filter-popover-host--mobile-open {
        position: static;
        display: block !important;
        z-index: 2600;
    }

    /* No backdrop at this breakpoint */
    .catalog-filter-mobile-backdrop {
        display: none !important;
    }

    .catalog-filter-mobile-dialog {
        display: none;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-dialog {
        position: absolute;
        top: 100%;
        left: 0;
        margin-top: 4px;
        z-index: 2502;
        display: flex;
        flex-direction: column;
        width: 360px;
        max-width: 100%;
        max-height: calc(100vh - 200px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        background: #FFFFFF;
        box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16);
        border-radius: 0 0 4px 4px;
        animation: cfmSlideDown 0.32s cubic-bezier(0.22, 0.61, 0.36, 1) both;
        transform-origin: top left;
    }

    @keyframes cfmSlideDown {
        from {
            opacity: 0;
            transform: translateY(-16px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* ── Title bar: 320×44, 10px vertical padding ── */
    .catalog-filter-mobile-head {
        display: none;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 44px;
        padding: 10px 20px;
        flex-shrink: 0;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-head--subscreen {
        height: auto;
        min-height: 58px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .catalog-filter-mobile-close {
        display: none !important;
        align-items: center;
        justify-content: center;
        justify-self: start;
        width: 32px;
        height: 32px;
        padding: 0;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: #221E1F;
        box-shadow: none;
        cursor: pointer;
        flex-shrink: 0;
        appearance: none;
        -webkit-appearance: none;
        -webkit-tap-highlight-color: transparent;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    .catalog-filter-mobile-back {
        display: flex;
        align-items: center;
        justify-content: center;
        justify-self: start;
        width: 32px;
        height: 32px;
        padding: 0;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: #221E1F;
        cursor: pointer;
        flex-shrink: 0;
        appearance: none;
        -webkit-appearance: none;
        -webkit-tap-highlight-color: transparent;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    .catalog-filter-mobile-close-icon {
        width: 14px;
        height: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        pointer-events: none;
    }

    .catalog-filter-mobile-close-icon svg {
        width: 100%;
        height: 100%;
        display: block;
    }

    .catalog-filter-mobile-close:focus-visible {
        outline: 2px solid rgba(158, 91, 22, 0.22);
        outline-offset: 2px;
        color: #9E5B16;
        background: rgba(158, 91, 22, 0.08);
    }

    .catalog-filter-mobile-close:hover,
    .catalog-filter-mobile-back:hover {
        background: #F6F1EB;
        color: #9E5B16;
    }

    .catalog-filter-mobile-close:active,
    .catalog-filter-mobile-back:active {
        background: #F0EAE3;
        color: #9E5B16;
    }

    .catalog-filter-mobile-back:focus-visible {
        outline: 2px solid rgba(158, 91, 22, 0.22);
        outline-offset: 2px;
        background: rgba(158, 91, 22, 0.08);
        color: #9E5B16;
    }

    .catalog-filter-mobile-heading {
        min-width: 0;
        flex: 1 1 auto;
        justify-self: stretch;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        text-align: center;
    }

    .catalog-filter-mobile-head--subscreen .catalog-filter-mobile-heading {
        align-items: flex-start;
        text-align: left;
    }

    .catalog-filter-mobile-title {
        color: #221E1F;
        font-family: "Unbounded", system-ui, sans-serif;
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
    }

    .catalog-filter-mobile-subtitle {
        display: block;
        max-width: 100%;
        color: #8E8E8E;
        font-family: var(--second-family);
        font-size: 12px;
        font-weight: 300;
        line-height: 1.35;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .catalog-filter-mobile-spacer {
        display: none !important;
        width: 32px;
        height: 32px;
        flex-shrink: 0;
        justify-self: end;
    }

    .catalog-filter-mobile-head--subscreen .catalog-filter-mobile-spacer {
        display: block !important;
        width: 24px;
        height: 24px;
    }

    /* ── Mobile body (all inline filters) ── */
    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-body {
        display: flex;
        flex-direction: column;
        padding: 10px 20px 0;
        flex: 1 1 auto;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
    }

    .catalog-filter-mobile-body--location {
        padding-top: 16px;
    }

    .catalog-filter-mobile-body--property-type {
        padding-top: 16px;
    }

    /* ── Dropdown selects ── */
    .cfm-dropdowns {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .cfm-dropdown {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 48px;
        padding: 12px 16px;
        border: none;
        border-bottom: 1px solid #E3E3E3;
        background: #FFFFFF;
        cursor: pointer;
    }

    .cfm-dropdown:first-child {
        border-top: 1px solid #E3E3E3;
    }

    .cfm-dropdown--summary {
        align-items: flex-start;
        gap: 12px;
    }

    .cfm-dropdown__text {
        color: #221E1F;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
    }

    .cfm-dropdown__stack {
        min-width: 0;
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .cfm-dropdown__label {
        color: #8E8E8E;
        font-family: var(--second-family);
        font-size: 12px;
        font-weight: 300;
        line-height: 1.2;
        flex: 0 0 auto;
    }

    .cfm-dropdown__value {
        color: #221E1F;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.25;
        min-width: 0;
        flex: 1 1 auto;
        text-align: right;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .cfm-dropdown__icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        flex-shrink: 0;
        transition: transform 0.2s ease;
    }

    .cfm-dropdown.is-open .cfm-dropdown__icon {
        transform: rotate(180deg);
    }

    .cfm-location {
        display: flex;
        flex-direction: column;
        gap: 18px;
        min-height: 100%;
    }

    .cfm-property-type {
        display: flex;
        flex-direction: column;
        gap: 18px;
        min-height: 100%;
    }

    .cfm-property-type .catalog-filter-type-container {
        gap: 10px;
    }

    .cfm-property-type .catalog-filter-type-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .cfm-property-type .catalog-filter-type-heading {
        font-size: 11px;
        letter-spacing: 0.08em;
    }

    .cfm-property-type .catalog-filter-type-options {
        gap: 10px;
    }

    .cfm-property-type .catalog-filter-type-option {
        min-height: 52px;
        padding: 14px 16px;
        font-size: 14px;
    }

    .cfm-property-type .catalog-filter-type-option--family {
        min-height: 48px;
        padding: 12px 14px;
    }

    .cfm-property-type .catalog-filter-type-option__check {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
    }

    .cfm-location__steps {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .cfm-location__step {
        min-height: 38px;
        padding: 0 10px;
        border: 1px solid #D8CEC4;
        background: #FFFFFF;
        color: #8E8E8E;
        font-family: var(--font-family);
        font-size: 13px;
        font-weight: 600;
        line-height: 1;
        cursor: pointer;
        transform: translateY(0);
        transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .cfm-location__step.is-guided {
        border-color: #D7C1AF;
        background: #FBF4EC;
        color: #6B5C50;
        box-shadow: 0 6px 14px rgba(158, 91, 22, 0.08);
        transform: translateY(-1px);
    }

    .cfm-location__step.is-guided-pulse {
        animation: cfm-location-step-guided-pulse 0.24s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .cfm-location__step.is-active {
        border-color: #CAB7A9;
        background: #F0EAE3;
        color: #221E1F;
        box-shadow: none;
        transform: translateY(0);
    }

    .cfm-location__step:disabled {
        opacity: 0.45;
        cursor: default;
    }

    .cfm-location__section-head {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .cfm-location__section-title {
        margin: 0;
        color: #221E1F;
        font-family: var(--font-family);
        font-size: 16px;
        font-weight: 600;
        line-height: 1.2;
    }

    .cfm-location__helper {
        margin: 0;
        color: #8E8E8E;
        font-family: var(--second-family);
        font-size: 12px;
        font-weight: 300;
        line-height: 1.5;
    }

    .cfm-location__options {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .cfm-location__option {
        width: 100%;
        min-height: 52px;
        padding: 14px 16px;
        border: 1px solid transparent;
        background: #F5F5F5;
        color: #221E1F;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.25;
        text-align: left;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        cursor: pointer;
    }

    .cfm-location__option--neutral {
        background: #FFFFFF;
        border-color: #D8CEC4;
        color: #6B5C50;
    }

    .cfm-location__option.is-active {
        background: #F0EAE3;
        border-color: #CAB7A9;
    }

    .cfm-location__option-arrow {
        width: 14px;
        height: 14px;
        flex: 0 0 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .cfm-location__empty {
        margin-top: 4px;
    }

    @keyframes cfm-location-step-guided-pulse {
        0% {
            transform: translateY(0);
            box-shadow: 0 0 0 rgba(158, 91, 22, 0);
        }
        50% {
            transform: translateY(-2px);
            box-shadow: 0 10px 18px rgba(158, 91, 22, 0.14);
        }
        100% {
            transform: translateY(-1px);
            box-shadow: 0 6px 14px rgba(158, 91, 22, 0.08);
        }
    }

    /* ── Dormitoare (bedroom) buttons ── */
    .cfm-rooms {
        display: flex;
        width: 100%;
        margin-top: 0;
        border-top: 1px solid #E3E3E3;
        border-bottom: 1px solid #E3E3E3;
    }

    .cfm-room-btn {
        flex: 1 1 0;
        min-height: 44px;
        padding: 10px 0;
        border: none;
        border-right: 1px solid #E3E3E3;
        background: #FFFFFF;
        color: #8E8E8E;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 500;
        line-height: 1;
        text-align: center;
        cursor: pointer;
        transition: background 0.15s, color 0.15s;
    }

    .cfm-room-btn:last-child {
        border-right: none;
    }

    .cfm-room-btn.is-active {
        background: #F0EAE3;
        color: #221E1F;
    }

    /* ── Slider groups ── */
    .cfm-sliders {
        display: flex;
        flex-direction: column;
        gap: 30px;
        margin-top: 30px;
    }

    .cfm-slider-group {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .cfm-slider-label {
        margin: 0;
        color: #221E1F;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
    }

    .cfm-slider-values {
        display: flex;
        gap: 10px;
        margin-top: 10px;
    }

    .cfm-slider-value {
        flex: 1 1 0;
        display: flex;
        align-items: center;
        gap: 4px;
        border-bottom: 1px solid #D3D3D3;
        padding-bottom: 4px;
    }

    .cfm-slider-prefix {
        color: #221E1F;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
        flex-shrink: 0;
    }

    .cfm-slider-input {
        width: 100%;
        border: none;
        outline: none;
        background: transparent;
        color: #221E1F;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
        text-align: left;
        padding: 0;
    }

    /* ── Range slider track ── */
    .cfm-range-track {
        position: relative;
        width: 100%;
        height: 26px;
        margin-top: 10px;
    }

    .cfm-range-track.is-disabled {
        opacity: 0.45;
        pointer-events: none;
    }

    .cfm-range-rail,
    .cfm-range-active {
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 3px;
        border-radius: 999px;
    }

    .cfm-range-rail {
        background: #D3D3D3;
    }

    .cfm-range-active {
        right: auto;
        background: #AA8062;
    }

    .cfm-range-input {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        background: transparent;
        pointer-events: none;
        -webkit-appearance: none;
        appearance: none;
    }

    .cfm-range-input::-webkit-slider-runnable-track {
        height: 3px;
        background: transparent;
    }

    .cfm-range-input::-moz-range-track {
        height: 3px;
        background: transparent;
    }

    .cfm-range-input::-webkit-slider-thumb {
        width: 13px;
        height: 13px;
        border-radius: 50%;
        border: none;
        background: #AA8062;
        margin-top: -5px;
        pointer-events: auto;
        -webkit-appearance: none;
        appearance: none;
        cursor: pointer;
    }

    .cfm-range-input::-moz-range-thumb {
        width: 13px;
        height: 13px;
        border-radius: 50%;
        border: none;
        background: #AA8062;
        pointer-events: auto;
        appearance: none;
        cursor: pointer;
    }

    /* ── Action buttons ── */
    .cfm-actions {
        display: flex;
        gap: 10px;
        margin-top: 50px;
        padding: 0 15px 20px;
    }

    .catalog-filter-mobile-body--subscreen .cfm-actions {
        margin-top: 28px;
    }

    .cfm-btn {
        height: 38px;
        padding: 0 16px;
        border: none;
        font-family: "Unbounded", system-ui, sans-serif;
        font-size: 12px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.02em;
        text-align: center;
        text-transform: uppercase;
        cursor: pointer;
        white-space: nowrap;
    }

    .cfm-btn--reset {
        flex: 1 1 0;
        background: #FFFFFF;
        color: #9E5B16;
        border: 1px solid #9E5B16;
    }

    .cfm-btn--apply {
        flex: 1.82 1 0;
        background: #9E5B16;
        color: #FFFFFF;
        border: 1px solid #9E5B16;
    }

    /* If popup content overflows viewport, switch to compact spacing */
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-mobile-head {
        height: 40px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-mobile-head--subscreen {
        height: auto;
        min-height: 52px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-mobile-body {
        padding-top: 8px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-dropdown {
        min-height: 44px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-room-btn {
        min-height: 40px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-sliders {
        gap: 20px;
        margin-top: 20px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-slider-values {
        margin-top: 8px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-slider-value {
        padding-bottom: 3px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-range-track {
        height: 22px;
        margin-top: 8px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-location {
        gap: 14px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-property-type {
        gap: 14px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-location__option {
        min-height: 48px;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-property-type .catalog-filter-type-option {
        min-height: 48px;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-actions {
        margin-top: 30px;
        padding-bottom: 14px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-btn {
        height: 36px;
        font-size: 11px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-sliders {
        gap: 14px;
        margin-top: 14px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-slider-label {
        font-size: 13px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-slider-values {
        margin-top: 6px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-range-track {
        height: 20px;
        margin-top: 6px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-location {
        gap: 12px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-property-type {
        gap: 12px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-location__step {
        min-height: 34px;
        font-size: 12px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-location__option {
        min-height: 44px;
        padding-top: 10px;
        padding-bottom: 10px;
        font-size: 13px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-property-type .catalog-filter-type-option {
        min-height: 44px;
        padding-top: 10px;
        padding-bottom: 10px;
        font-size: 13px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-property-type .catalog-filter-type-option__check {
        width: 18px;
        height: 18px;
        flex-basis: 18px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-actions {
        margin-top: 18px;
        padding-bottom: 10px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-btn {
        height: 34px;
        font-size: 10px;
    }

    /* Fullscreen mobile/tablet modal */
    .catalog-filter-popover-host.catalog-filter-popover-host--mobile-open {
        position: fixed !important;
        inset: 0;
        top: calc(var(--header-offset, 52px) + var(--bx-panel-h, 0px));
        display: flex !important;
        align-items: stretch;
        justify-content: stretch;
        z-index: 2600;
    }

    .catalog-filter-popover-host.catalog-filter-popover-host--mobile-open ~ .catalog-filter-bottom {
        display: none;
    }

    .catalog-filter-mobile-backdrop {
        display: block !important;
        position: absolute;
        inset: 0;
        border: 0;
        background: rgba(34, 30, 31, 0.45);
        cursor: pointer;
        touch-action: none;
    }

    .catalog-filter-mobile-close {
        display: flex !important;
    }

    .catalog-filter-mobile-spacer {
        display: block !important;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-dialog {
        position: relative;
        top: auto;
        left: auto;
        margin-top: 0;
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        background: #FFFFFF;
        border-radius: 0;
        box-shadow: none;
        transform: none;
        animation: cfmMobileModalIn 0.3s cubic-bezier(0.22, 0.61, 0.36, 1) both;
    }

    @keyframes cfmMobileModalIn {
        from {
            opacity: 0;
            transform: translateY(28px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-head {
        display: grid;
        grid-template-columns: 32px minmax(0, 1fr) 32px;
        align-items: center;
        gap: 12px;
        justify-content: initial;
        min-height: 68px;
        height: auto;
        padding: 14px 20px 12px;
        border-bottom: 1px solid #EFE9E3;
        background: #FFFFFF;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-head--subscreen {
        min-height: 74px;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-body {
        padding: 18px 20px calc(104px + env(safe-area-inset-bottom));
    }

    .catalog-filter-mobile-body--location,
    .catalog-filter-mobile-body--property-type,
    .catalog-filter-mobile-body--rooms,
    .catalog-filter-mobile-body--range {
        padding-top: 18px;
    }

    .cfm-summary-list,
    .cfm-subscreen {
        width: 100%;
    }

    .cfm-subscreen {
        display: flex;
        flex-direction: column;
        gap: 18px;
        min-height: 100%;
    }

    .cfm-subscreen-note {
        margin: 0;
        color: #7E726A;
        font-family: var(--second-family);
        font-size: 13px;
        font-weight: 300;
        line-height: 1.55;
    }

    .cfm-summary-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .cfm-summary-row {
        width: 100%;
        min-height: 64px;
        padding: 15px 18px;
        border: 1px solid #E6DDD5;
        background: #FBF9F7;
        color: #221E1F;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        text-align: left;
        box-shadow: none;
        cursor: pointer;
    }

    .cfm-summary-row.is-filled {
        border-color: #D7C7BA;
        background: #F6F1EB;
    }

    .cfm-summary-row__label {
        color: #221E1F;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.25;
    }

    .cfm-summary-row__meta {
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
        flex: 1 1 auto;
    }

    .cfm-summary-row__value {
        min-width: 0;
        color: #7E726A;
        font-family: var(--second-family);
        font-size: 13px;
        font-weight: 300;
        line-height: 1.45;
        text-align: right;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .cfm-summary-row.is-filled .cfm-summary-row__value {
        color: #221E1F;
    }

    .cfm-summary-row__icon {
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #7E726A;
    }

    .cfm-location__path {
        margin: -4px 0 0;
        color: #7E726A;
        font-family: var(--second-family);
        font-size: 13px;
        font-weight: 300;
        line-height: 1.45;
    }

    .catalog-filter-location--mobile {
        --catalog-filter-location-selection-size: 20px;
        --catalog-filter-location-selection-radius: 6px;
        --catalog-filter-location-scrollbar-outset: 0px;
        gap: 14px;
        min-height: 100%;
    }

    .catalog-filter-location-tree--mobile {
        width: 100%;
        max-height: none;
        margin-right: 0;
        padding-right: 0;
        overflow: visible;
        gap: 12px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-tree__branch {
        gap: 12px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-tree__children {
        margin-left: 16px;
        padding-left: 14px;
        gap: 12px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-tree__children::before {
        top: 10px;
        bottom: 14px;
        background: rgba(202, 183, 169, 0.54);
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-tree__children--deep {
        margin-left: 14px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-tree__children > .catalog-filter-location-tree__branch:last-child::after {
        left: -14px;
        bottom: -12px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-tree__children--single > .catalog-filter-location-tree__branch:last-child::after {
        top: 24px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-tree__children--single.catalog-filter-location-tree__children--deep > .catalog-filter-location-tree__branch:last-child::after {
        top: 22px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row {
        min-height: 54px;
        padding: 0 14px;
        gap: 10px;
        border-color: #E6DDD5;
        background: #FBF9F7;
        border-radius: 8px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row--child {
        min-height: 50px;
        border-radius: 7px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row--child::before,
    .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild::before {
        left: -14px;
        width: 10px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-expanded {
        border-color: #D7C7BA;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-partial {
        border-color: #D7C7BA;
        background: #F6F1EB;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-full:not(.is-city-leaf):not(.is-sector-leaf) {
        border-color: #CAB7A9;
        background: #F0EAE3;
        box-shadow: inset 0 0 0 1px rgba(158, 91, 22, 0.08);
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-city-leaf {
        min-height: 46px;
        padding: 0 10px;
        border: 1px solid #E9E1D9;
        background: #FFFFFF;
        border-radius: 7px;
        box-shadow: none;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-city-leaf.is-full,
    .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-city-leaf.is-included {
        border-color: #CAB7A9;
        background: #F6F1EB;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-city-leaf::after {
        display: block;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-city-leaf .catalog-filter-location-row__label {
        font-size: 14px;
        font-weight: 600;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-sector-leaf.is-full,
    .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-sector-leaf.is-included {
        border-radius: 6px;
        background: rgba(240, 234, 227, 0.78);
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild,
    .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild.is-expanded,
    .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild.is-partial,
    .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild.is-full {
        min-height: 42px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row__selection {
        width: 20px;
        height: 20px;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row__label {
        font-size: 14px;
        line-height: 1.3;
        white-space: normal;
    }

    .catalog-filter-location-tree--mobile .catalog-filter-location-row__chevron {
        width: 28px;
        height: 28px;
    }

    .catalog-filter-location--mobile .catalog-filter-location__empty {
        min-height: 72px;
    }

    .cfm-location__option.has-children .cfm-location__option-arrow {
        color: #7E726A;
    }

    .cfm-room-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .cfm-room-card {
        min-height: 54px;
        padding: 14px 16px;
        border: 1px solid #E6DDD5;
        background: #FFFFFF;
        color: #221E1F;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
        text-align: center;
        cursor: pointer;
    }

    .cfm-room-card.is-active {
        border-color: #CAB7A9;
        background: #F0EAE3;
    }

    .cfm-range-screen {
        gap: 20px;
    }

    .cfm-range-screen__values {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .cfm-range-screen__field {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin: 0;
    }

    .cfm-range-screen__field-label {
        color: #7E726A;
        font-family: var(--second-family);
        font-size: 12px;
        font-weight: 300;
        line-height: 1.2;
    }

    .cfm-range-screen__input-wrap {
        min-height: 54px;
        padding: 0 16px;
        border: 1px solid #E6DDD5;
        background: #FFFFFF;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .cfm-range-screen__input-prefix,
    .cfm-range-screen__input-suffix {
        color: #7E726A;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 500;
        line-height: 1;
        flex: 0 0 auto;
    }

    .cfm-range-screen__input {
        width: 100%;
        border: 0;
        outline: 0;
        background: transparent;
        color: #221E1F;
        font-family: var(--font-family);
        font-size: 15px;
        font-weight: 500;
        line-height: 1.2;
        padding: 0;
    }

    .cfm-range-screen__limits {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        color: #7E726A;
        font-family: var(--second-family);
        font-size: 12px;
        font-weight: 300;
        line-height: 1.4;
    }

    .cfm-actions {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        gap: 12px;
        margin-top: 0;
        padding: 16px 20px calc(12px + env(safe-area-inset-bottom));
        background: #FFFFFF;
        border-top: 1px solid #EFE9E3;
        z-index: 2510;
    }

    .cfm-btn {
        height: 44px;
        font-size: 11px;
        letter-spacing: 0.05em;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-summary-row {
        min-height: 58px;
        padding: 13px 16px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-room-card,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-range-screen__input-wrap,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-location__option,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .cfm-property-type .catalog-filter-type-option {
        min-height: 48px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location--mobile {
        gap: 12px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location-tree--mobile,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location-tree--mobile .catalog-filter-location-tree__branch,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location-tree--mobile .catalog-filter-location-tree__children {
        gap: 10px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location-tree--mobile .catalog-filter-location-row {
        min-height: 48px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-city-leaf {
        min-height: 44px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild.is-expanded,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild.is-partial,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild.is-full {
        min-height: 40px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact .catalog-filter-location-tree--mobile .catalog-filter-location-row__label {
        font-size: 13px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-summary-row {
        min-height: 54px;
        padding-top: 11px;
        padding-bottom: 11px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-room-card,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-range-screen__input-wrap,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-location__option,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .cfm-property-type .catalog-filter-type-option {
        min-height: 44px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location--mobile {
        gap: 10px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location-tree--mobile,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location-tree--mobile .catalog-filter-location-tree__branch,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location-tree--mobile .catalog-filter-location-tree__children {
        gap: 8px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location-tree--mobile .catalog-filter-location-row {
        min-height: 44px;
        padding-left: 12px;
        padding-right: 12px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location-tree--mobile .catalog-filter-location-row.is-city-leaf {
        min-height: 40px;
        padding-left: 8px;
        padding-right: 8px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild.is-expanded,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild.is-partial,
    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location-tree--mobile .catalog-filter-location-row--grandchild.is-full {
        min-height: 36px;
    }

    .catalog-filter-mobile-dialog.catalog-filter-mobile-dialog--compact-strong .catalog-filter-location-tree--mobile .catalog-filter-location-row__label {
        font-size: 12px;
    }

    /* ── Hide desktop popover in mobile ── */
    .catalog-filter-popover {
        display: none;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-popover {
        position: static;
        top: auto;
        left: 0 !important;
        width: 100% !important;
        margin-top: 10px;
        padding: 14px;
        display: block;
        border-color: #CAB7A9;
        background: #FFFFFF;
        box-shadow: none;
    }

    .catalog-filter-popover__grid {
        grid-template-columns: 1fr;
    }

    .catalog-filter-popover__options--city-scroll,
    .catalog-filter-popover__options--sectors-scroll {
        max-height: none;
        padding-right: 0;
    }

    .catalog-filter-type-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .catalog-filter-type-main,
    .catalog-filter-type-actions {
        grid-template-columns: 1fr;
    }

    body.catalog-filter-mobile-lock {
        overflow: hidden !important;
        position: fixed;
        width: 100%;
        height: 100%;
        touch-action: none;
    }
}

/* ─────────────────────────────────────────────────────────────
   ≤ 767.98px  │  Filter popup → full screen below header
───────────────────────────────────────────────────────────── */
@media (max-width: 767.98px) {

    /* Override 1023.98px inline positioning → full fixed overlay */
    .catalog-filter-popover-host.catalog-filter-popover-host--mobile-open {
        position: fixed !important;
        inset: 0;
        display: flex !important;
        align-items: stretch;
        justify-content: stretch;
        padding-top: 0;
        top: calc(var(--header-offset, 52px) + var(--bx-panel-h, 0px));
        z-index: 2600;
    }

    .catalog-filter-popover-host.catalog-filter-popover-host--mobile-open ~ .catalog-filter-bottom {
        display: none;
    }

    /* Re-enable backdrop */
    .catalog-filter-mobile-backdrop {
        display: block !important;
        position: absolute;
        inset: 0;
        border: 0;
        background: rgba(34, 30, 31, 0.45);
        cursor: pointer;
        touch-action: none;
    }

    /* Re-enable close button & spacer */
    .catalog-filter-mobile-close {
        display: flex !important;
    }
    .catalog-filter-mobile-spacer {
        display: block !important;
    }
    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-head {
        grid-template-columns: 32px minmax(0, 1fr) 32px;
        gap: 12px;
        justify-content: initial;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-dialog {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        transform: none;
        margin-top: 0;
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        background: #FFFFFF;
        border-radius: 0;
        animation: cfmSlideUp 0.3s cubic-bezier(0.22, 0.61, 0.36, 1) both;
    }

    @keyframes cfmSlideUp {
        from {
            opacity: 0;
            transform: translateY(40px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Mobile body needs bottom padding to clear the sticky buttons */
    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-body {
        padding-bottom: calc(104px + env(safe-area-inset-bottom));
    }

    /* Action buttons pinned to bottom of viewport */
    .cfm-actions {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        margin-top: 0;
        padding: 16px 20px calc(12px + env(safe-area-inset-bottom));
        background: #FFFFFF;
        border-top: 1px solid #EFE9E3;
        z-index: 2510;
    }
}


/* ─────────────────────────────────────────────────────────────
   1024px..1439px  │  Offers + Catalog card typography
───────────────────────────────────────────────────────────── */
@media (max-width: 1439.98px) and (min-width: 1024px) {

    :root {
        --offers-left-w: 482px;
        --offers-gap-x: 20px;
        --offers-gap-y: 20px;
        --offers-top-gap: 20px;
    }

    /* ════════════════════════════════════════
       CATALOG ITEMS — 1024 frame (984 content)
       Figma fixed sizes for regular cards
    ════════════════════════════════════════ */
    .catalog-items__grid {
        width: 984px;
        max-width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }

    .catalog-items__card {
        width: 314.67px;
        max-width: 100%;
    }

    .catalog-property-card--regular {
        height: 458px; /* 224 media + 234 body */
    }

    .catalog-property-card--regular .catalog-property-card__media {
        height: 224px;
        aspect-ratio: auto;
    }

    .catalog-property-card--regular .catalog-property-card__body {
        height: 234px;
        min-height: 234px;
        padding: 16px;
        gap: 16px;
    }

    .catalog-property-card--regular .catalog-property-card__main {
        gap: 12px;
    }

    .catalog-property-card--regular .catalog-property-card__brand,
    .catalog-property-card--regular .catalog-property-card__lot {
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 400;
        line-height: 1.2;
    }

    .catalog-property-card--regular .catalog-property-card__title {
        color: #9E5B16;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
    }

    .catalog-property-card--regular .catalog-property-card__footer {
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 10px;
    }

    .catalog-property-card--regular .catalog-property-card__price {
        width: 100%;
        min-width: 0;
    }

    .catalog-property-card--regular .catalog-property-card__facts {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, max-content));
        justify-content: space-between;
        width: 100%;
        margin-left: 0;
        align-items: flex-start;
        column-gap: 20px;
        row-gap: 0;
    }

    .catalog-property-card--regular .catalog-property-card__fact {
        flex: 0 0 auto;
        min-width: max-content;
    }

    .catalog-property-card--regular .catalog-property-card__fact-label,
    .catalog-property-card--regular .catalog-property-card__fact-value {
        white-space: nowrap;
    }

    .catalog-property-card--regular .catalog-property-card__arrow {
        width: 30px;
        height: 30px;
    }

    .catalog-property-card--regular .catalog-property-card__arrow--prev {
        left: 16px;
    }

    .catalog-property-card--regular .catalog-property-card__arrow--next {
        right: 16px;
    }

    .offers__grid {
        width: 984px;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
        grid-template-columns: 482px 482px;
        column-gap: 20px;
        align-items: start;
    }

    .offers__left,
    .offers__right {
        width: 482px;
        max-width: 482px;
    }

    .offers__left {
        gap: 20px;
    }

    .offers__intro {
        width: 447px;
        min-height: 121px;
    }

    .offers__intro .section-title {
        font-family: var(--font-family);
        font-size: 42px;
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1.05;
    }

    .offers__intro .section-desc {
        max-width: 447px;
        font-family: var(--second-family);
        font-size: 16px;
        font-weight: 300;
        line-height: 24px;
    }

    .offers__stack {
        gap: 20px;
    }

    .offers__stack > .promo {
        height: 209.5px;
    }

    .offers__stack > .offer-card {
        height: 536px;
    }

    .offers__stack > .offer-card .offer-card__img {
        height: 268px;
    }

    .offers__stack > .offer-card .offer-card__body {
        height: 268px;
        padding: 30px 20px;
    }

    .offers__right {
        gap: 20px;
        grid-template-rows: 550px 336px;
    }

    .offers__right > .offer-card {
        height: 550px;
    }

    .offers__right > .offer-card .offer-card__img {
        height: 275px;
    }

    .offers__right > .offer-card .offer-card__body {
        height: 275px;
        padding: 30px 20px;
    }

    .offers__right > .hero {
        height: 336px;
    }

    .promo__title,
    .offer-card__title,
    .hero__title {
        font-family: var(--font-family);
        font-size: 22px;
        font-weight: 700;
    }

    .offer-card__line {
        font-family: var(--second-family);
        font-size: 16px;
        font-weight: 300;
        line-height: 24px;
    }

    /* ── Cat-card title: Montserrat Bold 14 ── */
    .section.categories .cat-card__title {
        top:  50px;
        left: 20px;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 700;
    }

    /* ── Bottom cards: fill card edge-to-edge (ratio shift fix) ── */
    .cat-card--bottom .cat-card__img {
        width:      100%;
        height:     100%;
        max-width:  none;
        max-height: none;
        object-fit: cover;
        left:       0;
        bottom:     0;
        transform:  none;
    }

    /* ── Section spacing: match ≤1199px defaults (override min-width:1200px rules) ── */
    .section.categories {
        padding: 20px 0 32px;
    }

    .section.offers {
        padding-top: 32px;
        padding-bottom: 83.49px;
    }

    .section.blog.home-news {
        padding-top: 0;
        padding-bottom: 80px;
    }

    .section.reviews {
        padding-top: 0;
        padding-bottom: 80px;
    }

    .home-news .section-head {
        width: 984px;
        max-width: 100%;
        height: 102px;
        grid-template-columns: 344px 540px;
        gap: 100px;
        align-items: start;
        margin-bottom: 30px;
    }

    .home-news .section-title {
        margin: 0;
        width: 344px;
        max-width: 344px;
        font-family: var(--font-family);
        font-size: 42px;
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1.2;
    }

    .home-news .section-desc {
        align-self: start;
        margin: 0;
        width: 540px;
        max-width: 540px;
        font-family: var(--second-family);
        font-size: 16px;
        font-weight: 300;
        line-height: 1.2;
        letter-spacing: 0;
    }

    .home-news .blog-grid {
        width: 984px;
        max-width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .home-news .blog-card {
        height: 554.9px;
    }

    .home-news .blog-card__img {
        width: 100%;
        height: 289.9px;
        object-fit: cover;
    }

    .home-news .blog-card__body {
        min-height: 265px;
        max-height: 265px;
        padding: 20px;
        row-gap: 20px;
    }

    .home-news .blog-card__title {
        font-family: var(--font-family);
        font-size: 18px;
        font-weight: 700;
        min-height: 44px;
        line-height: 22px;
        letter-spacing: 0;
    }

    .home-news .blog-card__text {
        font-family: var(--second-family);
        font-size: 16px;
        font-weight: 300;
        line-height: 24px;
        letter-spacing: 0;
    }

    .home-news .blog-card__link {
        margin-top: auto;
        font-family: var(--second-family);
        font-size: 16px;
        font-weight: 300;
        line-height: 1;
        letter-spacing: 0;
    }

    /* ════════════════════════════════════════
       REVIEWS SECTION — 1024 frame
    ════════════════════════════════════════ */

    .section.reviews .section-title {
        margin: 0;
        font-family: var(--font-family);
        font-size: 52px;
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1;
    }

    .section.reviews .reviews-grid {
        margin-top: 30px;
        width: 984px;
        max-width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .section.reviews .reviews-grid .review-card:nth-child(n + 4) {
        display: none;
    }

    .section.reviews .review-card {
        padding: 32px;
        height: 400px;
    }

    .section.reviews .review-card__stars {
        height: 24px;
        margin-bottom: 16px;
    }

    .section.reviews .review-card__text {
        font-family: var(--second-family);
        font-size: 16px;
        font-weight: 300;
        line-height: 24px;
        letter-spacing: 0;
        max-height: 216px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 9;
        -webkit-box-orient: vertical;
    }

    .section.reviews .review-card__who {
        width: 226px;
        max-width: 100%;
        height: 48px;
        margin-top: 32px;
        gap: 16px;
    }

    .section.reviews .avatar {
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
    }

    .section.reviews .who {
        gap: 4.5px;
    }

    .section.reviews .who__name {
        font-family: var(--font-family);
        font-size: 18px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
    }

    .section.reviews .who__role {
        font-family: var(--second-family);
        font-size: 16px;
        font-weight: 300;
        line-height: 1;
        letter-spacing: 0;
    }

    /* ════════════════════════════════════════
       FOOTER — 1024 frame (984 net content)
    ════════════════════════════════════════ */
    .site-footer {
        height: 357px;
        padding-top: 60px;
        padding-bottom: 60px;
        padding-left: 0;
        padding-right: 0;
    }

    .site-footer .footer__grid {
        width: 1024px;
        max-width: 1024px;
        min-height: 237px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
        grid-template-columns: 220px 145px 145px 154px 172px;
        justify-content: space-between; /* auto-gap between footer containers */
        column-gap: 0;
        row-gap: 0;
    }

    .site-footer .footer__brand,
    .site-footer .footer__col,
    .site-footer .footer__col--services,
    .site-footer .footer__col--contacts {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .site-footer .footer__services-body {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .site-footer .footer__item,
    .site-footer .footer__services-text,
    .site-footer .footer__contact-label,
    .site-footer .footer__contact-value {
        display: inline-block;
        width: fit-content;
        max-width: 100%;
        white-space: normal;
        line-height: 1.2;
    }
}


/* ─────────────────────────────────────────────────────────────
   ≤ 1023px  │  768 frame  │  728px net content
───────────────────────────────────────────────────────────── */
@media (max-width: 1023.98px) {

    :root {
        --container:   768px;
        --gutter:       20px;

        /*
         * Cat card heights → total grid height = 368px
         * Ratio kept 41:30 (same as 1440 design: 410px / 300px)
         * 207 + 10 (gap) + 151 = 368px ✓
         */
        --cat-top-h:   207px;
        --cat-bottom-h:151px;
    }

    .container {
        max-width:    var(--container);
        margin-left:  auto;
        margin-right: auto;
    }

    .site-header .header__inner,
    .site-header .header__inner.container {
        width: 768px;
        max-width: 768px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .breadcrumb-page {
        max-width: 768px;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* ── Cat-card title: Montserrat Bold 14, 12px lateral padding ── */
    .section.categories .cat-card__title {
        font-family: var(--font-family);
        font-size:   14px;
        font-weight: 700;
        top:         50px;
        left:        12px;
    }

    /* ── Bottom cards: fill card edge-to-edge (ratio shift fix) ── */
    .cat-card--bottom .cat-card__img {
        width:      100%;
        height:     100%;
        max-width:  none;
        max-height: none;
        object-fit: cover;
        left:       0;
        bottom:     0;
        transform:  none;
    }

    /* ════════════════════════════════════════
       OFFERS SECTION — 768 frame
    ════════════════════════════════════════ */

    /* 50px gap from catalog above, 50px to next section below */
    .section.offers {
        padding-top:    50px;
        padding-bottom: 50px;
    }

    /* 2 columns of 359px, 10px gap, centred */
    .offers__grid {
        width:                  728px; /* 359 + 10 + 359 */
        max-width:              100%;
        padding-left:           0;
        padding-right:          0;
        margin-left:            auto;
        margin-right:           auto;
        grid-template-columns:  359px 359px;
        column-gap:             10px;
        align-items:            start;
    }

    .offers__left,
    .offers__right {
        width:     359px;
        max-width: 359px;
    }

    /* column 1 starts at top, 20.76px gap between intro and stack */
    .offers__left {
        gap:        20.76px;
        align-self: start;
    }

    /* column 2 bottom-aligned with column 1 */
    .offers__right {
        gap:                20px;
        align-self:         end;
        grid-template-rows: auto auto;
    }

    /* ── Section intro ── */
    .offers__intro {
        max-width: 351px; /* 18px visual gap to col 2 = 8px + 10px column-gap */
    }

    .offers__intro .section-title {
        font-family:    var(--font-family);
        font-size:      32px;
        font-weight:    700;
        letter-spacing: -0.03em;
        line-height:    1.05;
    }

    .offers__intro .section-desc {
        max-width:   351px;
        font-family: var(--second-family);
        font-size:   14px;
        font-weight: 300;
        line-height: 1;
    }

    .offers__stack {
        gap: 20px;
    }

    /* ── Promo (upper-left) — overlay card 359 × 193 ── */
    .offers__stack > .promo {
        height: 193px;
    }

    .promo__overlay {
        padding: 30px;
    }

    .promo__title {
        font-family: var(--font-family);
        font-size:   18px;
        font-weight: 700;
    }

    /* ── Lower-left offer card — img 359 × 200.31, body 359 × 267 ── */
    .offers__stack > .offer-card {
        height: auto;
    }

    .offers__stack > .offer-card .offer-card__img {
        height: 200.31px;
    }

    .offers__stack > .offer-card .offer-card__body {
        height:  267px;
        padding: 30px 20px;
    }

    /* text gaps inside offer-card bodies */
    .offer-card__text {
        gap: 16px;
    }

    .offer-card__title {
        font-family: var(--font-family);
        font-size:   18px;
        font-weight: 700;
    }

    .offer-card__line {
        font-family: var(--second-family);
        font-size:   16px;
        font-weight: 300;
        line-height: 1.35;
    }

    /* ── Upper-right offer card — img 359 × 200.31, body 359 × 281 ── */
    .offers__right > .offer-card {
        height: auto;
    }

    .offers__right > .offer-card .offer-card__img {
        height: 200.31px;
    }

    .offers__right > .offer-card .offer-card__body {
        height:  281px;
        padding: 30px 20px;
    }

    /* ── Lower-right hero — 359 × 250.26, 30px padding, auto-gap ── */
    .offers__right > .hero {
        height: 250.26px;
    }

    .hero__overlay {
        padding: 30px;
    }

    .hero__title {
        font-family: var(--font-family);
        font-size:   18px;
        font-weight: 700;
    }

    /* ── All buttons in offers section — 179 × 52, Bounded regular 16 ── */
    .section.offers .btn {
        width:      179px;
        height:     52px;
        min-width:  179px;
        font-family: var(--second-family);
        font-size:  16px;
        font-weight: 400;
    }

}

/* ─────────────────────────────────────────────────────────────
   768px..1023px  │  Home news
───────────────────────────────────────────────────────────── */
@media (max-width: 1023.98px) and (min-width: 768px) {
    /* ════════════════════════════════════════
       CATALOG DETAIL — 768 frame (728 content)
    ════════════════════════════════════════ */
    .catalog-detail-intro {
        padding-bottom: 100px;
    }

    .catalog-detail-intro > .container {
        width: 768px;
        max-width: 768px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .catalog-detail__shell {
        width: 100%;
        max-width: 728px;
        margin-left: auto;
        margin-right: auto;
    }

    .catalog-detail__content {
        margin-top: 0;
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
        align-items: start;
    }

    .catalog-detail__breadcrumb + .catalog-detail__content {
        margin-top: 20px;
    }

    .catalog-detail-gallery,
    .catalog-detail-info {
        width: 728px;
        max-width: 100%;
    }

    .catalog-detail-gallery {
        gap: 20px;
    }

    .catalog-detail-gallery__main {
        width: 728px;
        max-width: 100%;
        height: 512.46px;
        aspect-ratio: auto;
    }

    .catalog-detail-gallery__thumbs {
        gap: 20px;
    }

    .catalog-detail-gallery__thumbs-viewport {
        flex: none;
        width: 541px;
    }

    .catalog-detail-gallery__thumbs-track {
        gap: 20px;
    }

    .catalog-detail-gallery__thumbs-track .catalog-detail-gallery__thumb,
    .catalog-detail-gallery__thumb,
    .catalog-detail-gallery__more,
    .catalog-detail-gallery__thumbs-viewport ~ .catalog-detail-gallery__more {
        width: 167px;
        height: 117.35px;
        min-width: 167px;
        flex: 0 0 167px;
        aspect-ratio: auto;
    }

    .catalog-detail-info {
        gap: 20px;
    }

    .catalog-detail-info__title {
        font-size: 28px;
    }

    .catalog-detail-info__address,
    .catalog-detail-info__map-link {
        font-size: 16px;
        font-weight: 600;
    }

    .catalog-detail-info__summary {
        gap: 20px;
    }

    .catalog-detail-info__price-main {
        font-size: 24px;
    }

    .catalog-detail-info__price-sub {
        font-size: 16px;
        font-weight: 400;
    }

    .catalog-detail-info__facts {
        gap: 20px;
    }

    .catalog-detail-info__fact-label {
        font-size: 14px;
    }

    .catalog-detail-info__fact-value {
        font-size: 16px;
    }

    .catalog-detail-info__description {
        font-size: 14px;
        line-height: 20px;
    }

    .catalog-detail-info__actions {
        width: 728px;
        max-width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .catalog-detail-info__button {
        width: 100%;
        min-height: 49px;
        height: 49px;
        padding: 0 16px;
        font-size: 14px;
    }

    /* ════════════════════════════════════════
       CATALOG ITEMS — 768 frame (728 content)
    ════════════════════════════════════════ */
    .catalog-items__grid {
        width: 728px;
        max-width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 20px;
        row-gap: 20px;
    }

    .catalog-items__card {
        width: 229.33px;
        max-width: 100%;
    }

    .catalog-property-card--regular {
        height: 405.26px; /* 163.26 media + 242 body */
    }

    .catalog-property-card--regular .catalog-property-card__media {
        height: 163.26px;
        aspect-ratio: auto;
    }

    .catalog-property-card--regular .catalog-property-card__body {
        height: 242px;
        min-height: 242px;
        padding: 16px;
        gap: 16px; /* gap before price container */
    }

    .catalog-property-card--regular .catalog-property-card__main {
        gap: 12px;
    }

    .catalog-property-card--regular .catalog-property-card__brand,
    .catalog-property-card--regular .catalog-property-card__lot {
        font-family: var(--font-family);
        font-size: 12px;
        font-weight: 400;
        line-height: 1.2;
    }

    .catalog-property-card--regular .catalog-property-card__title {
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
    }

    .catalog-property-card--regular .catalog-property-card__address {
        font-family: var(--font-family);
        font-size: 12px;
        font-weight: 500;
        line-height: 1.2;
    }

    .catalog-property-card--regular .catalog-property-card__footer {
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 10px;
    }

    .catalog-property-card--regular .catalog-property-card__price {
        width: 100%;
        min-width: 0;
    }

    .catalog-property-card--regular .catalog-property-card__facts {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, max-content));
        justify-content: space-between;
        width: 100%;
        margin-left: 0;
        align-items: flex-start;
        column-gap: 20px;
        row-gap: 0;
    }

    .catalog-property-card--regular .catalog-property-card__fact {
        flex: 0 0 auto;
        min-width: max-content;
    }

    .catalog-property-card--regular .catalog-property-card__fact-label {
        font-family: var(--font-family);
        font-size: 12px;
        font-weight: 400;
        line-height: 1.2;
        white-space: nowrap;
    }

    .catalog-property-card--regular .catalog-property-card__fact-value {
        white-space: nowrap;
    }

    .catalog-property-card--regular .catalog-property-card__arrow {
        width: 24px;
        height: 24px;
    }

    .catalog-property-card--regular .catalog-property-card__arrow-icon {
        width: 12px;
        height: 12px;
    }

    .catalog-property-card--regular .catalog-property-card__arrow-icon img {
        width: 12px;
        height: 12px;
    }

    .catalog-property-card--regular .catalog-property-card__arrow--prev {
        left: 12px;
    }

    .catalog-property-card--regular .catalog-property-card__arrow--next {
        right: 12px;
    }

    /* ════════════════════════════════════════
       FOOTER — 768 frame (728 net content)
    ════════════════════════════════════════ */
    .site-footer {
        height: 423.6px;
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 0;
        padding-right: 0;
    }

    .site-footer .footer__grid {
        width: 768px;
        max-width: 768px;
        min-height: 343.6px; /* 423.6 - 40 - 40 */
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
        grid-template-columns: 145px 145px 154px 172px;
        justify-content: space-between;
        align-items: start;
        row-gap: 0;
        column-gap: 0;
    }

    .site-footer .footer__grid > .footer__col:nth-child(2) {
        grid-column: 1;
        grid-row: 1;
    }

    .site-footer .footer__grid > .footer__col:nth-child(3) {
        grid-column: 2;
        grid-row: 1;
    }

    .site-footer .footer__col--services {
        grid-column: 3;
        grid-row: 1;
    }

    .site-footer .footer__col--contacts {
        grid-column: 4;
        grid-row: 1;
    }

    .site-footer .footer__brand {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        max-width: 100%;
        margin-top: 20px;
        padding-top: 20px;
        border-top: 1px solid #B2B2B2;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        text-align: center;
    }

    .site-footer .footer__logo {
        width: 113.56px;
        height: 36.6px;
    }

    .site-footer .footer__copy {
        max-width: none;
        font-family: var(--font-family);
        font-weight: 400;
        font-size: 16px;
        line-height: 1.2;
        text-align: center;
        white-space: normal;
    }

    .site-footer .footer__copy br {
        display: block;
    }

    .site-footer .footer__copy .footer__copy-break {
        display: none;
    }

    .site-footer .footer__copy .footer__copy-line1::after {
        content: ". ";
    }

    .site-footer .footer__item,
    .site-footer .footer__services-text,
    .site-footer .footer__contact-label,
    .site-footer .footer__contact-value {
        line-height: 1.2;
    }

    .section.blog.home-news {
        padding-top: 0;
        padding-bottom: 53px;
    }

    .section.reviews {
        padding-top: 0;
        padding-bottom: 51px;
    }

    .home-news .section-head {
        width: 728px;
        max-width: 100%;
        min-height: 78px;
        grid-template-columns: 262px 366px;
        gap: 100px;
        align-items: start;
        margin-bottom: 30px;
    }

    .home-news .section-title {
        margin: 0;
        width: 262px;
        max-width: 262px;
        font-family: var(--font-family);
        font-size: 32px;
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1.2;
    }

    .home-news .section-desc {
        align-self: start;
        margin: 0;
        width: 366px;
        max-width: 366px;
        min-height: 51px;
        font-family: var(--second-family);
        font-size: 14px;
        font-weight: 300;
        line-height: 1;
        letter-spacing: 0;
    }

    .home-news .blog-grid {
        width: 728px;
        max-width: 100%;
        grid-template-columns: repeat(3, 236px);
        gap: 10px;
    }

    .home-news .blog-card {
        height: 452.92px;
    }

    .home-news .blog-card__img {
        width: 100%;
        height: 212.92px;
        object-fit: cover;
    }

    .home-news .blog-card__body {
        min-height: 240px;
        max-height: 240px;
        padding: 20px;
        row-gap: 20px;
    }

    .home-news .blog-card__title {
        font-family: var(--font-family);
        font-size: 16px;
        font-weight: 700;
        min-height: 40px;
        max-height: 40px;
        overflow: hidden;
        line-height: 20px;
        letter-spacing: 0;
    }

    .home-news .blog-card__text {
        font-family: var(--second-family);
        font-size: 14px;
        font-weight: 300;
        line-height: 20px;
        letter-spacing: 0;
    }

    .home-news .blog-card__link {
        margin-top: auto;
        font-family: var(--second-family);
        font-size: 16px;
        font-weight: 300;
        line-height: 1;
        letter-spacing: 0;
    }

    /* ════════════════════════════════════════
       REVIEWS SECTION — 768 frame
    ════════════════════════════════════════ */
    .section.reviews .section-title {
        margin: 0;
        font-family: var(--font-family);
        font-size: 32px;
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1;
    }

    .section.reviews .reviews-grid {
        margin-top: 30px;
        width: 728px;
        max-width: 100%;
        grid-template-columns: repeat(3, 236px);
        gap: 10px;
    }

    .section.reviews .reviews-grid .review-card:nth-child(n + 4) {
        display: none;
    }

    .section.reviews .review-card {
        width: 236px;
        max-width: 236px;
        height: 356px;
        padding: 16px;
    }

    .section.reviews .review-card__stars {
        height: 24px;
        margin-bottom: 16px;
    }

    .section.reviews .review-card__text {
        font-family: var(--second-family);
        font-size: 14px;
        font-weight: 300;
        line-height: 20px;
        letter-spacing: 0;
        max-height: 220px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 11;
        -webkit-box-orient: vertical;
    }

    .section.reviews .review-card__who {
        width: 226px;
        max-width: 100%;
        height: 48px;
        margin-top: 16px;
        gap: 16px;
    }

    .section.reviews .avatar {
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
    }

    .section.reviews .who {
        gap: 4.5px;
    }

    .section.reviews .who__name {
        font-family: var(--font-family);
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
    }

    .section.reviews .who__role {
        font-family: var(--second-family);
        font-size: 12px;
        font-weight: 300;
        line-height: 1;
        letter-spacing: 0;
    }
}


/* ─────────────────────────────────────────────────────────────
   ≤ 767px  │  fluid frame  │  100% − 40px net content
───────────────────────────────────────────────────────────── */
@media (max-width: 767.98px) {

    /* ── Root tokens ── */
    :root {
        --container:      100%;
        --gutter:          20px;

        /* net content width = 100vw − 40px (20px margin each side) */
        --mob-w:       calc(100vw - 40px);

        /* Header: fluid × 52 container */
        --header-pad-y:     0px;
        --header-inner-h:  52px;
        --site-header-h:   52px;
        --header-offset:   52px;

        /*
         * Cat card aspect ratios (from 320px reference design):
         * vertical cards  155 × 233.64 → aspect-ratio 155/233.64 ≈ 0.663
         * horizontal card 320 × 138.13 → aspect-ratio 320/138.13 ≈ 2.317
         */
        --cat-top-h:   auto;
        --cat-bottom-h: auto;
    }

    /* ── Container ── */
    .container {
        max-width:    var(--container);
        margin-left:  auto;
        margin-right: auto;
    }

    /* Oferte hero typography — mobile */
    .oferte-hero__title {
        font-size: 32px;
    }

    .oferte-hero__desc {
        font-size: 16px;
    }

    /* ════════════════════════════════════════
       CATALOG FILTER — mobile stack
    ════════════════════════════════════════ */
    .catalog-intro {
        margin-top: 20px;
        padding-bottom: 0;
    }

    .catalog-intro__filter-inner {
        margin-top: 20px;
    }

    .breadcrumb-page + .catalog-intro {
        margin-top: 20px;
    }

    .breadcrumb-page .bx-breadcrumb {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        column-gap: 8px;
        row-gap: 3px;
        white-space: normal;
    }

    .breadcrumb-page .bx-breadcrumb-item,
    .breadcrumb-page .bx-breadcrumb-item a,
    .breadcrumb-page .bx-breadcrumb-item span,
    .breadcrumb-page .bx-breadcrumb-item i {
        white-space: normal;
        line-height: calc(1em + 3px);
    }

    .breadcrumb-page,
    .breadcrumb-page a,
    .breadcrumb-page span {
        white-space: normal;
    }

    .breadcrumb-page a,
    .breadcrumb-page span {
        line-height: calc(1em + 3px);
    }

    .catalog-filter-panel {
        gap: 0;
        margin-bottom: 16px;
    }

    .catalog-filter-bottom {
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    /* Mobile order: Filtrare -> Sortare -> Harta/Lista */
    .catalog-filter-extra {
        order: 1;
    }

    .catalog-filter-meta {
        order: 2;
    }

    .catalog-filter-view-switch {
        order: 3;
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .catalog-filter-extra,
    .catalog-filter-sort {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        height: auto;
        padding: 0 0 16px;
        border-bottom: 1px solid #E3E3E3;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
    }

    .catalog-filter-extra {
        margin-right: 0;
    }

    .catalog-filter-extra > span:first-child,
    .catalog-filter-sort__label {
        flex: 1 1 auto;
        min-width: 0;
    }

    .catalog-filter-extra__plus {
        width: 24px;
        height: 24px;
        flex: 0 0 24px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 0;
        margin-top: 0;
        line-height: 1;
    }

    .catalog-filter-extra__plus::before {
        content: "";
        display: block;
        width: 14px;
        height: 14px;
        background: url("assets/catalog/plus-filter.svg") center / 14px 14px no-repeat;
    }

    .catalog-filter-sort .catalog-icon-box {
        display: inline-flex;
        width: 24px;
        height: 24px;
        flex: 0 0 24px;
    }

    .catalog-filter-sort .catalog-icon-box img {
        width: 24px;
        height: 24px;
    }

    .catalog-filter-view-switch {
        margin-left: 0;
        margin-top: 0;
    }

    .catalog-filter-view-switch__option {
        min-height: 34px;
        padding: 0 12px;
    }

    .catalog-filter-view-switch__option-inner {
        gap: 6px;
    }

    .catalog-filter-view-switch__icon,
    .catalog-filter-view-switch__icon img {
        width: 14px;
        height: 14px;
    }

    .catalog-filter-meta {
        margin-left: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .catalog-filter-reset,
    .catalog-filter-found {
        display: none;
    }

    .catalog-filter-sort-wrap {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .catalog-filter-reset + .catalog-filter-sort-wrap {
        margin-left: 0;
    }

    .catalog-filter-sort {
        padding-left: 0;
        padding-right: 0;
    }

    /* ════════════════════════════════════════
       HOME NEWS — mobile swipe row
    ════════════════════════════════════════ */
    .section.blog.home-news {
        padding-top: 0;
        padding-bottom: 40px;
    }

    .home-news > .container {
        overflow: hidden;
    }

    .section.reviews {
        padding-top: 0;
        padding-bottom: 40px;
    }

    .home-news .section-head {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        margin-bottom: 30px;
    }

    .home-news .section-title {
        margin: 0;
        width: 100%;
        max-width: 100%;
        font-family: var(--font-family);
        font-size: 28px;
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1.2;
    }

    .home-news .section-desc {
        display: none;
    }

    .home-news .blog-grid {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        overflow: hidden;
    }

    .home-news .blog-grid .swiper-wrapper {
        display: flex;
        align-items: stretch;
    }

    /* force exact 10px slide gap on mobile */
    .home-news .blog-grid .swiper-slide {
        margin-right: 10px !important;
    }

    .home-news .blog-grid > .blog-card:nth-child(n + 4),
    .home-news .blog-grid .swiper-wrapper > .blog-card:nth-child(n + 4) {
        display: none;
    }

    .home-news .blog-grid .blog-card {
        width: calc(236 / 320 * var(--mob-w));
        max-width: calc(236 / 320 * var(--mob-w));
        height: auto;
        flex: 0 0 calc(236 / 320 * var(--mob-w));
    }

    .home-news .blog-card__img {
        width: 100%;
        height: auto;
        aspect-ratio: 236 / 212.92;
        object-fit: cover;
    }

    .home-news .blog-card__body {
        min-height: 0;
        max-height: none;
        flex: 1;
        padding: 20px;
        row-gap: 20px;
    }

    .home-news .blog-card__title {
        font-family: var(--font-family);
        font-size: 16px;
        font-weight: 700;
        min-height: 40px;
        max-height: 40px;
        overflow: hidden;
        line-height: 20px;
        letter-spacing: 0;
    }

    .home-news .blog-card__text {
        font-family: var(--second-family);
        font-size: 14px;
        font-weight: 300;
        line-height: 20px;
        letter-spacing: 0;
    }

    .home-news .blog-card__link {
        margin-top: auto;
        font-family: var(--second-family);
        font-size: 16px;
        font-weight: 300;
        line-height: 1;
        letter-spacing: 0;
    }

    /* ════════════════════════════════════════
       REVIEWS — mobile swipe row
    ════════════════════════════════════════ */
    .section.reviews > .container {
        overflow: hidden;
    }

    .section.reviews .reviews-grid {
        display: block;
        width: 100%;
        max-width: 100%;
        margin-top: 30px;
        margin-left: 0;
        margin-right: 0;
        overflow: hidden;
    }

    .section.reviews .reviews-grid .swiper-wrapper {
        display: flex;
        align-items: stretch;
    }

    /* force exact 10px slide gap on mobile */
    .section.reviews .reviews-grid .swiper-slide {
        margin-right: 10px !important;
    }

    .section.reviews .reviews-grid .review-card {
        width: calc(236 / 320 * var(--mob-w));
        max-width: calc(236 / 320 * var(--mob-w));
        height: auto;
        aspect-ratio: 236 / 356;
        padding: 16px;
        flex: 0 0 calc(236 / 320 * var(--mob-w));
    }

    .section.reviews .reviews-grid > .review-card:nth-child(n + 4),
    .section.reviews .reviews-grid .swiper-wrapper > .review-card:nth-child(n + 4) {
        display: none;
    }

    .section.reviews .review-card__stars {
        height: 24px;
        margin-bottom: 16px;
    }

    .section.reviews .review-card__text {
        font-family: var(--second-family);
        font-size: 14px;
        font-weight: 300;
        line-height: 20px;
        letter-spacing: 0;
        max-height: 220px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 11;
        -webkit-box-orient: vertical;
    }

    .section.reviews .review-card__who {
        width: 226px;
        max-width: 100%;
        height: 48px;
        margin-top: 16px;
        gap: 16px;
    }

    .section.reviews .who {
        gap: 4.5px;
    }

    .section.reviews .who__name {
        font-family: var(--font-family);
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
    }

    .section.reviews .who__role {
        font-family: var(--second-family);
        font-size: 12px;
        font-weight: 300;
        line-height: 1;
        letter-spacing: 0;
    }

    /* ════════════════════════════════════════
       FOOTER — fluid (100% − 40px net content)
    ════════════════════════════════════════ */
    .site-footer {
        height: auto;
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 0;
        padding-right: 0;
    }

    .site-footer .footer__grid {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }

    .site-footer .footer__grid > .footer__col:nth-child(2) {
        order: 1;
    }

    .site-footer .footer__grid > .footer__col:nth-child(3) {
        order: 2;
    }

    .site-footer .footer__col--services {
        order: 3;
    }

    .site-footer .footer__col--contacts {
        order: 4;
    }

    .site-footer .footer__grid > .footer__col,
    .site-footer .footer__col--services,
    .site-footer .footer__col--contacts {
        width: 100%;
        max-width: 100%;
        align-self: flex-start;
    }

    .site-footer .footer__col--services,
    .site-footer .footer__col--services .footer__services-body {
        width: 154px;
        max-width: 154px;
    }

    .site-footer .footer__brand {
        order: 5;
        width: 100%;
        max-width: 100%;
        margin-top: 0;
        padding-top: 20px;
        border-top: 1px solid #B2B2B2;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        text-align: center;
    }

    .site-footer .footer__logo {
        width: 113.56px;
        height: 36.6px;
    }

    .site-footer .footer__copy {
        width: 100%;
        max-width: 100%;
        font-family: var(--font-family);
        font-weight: 400;
        font-size: 16px;
        line-height: 1.2;
        text-align: center;
        white-space: normal;
    }

    .site-footer .footer__copy br {
        display: block;
    }

    .site-footer .footer__copy .footer__copy-break {
        display: none;
    }

    .site-footer .footer__copy .footer__copy-line1::after {
        content: "";
    }

    .site-footer .footer__copy .footer__copy-line1,
    .site-footer .footer__copy .footer__copy-line2 {
        display: block;
        line-height: inherit;
    }

    .site-footer .footer__item,
    .site-footer .footer__services-text,
    .site-footer .footer__contact-label,
    .site-footer .footer__contact-value {
        line-height: 1.2;
    }

    /* ════════════════════════════════════════
       HEADER
    ════════════════════════════════════════ */

    /* Prevent horizontal overflow from wider sections pushing body */
    html, body {
        overflow-x: hidden;
    }

    /* Outer header: 360 × 52, no padding */
    .site-header {
        padding: 0;
        width: 100%;
    }

    /* Inner header: 320 × 52 (360 − 20px×2 horizontal padding) */
    .site-header .header__inner,
    .site-header .header__inner.container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        height: 52px;
        padding: 0 20px;
        align-items: center;
        justify-content: space-between;
    }

    .breadcrumb-page {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Logo: 8px vertical padding */
    .brand__logo {
        width:   116px;
        height:  auto;
        padding: 8px 0;
    }

    /*
     * Flatten .header__right so its two children (.header__meta and
     * .burger) become direct flex items of .header__inner, giving a
     * clean 3-item space-between layout without altering the HTML.
     */
    .header__right {
        display: contents;
    }

    /* Status + phone meta block: 10.5px vertical padding */
    .header__meta {
        width:   auto;
        height:  auto;
        padding: 10.5px 0;
        gap:     5px;
    }

    /* "Suntem online" label: Bounded Light 10 */
    .status {
        font-size: 10px;
    }
    .status__text {
        font-family: var(--second-family);
        font-size:   10px;
        font-weight: 300;
    }

    /* Phone number: Bounded SemiBold 12 (via parent, not .phone class) */
    .header__meta {
        font-family: "Unbounded", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size:   12px;
        font-weight: 600;
        line-height: 1;
        color:       #221E1F;
    }

    /* Burger button itself must be exactly 32 × 32 on mobile */
    .burger {
        width:   32px;
        height:  32px;
        flex:    0 0 32px;
        min-width: 32px;
        min-height: 32px;
        padding: 0;
        position: relative;
        -webkit-tap-highlight-color: transparent;
    }
    .burger::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 32px;
        height: 32px;
        transform: translate(-50%, -50%);
        background: transparent;
        transition: background-color .15s ease;
        pointer-events: none;
    }
    .burger:focus-visible {
        outline: none;
    }
    .burger:active::after,
    .burger:focus-visible::after {
        background: rgba(12, 102, 134, .12);
    }
    .burger__icon {
        width:  32px;
        height: 32px;
        position: relative;
        z-index: 1;
    }

    /* ════════════════════════════════════════
       CATALOG SECTION (categories)
    ════════════════════════════════════════ */

    /* 20px from header, 40px to next section */
    .section.categories {
        padding: 20px 0 40px;
    }

    /*
     * 2-column grid (gap stays 10px from base).
     * Net = 320px → column width = (320 - 10) / 2 = 155px ✓
     */
    .cat-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* All top-row cards → vertical, maintain 155:233.64 aspect ratio */
    .cat-card--top {
        grid-column: span 1;
        height: auto;
        aspect-ratio: 155 / 233.64;
    }

    /*
     * Bottom cards: override base "span 5" rule.
     * Default bottom → vertical (Vanzare).
     * Chirie (last card) → horizontal full-width.
     */
    .cat-card--bottom {
        grid-column: span 1;
        height: auto;
        aspect-ratio: 155 / 233.64;
    }

    /* Vanzare Apartamente → vertical (same ratio) */
    .cat--va {
        grid-column: span 1;
        height: auto;
        aspect-ratio: 155 / 233.64;
    }

    /* Chirie Apartamente → full-width horizontal, maintain 320:138.13 ratio */
    .cat--ca {
        grid-column: span 2;
        height: auto;
        aspect-ratio: 320 / 138.13;
    }

    /* Cat-card title: same Montserrat Bold 14 as 1023.98 breakpoint */
    .section.categories .cat-card__title {
        font-family: var(--font-family);
        font-size:   14px;
        font-weight: 700;
        top:         50px;
        left:        12px;
    }

    /* ════════════════════════════════════════
       CATALOG DETAIL — mobile (fluid)
    ════════════════════════════════════════ */
    .catalog-detail-intro {
        margin-top: 20px;
        padding-bottom: 90px;
    }

    .catalog-detail-intro > .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .catalog-detail__shell {
        width: var(--mob-w);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .catalog-detail__content {
        margin-top: 20px;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 30px;
    }

    .catalog-detail-gallery,
    .catalog-detail-info {
        width: 100%;
        max-width: 100%;
    }

    .catalog-detail-gallery {
        gap: 0;
    }

    .catalog-detail-gallery__main {
        width: 100%;
        height: auto;
        aspect-ratio: 320 / 225.26;
    }

    .catalog-detail-gallery__thumbs {
        display: none !important;
    }

    .catalog-detail-gallery__arrow {
        width: 24px;
        height: 24px;
        background: rgba(255, 255, 255, 0.42);
    }

    .catalog-detail-gallery__arrow--prev {
        left: 6px;
    }

    .catalog-detail-gallery__arrow--next {
        right: 6px;
    }

    .catalog-detail-gallery__arrow-icon {
        width: 12px;
        height: 12px;
    }

    .catalog-detail-gallery__arrow-icon img {
        width: 5px;
        height: 9px;
    }

    .catalog-detail-gallery__counter {
        position: absolute;
        right: 8px;
        bottom: 8px;
        z-index: 3;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 24px;
        padding: 4px 8px;
        border-radius: 999px;
        background: rgba(0, 0, 0, 0.34);
        color: #FFFFFF;
        font-family: var(--font-family);
        font-size: 13px;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0.02em;
        pointer-events: none;
    }

    .catalog-detail-info {
        align-items: flex-start;
        gap: 20px;
    }

    .catalog-detail-info__title {
        font-family: var(--font-family);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.2;
    }

    .catalog-detail-info__location {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .catalog-detail-info__address {
        width: 100%;
        gap: 10px;
        font-family: var(--font-family);
        font-size: 16px;
        font-weight: 600;
        line-height: 1.25;
    }

    .catalog-detail-info__address img {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
    }

    .catalog-detail-info__map-link {
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        gap: 6px;
        margin-top: 5px;
        min-height: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: #9E5B16;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
        text-decoration-line: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 3px;
        text-decoration-color: rgba(158, 91, 22, 0.45);
        white-space: nowrap;
    }

    .catalog-detail-info__map-link::after {
        content: "";
        width: 12px;
        height: 12px;
        flex: 0 0 12px;
        background: url("assets/blogs/right_brown_arrow.svg") center / 12px 12px no-repeat;
    }

    .catalog-detail-info__map-link:hover,
    .catalog-detail-info__map-link:focus-visible {
        color: #9E5B16;
        text-decoration-color: #9E5B16;
    }

    .catalog-detail-info__summary {
        width: 100%;
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .catalog-detail-info__price {
        width: auto;
        min-width: max-content;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .catalog-detail-info__price-main {
        font-family: var(--font-family);
        font-size: 24px;
        font-weight: 600;
        line-height: 1.2;
    }

    .catalog-detail-info__price-sub {
        margin-top: 8px;
        font-family: var(--font-family);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.2;
    }

    .catalog-detail-info__facts {
        width: auto;
        margin-left: 0;
        min-height: 0;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, max-content));
        justify-content: flex-start;
        align-items: flex-start;
        column-gap: 20px;
        row-gap: 0;
    }

    .catalog-detail-info__fact {
        width: auto;
        min-width: max-content;
        gap: 7px;
    }

    .catalog-detail-info__fact-label {
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 400;
        line-height: 1.2;
        color: #979797;
    }

    .catalog-detail-info__fact-value {
        font-family: var(--font-family);
        font-size: 16px;
        font-weight: 600;
        line-height: 1.2;
        white-space: nowrap;
    }

    .catalog-detail-info__actions {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .catalog-detail-info__button {
        width: 100%;
        min-height: 49px;
        height: auto;
        padding: 12px 16px;
        font-family: "Unbounded", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.3;
        text-align: center;
        white-space: normal;
    }

    .catalog-detail-info__description {
        width: 100%;
        font-family: var(--font-family);
        font-size: 14px;
        font-weight: 400;
        line-height: 20px;
    }

    /* Bottom cards: fill card edge-to-edge */
    .cat-card--bottom .cat-card__img {
        width:      100%;
        height:     100%;
        max-width:  none;
        max-height: none;
        object-fit: cover;
        left:       0;
        bottom:     0;
        transform:  none;
    }

    /* ════════════════════════════════════════
       CATALOG ITEMS — mobile fluid (100vw - 40)
    ════════════════════════════════════════ */
    .catalog-items__grid {
        width: var(--mob-w);
        max-width: 100%;
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 20px;
    }

    .catalog-items__card {
        width: 100%;
        max-width: 100%;
    }

    /* Keep the 360px viewport / 320px content card as the mobile reference. */
    .catalog-items__card .catalog-property-card--regular {
        --catalog-card-w: var(--mob-w);
        --catalog-card-media-h: calc(var(--catalog-card-w) * 227.81 / 320);
        --catalog-card-body-h: calc(var(--catalog-card-w) * 227 / 320);
        --catalog-card-body-pad: calc(var(--catalog-card-w) * 16 / 320);
        --catalog-card-body-gap: calc(var(--catalog-card-w) * 16 / 320);
        --catalog-card-main-gap: calc(var(--catalog-card-w) * 12 / 320);
        --catalog-card-head-gap: calc(var(--catalog-card-w) * 12 / 320);
        --catalog-card-footer-gap: calc(var(--catalog-card-w) * 10 / 320);
        --catalog-card-brand-size: calc(var(--catalog-card-w) * 12 / 320);
        --catalog-card-title-size: calc(var(--catalog-card-w) * 14 / 320);
        --catalog-card-address-size: calc(var(--catalog-card-w) * 12 / 320);
        --catalog-card-price-main-size: calc(var(--catalog-card-w) * 20 / 320);
        --catalog-card-price-sub-size: calc(var(--catalog-card-w) * 16 / 320);
        --catalog-card-price-sub-gap: calc(var(--catalog-card-w) * 6 / 320);
        --catalog-card-facts-gap: calc(var(--catalog-card-w) * 20 / 320);
        --catalog-card-fact-gap: calc(var(--catalog-card-w) * 4 / 320);
        --catalog-card-fact-label-size: calc(var(--catalog-card-w) * 12 / 320);
        --catalog-card-fact-value-size: calc(var(--catalog-card-w) * 16 / 320);
        --catalog-card-arrow-size: calc(var(--catalog-card-w) * 28 / 320);
        --catalog-card-arrow-icon-size: calc(var(--catalog-card-w) * 10 / 320);
        --catalog-card-arrow-offset: calc(var(--catalog-card-w) * 16 / 320);
        --catalog-card-dots-x: calc(var(--catalog-card-w) * 12 / 320);
        --catalog-card-dots-y: calc(var(--catalog-card-w) * 15 / 320);
        --catalog-card-dot-size: calc(var(--catalog-card-w) * 7 / 320);
        --catalog-card-dot-gap: calc(var(--catalog-card-w) * 2.5 / 320);
        height: auto;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__media {
        height: var(--catalog-card-media-h);
        aspect-ratio: auto;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__dots,
    .catalog-items__card .catalog-property-card--regular .catalog-property-card__dots.swiper-pagination {
        left: var(--catalog-card-dots-x);
        bottom: var(--catalog-card-dots-y);
        height: var(--catalog-card-dot-size);
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__dots .swiper-pagination-bullet {
        width: var(--catalog-card-dot-size);
        height: var(--catalog-card-dot-size);
        margin: 0 var(--catalog-card-dot-gap) !important;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__arrow {
        width: var(--catalog-card-arrow-size);
        height: var(--catalog-card-arrow-size);
        background: rgba(9, 95, 126, 0.38);
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__arrow-icon,
    .catalog-items__card .catalog-property-card--regular .catalog-property-card__arrow-icon img {
        width: var(--catalog-card-arrow-icon-size);
        height: var(--catalog-card-arrow-icon-size);
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__arrow--prev {
        left: var(--catalog-card-arrow-offset);
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__arrow--next {
        right: var(--catalog-card-arrow-offset);
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__body {
        height: var(--catalog-card-body-h);
        min-height: var(--catalog-card-body-h);
        max-height: var(--catalog-card-body-h);
        padding: var(--catalog-card-body-pad);
        gap: var(--catalog-card-body-gap);
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__main {
        gap: var(--catalog-card-main-gap);
        min-height: 0;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__head {
        gap: var(--catalog-card-head-gap);
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__brand,
    .catalog-items__card .catalog-property-card--regular .catalog-property-card__lot {
        font-family: var(--font-family);
        font-size: var(--catalog-card-brand-size);
        font-weight: 400;
        line-height: 1.2;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__title {
        font-family: var(--font-family);
        font-size: var(--catalog-card-title-size);
        font-weight: 600;
        line-height: 1.2;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__address {
        font-family: var(--font-family);
        font-size: var(--catalog-card-address-size);
        font-weight: 500;
        line-height: 1.2;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__footer {
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: var(--catalog-card-footer-gap);
        margin-top: auto;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__price {
        width: 100%;
        min-width: 0;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__price-main {
        font-size: var(--catalog-card-price-main-size);
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__price-sub {
        margin-top: var(--catalog-card-price-sub-gap);
        font-size: var(--catalog-card-price-sub-size);
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__facts {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, max-content));
        justify-content: space-between;
        width: 100%;
        margin-left: 0;
        align-items: flex-start;
        column-gap: var(--catalog-card-facts-gap);
        row-gap: 0;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__fact {
        flex: 0 0 auto;
        min-width: max-content;
        gap: var(--catalog-card-fact-gap);
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__fact-label {
        font-family: var(--font-family);
        font-size: var(--catalog-card-fact-label-size);
        font-weight: 400;
        line-height: 1.2;
        white-space: nowrap;
    }

    .catalog-items__card .catalog-property-card--regular .catalog-property-card__fact-value {
        font-size: var(--catalog-card-fact-value-size);
        white-space: nowrap;
    }

    /* ════════════════════════════════════════
       OFFERS SECTION — fluid / 2 card columns
    ════════════════════════════════════════ */

    .section.offers {
        padding:    20px 0 40px;
    }

    /* Intro spans both columns, cards stay in 2 vertical columns. */
    .offers__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap:    12px;
        width:      100%;
        max-width:  100%;
        padding-left:  20px;
        padding-right: 20px;
        margin-left:   auto;
        margin-right:  auto;
        align-items: start;
    }

    .offers__left {
        display: contents;
    }

    .offers__stack,
    .offers__right {
        width:      100%;
        max-width:  100%;
        align-self: start;
        display: grid;
        grid-template-rows: auto auto;
        gap: 12px;
    }

    .offers__stack {
        grid-column: 1;
    }

    .offers__right {
        grid-column: 2;
    }

    /* ── Section intro ── */
    .offers__intro {
        grid-column: 1 / -1;
        max-width: none;
        margin-bottom: 4px;
    }

    .offers__intro .section-title {
        font-family:    var(--font-family);
        font-size:      26px;
        font-weight:    700;
        letter-spacing: -0.03em;
        line-height:    1.05;
    }

    .offers__intro .section-desc {
        max-width:   none;
        font-family: var(--second-family);
        font-size:   14px;
        font-weight: 300;
        line-height: 1.2;
    }

    /* ── Card typography ── */
    .promo__title,
    .offer-card__title,
    .hero__title {
        font-family: var(--font-family);
        font-size:   16px;
        font-weight: 700;
        line-height: 1.2;
    }

    .offer-card__line {
        font-family: var(--second-family);
        font-size:   14px;
        font-weight: 300;
        line-height: 1.35;
    }

    .offer-card__text {
        gap: 12px;
    }

    /* Text line spacing is controlled by flex gap on .offer-card__text */
    .offer-card__line + .offer-card__line {
        margin-top: 0;
    }

    /* ── Buttons fit narrow columns cleanly ── */
    .section.offers .btn {
        width:       100%;
        min-width:   0;
        height:      46px;
        padding:     0 12px;
        font-family: var(--second-family);
        font-size:   14px;
        font-weight: 400;
    }

    /* ── Card sizing ── */
    .offers__stack > .promo {
        height: auto;
        aspect-ratio: 320 / 193;
    }

    .promo__overlay {
        padding: 16px;
    }

    .offers__stack > .offer-card {
        height: auto;
    }

    .offers__stack > .offer-card .offer-card__img {
        height: auto;
        aspect-ratio: 359 / 200;
    }

    .offers__stack > .offer-card .offer-card__body {
        height:  auto;
        padding: 14px;
    }

    .offers__stack > .offer-card .offer-card__body .btn {
        margin-top: 16px;
    }

    .offers__right > .offer-card {
        order:  1;
        height: auto;
    }

    .offers__right > .offer-card .offer-card__img {
        height: auto;
        aspect-ratio: 359 / 200;
    }

    .offers__right > .offer-card .offer-card__body {
        height:  auto;
        padding: 14px;
    }

    .offers__right > .offer-card .offer-card__body .btn {
        margin-top: 16px;
    }

    .offers__right > .hero {
        order:  -1;
        height: auto;
        aspect-ratio: 320 / 223;
    }

    .hero__overlay {
        padding: 16px;
    }

    /* ════════════════════════════════════════
       OFERTE LISTING PAGE — mobile/tablet
    ════════════════════════════════════════ */
    .oferte-listing {
        padding: 40px 0 56px;
    }

    .oferte-listing__featured {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 24px;
    }

    .oferte-featured-card--large {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    .oferte-featured-card--large .oferte-featured-card__overlay {
        padding: 18px;
    }

    .oferte-featured-card--side .oferte-featured-card__image,
    .oferte-featured-card--compact .oferte-featured-card__image {
        height: auto;
        aspect-ratio: 16 / 10;
    }

    .oferte-featured-card--side .oferte-featured-card__body,
    .oferte-featured-card--compact .oferte-featured-card__body {
        padding: 16px;
    }

    .oferte-featured-card--side .oferte-featured-card__title,
    .oferte-featured-card--compact .oferte-featured-card__title,
    .oferte-featured-card--large .oferte-featured-card__title {
        font-size: 16px;
        line-height: 1.2;
    }

    .oferte-featured-card--side .oferte-featured-card__text,
    .oferte-featured-card--compact .oferte-featured-card__text,
    .oferte-featured-card--large .oferte-featured-card__text {
        font-size: 14px;
        line-height: 1.35;
    }

    .oferte-featured-card__link {
        font-size: 14px;
        line-height: 1.25;
        gap: 8px;
    }

    .oferte-featured-card__link::after {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
    }

    .oferte-listing__pair {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .oferte-listing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .oferte-regular-card__image {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .oferte-regular-card__body {
        padding: 16px;
        min-height: 0;
    }

    .oferte-regular-card__title {
        margin-bottom: 10px;
        font-size: 16px;
        line-height: 1.2;
    }

    .oferte-regular-card__text {
        margin-bottom: 16px;
        font-size: 14px;
        line-height: 1.35;
    }

    .oferte-regular-card__link {
        gap: 8px;
        font-size: 14px;
        line-height: 1.25;
    }

    .oferte-regular-card__link::after {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
    }

}

@media (max-width: 767.98px) {
    .offers__grid {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 20px;
    }

    .offers__left {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        align-self: auto;
        gap: 20px;
    }

    .offers__intro {
        grid-column: auto;
        margin-bottom: 0;
    }

    .offers__stack,
    .offers__right {
        grid-column: auto;
        width: 100%;
        max-width: 100%;
        gap: 20px;
        align-self: auto;
    }

    .offers__right {
        display: flex;
        flex-direction: column;
    }

    .offers__intro .section-title {
        font-size: 28px;
    }

    .offers__intro .section-desc {
        line-height: 1;
    }

    .promo__title,
    .offer-card__title,
    .hero__title {
        font-size: 18px;
    }

    .offer-card__line {
        font-size: 16px;
    }

    .offer-card__text {
        gap: 16px;
    }

    .section.offers .btn {
        height: 52px;
        font-size: 16px;
    }

    .promo__overlay,
    .hero__overlay {
        padding: 30px;
    }

    .offers__stack > .offer-card .offer-card__body,
    .offers__right > .offer-card .offer-card__body {
        padding: 20px;
    }

    .offers__stack > .offer-card .offer-card__body .btn,
    .offers__right > .offer-card .offer-card__body .btn {
        margin-top: 20px;
    }
}

@media (max-width: 455.98px) {
    /* Oferte listing page: single column on narrow phones */
    .oferte-listing__featured,
    .oferte-listing__pair,
    .oferte-listing__grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .oferte-featured-card--side .oferte-featured-card__body,
    .oferte-featured-card--compact .oferte-featured-card__body,
    .oferte-regular-card__body {
        padding: 20px;
    }

    .oferte-featured-card--side .oferte-featured-card__title,
    .oferte-featured-card--compact .oferte-featured-card__title,
    .oferte-featured-card--large .oferte-featured-card__title,
    .oferte-regular-card__title {
        font-size: 18px;
    }

    .oferte-featured-card--side .oferte-featured-card__text,
    .oferte-featured-card--compact .oferte-featured-card__text,
    .oferte-featured-card--large .oferte-featured-card__text,
    .oferte-regular-card__text {
        font-size: 15px;
        line-height: 1.45;
    }

    .oferte-featured-card__link,
    .oferte-regular-card__link {
        font-size: 16px;
    }
}

@media (max-width: 767.98px) {
    html[data-catalog-view-mode="map"] .catalog-map-section {
        padding: 0 0 24px;
    }

    html[data-catalog-view-mode="map"] .catalog-map-section {
        --catalog-map-mobile-inline-pad: 20px;
    }

    html[data-catalog-view-mode="map"] .catalog-map-section > .container {
        max-width: 100%;
        padding-left: var(--catalog-map-mobile-inline-pad);
        padding-right: var(--catalog-map-mobile-inline-pad);
    }

    html[data-catalog-view-mode="map"] .catalog-map-shell {
        padding: 0;
        gap: 0;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: none;
    }

    html[data-catalog-view-mode="map"] .catalog-map-shell__head {
        padding: 16px 20px 12px;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    html[data-catalog-view-mode="map"] .catalog-map-shell__title {
        font-size: 22px;
    }

    html[data-catalog-view-mode="map"] .catalog-map-shell__meta {
        font-size: 14px;
    }

    html[data-catalog-view-mode="map"] .catalog-map-shell__canvas {
        height: var(--catalog-map-canvas-height, clamp(360px, calc(100dvh - var(--site-header-h) - 120px), 680px));
        border: 0;
        border-radius: 12px;
        transition: height .34s cubic-bezier(.22, .61, .36, 1);
    }

    html[data-catalog-view-mode] button.catalog-map-backtop[data-catalog-backtop]:not([hidden]) {
        position: fixed;
        right: var(--catalog-map-mobile-inline-pad, 20px);
        bottom: calc(24px + env(safe-area-inset-bottom, 0px));
        width: 48px;
        min-width: 48px;
        max-width: 48px;
        height: 48px;
        min-height: 48px;
        max-height: 48px;
        flex: 0 0 48px;
        padding: 0;
        appearance: none;
        -webkit-appearance: none;
        border-radius: var(--catalog-map-control-radius, 10px) !important;
        border: 1px solid rgba(10, 61, 82, 0.18);
        background: rgba(255, 255, 255, 0.96);
        color: var(--catalog-map-control-icon-color, #0A3D52);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: none;
        box-sizing: border-box;
        overflow: hidden;
        clip-path: inset(0 round var(--catalog-map-control-radius, 10px));
        opacity: 0;
        transform: translateY(8px);
        pointer-events: none;
        z-index: 2600;
        transition: opacity .2s ease, transform .2s ease, border-color .2s ease;
    }

    html[data-catalog-view-mode] button.catalog-map-backtop[data-catalog-backtop] > span {
        display: inline-flex;
        width: 100%;
        height: 100%;
        align-items: center;
        justify-content: center;
    }

    html[data-catalog-view-mode] button.catalog-map-backtop[data-catalog-backtop] svg {
        width: var(--catalog-map-control-icon-size, 20px);
        height: var(--catalog-map-control-icon-size, 20px);
        display: block;
    }

    html[data-catalog-view-mode] button.catalog-map-backtop[data-catalog-backtop].is-visible:not([hidden]) {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    html[data-catalog-view-mode] button.catalog-map-backtop[data-catalog-backtop]:focus-visible {
        outline: 2px solid #9E5B16;
        outline-offset: 2px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cfm-location__step {
        transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    }

    .cfm-location__step.is-guided-pulse {
        animation: none;
    }

    html[data-catalog-view-mode="map"] .catalog-map-shell__canvas {
        transition: none;
    }
}

@media (min-width: 1024px) and (max-width: 1439.98px) {
    .catalog-detail-map-modal.is-map-fullscreen {
        inset: 0;
        padding: 0;
    }

    .catalog-detail-map-modal.is-map-fullscreen .catalog-detail-map-modal__dialog {
        width: 100vw !important;
        max-width: none !important;
        max-height: none !important;
        height: 100dvh !important;
    }

    .catalog-detail-map-modal.is-map-fullscreen .catalog-map-shell {
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
    }

    .catalog-detail-map-modal.is-map-fullscreen .catalog-map-shell__stage {
        height: 100% !important;
    }

    .catalog-detail-map-modal.is-map-fullscreen .catalog-map-shell__canvas {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        border-radius: 0 !important;
    }
}

@media (max-width: 767.98px) {
    .catalog-detail-map-modal [data-cbc-detail-map-fullscreen-toggle] {
        display: none !important;
    }
}

/* Tablet filter modal stays inline under "Filtre suplimentare". */
@media (min-width: 768px) and (max-width: 1023.98px) {
    .catalog-filter-popover-host.catalog-filter-popover-host--mobile-open {
        position: static !important;
        inset: auto;
        top: auto;
        display: block !important;
        align-items: initial;
        justify-content: initial;
    }

    .catalog-filter-popover-host.catalog-filter-popover-host--mobile-open ~ .catalog-filter-bottom {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .catalog-filter-mobile-backdrop {
        display: none !important;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-dialog {
        position: absolute;
        top: 100%;
        left: 0;
        margin-top: 4px;
        display: flex;
        flex-direction: column;
        width: 360px;
        max-width: 100%;
        height: auto;
        max-height: calc(100vh - 200px);
        border-radius: 0 0 4px 4px;
        box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16);
        transform: none;
        animation: cfmSlideDown 0.32s cubic-bezier(0.22, 0.61, 0.36, 1) both;
        overflow: hidden;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-head {
        min-height: 60px;
        height: auto;
        padding: 10px 20px;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-head--subscreen {
        min-height: 58px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .catalog-filter-popover-host--mobile-open .catalog-filter-mobile-body {
        padding: 10px 20px 0;
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .cfm-summary-list,
    .cfm-subscreen {
        max-width: none;
        margin: 0;
    }

    .cfm-room-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cfm-range-screen__values {
        grid-template-columns: 1fr;
    }

    .cfm-actions {
        position: static;
        left: auto;
        right: auto;
        bottom: auto;
        gap: 10px;
        margin-top: 28px;
        padding: 0 0 20px;
        background: transparent;
        border-top: 0;
    }
}

/* -------------------------------------------------------------
   BLOGS pages (blog + life)
   1024px..1439.98px  -> 1024 frame / 984 net content
-------------------------------------------------------------- */
@media (max-width: 1439.98px) and (min-width: 1024px) {
    .blogs-hero {
        --blogs-hero-top-gap: 22px;
        --blogs-hero-overlap: 90px;
        --blogs-hero-wordmark-underlay: var(--blogs-hero-wordmark-underlay-1439);
        --blogs-hero-wordmark-inline-shift: var(--blogs-hero-wordmark-inline-shift-1439);
        --blogs-hero-heading-max: 579.74px;
        --blogs-hero-wordmark-size: 82.47px;
        --blogs-hero-desc-max: 520px;
        --blogs-hero-desc-gap: 10px;
        --blogs-hero-desc-size: 16px;
        --blogs-hero-desc-line: 20px;
        padding-top: var(--blogs-hero-top-gap);
    }

    .blogs-hero__frame {
        max-width: 1024px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blogs-hero__content {
        width: 984px;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .blogs-hero__heading {
        position: relative;
        width: min(100%, var(--blogs-hero-heading-max));
        height: auto;
        max-width: 100%;
        margin: 0 auto;
        transform: none;
    }

    .blogs-hero__wordmark {
        position: relative;
        width: auto;
        max-width: 100%;
        margin: calc((var(--blogs-hero-overlap) + var(--blogs-hero-wordmark-underlay)) * -1) 0 0;
        padding-left: var(--blogs-hero-wordmark-inline-shift);
        font-size: var(--blogs-hero-wordmark-size);
        line-height: 1.2168;
        transform: none;
        text-align: center;
    }

    .blogs-hero__desc {
        position: relative;
        width: min(100%, var(--blogs-hero-desc-max));
        max-width: 100%;
        margin: var(--blogs-hero-desc-gap) 0 0;
        font-size: var(--blogs-hero-desc-size);
        line-height: var(--blogs-hero-desc-line);
        transform: none;
        text-align: center;
    }

    .blogs-filters {
        padding: 24px 0 40px;
    }

    .blogs-filters > .container {
        max-width: 1024px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blogs-filters__row {
        width: 984px;
    }

    .blogs-filters__form {
        grid-template-columns: minmax(0, 1fr) 195px;
    }

    .blogs-filters__submit {
        width: 195px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blogs-listing {
        padding: 0 0 80px;
    }

    .blogs-listing > .container {
        max-width: 1024px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blogs-listing__main {
        width: 984px;
        height: auto;
        max-height: none;
        grid-template-rows: auto auto;
        row-gap: 20px;
    }

    .blogs-featured-card,
    .blogs-main-card:not(.blogs-main-card--compact) {
        border: 0;
        box-shadow: inset 0 0 0 1px #EBEBEB;
    }

    .blogs-featured-card {
        width: 984px;
        max-width: 100%;
        height: 375px;
        grid-template-columns: 492px 492px;
    }

    .blogs-featured-card__media {
        width: 492px;
        height: 375px;
    }

    .blogs-featured-card__image {
        width: 492px;
        height: 375px;
    }

    .blogs-featured-card__title,
    .blogs-main-card__title,
    .blogs-default-card__title {
        font-size: 24px;
        line-height: 1.2;
    }

    .blogs-featured-card__text,
    .blogs-main-card__text,
    .blogs-default-card__text {
        font-size: 16px;
        line-height: 24px;
    }

    .blogs-listing__cluster {
        width: 984px;
        max-width: 100%;
        height: auto;
        grid-template-columns: 366px 598px;
        column-gap: 20px;
    }

    .blogs-main-card--vertical {
        width: 366px;
        height: auto;
    }

    .blogs-main-card--vertical .blogs-main-card__image--square {
        width: 366px;
        min-height: 366px;
        height: auto;
    }

    .blogs-main-card--vertical .blogs-main-card__body--padded {
        min-height: 366px;
    }

    .blogs-main-card--vertical .blogs-main-card__link {
        margin-top: auto;
    }

    .blogs-listing__right {
        width: 598px;
        height: auto;
        grid-template-rows: 322px auto;
        row-gap: 20px;
    }

    .blogs-main-card--wide {
        width: 598px;
        height: 322px;
        grid-template-columns: 202px minmax(0, 1fr);
    }

    .blogs-main-card--wide .blogs-main-card__image--square {
        width: 202px;
        height: 322px;
    }

    .blogs-listing__pair {
        width: 598px;
        height: auto;
        grid-template-columns: 289px 289px;
        column-gap: 20px;
    }

    .blogs-main-card--compact {
        width: 289px;
        min-height: 0;
    }

    .blogs-main-card__image--compact {
        width: 289px;
        height: 192.56px;
    }

    .blogs-listing__defaults {
        width: 984px;
        max-width: 100%;
        gap: 20px;
    }

    .blogs-life > .container {
        max-width: 1024px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blogs-life__inner {
        width: 984px;
        height: auto;
    }

    .blogs-life__title {
        font-size: 42px;
    }

    .blogs-life__body {
        width: 984px;
        max-width: 100%;
        height: auto;
        grid-template-columns: repeat(3, 314.67px);
        gap: 20px;
    }

    .blogs-life-card {
        width: 314.67px;
        height: 626.38px;
        grid-template-rows: 227.38px 399px;
    }

    .blogs-life-card__image {
        width: 314.67px;
        height: 227.38px;
    }

    .blogs-life-card__content {
        width: 314.67px;
        height: 399px;
    }

    .blogs-life-card__title {
        font-size: 24px;
        line-height: 1.2;
    }

    .blogs-life--reference .blogs-life__body > .blogs-life-card:nth-child(n + 4) {
        display: none;
    }
}

/* -------------------------------------------------------------
   BLOGS hero
   768px..1023.98px  -> centered hero from tablet Figma
-------------------------------------------------------------- */
@media (max-width: 1023.98px) and (min-width: 768px) {
    .blogs-hero {
        --blogs-hero-top-gap: 20px;
        --blogs-hero-overlap: 90px;
        --blogs-hero-wordmark-underlay: var(--blogs-hero-wordmark-underlay-1023);
        --blogs-hero-wordmark-inline-shift: var(--blogs-hero-wordmark-inline-shift-1023);
        --blogs-hero-heading-max: 549px;
        --blogs-hero-wordmark-size: 82.47px;
        --blogs-hero-desc-max: 510px;
        --blogs-hero-desc-gap: 0;
        --blogs-hero-desc-size: 16px;
        --blogs-hero-desc-line: 24px;
        height: auto;
        padding-top: var(--blogs-hero-top-gap);
    }

    .blogs-hero__frame {
        max-width: 768px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blogs-hero__content {
        width: 728px;
        max-width: 100%;
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .blogs-hero__heading {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        width: var(--blogs-hero-heading-max);
        height: 253.74px;
        max-width: var(--blogs-hero-heading-max);
        margin: 0 104px 0 74px;
        align-self: flex-start;
        object-fit: contain;
    }

    .blogs-hero__wordmark {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        margin: calc((var(--blogs-hero-overlap) + var(--blogs-hero-wordmark-underlay)) * -1) 0 0;
        padding-left: var(--blogs-hero-wordmark-inline-shift);
        font-size: var(--blogs-hero-wordmark-size);
        line-height: 1.2;
        text-align: center;
    }

    .blogs-hero__desc {
        position: relative;
        top: auto;
        left: auto;
        width: min(100%, var(--blogs-hero-desc-max));
        max-width: 100%;
        margin: var(--blogs-hero-desc-gap) 0 0;
        font-size: var(--blogs-hero-desc-size);
        line-height: var(--blogs-hero-desc-line);
        text-align: center;
    }

    .blogs-filters {
        padding: 30px 0 40px;
    }

    .blogs-filters > .container,
    .blogs-listing > .container,
    .blogs-life > .container {
        max-width: 768px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blogs-filters__row,
    .blogs-filters__form {
        width: 728px;
        max-width: 100%;
    }

    .blogs-filters__form {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 0;
    }

    .blogs-filters__search {
        width: 100%;
        min-height: 64px;
        border-right: 1px solid #D8D8D8;
    }

    .blogs-filters__results-slot {
        width: 100%;
    }

    .blogs-filters__submit {
        width: 100%;
        min-height: 64px;
        padding-left: 30px;
        padding-right: 30px;
    }

    .blogs-listing {
        padding: 0 0 80px;
    }

    .blogs-listing > .container {
        display: block;
    }

    .blogs-listing__main,
    .blogs-listing__cluster,
    .blogs-listing__right,
    .blogs-listing__pair,
    .blogs-listing__defaults {
        width: 728px;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }

    .blogs-listing__defaults {
        margin-top: 40px;
    }

    .blogs-listing__cluster,
    .blogs-listing__right,
    .blogs-listing__pair {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .blogs-featured-card,
    .blogs-main-card,
    .blogs-main-card--vertical,
    .blogs-main-card--wide,
    .blogs-main-card--compact,
    .blogs-default-card {
        width: 100%;
        min-height: 308px;
        height: auto;
        display: flex;
        flex-direction: row;
        align-items: stretch;
        border: 0;
        box-shadow: inset 0 0 0 1px #EBEBEB;
        overflow: hidden;
    }

    .blogs-featured-card,
    .blogs-main-card,
    .blogs-main-card--vertical,
    .blogs-main-card--wide,
    .blogs-main-card--compact {
        grid-template-columns: none;
        grid-template-rows: none;
    }

    .blogs-featured-card__media,
    .blogs-featured-card__media-link,
    .blogs-main-card__media-link,
    .blogs-default-card__media-link {
        width: 364px;
        min-width: 364px;
        height: 308px;
        margin: 0;
        display: block;
        flex: 0 0 364px;
    }

    .blogs-featured-card__image,
    .blogs-main-card__image,
    .blogs-main-card__image--square,
    .blogs-main-card__image--compact,
    .blogs-default-card__image {
        width: 364px;
        height: 308px;
        object-fit: cover;
        aspect-ratio: auto;
    }

    .blogs-featured-card__content,
    .blogs-main-card__body,
    .blogs-main-card__body--padded,
    .blogs-main-card__body--compact,
    .blogs-default-card__body {
        width: auto;
        min-height: 308px;
        flex: 1 1 auto;
        margin: 0;
        padding: 20px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .blogs-main-card--vertical .blogs-main-card__body--padded {
        min-height: 0;
    }

    .blogs-featured-card__title,
    .blogs-main-card__title,
    .blogs-default-card__title {
        margin: 0;
        font-size: 20px;
        line-height: 1.2;
    }

    .blogs-featured-card__text,
    .blogs-main-card__text,
    .blogs-default-card__text {
        margin: 0;
        font-size: 14px;
        line-height: 20px;
    }

    .blogs-featured-card__link,
    .blogs-main-card__link,
    .blogs-default-card__link {
        margin: auto 0 0;
        align-self: flex-start;
        font-size: 14px;
        line-height: 20px;
    }

    .blogs-default-card:not(:has(.blogs-default-card__media-link)) {
        min-height: 0;
    }

    .blogs-default-card:not(:has(.blogs-default-card__media-link)) .blogs-default-card__body {
        width: 100%;
        min-height: 0;
        padding: 30px;
        gap: 30px;
    }

    .blogs-default-card:not(:has(.blogs-default-card__media-link)) .blogs-default-card__title {
        font-size: 24px;
    }

    .blogs-default-card:not(:has(.blogs-default-card__media-link)) .blogs-default-card__text {
        font-size: 16px;
        line-height: 24px;
    }

    .blogs-default-card:not(:has(.blogs-default-card__media-link)) .blogs-default-card__link {
        font-size: 16px;
        line-height: 24px;
    }

    .blogs-listing__empty {
        width: 728px;
        max-width: 100%;
        margin: 40px auto 0;
        grid-column: 1 / -1;
    }

    .blogs-life {
        margin-bottom: 93px;
    }

    .blogs-life__inner {
        width: 728px;
        max-width: 100%;
        height: auto;
    }

    .blogs-life__title {
        font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: 32px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: -0.03em;
    }

    .blogs-life__body {
        width: 728px;
        max-width: 100%;
        height: auto;
        margin-top: 20px;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 314.67px;
        gap: 20px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .blogs-life__body::-webkit-scrollbar {
        display: none;
    }

    .blogs-life-card {
        width: 314.67px;
        height: auto;
        grid-template-rows: 227.38px auto;
    }

    .blogs-life-card__image {
        width: 314.67px;
        height: 227.38px;
    }

    .blogs-life-card__content {
        width: 314.67px;
        padding: 20px;
    }

    .blogs-life-card__title {
        margin: 0;
        font-size: 20px;
        line-height: 1.2;
    }

    .blogs-life-card__text {
        margin: 16px 0 0;
        font-size: 14px;
        line-height: 1.4;
    }

    .blogs-life-card__link {
        margin-top: 16px;
        font-size: 14px;
        line-height: 1.4;
    }

    .blogs-life__scrollbar {
        position: relative;
        width: 728px;
        max-width: 100%;
        height: 1px;
        margin-top: 20px;
    }

    .blogs-life__scrollbar[hidden] {
        display: none !important;
    }

    .blogs-life__scrollbar:not([hidden]) {
        display: block;
    }

    .blogs-life__scrollbar-track {
        position: absolute;
        left: 0;
        top: 50%;
        width: 100%;
        height: 1px;
        background: #BFBFBF;
        transform: translateY(-50%);
    }

    .blogs-life__scrollbar-thumb {
        position: absolute;
        left: 0;
        top: 0;
        width: 488px;
        height: 4px;
        border-radius: 2px;
        background: #D7C9BF;
        will-change: transform;
    }

    .blogs-life--reference .blogs-life__body > .blogs-life-card:nth-child(n + 4) {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .blogs-hero {
        --blogs-hero-top-gap: 0px;
        --blogs-hero-heading-max: var(--mob-w, calc(100vw - 40px));
        /* Hero SVG image horizontal shift: +X right, -X left */
        --blogs-hero-heading-shift-x: calc(var(--mob-w) * -4 / 320);
        --blogs-hero-wordmark-size: calc(var(--mob-w) * 46.06 / 320);
        --blogs-hero-wordmark-gap: calc(var(--mob-w) * 8 / 320);
        /* Fine tune "CBC Imobiliare" position over hero SVG:
           +X => right, -X => left, +Y => down, -Y => up */
        --blogs-hero-wordmark-shift-x: calc(var(--mob-w) * -1 / 320);
        --blogs-hero-wordmark-shift-y: calc(var(--mob-w) * 5 / 320);
        --blogs-hero-desc-max: 100%;
        --blogs-hero-desc-gap: calc(var(--mob-w) * 15.69 / 320);
        --blogs-hero-desc-size: calc(var(--mob-w) * 12 / 320);
        --blogs-hero-desc-line: calc(var(--mob-w) * 16 / 320);
        padding-top: var(--blogs-hero-top-gap);
    }

    .blogs-hero__frame,
    .blogs-filters > .container,
    .blogs-listing > .container,
    .blogs-life > .container {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .blogs-hero__content {
        width: var(--mob-w, calc(100vw - 40px));
        max-width: 100%;
        align-items: flex-start;
    }

    .blogs-hero__heading {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 323.76 / 146.31;
        height: auto;
        margin: 0;
        object-fit: contain;
        transform: translateX(var(--blogs-hero-heading-shift-x));
    }

    .blogs-hero__wordmark {
        width: 100%;
        max-width: 100%;
        margin: calc((var(--mob-w) * 90 / 320) - (var(--mob-w) * 146.31 / 323.76)) 0 0;
        padding-left: 0;
        justify-content: flex-start;
        text-align: left;
        white-space: nowrap;
        font-size: var(--blogs-hero-wordmark-size);
        line-height: 1.2168;
        transform: translate(var(--blogs-hero-wordmark-shift-x), var(--blogs-hero-wordmark-shift-y));
    }

    .blogs-hero__desc {
        width: 100%;
        max-width: 100%;
        margin: var(--blogs-hero-desc-gap) 0 0;
        font-family: "Unbounded Light", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: var(--blogs-hero-desc-size);
        font-weight: 300;
        line-height: var(--blogs-hero-desc-line);
        text-align: left;
    }

    .blogs-filters {
        padding: calc(var(--mob-w) * 20 / 320) 0 calc(var(--mob-w) * 30 / 320);
    }

    .blogs-filters__row,
    .blogs-filters__form {
        width: 100%;
        max-width: 100%;
    }

    .blogs-filters__form {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 0;
    }

    .blogs-filters__search {
        width: 100%;
        min-height: calc(var(--mob-w) * 44 / 320);
        height: calc(var(--mob-w) * 44 / 320);
        padding: 0 calc(var(--mob-w) * 20 / 320);
        border-right: 1px solid #D8D8D8;
        background: #F2F2F2;
    }

    .blogs-filters__search-input {
        font-family: "Unbounded Light", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 12 / 320);
        font-weight: 300;
        line-height: calc(var(--mob-w) * 16 / 320);
    }

    .blogs-filters__search-input::placeholder {
        font-size: calc(var(--mob-w) * 12 / 320);
        line-height: calc(var(--mob-w) * 16 / 320);
    }

    .blogs-filters__submit {
        width: 100%;
        min-height: calc(var(--mob-w) * 44 / 320);
        height: calc(var(--mob-w) * 44 / 320);
        padding: 0 calc(var(--mob-w) * 20 / 320);
        font-family: "Unbounded", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 12 / 320);
        font-weight: 400;
        line-height: calc(var(--mob-w) * 16 / 320);
    }

    .blogs-listing {
        padding: 0 0 calc(var(--mob-w) * 74 / 320);
    }

    .blogs-listing__main,
    .blogs-listing__cluster,
    .blogs-listing__right,
    .blogs-listing__pair,
    .blogs-listing__defaults {
        width: 100%;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: calc(var(--mob-w) * 30 / 320);
    }

    .blogs-listing__defaults {
        margin-top: calc(var(--mob-w) * 30 / 320);
    }

    .blogs-featured-card,
    .blogs-main-card,
    .blogs-main-card--vertical,
    .blogs-main-card--wide,
    .blogs-main-card--compact,
    .blogs-default-card {
        width: 100%;
        min-height: 0;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        border: 0;
        box-shadow: inset 0 0 0 1px #EBEBEB;
        overflow: hidden;
    }

    .blogs-featured-card__media {
        margin: 0;
        width: 100%;
        height: auto;
    }

    .blogs-featured-card__media-link,
    .blogs-main-card__media-link,
    .blogs-default-card__media-link {
        width: 100%;
        min-width: 0;
        height: auto;
        display: block;
        margin: 0;
        flex: none;
    }

    .blogs-featured-card__image,
    .blogs-main-card__image,
    .blogs-main-card__image--square,
    .blogs-main-card__image--compact,
    .blogs-default-card__image {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 324 / 200;
        object-fit: cover;
    }

    .blogs-featured-card__content,
    .blogs-main-card__body,
    .blogs-main-card__body--padded,
    .blogs-main-card__body--compact,
    .blogs-default-card__body {
        width: 100%;
        min-height: 0;
        margin: 0;
        padding: calc(var(--mob-w) * 20 / 320);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .blogs-main-card__body--compact {
        margin-top: 0;
    }

    .blogs-featured-card__title,
    .blogs-main-card__title,
    .blogs-default-card__title {
        margin: 0;
        font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 16 / 320);
        font-weight: 700;
        line-height: 1.2;
    }

    .blogs-featured-card__text,
    .blogs-main-card__text,
    .blogs-default-card__text {
        margin: calc(var(--mob-w) * 16 / 320) 0 0;
        font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 14 / 320);
        font-weight: 400;
        line-height: 1.4;
    }

    .blogs-featured-card__link,
    .blogs-main-card__link,
    .blogs-default-card__link {
        margin-top: calc(var(--mob-w) * 16 / 320);
        align-self: flex-start;
        font-family: "Unbounded Light", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 14 / 320);
        font-weight: 300;
        line-height: 1.4;
    }

    .blogs-featured-card__link img,
    .blogs-main-card__link img,
    .blogs-default-card__link img {
        width: calc(var(--mob-w) * 20 / 320);
        height: calc(var(--mob-w) * 20 / 320);
        flex: 0 0 calc(var(--mob-w) * 20 / 320);
    }

    .blogs-listing__empty {
        width: 100%;
        max-width: 100%;
        margin: calc(var(--mob-w) * 30 / 320) 0 0;
    }

    .blogs-life {
        margin-bottom: calc(var(--mob-w) * 74 / 320);
    }

    .blogs-life__inner {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .blogs-life__header {
        min-height: 0;
        gap: calc(var(--mob-w) * 12 / 320);
    }

    .blogs-life__title {
        font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 24 / 320);
        font-weight: 700;
        line-height: 1;
        letter-spacing: -0.03em;
    }

    .blogs-life__all-link {
        font-family: "Unbounded Light", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 14 / 320);
        font-weight: 300;
        line-height: 1.4;
    }

    .blogs-life__body {
        width: 100%;
        max-width: 100%;
        height: auto;
        margin-top: calc(var(--mob-w) * 20 / 320);
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: calc(var(--mob-w) * 287 / 320);
        gap: calc(var(--mob-w) * 20 / 320);
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .blogs-life__body::-webkit-scrollbar {
        display: none;
    }

    .blogs-life-card {
        width: calc(var(--mob-w) * 287 / 320);
        height: calc(var(--mob-w) * 463.39 / 320);
        grid-template-rows: calc(var(--mob-w) * 207.39 / 320) minmax(0, 1fr);
    }

    .blogs-life-card__image {
        width: calc(var(--mob-w) * 287 / 320);
        height: calc(var(--mob-w) * 207.39 / 320);
    }

    .blogs-life-card__content {
        width: calc(var(--mob-w) * 287 / 320);
        padding: calc(var(--mob-w) * 20 / 320);
    }

    .blogs-life-card__title {
        margin: 0;
        font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 16 / 320);
        font-weight: 700;
        line-height: 1.2;
    }

    .blogs-life-card__text {
        margin: calc(var(--mob-w) * 16 / 320) 0 0;
        font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 14 / 320);
        font-weight: 400;
        line-height: 1.4;
    }

    .blogs-life-card__link {
        margin-top: calc(var(--mob-w) * 19.5 / 320);
        font-family: "Unbounded Light", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        font-size: calc(var(--mob-w) * 14 / 320);
        font-weight: 300;
        line-height: 1.4;
    }

    .blogs-life__scrollbar {
        position: relative;
        width: 100%;
        max-width: 100%;
        height: calc(var(--mob-w) * 1 / 320);
        margin-top: calc(var(--mob-w) * 20 / 320);
    }

    .blogs-life__scrollbar[hidden] {
        display: none !important;
    }

    .blogs-life__scrollbar:not([hidden]) {
        display: block;
    }

    .blogs-life__scrollbar-track {
        position: absolute;
        left: 0;
        top: 50%;
        width: 100%;
        height: calc(var(--mob-w) * 1 / 320);
        background: #BFBFBF;
        transform: translateY(-50%);
    }

    .blogs-life__scrollbar-thumb {
        position: absolute;
        left: 0;
        top: 0;
        width: calc(100% * 320 / 901);
        height: calc(var(--mob-w) * 4 / 320);
        border-radius: calc(var(--mob-w) * 2 / 320);
        background: #D7C9BF;
        will-change: transform;
    }

    .blogs-life--reference .blogs-life__body > .blogs-life-card:nth-child(n + 4) {
        display: none;
    }
}
