/* Modal Size */
   .header-section-m {
      z-index: 999 !important;
   }
    @media (max-width: 768px) {
        .budget-btn {
            padding: 35px 0px !important;
            margin-left: 0 !important;
        }
        
    }
  .mobile-chevron-icon {
  right: 53px !important;
}  
.mobile-gallery-image {
  opacity: 0.9 !important;
}


@media (max-width: 767.98px) {
  .top-cities-section .top-cities-title {
    font-size: 1.10rem !important;
  }
   .property-location {
        font-size: 0.85rem;
        margin-bottom: 0px !important;
    }
}
/* .pac-container {
  z-index: 99999999999999999 !important;
  width: 90% !important;
  left: 18px !important;
} */
/* FULL SCREEN MODAL FIX */
.propertySlider .modal-dialog {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
}

.propertySlider .modal-content,
.custom-gallery-modal {
    width: 100%;
    height: 100vh;
    border: 0;
    border-radius: 0;
    background: #000;
    overflow: hidden;
}

/* BODY */
.custom-gallery-modal .modal-body {
    width: 100%;
    height: 100vh;
    padding: 0;
    position: relative;
}

/* IMAGE WRAPPER */
.popup-image-wrapper {
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
}

/* IMAGE FIX */
.popup-image-wrapper img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* CLOSE BUTTON (FIXED POSITION) */
.custom-close-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 99999;
    width: 45px;
    height: 45px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    color: #fff;
    backdrop-filter: blur(6px);
    transition: 0.3s;
}

.custom-close-btn:hover {
    background: rgba(255,255,255,0.3);
}

/* OWL NAV CENTER FIX */
.propertySlider .owl-nav button {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 55px;
    height: 55px;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.15) !important;
    color: #fff !important;
    font-size: 28px !important;
    transition: 0.3s;
}

.propertySlider .owl-nav .owl-prev {
    left: 20px;
}

.propertySlider .owl-nav .owl-next {
    right: 20px;
}

.propertySlider .owl-nav button:hover {
    background: rgba(255,255,255,0.35) !important;
}

/* REMOVE DOTS */
.propertySlider .owl-dots {
    display: none;
}

/* 🚀 MOBILE FIX */
@media (max-width: 768px) {

    .popup-image-wrapper {
        height: 100vh;
    }

    .custom-close-btn {
        width: 38px;
        height: 38px;
        top: 15px;
        right: 15px;
    }
    
    .propertySlider .owl-nav button {
        width: 42px;
        height: 42px;
        font-size: 20px !important;
    }

    /* LEFT ARROW */
    .propertySlider .owl-nav .owl-prev {
        left: 10px;
    }

    /* RIGHT ARROW */
    .propertySlider .owl-nav .owl-next {
        right: 10px;
    }
}

.mobile-back-btn {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(0, 0, 0, 0.4) !important;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-dark);
  font-size: 1rem;
}

.pg-listing-broker-card {
  height: auto !important;
  padding-bottom: 20px !important;
}

.pg-listing-report-card {
  height: auto !important;
}

.contact-limit-modal {
  height: auto !important;
}

@media (max-width: 768px) {
    .contact-limit-modal-overlay {
        top: auto;
        bottom: 0;
        height: auto;
    }
    .modal-backdrop {
        height: auto !important;
    }
}

    .photo-upload-area {
        border: 2px dashed #E4E0E0;
        border-radius: 12px;
        padding: 30px;
        text-align: center;
        cursor: pointer;
        background-color: #FBFBFB;
        transition: background 0.2s ease;
    }

    .photo-preview-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 16px;
        padding: 10px 0;
    }

    .photo-box {
        position: relative;
        width: 100%;
        aspect-ratio: 1 / 1;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .photo-card {
        width: 100%;
        height: 100%;
        border-radius: 10px;
        overflow: hidden;
        background: #e0e0e0;
        position: relative;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    }

    .photo-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .delete-btn {
        position: absolute;
        top: -45px;
        right: -7px;
        width: 20px;
        height: 20px;
        background: #ff4b4b;
        border: none;
        color: white;
        font-size: 18px;
        font-weight: normal;
        border-radius: 50%;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: none;
        z-index: 2;
        padding:0px !important;
    }

    /* Centered spinner overlay */
    .progress-overlay {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(255, 255, 255, 0.4);
    }

    .progress-spinner {
        border: 3px solid #f3f3f3;
        border-top: 3px solid #007bff;
        border-radius: 50%;
        width: 28px;
        height: 28px;
        animation: spin 0.8s linear infinite;
    }
    .post-property-input {
        color: #212529 !important;
    }

    .ra-preview-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 16px;
}


/* PDF Box */

.pdf-box {
    width: 100%;
}


/* PDF Card */

.pdf-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;

    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 14px;

    padding: 14px 16px;

    position: relative;

    transition: 0.3s;
}

.pdf-card:hover {
    border-color: #FF5403;
    box-shadow: 0 4px 14px rgba(0,0,0,0.05);
}


/* Left Side */

.pdf-icon {
    width: 52px;
    height: 52px;

    min-width: 52px;

    border-radius: 12px;

    background: #FFF3EE;

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

    font-size: 24px;
    color: #FF5403;
}


/* File Info */

