.nls-property-status {
    max-width: 1180px;
    margin: 0 auto;
}

.nls-property-status:empty { display: none; }

.nls-property-status.is-error > div {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 0;
    padding: 14px 16px;
    border: 1px solid rgba(216, 0, 61, .18);
    border-radius: 14px;
    background: linear-gradient(180deg, #fff, #fff8fa);
    box-shadow: 0 12px 40px rgba(30, 30, 40, .045), 0 0 44px rgba(255, 45, 93, .045);
    color: #30313f;
}

.nls-property-status span { flex: 1; }

.nls-property-retry {
    border: 0;
    border-radius: 999px;
    padding: 9px 15px;
    background: linear-gradient(180deg, #ff2d5d, #d8003d);
    box-shadow: 0 8px 24px rgba(216, 0, 61, .2);
    color: #fff;
    font-weight: 700;
    transition: transform 180ms cubic-bezier(.22, .61, .36, 1), box-shadow 180ms cubic-bezier(.22, .61, .36, 1);
}

.nls-property-retry:hover { transform: translateY(-2px); box-shadow: 0 13px 30px rgba(216, 0, 61, .27); }
.nls-property-retry:active { transform: scale(.98); }

.listing__thumbnail.modal-toggle:focus-visible {
    outline: 3px solid rgba(255, 45, 93, .3);
    outline-offset: -3px;
}

.listing__thumbnail[aria-busy="true"]::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.38) 48%, transparent 61%);
    background-size: 220% 100%;
    animation: nls-property-loading 1.1s ease-in-out infinite;
    pointer-events: none;
}

@keyframes nls-property-loading { to { background-position-x: -220%; } }

@media (max-width: 640px) {
    .nls-property-status.is-error > div { align-items: flex-start; flex-wrap: wrap; margin: 12px; }
    .nls-property-status span { flex-basis: calc(100% - 20px); }
}

@media (prefers-reduced-motion: reduce) {
    .listing__thumbnail[aria-busy="true"]::after { animation: none; }
    .nls-property-retry { transition: none; }
}
