/* Listings grid, cards, single page, search */

/* Listing grid & cards — layout in polish.css */

.listings-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:var(--oc365-grid-gap, 1.5rem);
}

.listing-card{
display:flex;
flex-direction:column;
color:var(--oc365-color-text, #111);
}

.apply-btn{
display:inline-flex;
align-items:center;
justify-content:center;
text-decoration:none;
transition:background 0.2s ease, color 0.2s ease;
}

.load-more-btn{
display:flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:12px 26px;
cursor:pointer;
font-family:inherit;
transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.load-more-btn:disabled{opacity:0.6;cursor:not-allowed}

.inline-ad{
grid-column:1 / -1;
background:var(--oc365-color-bg-alt, #f3f3f3);
border:1px dashed var(--oc365-color-border, #ccc);
border-radius:8px;
padding:40px 20px;
text-align:center;
color:var(--oc365-color-text-muted, #888);
font-size:14px;
}

.listings-wrapper{
position:relative;
min-height:120px;
}

.listings-loading{
display:none;
position:absolute;
inset:0;
z-index:2;
align-items:center;
justify-content:center;
flex-direction:column;
gap:12px;
background:color-mix(in srgb, var(--oc365-color-bg, #f7f7f7) 88%, transparent);
pointer-events:none;
}

.listings-wrapper.is-loading .listings-loading{
display:flex;
}

.listings-loading__spinner{
width:32px;
height:32px;
border:3px solid var(--oc365-color-border, #ddd);
border-top-color:var(--oc365-color-primary, #111);
border-radius:50%;
animation:oc365-spin 0.7s linear infinite;
}

.listings-loading__text{
font-size:14px;
color:var(--oc365-color-text-muted, #666);
}

@keyframes oc365-spin{
to{transform:rotate(360deg)}
}

.listings-grid--loading{
opacity:0.4;
pointer-events:none;
}

.no-results{
text-align:center;
padding:60px 24px;
grid-column:1 / -1;
background:var(--oc365-color-card, #fff);
border:1px solid var(--oc365-color-border, #eee);
border-radius:12px;
}

.no-results h3{
font-size:22px;
font-weight:600;
color:var(--oc365-color-text, #111);
margin-bottom:10px;
}

.no-results p{
color:var(--oc365-color-text-muted, #666);
font-size:15px;
margin-bottom:24px;
max-width:420px;
margin-left:auto;
margin-right:auto;
}

.no-results__actions{
display:flex;
flex-wrap:wrap;
gap:12px;
justify-content:center;
}

.back-home--outline:hover{
opacity:1;
}

.no-results__reset{
border:none;
cursor:pointer;
font-family:inherit;
}

.back-home{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 18px;
line-height:1;
border-radius:var(--oc365-radius, 6px);
text-decoration:none;
font-weight:600;
}

/* Grid breakpoints — polish.css */