.pdf-info {
    flex: 1;
    overflow: hidden;
}

.pdf-name {
    font-size: 15px;
    font-weight: 600;
    color: #222;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pdf-size {
    font-size: 13px;
    color: #888;
    margin-top: 4px;
}


/* Delete Button */

.delete-pdf-btn {
    width: 32px;
    height: 32px;

    border: none;
    outline: none;

    border-radius: 50%;

    background: #FFE8E1;
    color: #FF5403;

    font-size: 18px;
    font-weight: bold;

    cursor: pointer;

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

    transition: 0.3s;
}

.delete-pdf-btn:hover {
    background: #FF5403;
    color: #fff;
}


/* Upload Box */

.ra-upload-box--pdf {
    border: 2px dashed #E5E5E5;
    border-radius: 16px;

    padding: 28px;

    text-align: center;

    cursor: pointer;

    transition: 0.3s;

    background: #fff;
}

.ra-upload-box--pdf:hover {
    border-color: #FF5403;
    background: #FFF8F5;
}


/* Hide Input */

.ra-upload-input {
    display: none;
}


/* Upload Button */

.ra-pdf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-top: 14px;

    padding: 10px 18px;

    border-radius: 10px;

    background: #FF5403;
    color: #fff;

    font-size: 14px;
    font-weight: 600;
}


/* Mobile Responsive */

@media (max-width: 576px) {

    .pdf-card {
        padding: 12px;
        gap: 10px;
    }

    .pdf-icon {
        width: 44px;
        height: 44px;
        min-width: 44px;

        font-size: 20px;
    }

    .pdf-name {
        font-size: 14px;
    }

    .pdf-size {
        font-size: 12px;
    }

}
.ra-input {
  width: 100%;
  height: 55px;
  border: 1px solid #dfdfdf;
  border-radius: 8px;
  background: #ffffff;
  font-size: 23px;
  color: #6e6e6e;
  padding: 0 10px 0 16px;
  outline: none;
}
/* =========================
RECENT ADDED SLIDER
========================= */

.recent-added-section{
    margin-bottom:25px;
    position:relative;
}

.recentPropertySlider{
    width:100%;
    overflow:hidden;
    padding:5px;
}

.recentPropertySlider .swiper-wrapper{
    display:flex;
}

.recentPropertySlider .swiper-slide{
    height: 316px;
}

/* HEADER */

.recent-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.recent-title h2 {
    position: relative;
    display: inline-block;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

.recent-subtitle {
    color: #6b7280;
    font-size: 12px;
    line-height: 1.6;
    max-width: 600px;
}
/* NAVIGATION */

.recent-navigation{
    display:flex;
    gap:10px;
}

.recent-prev,
.recent-next{
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid #e6e6e6;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:0.3s;
    background:#fff;
    color:#222;
}

.recent-prev i,
.recent-next i{
    font-size:16px;
}

.recent-prev:hover,
.recent-next:hover{
    background:#D6501C;
    color:#fff;
    border-color:#D6501C;
}

/* =========================
RECENT PROPERTY CARD
========================= */

.recent-property-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    border:1px solid #F1F1F1;
    transition:0.3s;
    position:relative;
}

.recent-property-card:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 24px rgba(0,0,0,0.08);
}

/* IMAGE */

.recent-image{
    position:relative;
    height:126px;
    overflow:hidden;
    background:#f5f5f5;
}

.recent-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* IMAGE OVERLAY */

.recent-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        to bottom,
        rgba(0,0,0,0.05),
        rgba(0,0,0,0.35)
    );
}

/* REQUEST PHOTO BUTTON */

.request-photo-btn{
    position:absolute;
    bottom:12px;
    left:12px;
    z-index:2;

    border:none;
    background:#fff;
    color:#333;

    height:28px;
    padding:0 14px;

    border-radius:8px;

    font-size:11px;
    font-weight:600;
}

/* CONTACTED BADGE */

.recent-contacted{
    position:absolute;

    bottom:12px;
    right:12px;

    z-index:2;

    background:rgba(255,255,255,0.95);
    backdrop-filter:blur(6px);

    color:#222;

    border-radius:30px;

    padding:6px 10px;

    font-size:11px;
    font-weight:600;

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

    box-shadow:0 4px 10px rgba(0,0,0,0.08);
}

/* HEART */

.recent-heart-btn{
    position:absolute;
    top:12px;
    left:12px;

    width:32px;
    height:32px;

    border:none;
    border-radius:50%;

    background:rgba(0,0,0,0.45);

    color:#fff;

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

    z-index:3;
}

/* CONTENT */

.recent-content{
    padding:14px;
}

/* PRICE */

.recent-price-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:8px;
}

.recent-price-row h3{
    margin:0;
    font-size:14px;
    font-weight:600;
    color:#222;
}

.recent-price-row h3 span{
    font-size:10px;
    font-weight:400;
    color:#777;
}

/* VERIFIED */

.recent-verified{
    background: #009960;
    color: #fff;
    font-size: 9px;
    font-weight: 400;
    padding: 2px 8px;
    border-radius: 30px;
}

/* TITLE */

.recent-content h4{
    font-size:14px;
    font-weight:600;
    color:#333333;
    white-space: nowrap;
    line-height:1.35;

    margin-bottom:7px;
}

/* LOCATION */

