/* Mise en page propre aux listings ; composants dans classifieds-public.css. */
.listing-shell .category-nav-block { padding-bottom: 0.5rem; margin-bottom: 0.25rem; }
.listing-shell .category-nav-block .category-seo-title,
.listing-shell .category-seo-header .category-seo-title { font-size: clamp(1.25rem, 1.5vw, 1.5rem); line-height: 1.3; letter-spacing: -0.025em; font-weight: 650; margin-bottom: 0.5rem; }
.listing-shell .category-nav-block .subcategories-filter { border-top: 0; padding-top: 0; gap: 0.5rem; }
.listing-shell :is(.tag-link, .tag-all, .tag-checkbox) .tag-label {
    min-height: 34px; border-radius: 5px; background: var(--public-surface); border-color: var(--public-line);
}
.listing-shell .tag-back { width: 34px; height: 34px; border-radius: 5px; }
.listing-shell .tag-link:hover .tag-label { background: var(--public-paper); border-color: var(--public-price); color: var(--public-price); }
.listing-shell :is(.tag-checkbox, .tag-all).active .tag-label { background: var(--public-active); border-color: var(--public-price); color: var(--public-ink); }
.listing-shell .results-toolbar { flex-wrap: wrap; padding: 0.375rem 0; margin-bottom: 0.5rem; border-bottom: 0; }
.listing-shell :is(.toolbar-btn, .toolbar-select) { min-height: 40px; border-radius: 5px; background: var(--public-surface); border-color: var(--public-line); }
.listing-shell .toolbar-btn[aria-expanded="true"] { background: var(--public-active); color: var(--public-ink); border-color: var(--public-price); }
.listing-shell .filters-panel { border-color: var(--public-line); background: var(--public-paper); box-shadow: none; border-radius: 6px; }
.listing-shell .filter-field :is(input, select) { border-color: var(--public-line); background-color: var(--public-surface); color: var(--public-ink); border-radius: 5px; }

/* Cartes : photos inchangées, prix bleu marine et résumés lisibles. */
.listing-shell .classifieds-grid { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1.5rem 1.25rem; }
/* Une hauteur par rangée, y compris quand un prix ou un résumé est absent.
   Les états de floutage et les badges du composant partagé restent intacts. */
@supports (grid-template-rows: subgrid) {
    @media (min-width: 641px) {
        .listing-shell .classifieds-card { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; min-width: 0; }
        .listing-shell .classifieds-card-link { display: grid; grid-row: 1 / -1; grid-template-rows: subgrid; row-gap: 0; min-width: 0; }
        .listing-shell .classifieds-card-image { grid-row: 1; }
        .listing-shell .classifieds-card-body { display: grid; grid-row: 2 / -1; grid-template-rows: subgrid; row-gap: 0; min-width: 0; }
        .listing-shell .classifieds-card-title { grid-row: 1; min-height: 0; align-self: start; }
        .listing-shell .classifieds-card-price { grid-row: 2; align-self: start; }
        .listing-shell .classifieds-card-excerpt { grid-row: 3; min-height: 0; align-self: start; }
        .listing-shell .classifieds-card-footer { grid-row: 4; align-self: end; }
    }
}
.listing-shell .classifieds-listing-faq { background: var(--public-paper); }
.listing-shell .classifieds-listing-faq-item { border-color: var(--public-line); border-radius: 5px; box-shadow: none; }

@media (min-width: 1025px) {
    .listing-shell .classifieds-listing .listing-layout { grid-template-columns: 280px minmax(0, 1fr); gap: 1.5rem; }
}
@media (max-width: 768px) {
    .listing-shell .subcategories-filter :is(.tag-label, .tag-back) { min-height: 44px; }
    .listing-shell :is(.toolbar-btn, .toolbar-select) { min-height: 44px; }
    .listing-shell #filters-btn > span:first-of-type { display: inline; }
}
@media (max-width: 640px) {
    .listing-shell .classifieds-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
    /* Le contour relie clairement la photo et son texte sur une seule colonne. */
    .listing-shell .classifieds-card { border-color: #b4c1d6; box-shadow: 0 2px 4px rgb(25 38 61 / 8%); }
    [data-theme="dark"] .listing-shell .classifieds-card { border-color: #52647e; box-shadow: none; }
    .listing-shell .classifieds-card-title { min-height: 0; }
    .listing-shell .classifieds-card-excerpt { min-height: 0; }
}
