/* =========================================================
   Jednotný sémantický výpis inzerátů
   ========================================================= */

#content.listing-page #items {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
    min-width:0;
    gap:10px;
    padding-top:8px;
}

#content.listing-page .listing-list-header {
    box-sizing:border-box;
    display:grid;
    grid-template-columns:142px minmax(0,1fr) 125px 145px 75px;
    gap:12px;
    margin:0;
    padding:0 13px;
    border:0;
    border-radius:9px;
    background:var(--pb-surface);
    color:var(--pb-muted);
    font-size:11px;
    font-weight:750;
    letter-spacing:.035em;
    text-transform:uppercase;
}

.listing-list-header span{padding:7px}
.listing-list-header span:first-child{grid-column:1/3}

#content.listing-page #items .listing-card {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    margin:0;
    padding:13px 12px;
    border:1px solid var(--pb-border);
    border-radius:12px;
    background:var(--pb-canvas);
    box-shadow:0 3px 11px var(--pb-shadow);
    overflow:hidden;
    transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

#content.listing-page #items .listing-card:hover {
    border-color:var(--pb-primary);
    box-shadow:0 7px 18px var(--pb-shadow);
    transform:translateY(-1px);
}

.listing-card-heading{margin:0 0 8px}
#content.listing-page .listing-card-heading h3{margin:0;padding:0;font-size:16px;line-height:1.35}
.listing-card-heading h3 a{color:var(--pb-text)}
.listing-card-date{display:block;margin-top:3px;color:var(--pb-muted);font-size:12px;line-height:1.3}

.listing-card-layout{
    display:grid;
    grid-template-columns:142px minmax(0,1fr) 125px 145px 75px;
    gap:12px;
    min-width:0;
    align-items:start;
}

.listing-card-photo{display:block;grid-column:1;min-width:0}
#content.listing-page #items .listing-card .img{
    box-sizing:border-box;
    display:block;
    width:142px;
    height:102px;
    margin:0;
    border:1px solid var(--pb-border);
    border-radius:9px;
    background:var(--pb-surface);
    object-fit:cover;
}

#content.listing-page .listing-card-description{
    display:-webkit-box;
    grid-column:2;
    min-width:0;
    margin:0;
    overflow:hidden;
    color:var(--pb-muted);
    font-size:13px;
    line-height:1.55;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
}

.listing-card-facts{display:contents}
.listing-card-facts > div{box-sizing:border-box;min-width:0;padding:5px 7px;color:var(--pb-muted);font-size:13px;line-height:1.5}
.listing-card-facts .price{grid-column:3;color:var(--pb-primary-hover);font-size:14px;font-weight:800}
.listing-card-facts .misto{grid-column:4}
.listing-card-facts .type{grid-column:5;font-size:12px}
.listing-card-facts dt{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.listing-card-facts dd{margin:0}
.listing-card-facts dd span{display:block}

.listing-card-actions{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:12px;
    padding-top:11px;
    border-top:1px solid var(--pb-border);
}

.listing-card-actions a{
    display:inline-flex;
    min-height:36px;
    padding:6px 10px;
    border:1px solid var(--pb-border);
    border-radius:7px;
    background:var(--pb-surface);
    color:var(--pb-text);
    align-items:center;
    font-size:12px;
    font-weight:700;
}

.listing-card-actions form{margin:0}
.listing-card-actions .tlacitkozlute{margin:0}
.listing-search-hit{padding:0 2px;background:var(--pb-error-surface);color:var(--pb-danger);font-weight:800}
.search-heading-query{color:var(--pb-primary-hover)}
.listing-ad-spacer{box-sizing:border-box;min-height:20px;padding:10px 0}
.listing-ad-spacer--large{min-height:80px;padding-bottom:70px}

#content.listing-page #pages{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:0;
    padding:15px 4px 24px;
}

#pages a{
    box-sizing:border-box;
    display:inline-flex;
    min-width:36px;
    min-height:36px;
    margin:0;
    padding:6px 10px;
    border:1px solid var(--pb-border);
    border-radius:8px;
    background:var(--pb-canvas);
    color:var(--pb-text);
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:750;
    line-height:1;
    box-shadow:0 2px 6px var(--pb-shadow);
}