.recent-location{
    display:flex;
    align-items:center;
    gap:2px;
    white-space: nowrap;
    color:#666;
    font-size:12px;

    margin-bottom:4px;
}

/* OWNER */

.recent-listed{
    font-size:10px;
    font-weight:400;
    color:#F97316;

    margin-bottom:4px;
}

/* FOOTER BUTTONS */

.recent-footer{
    display:flex;
    gap:4px;
}

.view-number-btn{
    flex:1;

    height:38px;

    border:none;
    border-radius:12px;

    background:#FF5403;
    color:#fff;

    font-size:11px;
    font-weight:400;
}

.whatsapp-btn{
    width:38px;
    min-width:44px;
    height:38px;

    border:1px solid #FF5403;
    border-radius:12px;

    background:#fff;
    color:#F97316;

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

    font-size:20px;
}
.main-content {
  min-height: auto !important;
  margin-bottom: 15px !important;
}
@media (max-width: 768px) {

    

    .drag-line {
        width: 60px;
        height: 6px;
        background: #ddd;
        border-radius: 20px;
        margin: 12px auto 8px;
    }

    .availability-title {
        font-size: 24px;
        font-weight: 600;
        margin-bottom: 25px;
        text-align: center;
    }

    .availability-options {
        display: flex;
        flex-direction: column;
        gap: 18px;
    }

    .availability-option {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 17px;
        font-weight: 500;
        padding: 0;
        border: none;
        border-radius: 14px;
        background: #fff;
    }

    .availability-option input {
        display: none;
    }

    .custom-radio {
        width: 24px;
        height: 24px;
        border: 2px solid #ff6600;
        border-radius: 50%;
        position: relative;
    }

    .availability-option input:checked + .custom-radio::after {
        content: "";
        width: 12px;
        height: 12px;
        background: #ff6600;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .availability-done-btn {
        width: 100%;
        margin-top: 28px;
        height: 56px;
        border: none;
        border-radius: 50px;
        background: #ff6600;
        color: #fff;
        font-size: 18px;
        font-weight: 600;
    }

    .availability-close-btn {
        position: absolute;
        top: 14px;
        right: 16px;
        background: none;
        border: none;
        font-size: 28px;
        line-height: 1;
        z-index: 10;
    }

    @keyframes slideUp {
        from {
            transform: translateY(100%);
        }
        to {
            transform: translateY(0);
        }
    }
}
/* Overlay */
#AvailabilityModal .modal-dialog {
  position: relative;
  width: auto;
  margin: auto !important;
  pointer-events: none;
}
.availability-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
}

/* Modal Box */
.availability-modal {
    position: relative;
    width: 100%;
    max-width: 620px;
    background: #fff;
    border-radius: 28px;
    padding: 20px;
    box-sizing: border-box;
    font-family: var(--lr-font);
}

/* Close Button */
.availability-close-btn {
    position: absolute;
    top: 22px;
    right: 22px;
    width: 22px;
    height: 22px;
    border: 2px solid #222;
    border-radius: 50%;
    background: #fff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #222;
    transition: 0.3s;
}

.availability-close-btn:hover {
    background: #f5f5f5;
}

/* Title */
.availability-title {
    text-align: center;
    font-size: 22px;
    font-weight: 600;
    color: #222;
    margin-bottom: 45px;
}

/* Options */
.availability-options {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 40px;
}

/* Option Row */
.availability-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    position: relative;
    font-size: 18px;
    font-weight: 500;
    color: #333;
}

/* Hide Default Radio */
.availability-option input {
    display: none;
}

/* Custom Radio */
.custom-radio {
    width: 20px;
    height: 20px;
    border: 2px solid #ff5a00;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
}

/* Active Radio */
.availability-option input:checked + .custom-radio::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background: #ff5a00;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

/* Done Button */
.availability-done-btn {
  width: 100%;
  max-width: 400px;
  height: 50px;
  display: block;
  margin: auto;
  border: none;
  border-radius: 50px;
  background: #ff5a00;
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  cursor: pointer;
  transition: 0.3s;
}

.availability-done-btn:hover {
    opacity: 0.9;
}

/* Responsive */
/* =========================
   MOBILE VIEW
========================= */
@media (max-width: 768px) {
    .availability-modal {
    border-radius: 28px 20px 0px 0px;
    }
    .property-title {
        font-size: 1rem;
        margin-bottom: 0px !important;
    }
    .modal {
        --bs-modal-zindex: 99999 !important;
    }
    .modal-dialog {
        margin: 0;
        align-items: flex-end;
        min-height: 100%;
    }
}
.post-property-select {
  width: 100% !important;
}
    

    

    .availability-title {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .availability-option {
        font-size: 14px;
        gap: 15px;
    }

    .custom-radio {
        width: 20px;
        height: 20px;
    }

    .availability-option input[type="radio"]:checked + .custom-radio::after {
        width: 14px;
        height: 14px;
    }

    .availability-done-btn {
        height: 56px;
        font-size: 20px;
        margin-top: 35px;
    }
}

@media (max-width: 480px) {

    .availability-modal {
        padding: 28px 18px 25px;
    }

    .availability-title {
        font-size: 24px;
    }

    .availability-option {
        font-size: 15px;
    }

    .availability-done-btn {
        height: 54px;
        font-size: 16px;
    }
}

