.listing-grid{display:grid;grid-template-columns:1fr;gap:20px;width:100%}@media(min-width:640px){.listing-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.listing-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1280px){.listing-grid{grid-template-columns:repeat(4,1fr)}}.listing-grid__error{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:60px 20px;text-align:center;color:rgba(225,225,225,.6)}.listing-grid__error p{font-size:1rem;margin:0}.listing-grid__error button{padding:8px 20px;border-radius:8px;border:1px solid rgba(225,225,225,.15);background:rgba(225,225,225,.06);color:#e1e1e1;cursor:pointer;font-size:.9rem;transition:background .2s ease}.listing-grid__error button:hover{background:rgba(225,225,225,.12)}.listing-grid__empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:80px 20px;text-align:center;color:rgba(225,225,225,.3)}.listing-grid__empty p{font-size:1rem;margin:0}.listing-card-skeleton{background:rgba(31,27,49,.02);border-radius:12px;overflow:hidden;border:1px solid rgba(225,225,225,.06)}.listing-card-skeleton__image{aspect-ratio:16/10;background:linear-gradient(90deg,rgba(225,225,225,.03) 25%,rgba(225,225,225,.07) 50%,rgba(225,225,225,.03) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.listing-card-skeleton__body{padding:16px;display:flex;flex-direction:column;gap:10px}.listing-card-skeleton__line{height:14px;border-radius:4px;background:linear-gradient(90deg,rgba(225,225,225,.04) 25%,rgba(225,225,225,.08) 50%,rgba(225,225,225,.04) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.listing-card-skeleton__line--short{width:35%}.listing-card-skeleton__line--medium{width:60%}.listing-card-skeleton__line--long{width:85%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.listing-grid-container{container-type:inline-size;width:100%}.listing-grid--contained{grid-template-columns:repeat(3,1fr)}@container (max-width: 900px){.listing-grid--contained{grid-template-columns:repeat(2,1fr)}}@container (max-width: 640px){.listing-grid--contained{grid-template-columns:repeat(2,1fr)}}@container (max-width: 420px){.listing-grid--contained{grid-template-columns:1fr}}