#pages a.active,
#pages a.activelong{
    border-color:var(--pb-primary-hover);
    background:var(--pb-primary);
    color:var(--pb-canvas);
}

#pages a:hover,
#pages a:focus-visible{border-color:var(--pb-primary);background:var(--pb-surface);color:var(--pb-text);outline:none}

@media screen and (max-width:700px){
    #content.listing-page #items{gap:9px;padding-top:6px}
    #content.listing-page .listing-list-header{display:none}
    #content.listing-page #items .listing-card{padding:11px 10px;border-radius:11px}
    .listing-card-layout{
        grid-template-columns:clamp(150px,55%,240px) minmax(0,1fr);
        grid-template-rows:auto auto auto auto;
        gap:7px 10px;
    }
    .listing-card-photo{grid-column:1;grid-row:1/4}
    #content.listing-page #items .listing-card .img{width:100%;height:auto;object-fit:contain}
    #content.listing-page .listing-card-description{display:block;grid-column:1/-1;grid-row:4;margin-top:2px;line-height:1.5}
    .listing-card-facts .misto,
    .listing-card-facts .price,
    .listing-card-facts .type{
        grid-column:2;
        width:100%;
        padding:7px 8px;
        border-radius:8px;
        background:var(--pb-surface);
        text-align:center;
    }
    .listing-card-facts .misto{grid-row:1}
    .listing-card-facts .price{grid-row:2}
    .listing-card-facts .type{grid-row:3}
    #pages{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;padding:15px 4px 24px}
    #pages a,#pages a.active,#pages a.activelong,#pages a.long{
        box-sizing:border-box;display:inline-flex;min-width:40px;min-height:40px;margin:0;padding:7px 11px;
        border:1px solid var(--pb-border);border-radius:9px;background:var(--pb-surface);color:var(--pb-text);
        align-items:center;justify-content:center;font-size:15px;font-weight:750;line-height:1;box-shadow:0 2px 6px var(--pb-shadow)
    }
    #pages a.active,#pages a.activelong{border-color:var(--pb-primary-hover);background:var(--pb-primary);color:var(--pb-canvas)}
}

/* =========================================================
   Kompaktní filtry výpisů
   ========================================================= */

.listing-summary {
    color: var(--pb-muted);
    font-weight: 700;
    text-align: left;
}

.listing-registration-invite {
    box-sizing: border-box;
    width: min(100%, 760px);
    margin: 20px 0;
    padding: 12px 14px;
    border: 1px solid var(--pb-primary);
    border-radius: 8px;
    background: var(--pb-surface);
    line-height: 1.5;
}

.listing-registration-invite p { margin: 0; }

.listing-filters {
    position: relative;
    z-index: 30;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
    margin: 9px 0 12px;
}

@media screen and (max-width: 800px) {
    .listing-filters {
        gap: 7px;
        margin-top: 8px;
    }
}

.listing-filter-direct {
    position: relative;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 91px;
    min-height: 40px;
    padding: 8px 34px 8px 12px;
    border: 1px solid var(--pb-border);
    border-radius: 9px;
    background: var(--pb-canvas);
    color: var(--pb-text);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.2;
    box-shadow: 0 2px 7px var(--pb-shadow);
}

.listing-filter-direct:nth-of-type(2) {
    min-width: 166px;
}

.listing-filter-direct::after {
    position: absolute;
    top: 50%;
    right: 13px;
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--pb-muted);
    border-bottom: 2px solid var(--pb-muted);
    content: "";
    pointer-events: none;
    transform: translateY(-70%) rotate(45deg);
}

.listing-filter-direct.is-active {
    border-color: var(--pb-primary);
    background: var(--pb-surface);
}

.listing-filter-direct:focus-within {
    border-color: var(--pb-primary);
    box-shadow: 0 0 0 3px var(--pb-focus);
}

#content.listing-page .listing-filter-direct select {
    position: absolute;
    inset: 0;
    z-index: 2;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    opacity: 0;
}

.listing-filter-reset {
    display: inline-flex;
    align-items: center;
    min-height: 39px;
    padding: 0 10px;
    color: var(--pb-primary-hover);
    font-size: 13px;
    font-weight: 700;
}