.lr-form-group label {
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  color: #333333;
  cursor: pointer;
  margin-top: 0;
  margin-right: 20px;
  font-weight: 400;
  position: relative;
  top: -6px;
}
.lr-form-group {
  display: inline-block;
  margin-bottom: 10px;
  vertical-align: center;
}

.btn-search-main {
  background: var(--primary-orange) !important;
}



.property-location {

  width: auto !important;
}

/* =====================================
   OVERLAY
===================================== */

.property-selector-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.65);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:99999;

    opacity:0;
    visibility:hidden;
    transition:.3s ease;
}

.property-selector-overlay.show{
    opacity:1;
    visibility:visible;
}

/* =====================================
   DESKTOP MODAL
===================================== */

.property-selector{
    width:920px;
    max-width:95vw;
    background:#fff;
    border-radius:28px;
    padding:20px;
    display:flex;
    gap:24px;
    position:relative;
}

.property-close-btn{
    position:absolute;
    top:14px;
    right:14px;
    width:36px;
    height:36px;
    border:none;
    background:none;
    cursor:pointer;
    font-size:28px;
    color:#333;
    z-index:5;
}

.selector-image{
    width:420px;
    flex-shrink:0;
}

.selector-image img{
    width:100%;
    height:320px;
    object-fit:cover;
    border-radius:18px;
    display:block;
}

.selector-content{
    flex:1;
}

.property-selector-overlay .mobile-header{
    display:none;
}

.mobile-card{
    background:transparent;
    padding:0;
}

.mobile-card h5.mobile-card-title{
    font-size:24px;
    line-height:1.3;
    font-weight: 600;
    color:#333;
    margin-bottom:22px;
}

.property-options{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.property-item input{
    display:none;
}

.property-item label{
    height:56px;
    border:1px solid #e5e5e5;
    border-radius:10px;
    display:flex;
    align-items:center;
    padding:0 16px;
    cursor:pointer;
    font-size:17px;
    color:#333;
    transition:.25s;
}

.property-item label:before{
    content:"";
    width:18px;
    height:18px;
    border:1px solid #999;
    border-radius:50%;
    margin-right:12px;
    flex-shrink:0;
}

.property-item input:checked + label{
    background:#ff5a00;
    border-color:#ff5a00;
    color:#fff;
    box-shadow:0 4px 12px rgba(255,90,0,.2);
}

.property-item input:checked + label:before{
    background:#fff;
    border-color:#fff;
}

.continue-btn{
    width:100%;
    height:54px;
    margin-top:18px;
    border:none;
    border-radius:10px;
    background:#ff5a00;
    color:#fff;
    font-size:18px;
    font-weight:600;
    cursor:pointer;
}

.onboarding-terms{
    margin-top:12px;
    margin-bottom:0;

    text-align:center;

    font-size:12px;
    line-height:18px;

    color:#666;
}

.onboarding-link{
    color:#ff5a00;
    text-decoration:none;
    font-weight:500;
}

.onboarding-link:hover{
    text-decoration:underline;
}

.name-input-wrapper{
    margin-top:10px;
}

.name-input{
    width:100%;
    height:52px;

    padding:0 16px;

    border:1px solid #e5e5e5;
    border-radius:12px;

    background:#fff;

    font-size:16px;
    outline:none;
}

.name-input:focus{
    border-color:#ff5a00;
}

.login-error-name-message{
    margin-top:8px;
    font-size:12px;
    color:#e53935;
}

.otp-subtitle{
    font-size:14px;
    color:#666;
    margin-bottom:24px;
    line-height:1.5;
}

.otp-input-wrapper{
    display:flex;
    gap:12px;
    margin-bottom:24px;
}

.otp-input{
    width:56px;
    height:56px;
    border:1px solid #ddd;
    border-radius:12px;
    text-align:center;
    font-size:22px;
    font-weight:600;
    background:#fff;
}

.otp-input:focus{
    border-color:#ff5a00;
    outline:none;
}

.otp-resend-section{
    margin-bottom:20px;
    font-size:14px;
}

.otp-resend-btn{
    color:#ff5a00;
    font-weight:600;
    text-decoration:none;
}

.popup-terms-text{
    margin-top:12px;
    text-align:center;
    font-size:12px;
    line-height:1.5;
    color:#666;
    padding-bottom:env(safe-area-inset-bottom);
}

.popup-terms-text a{
    color:#ff5a00;
    text-decoration:none;
}

.login-phone-wrapper{
    display:flex;
    align-items:center;
    width:100%;
    border:1px solid #E5E5E5;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    margin-top:10px;
}

.country-code{
    min-width:70px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-right:1px solid #E5E5E5;
    font-weight:600;
    color:#333;
}

.login-phone-input{
    flex:1;
    border:none;
    outline:none;
    height:52px;
    padding:0 15px;
    font-size:16px;
    background:#fff;
}

.mobile-terms-text{
    margin-top:16px;
    text-align:center;
    font-size:12px;
    line-height:18px;
    color:#666;
}

.mobile-terms-text a{
    color:#FF5403;
    text-decoration:none;
    font-weight:600;
}

.login-phone-error{
    display:none;
    margin-top:8px;
    padding:10px 14px;
    border-radius:10px;
    background:#FDEBEC;
    color:#FF2D55;
    font-size:13px;
    font-weight:500;
}

.login-phone-wrapper.error{
    border:1px solid #FF2D55;
    box-shadow:0 0 0 1px rgba(255,45,85,.15);
}

#otpModalOverlay .otp-success-message {
    width: 280px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    padding: 5px;
    background: linear-gradient(to right,
            rgba(212, 247, 234, 1),
            rgba(255, 255, 255, 0));
    border-radius: 30px;
}

