/* Public listings: one responsive structure, with media sized for each content type. */
.listing-card-list { display: grid; gap: 16px; margin-bottom: 28px; }
.listing-results .summary {
    margin: 0 0 16px; text-align: left; color: var(--ui-muted);
    font: 400 14px/20px 'PT Sans', sans-serif;
}
.listing-card.padv-block {
    display: grid; grid-template-columns: minmax(0, 1fr) 144px; gap: 20px;
    width: 100%; height: auto; min-height: 164px; margin: 0; padding: 20px;
    border: 1px solid var(--ui-border); border-radius: var(--ui-radius);
    background: #fff; box-sizing: border-box; text-align: left;
}
.listing-card.padv-block::after { display: none; }
.listing-card.padv-block:hover { background: #fff; border-color: #b7c0c6; }
.listing-card.padv-block.vip-padv { border-color: #ddb66d; background: #fffcf5; }
.listing-card.padv-block .info {
    float: none; width: auto; height: auto; min-width: 0; padding: 0;
    position: static; overflow: visible; text-align: left;
}
.listing-card.padv-block .info .name { margin: 0 0 8px; white-space: normal; text-align: left; }
.listing-card.padv-block .name a {
    display: block; height: auto; overflow: visible; color: var(--ui-link);
    font: 700 20px/1.35 'PT Sans', sans-serif; overflow-wrap: anywhere;
}
.listing-card.padv-block .name a:hover { color: var(--ui-accent); }
.listing-card.padv-block .info .text {
    height: auto; margin: 0 0 12px; color: var(--ui-muted);
    font: 400 15px/1.5 'PT Sans', sans-serif; overflow-wrap: anywhere;
}
.listing-card.padv-block .price, .listing-card.padv-block .date {
    position: static; float: none; width: auto; height: auto; padding: 0;
    margin: 8px 0 0; text-align: left; white-space: normal; overflow-wrap: anywhere;
}
.listing-card.padv-block .price { color: var(--ui-ink); font: 700 21px/1.3 'PT Sans', sans-serif; }
.listing-card.padv-block .date { color: var(--ui-muted); font: 400 13px/1.45 'PT Sans', sans-serif; }
.listing-card.padv-block .approved {
    display: block; margin: 0 0 8px; padding: 0; height: auto; text-align: left;
    color: var(--ui-muted); font: 400 14px/1.45 'PT Sans', sans-serif;
}
.listing-card.padv-block .state {
    position: static; display: inline-block; width: fit-content !important; max-width: 100%; height: auto;
    margin: 0 0 10px; padding: 3px 9px; border-radius: 4px;
    background: #edf2f4; color: #455d6b; font: 700 12px/18px 'PT Sans', sans-serif;
}
.listing-card.padv-block .state.lost { background: #fceced; color: #9c343e; }
.listing-card.padv-block .state.found, .listing-card.padv-block .state.give { background: #edf5ef; color: #376546; }
.listing-card.padv-block.vip-padv .state { background: #faedcf !important; color: #775016; }
.listing-card.padv-block .image {
    position: static; float: none; align-self: start; width: 144px; max-width: 100%;
    height: 128px; margin: 0; padding: 0; overflow: hidden; border-radius: var(--ui-radius);
    background: var(--ui-surface); text-align: center;
}
.listing-card.padv-block .image a { display: block; width: 100%; height: 100%; }
.listing-card.padv-block .image img {
    display: block; width: 100%; height: 100%; max-width: 100%; margin: 0;
    object-fit: cover;
}
.listing-no-photo {
    display: block; width: 100%; height: 100%; min-height: 72px;
    background: var(--ui-surface) url('../images/photo-camera.svg') center / 30px auto no-repeat;
}
.listing-card--rabota.padv-block { grid-template-columns: minmax(0, 1fr) 88px; }
.listing-card--rabota.padv-block .image { width: 88px; height: 88px; background: #fff; }
.listing-card--rabota.padv-block .image img { object-fit: contain; }
.listing-card--resume.padv-block .image { width: 112px; height: 128px; justify-self: end; }
.listing-card.padv-block .vip-crown { top: 8px; right: 8px; z-index: 2; }
.listing-card.padv-block .manage { display: flex; position: static; gap: 6px; height: auto; margin: 8px 0; }
.listing-card.padv-block .manage .sprite { display: inline-block; flex: 0 0 32px; }
.classified-page .top-head {
    display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
    height: auto; margin: 0 0 24px; padding: 0 0 22px; border-bottom: 1px solid var(--ui-border);
}
.classified-page .top-head h1 { flex: 1 1 300px; margin: 0; padding: 0; font-size: 27px; line-height: 1.3; overflow-wrap: anywhere; }
.classified-page .top-head a.round-button {
    position: static; float: none; display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; max-width: 100%; margin: 0; padding: 10px 16px; box-sizing: border-box;
    border: 1px solid var(--ui-accent); background: var(--ui-accent); color: #fff;
    font: 700 15px/22px 'PT Sans', sans-serif; text-align: center;
}
.classified-page .top-head a.round-button:hover { background: var(--ui-accent-hover); }
.classified-page .top-head .profi-filters, .classified-page .top-head .l-menu { flex: 1 0 100%; width: 100%; margin: 0; padding: 0; }
.classified-page .top-head .l-menu { display: flex; flex-wrap: wrap; gap: 8px; }
.classified-page .top-head .l-menu::after { display: none; }
.classified-page .top-head .l-menu li { float: none; margin: 0; padding: 0; }
.classified-page .top-head .l-menu a {
    display: inline-flex; min-height: 44px; align-items: center; padding: 8px 14px;
    border: 1px solid var(--ui-border); border-radius: var(--ui-radius); text-decoration: none;
    background: #fff; color: var(--ui-ink); font: 400 15px/22px 'PT Sans', sans-serif;
}
.classified-page .top-head .l-menu .active > a { border-color: #e6b6bd; background: var(--ui-accent-soft); color: var(--ui-accent); }
.listing-filters .profi-filter__options { min-width: 320px; }
.listing-filters .profi-filter__options a { display: flex; gap: 18px; justify-content: space-between; }
.listing-filter-count { color: var(--ui-muted); font-size: 12px; }
.classified-page .vacancy-format-filter { margin-bottom: 18px; padding: 14px 16px; background: var(--ui-surface); border: 0; border-radius: var(--ui-radius); }
.classified-page .vacancy-format-filter select { min-height: 44px; font-size: 16px; border-color: var(--ui-border); }
.listing-cross-link { margin: 24px 0; padding: 18px; border-radius: var(--ui-radius); background: var(--ui-surface); }
.listing-cross-link a { font: 700 16px/24px 'PT Sans', sans-serif; }
.classified-page .employment-block { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; height: auto; margin: 0 0 24px; }
.classified-page .employment-block .price { height: auto; margin: 0; padding: 10px 14px; border-radius: var(--ui-radius); background: var(--ui-surface); line-height: 1.35; overflow-wrap: anywhere; }
.classified-page .employment-block .employment { position: static; height: auto; line-height: 1.5; color: var(--ui-muted); }
.classified-page .advert-contact-card { box-shadow: none; border-color: var(--ui-border); }
.classified-page .advert-contact-card__content { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.classified-page .advert-contact-card__actions { justify-content: flex-start; }
.classified-page .profi-directory, .classified-page .profi-card { width: 100%; }
@media (min-width: 768px) and (max-width: 1023px) {
    .classified-page .cLeft, .main-page .cLeft { width: 100%; float: none; }
    .classified-page .cRight, .main-page .cRight { float: none; width: 100%; clear: both; }
}
@media (max-width: 640px) {
    .listing-card-list { gap: 12px; }
    .listing-card.padv-block {
        grid-template-columns: minmax(0, 1fr) 88px; gap: 12px;
        min-height: 0; padding: 16px;
    }
    .listing-card.padv-block .name a { font-size: 18px; line-height: 1.35; }
    .listing-card.padv-block .price { font-size: 19px; }
    .listing-card.padv-block .image, .listing-card--resume.padv-block .image { width: 88px; height: 100px; }
    .listing-card--rabota.padv-block { grid-template-columns: minmax(0, 1fr) 56px; }
    .listing-card--rabota.padv-block .image { width: 56px; height: 56px; }
    .listing-card.padv-block .info .text { font-size: 14px; }
    .classified-page .top-head { gap: 14px; margin-bottom: 18px; padding-bottom: 18px; }
    .classified-page .top-head h1 { font-size: 24px; flex-basis: 100%; }
    .classified-page .top-head a.round-button { width: 100%; }
    .listing-filters .profi-filter__options { min-width: 0; }
}
@media (max-width: 359px) {
    .listing-card.padv-block { padding: 12px; grid-template-columns: minmax(0, 1fr) 68px; gap: 10px; }
    .listing-card.padv-block .image { width: 68px; height: 80px; }
    .listing-card--rabota.padv-block { grid-template-columns: minmax(0, 1fr) 44px; }
    .listing-card--rabota.padv-block .image { width: 44px; height: 44px; }
}

/* Legacy mobile rules force every paragraph to 100%; badges keep their content width. */
.listing-card.padv-block .vacancy-work-format { width: fit-content !important; max-width: 100%; border-radius: 4px; }
.listing-card--resume .listing-no-photo { background-image: url('../images/ui-user.svg'); }
