/* « Derniers artisans inscrits » (recent_fiches.py, assets/recent-fiches.js) : six cartes sous le cadre de recherche, avant toute
   recherche ; dès qu'une recherche part, ses résultats prennent la place (body sans .search-idle). Ordinateur : une rangée de six,
   visible sans défiler ; avec moins de fiches, autant de colonnes que de cartes (--n, écrit par le serveur et la page), de 240 px au
   plus, et l'en-tête à leur largeur : pas de demi-rangée vide. Tablette : trois colonnes ; téléphone : deux. La place de chaque
   photo est réservée (4:3), rien ne bouge quand elle arrive ; toute la carte est la cible du lien vers la fiche (bien plus de
   44 px). Reprend les classes des cartes de résultats : card-photo, photo-placeholder, demo-pill, trade, card-checks, rating-stars. */
.recent-fiches{margin:24px 0 30px}
body:not(.search-idle) .recent-fiches{display:none}
.recent-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 18px;max-width:max(calc(var(--n,6) * 256px - 16px),40rem);margin:0 0 14px}
.recent-head h2{margin:0}
.recent-order{margin:0;max-width:62ch;font-size:13px;color:var(--muted)}
.recent-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,240px));gap:16px}
.recent-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:box-shadow .15s,border-color .15s}
.recent-card:hover{border-color:#bfccc2;box-shadow:0 8px 22px #183b3614}
.recent-card:has(h3 a:focus-visible){outline:3px solid #b24e23;outline-offset:3px}
@supports selector(:has(a)){.recent-card h3 a:focus-visible{outline:none}}
.recent-card .recent-photo{flex:none;height:auto;aspect-ratio:4/3}
.recent-photo img{display:block;width:100%;height:100%;object-fit:cover}
.recent-photo .photo-placeholder{padding-bottom:12px;background-size:44px,auto;font-size:13px}
.recent-body{min-width:0;padding:12px 12px 14px}
.recent-card h3{margin:0;font-size:16px;line-height:1.3;letter-spacing:-.2px;overflow-wrap:anywhere}
.recent-card h3 a{text-decoration:none}
.recent-card h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.recent-card .trade{margin:3px 0 0;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.recent-city{margin:2px 0 0;font-size:13px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
.recent-card .card-checks{margin:8px 0 0;gap:4px}
.recent-card .card-checks .check{font-size:12px;line-height:1.3}
.recent-card .card-checks .check-sign{width:16px;height:16px;font-size:10px}
.recent-rating{margin:8px 0 0;font-size:13px;line-height:1.4;color:#103c65}
.recent-rating .rating-stars{margin-right:.3rem;font-size:.95rem}
.recent-rating small{display:block;font-size:12px;color:#52645f}
@media(max-width:1100px){.recent-head{max-width:none}.recent-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){
  .recent-fiches{margin:20px 0 26px}
  .recent-head{margin-bottom:12px}
  .recent-head h2{font-size:22px}
  .recent-order{font-size:12px}
  .recent-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .recent-body{padding:10px 10px 12px}
  .recent-card h3{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.recent-card{transition:none}}