/* =====================================
   MOBILE
===================================== */

@media (max-width:768px){

    .property-selector-overlay{
        align-items:flex-start;
    }

    .property-selector{
        width:100vw !important;
        /* Not !important - responsive1.css sets height:auto (with
           max-height:88vh) so this sizes to its content as a snug bottom
           sheet instead of always filling the screen and leaving empty
           space below a short card. */
        height:100vh;
        max-width:100vw !important;
        border-radius:0 !important;
        padding:0 !important;
        margin:0 !important;
        display:block !important;
        /* Not !important - responsive1.css (loaded after this file, see
           template.blade.php) sets background:#fff for the shared login/
           OTP/auth modal's current design. This orange was the modal's
           background before that redesign; forcing it here made the
           modal flash solid orange behind the white bottom-sheet card on
           mobile once responsive1.css's own white background could no
           longer win the cascade. */
        background:#ff5a00;
        overflow:hidden;
        position:relative;
    }

    .selector-image{
        display:none !important;
    }

    /* Keep the close (X) control usable on mobile so onboarding overlays
       are never a dead end - back-button presses are intentionally
       swallowed while these overlays are open (see the history guard in
       template.blade.php), so an explicit close/skip control must always
       be reachable. */
    .property-close-btn{
        display:flex !important;
        align-items:center;
        justify-content:center;
        top:16px;
        right:16px;
        width:32px;
        height:32px;
        border-radius:50%;
        background:rgba(0,0,0,.15) !important;
        color:#fff;
        font-size:22px;
        line-height:1;
        z-index:6;
    }


    .selector-content{
        width:100% !important;
        height:100% !important;
        position:relative;
        display:block !important;
    }

    /* Header */

    .property-selector-overlay .mobile-header{
        position:absolute;
        top:0;
        left:0;
        right:0;

        height:200px;
        background:#ff5a00 !important;
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;

        text-align:center;

        z-index:1;
    }

    /* Skip Button */
    .login-skip-btn{
        position: absolute;
        top: 16px;
        right: 16px;

        border: 0;
        outline: 0;
        cursor: pointer;

        background: rgba(0,0,0,.12);
        color: #fff;

        font-size: 15px;
        font-weight: 400;

        padding: 4px 16px;
        border-radius: 999px;

        transition: .25s ease;
    }

    .login-skip-btn:hover{
        background: rgba(0,0,0,.18);
    }

    .login-skip-btn:active{
        transform: scale(.96);
    }

    

    .mobile-logo img{
        height:36px;
        width:auto;
        margin-bottom:12px;
    }

    .mobile-header .login-modal-heading{
        color:#fff;
        font-size:24px;
        font-weight: 600;
        margin:0;
        line-height:1.2;
    }

    /* Card */

    .mobile-card{
        /* position/top/bottom intentionally left out - responsive1.css
           (loaded after this file) positions this in normal flow
           (position:relative) as a snug bottom sheet sized to its
           content, not pinned 160px from the top of a full-height
           overlay. See the background note above .property-selector for
           why this file no longer forces that older layout. */
        width: 100%;

        background:#f5f5f5;

        border-radius:28px 28px 0 0;

        padding:24px;

        box-sizing:border-box;

        display:flex;
        flex-direction:column;

        overflow-y:auto;

        z-index:2;
    }

    .continue-btn{
        margin-top:100px;

        margin-bottom:calc(
            20px + env(safe-area-inset-bottom)
        );

        min-height:52px;

        border-radius:10px;
    }

    .mobile-card h5.mobile-card-title{
        display:block !important;
        font-size:18px;
        font-weight: 600;
        margin-bottom:20px;
        color:#333;
    }

    .property-options{
        display:flex;
        flex-direction:column;
        gap:12px;
    }

    .property-item label{
        height:52px;
        border-radius:12px;
        background:#fff;
    }

    
}

@media (min-width: 992px){
    .login-skip-btn{
        display: none;
    }
}

/* =====================================
   SMALL PHONES
===================================== */

@media (max-width:380px){

    .mobile-header .login-modal-heading{
        font-size:26px;
    }

    .mobile-card{
        padding:20px;
    }
}
/*=========================================
=            PROPERTY CARD                =
=========================================*/

.lr-card{
    position:relative;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    border:1px solid #ececec;
    box-shadow:0 3px 18px rgba(0,0,0,.06);
    transition:.30s ease;
    display:flex;
    flex-direction:column;
    height:100%;
}

.lr-card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 45px rgba(0,0,0,.12);
}

/*=========================================
=            IMAGE SECTION                =
=========================================*/

.lr-card-image{

    position:relative;

    width:100%;

    height:200px;

    overflow:hidden;

    background:#f8f8f8;

}

.lr-property-image{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s ease;

}

