        @media (max-width: 1023px) {
            /* #map {
                height: 120vw !important;
            } */
        }

        body{
            touch-action: pan-y, pan-x;
        }


.leaflet-marker-icon {
        color: #fff;
        font-size: 20px;
        line-height: 25px;
        text-align: center;
        vertical-align: bottom;
        box-shadow: 2px 1px 4px rgba(0,0,0,0.2);
        border-radius: 30px;
        border-width: 3px;
        border: 2px solid #fff;
        justify-content:center;        
        opacity: .9;
        transition: background-color 0.25;
  }


/* .properties-filter-div .props-filter-apply-button{
    background: #033dfc;
    background:linear-gradient(130deg, #667eea 0%, #764ba2 100%)

} */

.map-collection-icon.leaflet-marker-icon {
    background: #033dfc;
    /* background:linear-gradient(130deg, #033dfc 0%, #764ba2 100%) */
}


.map-collection-icon.leaflet-marker-icon:hover {
    /* background: #033dfc; */
    /* background:linear-gradient(130deg, #764ba2 0%, #033dfc 100%) */
}


  .map-home-icon.leaflet-marker-icon {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="white" class="bi bi-house-fill" viewBox="0 0 16 16"> <path d="M8.707 1.5a1 1 0 0 0-1.414 0L.646 8.146a.5.5 0 0 0 .708.708L8 2.207l6.646 6.647a.5.5 0 0 0 .708-.708L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293z"/> <path d="m8 3.293 6 6V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5V9.293z"/></svg>');
    background-color: #03a1fc;
    background-repeat: no-repeat;
    background-position-x: 5px;
    background-position-y: 4px;
  }

  .mouseentered.leaflet-marker-icon{
    background-color:#05ad19; 
/*    background-color:#e68a00; */
  }


  .props_icon{
    width:24px;
    height:24px;
    display:inline-block;
  }

  .props_icon_bedrooms{
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%239BA2AB"><g></g><g><path d="M21 10.78V8c0-1.65-1.35-3-3-3h-4c-.77 0-1.47.3-2 .78-.53-.48-1.23-.78-2-.78H6C4.35 5 3 6.35 3 8v2.78c-.61.55-1 1.34-1 2.22v6h2v-2h16v2h2v-6c0-.88-.39-1.67-1-2.22zM14 7h4c.55 0 1 .45 1 1v2h-6V8c0-.55.45-1 1-1zM5 8c0-.55.45-1 1-1h4c.55 0 1 .45 1 1v2H5V8z"></path></g></svg>');  
    }

  .props_icon_bathrooms{
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="%239BA2AB"><g></g><g><g><g><circle cx="7" cy="7" r="2"></circle></g><g><path d="M20,13V4.83C20,3.27,18.73,2,17.17,2c-0.75,0-1.47,0.3-2,0.83l-1.25,1.25C13.76,4.03,13.59,4,13.41,4 c-0.4,0-0.77,0.12-1.08,0.32l2.76,2.76c0.2-0.31,0.32-0.68,0.32-1.08c0-0.18-0.03-0.34-0.07-0.51l1.25-1.25 C16.74,4.09,16.95,4,17.17,4C17.63,4,18,4.37,18,4.83V13h-6.85c-0.3-0.21-0.57-0.45-0.82-0.72l-1.4-1.55 c-0.19-0.21-0.43-0.38-0.69-0.5C7.93,10.08,7.59,10,7.24,10C6,10.01,5,11.01,5,12.25V13H2v6c0,1.1,0.9,2,2,2c0,0.55,0.45,1,1,1 h14c0.55,0,1-0.45,1-1c1.1,0,2-0.9,2-2v-6H20z"></path></g></g></g></svg>');        
    }

 .props_icon_feet{
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"  fill="%239BA2AB"><g></g><g><g><path d="M17.66,17.66l-1.06,1.06l-0.71-0.71l1.06-1.06l-1.94-1.94l-1.06,1.06l-0.71-0.71l1.06-1.06l-1.94-1.94l-1.06,1.06 l-0.71-0.71l1.06-1.06L9.7,9.7l-1.06,1.06l-0.71-0.71l1.06-1.06L7.05,7.05L5.99,8.11L5.28,7.4l1.06-1.06L4,4v14c0,1.1,0.9,2,2,2 h14L17.66,17.66z M7,17v-5.76L12.76,17H7z"></path></g></g></svg>');
    }

 .props_icon_loc{
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"  fill="%239BA2AB"><path d="M0 0h24v24H0z" fill="none"></path><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></svg>');
  }

 .props_icon_time{
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"  fill="%239BA2AB"><g><rect fill="none"  ></rect></g><g><g><rect height="2" width="6" x="9" y="1"></rect><path d="M19.03,7.39l1.42-1.42c-0.43-0.51-0.9-0.99-1.41-1.41l-1.42,1.42C16.07,4.74,14.12,4,12,4c-4.97,0-9,4.03-9,9 c0,4.97,4.02,9,9,9s9-4.03,9-9C21,10.88,20.26,8.93,19.03,7.39z M13,14h-2V8h2V14z"></path></g></g></svg>');
    }

 .props_icon_building{
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"  fill="%239BA2AB"><g><rect fill="none" height="24" width="24"></rect></g><g><path d="M17,11V3H7v4H3v14h8v-4h2v4h8V11H17z M7,19H5v-2h2V19z M7,15H5v-2h2V15z M7,11H5V9h2V11z M11,15H9v-2h2V15z M11,11H9V9h2 V11z M11,7H9V5h2V7z M15,15h-2v-2h2V15z M15,11h-2V9h2V11z M15,7h-2V5h2V7z M19,19h-2v-2h2V19z M19,15h-2v-2h2V15z"></path></g></svg>');

    }


    .properties_markdown{
        color:rgb(53, 62, 77);
        line-height: 1.625;
    }

    .properties_markdown h2{
        color:rgb(17, 24, 38);
        font-weight: 600;
        font-size: 1.125rem;
        line-height: 1.75rem;
        padding-top:10px;
        padding-bottom:10px;
        text-align: center;
    }

    .properties_markdown ul{
        list-style: inside;
    }

    .properties_markdown strong{
        color:rgb(31, 48, 83);

    }


    .properties_markdown li::marker{
        color: rgb(40, 102, 238);
    }


    .properties_markdown li{
        gap: 0.5rem;
        padding-left:15px;
        margin-top:5px;
    }


    .properties_markdown table{
        border-collapse: collapse;
        margin: 25px 0;
        font-size: 0.9em;
        font-family: sans-serif;
        width:100%;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
    }

    .properties_markdown thead tr {
        background-color: #104e9e;
        color: #ffffff;
        text-align: center;
    }

    .properties_markdown th,
    .properties_markdown td {
        padding: 12px 15px;
    }

    .properties_markdown tbody tr {
        border-bottom: 1px solid #dddddd;
    }

    .properties_markdown tbody tr:nth-of-type(even) {
        background-color: #f3f3f3;
    }

    .properties_markdown tbody tr:last-of-type {
        border-bottom: 2px solid #336ff1;
    }

    .props_filter_city_invisible{
        display:none;
    }

    .likes_button.liked{
        --tw-text-opacity: 1;
        color: rgb(240, 70, 70);
    }


    .props_photo_bg{
        background-image:url('img/props-no-photo.svg');
        background-size: contain;
        background-position: center;
        background-color:silver;
        background-repeat:no-repeat;
        color:gray;
    
    }

    /* .properties-filter-1stcolumn{
    }

    .properties-filter-1stcolumn button{
    } */


        #navbar-default li a{
            transform: translateY(0);
            transition: all 0.3s ease;        
        }

        #navbar-default li a:hover{
                transform: translateY(-2px);
        }

        #header-nav-sign-in-button{
            background: linear-gradient(130deg, #667eea 0%, #764ba2 100%); 
            transform: translateY(0);
            transition: all 0.3s ease;
        }

        #header-nav-sign-in-button:hover{
             background: linear-gradient(135deg, #7288ec 0%, #7f70c5 100%); 
             cursor: pointer;
            transform: translateY(-2px);
            box-shadow: 0 7px 14px rgba(102, 126, 234, 0.4);
        }


        .translate-shadow-effect{
            transform: translateY(0);
            transition: all 0.3s ease;
        }

        .translate-shadow-effect:hover{
             cursor: pointer;
            transform: translateY(-2px);
            box-shadow: 0 7px 14px rgba(102, 126, 234, 0.4);
        }

        .unrealium-header-logo:hover{
            border-radius: 10px;
        }

        /* Header Dropdown Enhancements */
        #header-search-menu-dropdown a, #header-user-menu-dropdown a {
            transition: background-color 0.15s ease, color 0.15s ease;
        }

        #header-user-avatar-btn:hover {
            box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3);
        }

        .review-rating-fieldset { border: 0; padding: 0; margin: 0; }
        .review-rating-fieldset legend { font-weight: 600; margin-bottom: 0.25rem; }
        .review-star-rating { display: inline-flex; align-items: center; gap: 0.15rem; min-height: 2.5rem; }
        .review-star { position: relative; display: inline-flex; align-items: center; cursor: pointer; color: #cbd5e1; font-size: 2rem; line-height: 1; transition: color 0.15s ease, transform 0.15s ease; }
        .review-star:hover, .review-star:has(input:focus-visible) { color: #fbbf24; transform: scale(1.08); }
        .review-star > [data-rating-star] { color: inherit; transition: color 0.15s ease; }
        .review-star > [data-rating-star].is-selected { color: #f59e0b; }
        .review-star__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

        .listing-owner-card {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin: 0 0 1.5rem;
            padding: 0.85rem 1rem;
            border: 1px solid rgb(226 232 240);
            border-radius: 0.75rem;
            background: rgb(248 250 252);
        }

        .listing-owner-card__avatar {
            width: 3rem;
            height: 3rem;
            flex: 0 0 3rem;
            border-radius: 9999px;
            object-fit: cover;
            background: rgb(226 232 240);
        }

        .listing-owner-card__avatar--fallback {
            display: flex;
            align-items: center;
            justify-content: center;
            color: rgb(30 64 175);
            font-weight: 700;
            font-size: 1.25rem;
        }

        .listing-owner-card__body { min-width: 0; }
        .listing-owner-card__eyebrow {
            margin: 0;
            color: rgb(100 116 139);
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .listing-owner-card__name {
            display: block;
            font-weight: 700;
            overflow-wrap: anywhere;
        }
        .listing-owner-card__link { display: inline-block; margin-top: 0.35rem; color: rgb(30 64 175); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
        .listing-owner-card__link:focus-visible { outline: 2px solid rgb(59 130 246); outline-offset: 3px; border-radius: 0.15rem; }
        .listing-owner-card__meta { margin: 0.1rem 0 0; color: rgb(71 85 105); font-size: 0.875rem; }

        @media (max-width: 640px) {
            .listing-owner-card { align-items: flex-start; margin-bottom: 1rem; }
        }

/* Day 12 shared property-detail experience. */
.property-page-shell { width: min(100% - 2rem, 80rem); margin: 0 auto; padding: 2rem 0 5rem; }
.property-breadcrumb { display: flex; gap: .5rem; align-items: center; margin: 0 0 1rem; color: #64748b; font-size: .875rem; min-width: 0; }
.property-breadcrumb a { color: #4338ca; text-decoration: underline; text-underline-offset: 3px; }
.property-breadcrumb span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.property-detail { --property-accent: #5b21b6; color: #172033; background: #fff; }
.property-detail--modal {
    width: 100%;
    padding: 1rem clamp(1.25rem, 3vw, 2rem) 5rem;
}
.property-gallery { position: relative; overflow: hidden; border-radius: 1.25rem; background: #e2e8f0; }
.property-gallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 15rem)); gap: .35rem; min-height: 30rem; }
.property-gallery__item { position: relative; min-width: 0; overflow: hidden; background: #cbd5e1; cursor: zoom-in; border: 0; padding: 0; }
.property-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
.property-gallery__item:nth-child(n+6) { display: none; }
.property-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease, filter .2s ease; }
.property-gallery__item:hover img { transform: scale(1.015); filter: brightness(.94); }
.property-gallery__item:focus-visible { z-index: 2; outline: 4px solid #f59e0b; outline-offset: -4px; }
.property-gallery__item.is-broken::after { content: "Image unavailable"; position: absolute; inset: 0; display: grid; place-items: center; color: #475569; background: #e2e8f0; }
.property-gallery[data-photo-count="1"] .property-gallery__grid { display: block; min-height: 0; }
.property-gallery[data-photo-count="1"] .property-gallery__item { display: block; width: 100%; aspect-ratio: 16 / 8; }
.property-gallery[data-photo-count="2"] .property-gallery__grid { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(22rem, 50vw); min-height: 0; }
.property-gallery[data-photo-count="2"] .property-gallery__item:first-child { grid-column: auto; grid-row: auto; }
.property-gallery[data-photo-count="3"] .property-gallery__grid,
.property-gallery[data-photo-count="4"] .property-gallery__grid { grid-template-columns: 2fr 1fr; }
.property-gallery[data-photo-count="3"] .property-gallery__item:first-child,
.property-gallery[data-photo-count="4"] .property-gallery__item:first-child { grid-column: auto; }
.property-gallery__empty { display: grid; place-items: center; min-height: 26rem; background: linear-gradient(135deg,#e0e7ff,#f1f5f9); color: #64748b; font-weight: 700; }
.property-gallery__empty a { color: #4c1d95; text-decoration: underline; text-underline-offset: .2em; }
.property-gallery__all { position: absolute; right: 1rem; bottom: 1rem; padding: .7rem 1rem; border: 1px solid #cbd5e1; border-radius: .75rem; background: rgba(255,255,255,.95); color: #172033; font-weight: 700; box-shadow: 0 5px 20px rgba(15,23,42,.15); }
.property-gallery__mobile-controls { display: none; }
.property-summary { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; padding: 1.75rem 0; border-bottom: 1px solid #e2e8f0; }
.property-summary h1 { max-width: 52rem; margin: .25rem 0; font-size: clamp(1.75rem,4vw,2.65rem); line-height: 1.12; font-weight: 800; overflow-wrap: anywhere; }
.property-summary__status { display: inline-flex; padding: .35rem .65rem; border-radius: 9999px; background: #dcfce7; color: #166534; font-size: .8rem; font-weight: 700; }
.property-summary__status.is-unavailable { background: #fee2e2; color: #991b1b; }
.property-summary__location { color: #64748b; }
.property-summary__price { margin-top: .65rem; color: #111827; font-size: 1.55rem; font-weight: 800; }
.property-summary__actions { display: flex; gap: .65rem; flex-shrink: 0; }
.property-action { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.75rem; padding: .65rem .9rem; border: 1px solid #cbd5e1; border-radius: .75rem; background: #fff; font-weight: 700; }
.property-action:hover { background: #f8fafc; }
.property-action--report { justify-content: center; min-width: 2.75rem; cursor: pointer; font-size: 1.25rem; color: #64748b; }
.property-report-dialog select { display: block; width: 100%; margin-top: .45rem; padding: .85rem; border: 1px solid #cbd5e1; border-radius: .3rem; background: #f7f7fa; color: #172033; font: inherit; font-weight: 400; }
.property-action:focus-visible, .property-inquiry a:focus-visible, .property-nearby a:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
.property-detail__columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,22rem); gap: clamp(2rem,5vw,4.5rem); align-items: start; }
.property-section { padding: 2rem 0; border-bottom: 1px solid #e2e8f0; }
.property-section h2 { margin: 0 0 1rem; font-size: 1.45rem; line-height: 1.25; font-weight: 800; }
.property-section__heading-row { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.property-section__heading-row a, .property-section__heading-row button { color: #4f46e5; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.property-section__empty { color: #64748b; font-style: italic; }
.property-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.property-facts div { min-width: 0; padding: .9rem 1rem; border-radius: .8rem; background: #f8fafc; }
.property-facts dt { color: #64748b; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.property-facts dd { margin: .25rem 0 0; font-weight: 700; overflow-wrap: anywhere; }
.property-description p { margin: 0 0 1rem; white-space: pre-line; line-height: 1.75; overflow-wrap: anywhere; }
.property-amenities { display: flex; flex-wrap: wrap; gap: .65rem; }
.property-amenities li { padding: .65rem .85rem; border: 1px solid #c7d2fe; border-radius: 9999px; background: #eef2ff; color: #3730a3; font-weight: 650; }
.property-inquiry { padding-top: 2rem; }
.property-inquiry__card { position: sticky; top: 6rem; max-height: calc(100vh - 7rem); overflow: auto; padding: 1.25rem; border: 1px solid #dbe1ea; border-radius: 1rem; background: #fff; box-shadow: 0 16px 40px rgba(15,23,42,.1); }
.property-original-listing { padding: 1rem; border-radius: .75rem; background: #f3f6fa; }
.property-original-listing h2 { margin: 0 0 1rem; font-size: 1.1rem; font-weight: 700; }
.property-original-listing dl { display: grid; gap: .75rem; }
.property-original-listing dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: .75rem; }
.property-original-listing dt { color: #64748b; }
.property-original-listing dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.property-original-listing a { color: #1261ba; }
.property-original-listing a:hover { text-decoration: underline; }
.property-source-notice { display: flex; align-items: flex-start; gap: .5rem; margin-top: .75rem; color: #64748b; font-size: .9rem; line-height: 1.5; }
.property-source-notice strong { color: #172033; font-weight: 700; }
.property-inquiry .listing-owner-card { margin: 1rem 0; padding: .8rem 0; border-width: 1px 0; border-radius: 0; background: transparent; }
.property-inquiry__primary, .property-inquiry__secondary { display: flex; justify-content: center; align-items: center; min-height: 3rem; margin-top: .75rem; padding: .75rem 1rem; border-radius: .75rem; font-weight: 800; text-align: center; }
.property-inquiry__primary { background: linear-gradient(135deg,#6d28d9,#a21caf); color: #fff; }
.property-inquiry__secondary { border: 1px solid #6d28d9; color: #5b21b6; }
.property-inquiry__source { margin-top: 1rem; padding: 1rem; border-radius: .75rem; background: #f8fafc; }
.property-inquiry__source p, .property-inquiry__help { margin-top: .35rem; color: #64748b; font-size: .85rem; line-height: 1.5; }
.property-claim__eyebrow { margin: 0 0 .3rem !important; color: #92400e !important; font-size: .72rem !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.property-claim__state:not(:empty) { margin-top: .8rem; padding: .75rem; border: 1px solid #fde68a; border-radius: .65rem; background: #fffbeb; }
.property-claim__button { width: 100%; border: 0; cursor: pointer; }
.property-claim__withdraw { margin-top: .45rem; padding: 0; border: 0; background: transparent; color: #991b1b; font-size: .8rem; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.property-claim-dialog { width: min(100% - 2rem,50rem); max-height: calc(100dvh - 2rem); padding: 0; overflow: auto; border: 1px solid #e2e8f0; border-radius: 1.25rem; color: #172033; box-shadow: 0 30px 80px rgba(15,23,42,.3); }
.property-claim-dialog::backdrop { background: rgba(15,23,42,.7); backdrop-filter: blur(2px); }
.property-claim-dialog form { display: grid; gap: 1.15rem; padding: clamp(1.25rem,4vw,2rem); }
.property-claim-dialog__header { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: .8rem; align-items: center; }
.property-claim-dialog__icon { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: .8rem; background: #f3e8ff; color: #7e22ce; font-size: 1.25rem; font-weight: 900; }
.property-claim-dialog__eyebrow { margin: 0 0 .15rem; color: #7e22ce; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.property-claim-dialog h2 { margin: 0; font-size: 1.55rem; line-height: 1.15; font-weight: 800; }
.property-claim-dialog__badge { padding: .35rem .55rem; border: 1px solid #f2c66d; border-radius: .5rem; color: #92400e; font-size: .65rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.property-claim-dialog__close { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 9999px; color: #64748b; font-size: 1.5rem; line-height: 1; }
.property-claim-dialog__close:hover { background: #f1f5f9; color: #111827; }
.property-claim-dialog__property { display: grid; grid-template-columns: 8.5rem minmax(0,1fr); gap: 1rem; padding: .8rem; border: 1px solid #e2e8f0; border-radius: 1rem; background: #f8fafc; }
.property-claim-dialog__property img, .property-claim-dialog__photo-placeholder { width: 100%; height: 6.5rem; border-radius: .75rem; object-fit: cover; }
.property-claim-dialog__photo-placeholder { display: grid; place-items: center; background: linear-gradient(135deg,#ede9fe,#f8fafc); color: #7e22ce; font-size: 2rem; }
.property-claim-dialog__property-copy { display: flex; min-width: 0; flex-direction: column; gap: .2rem; justify-content: center; }
.property-claim-dialog__property-copy strong { overflow-wrap: anywhere; font-size: 1.05rem; }
.property-claim-dialog__property-copy span { color: #64748b; font-size: .82rem; }
.property-claim-dialog__property-copy .property-claim-dialog__price { color: #172033; font-size: 1rem; font-weight: 800; }
.property-claim-dialog__property-copy a { width: fit-content; color: #6d28d9; font-size: .8rem; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.property-claim-dialog__steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; padding: 0; list-style: none; }
.property-claim-dialog__steps li { display: flex; min-width: 0; gap: .55rem; align-items: flex-start; padding: .7rem; border-radius: .75rem; background: #faf5ff; }
.property-claim-dialog__steps li > span { display: grid; flex: 0 0 auto; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 9999px; background: #f3e8ff; color: #7e22ce; font-size: .75rem; font-weight: 800; }
.property-claim-dialog__steps div { display: flex; min-width: 0; flex-direction: column; gap: .15rem; }
.property-claim-dialog__steps strong { font-size: .78rem; }
.property-claim-dialog__steps small { color: #64748b; font-size: .68rem; line-height: 1.35; }
.property-claim-dialog fieldset { display: grid; gap: .7rem; padding: 1rem; border: 1px solid #cbd5e1; border-radius: .8rem; }
.property-claim-dialog legend { padding: 0 .4rem; font-weight: 800; }
.property-claim-dialog fieldset label, .property-claim-dialog__attestation { display: flex; gap: .65rem; align-items: flex-start; }
.property-claim-dialog input[type="radio"], .property-claim-dialog input[type="checkbox"] { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin-top: .15rem; }
.property-claim-evidence { display: grid; gap: .85rem; padding: 1rem; border: 1px solid #d8b4fe; border-radius: .9rem; background: #fdfaff; }
.property-claim-evidence__heading { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.property-claim-evidence__heading h3, .property-claim-forbidden h3 { margin: 0; font-size: 1rem; font-weight: 800; }
.property-claim-evidence__heading > span { color: #64748b; font-size: .72rem; white-space: nowrap; }
.property-claim-evidence > label { display: grid; gap: .35rem; color: #334155; font-size: .82rem; font-weight: 750; }
.property-claim-evidence label > span { color: #64748b; font-weight: 500; }
.property-claim-evidence select, .property-claim-evidence input[type="text"], .property-claim-evidence input[type="file"] { width: 100%; min-height: 2.75rem; padding: .65rem .75rem; border: 1px solid #cbd5e1; border-radius: .65rem; background: #fff; color: #172033; }
.property-claim-evidence input[type="file"] { padding: .5rem; }
.property-claim-evidence input[type="file"]::file-selector-button { margin-right: .7rem; padding: .5rem .7rem; border: 0; border-radius: .5rem; background: #ede9fe; color: #5b21b6; font-weight: 750; }
.property-claim-evidence__requirements { padding: .7rem .8rem; border-radius: .65rem; background: #ede9fe; color: #4c1d95; font-size: .8rem; line-height: 1.45; }
.property-claim-evidence__identity { margin: 0; color: #64748b; font-size: .78rem; line-height: 1.45; }
.property-claim-evidence__unavailable { padding: .8rem; border: 1px solid #f2c66d; border-radius: .7rem; background: #fffbeb; color: #78350f; font-size: .82rem; line-height: 1.5; }
.property-claim-forbidden { padding: .85rem 1rem; border: 1px solid #fecaca; border-radius: .8rem; background: #fff7f7; }
.property-claim-forbidden h3 { color: #991b1b; }
.property-claim-forbidden ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .3rem 1rem; margin: .55rem 0; padding-left: 1.1rem; color: #7f1d1d; font-size: .78rem; }
.property-claim-forbidden p { margin: 0; color: #64748b; font-size: .76rem; }
.property-claim-dialog__notice, [data-property-claim-status] { color: #64748b; font-size: .85rem; line-height: 1.5; }
.property-claim-dialog__actions { display: flex; justify-content: flex-end; gap: .75rem; }
.property-claim-dialog__actions button { min-height: 2.8rem; padding: .7rem 1.1rem; border-radius: .7rem; font-weight: 750; }
.property-claim-dialog__cancel { border: 1px solid #cbd5e1; }
.property-claim-dialog__actions button[type="submit"] { background: linear-gradient(135deg,#6d28d9,#a21caf); color: #fff; box-shadow: 0 8px 20px rgba(126,34,206,.2); }
.property-claim-dialog__actions button:disabled { cursor: wait; opacity: .65; }
.property-location__map { position: relative; z-index: 0; isolation: isolate; height: min(28rem,60vw); min-height: 20rem; margin-top: 1rem; overflow: hidden; border-radius: 1rem; }
.property-location__map #map,
.property-location__modal-map { height: 100% !important; min-height: 20rem; }
.property-location__modal-map { position: absolute; inset: 0; width: 100%; }
.property-nearby { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin-top: 1rem; }
.property-nearby a { padding: .8rem; border: 1px solid #dbe1ea; border-radius: .75rem; color: #4338ca; font-weight: 700; }
.property-nearby__note { margin-top: .8rem; color: #64748b; font-size: .8rem; }
.property-review-summary { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-bottom: 1rem; }
.property-review-star { color: #cbd5e1; font-size: 1.25rem; }
.property-review-star.is-filled { color: #f59e0b; }
.property-similar { border-bottom: 0; }
.property-similar__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 1rem; }
.property-similar-card { min-width: 0; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; }
.property-similar-card > a { display: block; min-width: 0; }
.property-similar-card__media { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; background: #e2e8f0; color: #64748b; }
.property-time-badge { position: absolute; z-index: 1; top: 10px; left: 10px; max-width: calc(100% - 20px); padding: 4px 10px; border-radius: 999px; background: #fff; color: #172033; font-size: 12px; font-weight: 700; line-height: 1.4; }
.property-time-badge[hidden] { display: none; }
.property-listing-info { margin-top: 1.25rem; color: #334155; font-size: .95rem; line-height: 1.7; overflow-wrap: anywhere; }
.property-listing-info p + p { margin-top: .5rem; }
.property-listing-info__origin { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.property-listing-info__origin .property-source-badge { margin-left: 0; }
.property-listing-info a:not(.property-source-badge) { color: #2563eb; text-decoration: underline; text-underline-offset: 3px; }
.property-similar-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.property-similar-card__body { padding: 1rem; }
.property-search-card__media { position: relative; flex-shrink: 0; min-height: 220px; overflow: hidden; border-radius: 1rem 0 0 1rem; }
.property-search-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.listing-card-metadata { display: flex; flex-direction: column; gap: .2rem; margin-top: .75rem; padding-top: .65rem; border-top: 1px solid #e2e8f0; color: #64748b; font-size: .75rem; line-height: 1.45; font-weight: 400; overflow-wrap: anywhere; }
.property-similar-card > .listing-card-metadata { margin: 0 1rem 1rem; }
.property-similar-card__body h3 { font-weight: 800; overflow-wrap: anywhere; }
.property-similar-card__body p { margin-top: .25rem; color: #64748b; font-size: .9rem; }
.property-similar-card__footer { display: flex; align-items: center; gap: .75rem; padding: 0 1rem 1rem; }
.property-similar-card__footer .property-similar-card__price { color: #172033; font-size: 1.05rem; font-weight: 800; }
.property-gallery-viewer { position: fixed; inset: 0; box-sizing: border-box; width: 100%; max-width: 100%; height: 100%; max-height: 100%; margin: 0; padding: 0; border: 0; background: #070b14; color: #fff; }
.property-gallery-viewer::backdrop { background: rgba(3,7,18,.96); }
.property-gallery-viewer__toolbar { position: absolute; z-index: 2; top: 0; right: 0; left: 0; display: flex; justify-content: space-between; align-items: center; padding: max(1rem,env(safe-area-inset-top)) 1rem 1rem; background: linear-gradient(#070b14,transparent); }
.property-gallery-viewer__toolbar button { width: 3rem; height: 3rem; border-radius: 9999px; font-size: 2rem; }
.property-gallery-viewer__stage { display: grid; place-items: center; box-sizing: border-box; width: 100%; height: 100%; overflow: hidden; padding: 5rem clamp(4.5rem,8vw,7rem); }
.property-gallery-viewer__stage img { display: none; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.property-gallery-viewer__stage img.is-active { display: block; }
.property-gallery-viewer__stage.is-broken::after { content: "Image unavailable"; color: #cbd5e1; font-weight: 700; }
.property-gallery-viewer__stage.is-broken img.is-active { display: none; }
.property-gallery-viewer__previous, .property-gallery-viewer__next { position: absolute; z-index: 2; top: 50%; width: 3.5rem; height: 3.5rem; transform: translateY(-50%); border-radius: 9999px; background: rgba(255,255,255,.14); font-size: 2.5rem; }
.property-gallery-viewer__previous { left: 1rem; }
.property-gallery-viewer__next { right: 1rem; }
.property-review-dialog { width: min(100% - 2rem,34rem); max-height: calc(100dvh - 2rem); padding: 1.5rem; border: 0; border-radius: 1rem; }
.property-review-dialog::backdrop { background: rgba(15,23,42,.72); }
.property-review-dialog form { display: grid; gap: .8rem; }
.property-review-dialog h2 { font-size: 1.4rem; font-weight: 800; }
.property-review-dialog textarea { display: block; width: 100%; min-height: 6rem; margin-top: .35rem; padding: .65rem; border: 1px solid #cbd5e1; border-radius: .5rem; }
.property-review-dialog__actions { display: flex; justify-content: flex-end; gap: .75rem; }
.property-review-dialog__actions button { min-height: 2.75rem; padding: .65rem 1rem; border-radius: .6rem; font-weight: 700; }
.property-review-dialog__actions button[type="submit"] { background: #5b21b6; color: #fff; }
.property-mobile-action { display: none; }
body.property-overlay-open { overflow: hidden; }
#prop-modal { z-index: 1000; }
#prop-modal.property-modal-active > .modal-panel { width: min(76rem,calc(100% - 1.5rem)); max-width: 76rem; }
#prop-modal.property-modal-active > .modal-panel > div { overflow: visible; border-radius: 1.25rem; }
#prop-modal.property-modal-active .modal-header { position: sticky; z-index: 100; top: 0; display: flex; min-height: 4rem; padding: .75rem 1rem; border-bottom: 1px solid #e2e8f0; background: rgba(255,255,255,.98); box-shadow: 0 2px 10px rgba(15,23,42,.08); }
#prop-modal.property-modal-active .modal-header h3 { margin: 0; color: #172033; font-size: 1.05rem; font-weight: 800; }
#prop-modal.property-modal-active .modal-header button { flex: 0 0 auto; border: 1px solid #cbd5e1; background: #fff; }
#prop-modal.property-modal-active .modal-header button:hover { background: #f8fafc; }
.property-detail--modal { --property-modal-header-height: 4rem; }
.property-quick-nav { position: sticky; z-index: 90; top: var(--property-modal-header-height); display: flex; justify-content: center; gap: .25rem; box-sizing: border-box; max-height: 0; margin: 0; padding: 0; overflow: hidden; border-bottom: 0; opacity: 0; visibility: hidden; transform: translateY(-.5rem); background: rgba(255,255,255,.98); box-shadow: 0 6px 12px -12px rgba(15,23,42,.35); transition: max-height .2s ease, margin .2s ease, padding .2s ease, opacity .16s ease, transform .2s ease; }
.property-quick-nav.is-visible { max-height: 5rem; margin: 1.25rem 0 0; padding: .65rem 0; overflow-x: auto; overflow-y: hidden; border-bottom: 1px solid #e2e8f0; opacity: 1; visibility: visible; transform: translateY(0); scrollbar-width: thin; }
.property-quick-nav button { flex: 0 0 auto; min-height: 2.5rem; padding: .5rem .85rem; border: 0; border-radius: .55rem; color: #475569; background: transparent; font-size: .9rem; font-weight: 750; white-space: nowrap; }
.property-quick-nav button:hover { color: #4c1d95; background: #f5f3ff; }
.property-quick-nav button[aria-current="true"] { color: #fff; background: #5b21b6; box-shadow: 0 2px 6px rgba(91,33,182,.26); }
.property-quick-nav button:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
.property-detail--modal [data-property-section] { scroll-margin-top: calc(var(--property-modal-header-height) + 4.25rem); }

@media (max-height: 680px) and (min-width: 901px) {
    .property-inquiry__card { position: static; max-height: none; overflow: visible; }
}
@media (max-width: 900px) {
    .property-detail__columns { grid-template-columns: 1fr; gap: 0; }
    .property-inquiry { grid-row: 1; }
    .property-inquiry__card { position: static; max-height: none; overflow: visible; box-shadow: none; }
    .property-similar__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .property-page-shell { width: 100%; padding: 0 0 6.5rem; }
    .property-breadcrumb { padding: .75rem 1rem; margin: 0; }
    .property-detail--modal { width: 100%; padding: 1rem .75rem 6.5rem; }
    .property-quick-nav { justify-content: flex-start; }
    .property-quick-nav.is-visible { margin-top: 1rem; }
    .property-gallery { border-radius: 0; }
    .property-detail--modal .property-gallery { border-radius: .9rem; }
    .property-gallery__grid, .property-gallery[data-photo-count] .property-gallery__grid { display: flex; min-height: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .property-gallery__grid::-webkit-scrollbar { display: none; }
    .property-gallery__item, .property-gallery[data-photo-count] .property-gallery__item:first-child { display: block; flex: 0 0 100%; width: 100%; aspect-ratio: 4 / 3; scroll-snap-align: start; }
    .property-gallery__grid .property-gallery__item:nth-child(n+6) { display: block; }
    .property-gallery__all { display: none; }
    .property-gallery__mobile-controls { position: absolute; right: .75rem; bottom: .75rem; display: flex; align-items: center; gap: .4rem; padding: .25rem; border-radius: 9999px; background: rgba(15,23,42,.76); color: #fff; }
    .property-gallery__mobile-controls button { width: 2.4rem; height: 2.4rem; font-size: 1.5rem; }
    .property-summary { align-items: flex-start; flex-direction: column; padding: 1.25rem 1rem; }
    .property-summary__actions { width: 100%; }
    .property-action { flex: 1; justify-content: center; }
    .property-detail__columns, .property-similar { padding: 0 1rem; }
    .property-detail--modal .property-summary { padding-right: .25rem; padding-left: .25rem; }
    .property-detail--modal .property-detail__columns,
    .property-detail--modal .property-similar { padding-right: .25rem; padding-left: .25rem; }
    .property-facts { grid-template-columns: 1fr 1fr; }
    .property-nearby { grid-template-columns: 1fr; }
    .property-similar__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; }
    .property-similar-card { flex: 0 0 82%; scroll-snap-align: start; }
    .property-location__map { height: 22rem; }
    .property-gallery-viewer__stage { padding: 4rem .5rem 5.25rem; }
    .property-gallery-viewer__previous, .property-gallery-viewer__next { top: auto; bottom: max(1rem,env(safe-area-inset-bottom)); }
    .property-claim-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); border-radius: 1rem; }
    .property-claim-dialog form { gap: 1rem; padding: 1rem; }
    .property-claim-dialog__header { grid-template-columns: auto minmax(0,1fr) auto; }
    .property-claim-dialog__badge { grid-column: 2; width: fit-content; }
    .property-claim-dialog__close { grid-column: 3; grid-row: 1; }
    .property-claim-dialog__property { grid-template-columns: 6rem minmax(0,1fr); }
    .property-claim-dialog__property img, .property-claim-dialog__photo-placeholder { height: 5.5rem; }
    .property-claim-dialog__steps { grid-template-columns: 1fr; }
    .property-claim-evidence__heading { display: grid; }
    .property-claim-evidence__heading > span { white-space: normal; }
    .property-claim-forbidden ul { grid-template-columns: 1fr; }
    .property-claim-dialog__actions { position: sticky; bottom: -1rem; margin: 0 -1rem -1rem; padding: .8rem 1rem max(.8rem,env(safe-area-inset-bottom)); border-top: 1px solid #e2e8f0; background: rgba(255,255,255,.98); }
    .property-mobile-action { position: fixed; z-index: 80; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 4.25rem; padding: .65rem 1rem max(.65rem,env(safe-area-inset-bottom)); border-top: 1px solid #dbe1ea; background: rgba(255,255,255,.97); box-shadow: 0 -8px 25px rgba(15,23,42,.12); font-weight: 800; }
    .property-mobile-action a, .property-mobile-action button { padding: .7rem 1rem; border-radius: .7rem; background: #5b21b6; color: #fff; text-align: center; }
    body.property-gallery-open .property-mobile-action, body.property-review-open .property-mobile-action, body.property-claim-open .property-mobile-action { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .property-gallery__item img { transition: none; }
    .property-detail * { scroll-behavior: auto !important; }
}

/* Search toolbar above the results/map split. */
.properties-toolbar { position: relative; z-index: 60; padding-top: 8px; padding-bottom: 8px; }
.properties-filter-row { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; }
.properties-filter-row > * { flex-shrink: 0; }
.properties-filter-row #property-address-wrapper { margin-right: 16px; }
.properties-filter-row > input[type="hidden"] { display: none; }
.properties-filter-row button, .properties-filter-row label { white-space: nowrap; }
.properties-filter-user:empty { display: none; }
.properties-filter-user { margin-bottom: 6px; }
@media (max-width: 1100px) {
 .properties-filter-row { overflow-x: auto; padding-bottom: 6px; }
 .properties-filter-row .tw-dropdown-menu { position: fixed; margin-top: 0; z-index: 10000; }
}

/* Count and filters share the top row, alongside the breadcrumb on wide screens. */
.properties-top-row { display: flex; align-items: center; gap: 24px; }
.properties-top-row .properties-breadcrumb { flex: 1; }
.properties-top-row #props-result-count { margin-left: 0; white-space: nowrap; }
.properties-top-row .properties-toolbar { min-width: 0; padding: 0; }
.properties-top-row .properties-filter-user { margin: 0; }
.properties-top-row .properties-filter-row { gap: 6px; }
.properties-top-row .properties-filter-row button,
.properties-top-row .properties-filter-row input,
.properties-top-row .properties-filter-row select,
.properties-top-row .properties-filter-row label { font-size: 12px; }
.properties-top-row #filter_address_or_zip { width: 160px; }
.properties-top-row #props-price-sort { width: 120px; }
@media (max-width: 1500px) {
 .properties-top-row { flex-wrap: wrap; gap: 16px 24px; }
 .properties-top-row .properties-breadcrumb { flex-basis: 100%; }
 .properties-top-row .properties-toolbar { flex: 1; }
}
@media (max-width: 700px) {
 .properties-top-row .properties-toolbar { flex-basis: 100%; }
}
.property-contact-actions { display: grid; gap: .65rem; margin-top: .85rem; }
.property-contact-actions button { width: 100%; cursor: pointer; }
.property-contact-dialog, .property-contact-success { width: min(440px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 1px solid #dbe2ed; border-radius: .85rem; background: #fff; color: #172033; box-shadow: 0 24px 60px #0003; overflow: auto; }
.property-contact-dialog::backdrop, .property-contact-success::backdrop { background: #0007; }
.property-contact-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem; border-bottom: 1px solid #dbe2ed; }
.property-contact-dialog h2, .property-contact-success h2 { margin: 0; font-size: 1.35rem; font-weight: 750; }
.property-contact-dialog header button { padding: .25rem .5rem; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.property-contact-dialog form { display: grid; gap: 1.15rem; padding: 1.25rem; }
.property-contact-dialog label { display: block; font-weight: 650; }
.property-contact-dialog label > span { color: #dc2626; }
.property-contact-dialog input:not([type="checkbox"]), .property-contact-dialog textarea { display: block; width: 100%; margin-top: .45rem; padding: .85rem; border: 1px solid #cbd5e1; border-radius: .3rem; background: #f7f7fa; color: #172033; font: inherit; font-weight: 400; }
.property-contact-dialog textarea { resize: vertical; }
.property-contact-dialog .property-contact-financing { display: flex; align-items: center; gap: .65rem; font-weight: 400; }
.property-contact-financing input { width: 1.3rem; height: 1.3rem; accent-color: #6d28d9; }
.property-contact-note { margin: 0; font-size: .8rem; line-height: 1.5; color: #64748b; }
.property-contact-dialog :focus-visible { outline: 3px solid #8b5cf6; outline-offset: 3px; }
.property-contact-success { padding: 2rem; text-align: center; }
.property-contact-success > span { display: block; margin-bottom: .65rem; color: #15803d; font-size: 2.5rem; }
.listing-card-metadata__contact { display: inline-block; filter: blur(4px); user-select: none; pointer-events: none; }

#properties_list { align-content: start; grid-auto-rows: max-content; }
#properties_list > .property_list_row { min-height: 220px; }
#properties_list > .property_list_row > div { min-height: 220px; }
.property_list_row .listing-card-metadata { font-size: 10px; line-height: 1.3; gap: 1px; margin-top: 5px; padding-top: 4px; }
