/* Colonne automatiche come nella griglia di zonahobby. */
.gv-annunci-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; align-items: start; }
.gv-annuncio { min-width: 0; position: relative; padding-bottom: 12px; }
.gv-annuncio-foto { position: relative; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 10px; background: #eee; }
@media (hover: hover) and (pointer: fine) {
    .gv-annuncio-immagine { transition: transform 200ms ease; }
    .gv-annuncio:hover .gv-annuncio-immagine { transform: scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
    .gv-annuncio-immagine { transition: none; }
}
.gv-annuncio-immagine { display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center; border: 0; }
.gv-annuncio-badge { position: absolute; top: 9px; left: 9px; padding: 1px 10px; color: #fff; font-size: 16px; line-height: 18px; font-weight: bold; pointer-events: none; }
.gv-annuncio-badge-vendo { background: #66cdaa; }
.gv-annuncio-badge-cerco { background: #daa520; }
.gv-annunci-grid .gv-annuncio-titolo { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; height: 28px; margin-top: 3px; color: #000; font-size: 13px; line-height: 14px; font-weight: normal; text-transform: uppercase; overflow-wrap: anywhere; text-decoration: none; }
/* Un solo collegamento accessibile: la sua area copre tutta la scheda. */
.gv-annuncio-titolo::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.gv-annuncio:hover .gv-annuncio-titolo { text-decoration: none; }
.gv-annuncio-titolo:focus-visible::after { outline: 2px solid #21aabd; outline-offset: 2px; border-radius: 10px; }
.gv-annuncio-prezzo { color: #000; font-size: 14px; line-height: 18px; font-weight: bold; }
.gv-annuncio-prezzo-venduto { text-decoration: line-through; }
.gv-annunci-home-titolo { font-size: 20px; margin-bottom: 10px; font-weight: bold; }
@media (max-width: 500px) { .gv-annunci-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