.lr-card:hover .lr-property-image{

    transform:scale(1.06);

}

/*=========================================
=             FAMILY BADGE               =
=========================================*/

.lr-family-badge{

    position:absolute;

    left:14px;

    top:14px;

    background:rgba(255,255,255,.55);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

    color:#333333;

    border-radius:8px;

    padding:6px 8px;

    font-size:12px;

    font-weight:400;

    box-shadow:0 4px 15px rgba(0,0,0,.10);

    z-index:5;

}

/*=========================================
=            PRIME RIBBON                =
=========================================*/

.lr-prime-ribbon{

    position:absolute;

    left:14px;

    bottom:16px;

    background:linear-gradient(90deg,#efca89,#f6ddb2);

    border-radius:10px;

    padding:10px 14px;

    min-width:150px;

    box-shadow:0 8px 20px rgba(0,0,0,.18);

    z-index:5;

}

.lr-prime-top{

    display:flex;

    align-items:center;

    gap:6px;

    font-size:13px;

    font-weight: 600;

    color:#432310;

}

.lr-prime-ribbon small{

    display:block;

    margin-top:2px;

    font-size:11px;

    color:#6d4d22;

}

/*=========================================
=           HEART BUTTON                 =
=========================================*/

.lr-save-btn{

    position:absolute;

    top:14px;

    right:14px;

    width:42px;

    height:42px;

    border:none;

    outline:none;

    border-radius:50%;

    background:rgba(255,255,255,.55);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:0 6px 16px rgba(0,0,0,.18);

    cursor:pointer;

    transition:.25s;

    z-index:10;

}

.lr-save-btn:hover{

    transform:scale(1.08);

}

.lr-save-btn i{

    font-size:20px;

    color:#777;

    /* Without this the icon's own line-height (inherited ~1.6) is taller
       than its glyph, so even though the flex button centers the icon's
       box, the visible heart shape sits off-center within it. */
    line-height:1;

}

.lr-save-btn.active i{

    color:#ef4444;

}

/*=========================================
=             SAVED BADGE                =
=========================================*/

.lr-saved-badge{

    position:absolute;

    right:14px;

    bottom:16px;

    background:#ff6d2f;

    color:#fff;

    padding:7px 14px;

    border-radius:30px;

    font-size:12px;

    font-weight:600;

    box-shadow:0 6px 15px rgba(255,109,47,.35);

    z-index:5;

}

/*=========================================
=             PHOTO COUNT                =
=========================================*/

.lr-photo-count{

    position:absolute;

    left:14px;

    bottom:14px;

    background:rgba(0,0,0,.65);

    color:#fff;

    border-radius:20px;

    padding:7px 12px;

    display:flex;

    align-items:center;

    gap:6px;

    font-size:12px;

    backdrop-filter:blur(8px);

    z-index:6;

}

.lr-photo-count i{

    font-size:13px;

}

/*=========================================
=             VIDEO BADGE                =
=========================================*/

.lr-video-badge{

    position:absolute;

    left:14px;

    top:56px;

    background:#ff3d00;

    color:#fff;

    padding:7px 12px;

    border-radius:30px;

    display:flex;

    align-items:center;

    gap:5px;

    font-size:12px;

    font-weight:600;

    z-index:6;

}

.lr-video-badge i{

    font-size:14px;

}

/*=========================================
=            TABLET                      =
=========================================*/

@media (max-width:991px){

    .lr-card-image{

        height:220px;

    }

}

/*=========================================
=            MOBILE                      =
=========================================*/

@media (max-width:767px){

    .lr-card{

        border-radius:16px;

    }

    .lr-card-image{

        height:210px;

    }

    .lr-save-btn{

        width:38px;

        height:38px;

    }

    .lr-save-btn i{

        font-size:18px;

    }

    .lr-family-badge{

        font-size:11px;

        padding:6px 8px;

    }

    .lr-photo-count{

        font-size:11px;

    }

    .lr-prime-ribbon{

        min-width:140px;

        padding:8px 12px;

    }

    .lr-prime-top{

        font-size:12px;

    }

    .lr-prime-ribbon small{

        font-size:10px;

    }

}

/*====================================================
=            CARD BODY
====================================================*/

.lr-card-body{
    display:flex;
    padding: 8px;
    flex-direction:column;
    gap:10px;
    flex:1;
}

/*====================================================
=            PROPERTY ID
====================================================*/

.lr-pid{
    font-size:12px;
    font-weight:600;
    color:#333333;
    letter-spacing:.3px;
    text-transform:uppercase;
}

/*====================================================
=            PRICE SECTION
====================================================*/

.lr-price-row{
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.lr-price{
    font-size:20px;
    font-weight:600;
    color:#333333;
    line-height:1;
}

.lr-month{
    font-size:15px;
    color:#6b7280;
    font-weight:400;
    margin-left:4px;
}

/*====================================================
=            VERIFIED BADGE
====================================================*/

.lr-verified{
    display:inline-flex;
    align-items:center;
    gap:6px;

    background:#ecfdf5;
    color:#16a34a;

    border:1px solid #bbf7d0;

    padding:6px 10px;

    border-radius:30px;

    font-size:12px;

    font-weight: 600;

    white-space:nowrap;
}

.lr-verified i{
    font-size:14px;
}

/*====================================================
=            TITLE
====================================================*/

.lr-title{
    font-size:15px;
    font-weight:600;
    line-height:1.35;
    color:#333333;
    margin:0;

    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/*====================================================
=            LOCATION
====================================================*/

.lr-location{
    display:flex;
    align-items:flex-start;
    gap:8px;

    color:#6b7280;

    font-size:14px;

    line-height:1.5;
}

.lr-location i{
    color:#ff6d2f;
    margin-top:3px;
    flex-shrink:0;
}

.lr-location span{
    display:-webkit-box;
    -webkit-line-clamp:2;
    /* white-space:nowrap forced the address onto one line, which broke
       the 2-line clamp and chopped long addresses mid-word with no "…".
       Let it wrap so the clamp shows up to 2 lines then ellipsis. */
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/*====================================================
=            FEATURE CHIPS
====================================================*/

.lr-features{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:4px;
}

.lr-chip{

    display:inline-flex;

    align-items:center;

    gap:6px;

    background:#f8f9fb;

    border:1px solid #e5e7eb;

    border-radius:30px;

    padding:8px 14px;

    font-size:13px;

    font-weight:600;

    color:#374151;

    transition:.25s;
}

.lr-chip:hover{

    background:#fff7ed;

    border-color:#fdba74;

    color:#ea580c;

}

.lr-chip i{

    color:#ff6d2f;

    font-size:14px;

}

/*====================================================
=            INTEREST BADGE (OPTIONAL)
====================================================*/

.lr-interest{

    display:inline-flex;

    align-items:center;

    gap:6px;

    background:#fff8e7;

    color:#d97706;

    padding:7px 12px;

    border-radius:20px;

    font-size:12px;

    font-weight:600;

    width:max-content;

}

.lr-interest i{

    font-size:13px;

}

/*====================================================
=            TABLET
====================================================*/

@media(max-width:991px){

    .lr-card-body{

        padding:8px;

        gap:4px;

    }

    .lr-price{

        font-size:20px;

    }

    .lr-title{
        white-space: nowrap;
        font-size:15px;

    }

}

/*====================================================
=            MOBILE
====================================================*/

@media(max-width:767px){

    .lr-card-body{

        padding:8px;

        gap:4px;

    }

    .lr-price{

        font-size:20px;

    }

    .lr-month{

        font-size:13px;

    }

    .lr-title{
        white-space: nowrap;
        font-size:15px;

    }

    .lr-location{

        font-size:13px;

    }

    .lr-chip{

        padding:7px 12px;

        font-size:12px;

    }

    .lr-verified{

        font-size:11px;

        padding:5px 9px;

    }

}

/*====================================================
=            FOOTER
====================================================*/

.lr-card-footer{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:8px 18px;

    border-top:1px solid #eeeeee;

    margin-top:auto;

    background:#fff;

}

.lr-listed{

    font-size:14px;

    color:#6b7280;

}

.lr-listed strong{

    color:#333333;

    font-weight:500;

}

/*====================================================
=            VIEW BUTTON
====================================================*/

.lr-view-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:42px;

    padding:0 22px;

    border-radius:30px;

    background:#ff6d2f;

    color:#fff;

    text-decoration:none;

    font-size:14px;

    font-weight: 600;

    transition:.25s;

}

.lr-view-btn:hover{

    background:#ef5a18;

    color:#fff;

    text-decoration:none;

    transform:translateY(-2px);

}

/*====================================================
=            CARD HOVER
====================================================*/

.lr-card{

    overflow:hidden;

}

.lr-card::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:18px;

    pointer-events:none;

    transition:.35s;

}

.lr-card:hover::after{

    box-shadow:0 0 0 2px rgba(255,109,47,.08) inset;

}

/*====================================================
=            IMAGE OVERLAY
====================================================*/

.lr-card-image::before{

    content:"";

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    height:90px;

    background:linear-gradient(transparent,rgba(0,0,0,.55));

    z-index:1;

}

.lr-family-badge,
.lr-save-btn,
.lr-photo-count,
.lr-prime-ribbon,
.lr-video-badge,
.lr-saved-badge{

    z-index:5;

}

/*====================================================
=            CHIP SCROLL
====================================================*/

.lr-features{

    overflow-x:auto;

    flex-wrap:nowrap;

    scrollbar-width:none;

    -webkit-overflow-scrolling:touch;

}

.lr-features::-webkit-scrollbar{

    display:none;

}

.lr-chip{

    flex-shrink:0;

}

/*====================================================
=            DESKTOP
====================================================*/

@media(min-width:1200px){

    .lr-card{

        border-radius:12px;

    }

    .lr-card-image{

        height:200px;

    }

    .lr-card-body{

        padding:8px;

    }

    .lr-title{
        white-space: nowrap;
        font-size:15px;

    }

}

/*====================================================
=            LAPTOP
====================================================*/

@media(max-width:1199px){

    .lr-card-image{

        height:200px;

    }

}

/*====================================================
=            TABLET
====================================================*/

@media(max-width:991px){

    .lr-card{

        border-radius:16px;

    }

    .lr-card-image{

        height:200px;

    }

    .lr-card-footer{

        padding:4px 16px;

    }

    .lr-view-btn{

        display:none;

    }

}

/*====================================================
=            MOBILE
====================================================*/

@media(max-width:767px){

    .lr-card{

        border-radius:14px;

        box-shadow:0 2px 10px rgba(0,0,0,.06);

    }

    .lr-card:hover{

        transform:none;

    }

    .lr-card-image{

        height:200px;

    }

    .lr-card-body{

        padding:14px;

    }

    .lr-card-footer{

        padding:4px 14px;

    }

    .lr-listed{

        font-size:13px;

    }

    .lr-photo-count{

        bottom:10px;

        left:10px;

    }

    .lr-prime-ribbon{

        bottom:46px;

        left:10px;

    }

    .lr-family-badge{

        left:10px;

        top:10px;

    }

    .lr-save-btn{

        right:10px;

        top:10px;

    }

    .lr-saved-badge{

        right:10px;

        bottom:10px;

    }

}

/*====================================================
=            SMALL MOBILE
====================================================*/

@media(max-width:420px){

    .lr-card-image{

        height:195px;

    }

    .lr-price{

        font-size:20px;

    }

    .lr-title{
        white-space: nowrap;
        font-size:16px;

    }

    .lr-chip{

        padding:6px 10px;

        font-size:11px;

    }

    .lr-listed{

        font-size:12px;

    }

}

/*====================================================
=            ANIMATIONS
====================================================*/

.lr-save-btn,
.lr-chip,
.lr-view-btn,
.lr-card,
.lr-property-image{

    transition:all .30s ease;

}

/*====================================================
=            IMAGE LOADING
====================================================*/

.lr-property-image{

    background:#f4f4f4;

}

/*====================================================
=            LINKS
====================================================*/

.lr-card a{

    text-decoration:none;

}

.lr-card a:hover{

    text-decoration:none;

}
.lr-card-link{
    display:block;
    text-decoration:none;
    color:inherit;
}

.lr-card-link:hover{
    text-decoration:none;
    color:inherit;
}

.lr-card-link:focus{
    text-decoration:none;
    color:inherit;
}

/* WhatsApp/Contact Owner buttons are desktop-only on the listing card
   — mobile doesn't want them (hidden by default, shown again at
   1200px+ below). */
.lr-contact-actions {
    display: none;
}

/* Figma redesign — property listing card is a horizontal layout
   (fixed-width image on the left, content on the right), not the
   vertical image-on-top/content-below stack .lr-card was rendering
   (flex-direction:column above, never overridden anywhere). Needs the
   .lr-card-content wrapper added around .lr-card-body/.lr-card-footer
   in listingLoad.blade.php so image and content sit side by side.
   NOTE: this file loads after styles.css — any .lr-card* override
   belongs here, not in styles.css, or it gets silently beaten by the
   plain rules above. */
@media (min-width: 1200px) {
    .lr-card {
        padding: 14px;
        flex-direction: row;
    }

    .lr-card-image {
        width: 360px;
        height: 260px;
        border-radius: 10px;
        flex-shrink: 0;
    }

    .lr-card-content {
        display: flex;
        flex-direction: column;
        flex: 1;
        padding-left: 14px;
        min-width: 0;
    }

    .lr-card-footer {
        margin-top: auto;
    }

    /* "For Families" badge — glass/frosted effect over the image */
    .lr-family-badge {
        background: rgba(255, 255, 255, 0.55);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    /* PID + Verified (left) / Save heart (right), same row */
    .lr-pid-row {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
    }

    .lr-save-btn-desktop {
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        padding: 0;
        color: #6b7280;
        font-size: 20px;
        line-height: 1;
        flex-shrink: 0;
    }

    .lr-save-btn-desktop.active {
        color: #ef4444;
    }

    /* Price — "/month" sits right next to the amount, not pushed away */
    .lr-price-row {
        justify-content: flex-start;
    }

    .lr-month {
        margin-left: 2px;
    }

    /* Bedroom / Washroom / Floor / Parking stats row */
    .lr-stats-row {
        align-items: flex-start;
        gap: 20px;
        margin-top: 4px;
    }

    .lr-stat-item {
        display: flex;
        flex-direction: column;
        gap: 2px;
        padding-right: 20px;
        border-right: 1px solid #e5e7eb;
        font-size: 0.85rem;
        line-height: 1.3;
    }

    .lr-stat-item:last-child {
        border-right: none;
        padding-right: 0;
    }

    .lr-stat-item strong {
        color: #333333;
        font-weight: 600;
    }

    .lr-stat-item span {
        color: #6b7280;
    }

    .lr-contact-actions {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .lr-whatsapp-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: #FFFFFF;
        border: 1px solid #198C58;
        color: #198C58;
        border-radius: 8px;
        padding: 8px 16px;
        font-size: 16px;
        font-weight: 400;
        white-space: nowrap;
    }

    .lr-whatsapp-btn:hover {
        background: #198C58;
        color: #FFFFFF;
    }

    .lr-contact-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: #FFFFFF;
        border: 1px solid var(--primary-orange);
        color: var(--primary-orange);
        border-radius: 8px;
        padding: 8px 16px;
        font-size: 16px;
        font-weight: 400;
        white-space: nowrap;
    }

    .lr-contact-btn:hover {
        background: var(--primary-orange);
        color: #FFFFFF;
    }
}