/* Vitrine publique : véhicules en location et en vente */
.an-page { background: #f4f7fb; color: #1f2a37; }
.an-entete { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem; }
.an-entete h1 { font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 800; margin: 0 0 .25rem; }
.an-entete p { color: #5b6b7f; }
.an-onglets { display: inline-flex; gap: .25rem; padding: .25rem; background: #fff; border: 1px solid #d5e1ee; border-radius: 12px; }
.an-onglets a { padding: .45rem .9rem; border-radius: 9px; text-decoration: none; color: #031b3c; font-weight: 600; white-space: nowrap; }
.an-onglets a.actif { background: #0066c8; color: #fff; }
.an-onglets--petit a { padding: .3rem .8rem; font-size: .9rem; }
.an-filtres { background: #fff; border: 1px solid #d5e1ee; border-radius: 14px; padding: 1rem; }
.an-filtres .form-label { font-size: .82rem; font-weight: 600; margin-bottom: .2rem; color: #4a5b73; }
@media (min-width: 992px) { .an-filtres { position: sticky; top: 90px; } }

.an-carte { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #d5e1ee; border-radius: 14px;
  overflow: hidden; color: inherit; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.an-carte:hover, .an-carte:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(3, 27, 60, .12); color: inherit; }
.an-carte__photo { position: relative; aspect-ratio: 4 / 3; background: #e6eef7; }
.an-carte__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.an-carte__sans-photo { display: grid; place-items: center; width: 100%; height: 100%; font-size: 3rem; color: #9fb3c8; }
.an-badge { position: absolute; top: 10px; left: 10px; padding: .2rem .55rem; border-radius: 999px; background: #16a34a; color: #fff;
  font-size: .75rem; font-weight: 700; }
.an-badge--gris { background: #64748b; }
.an-carte__corps { display: flex; flex-direction: column; gap: .4rem; padding: .85rem 1rem 1rem; flex: 1; }
.an-carte__corps h3 { font-size: 1.02rem; font-weight: 700; margin: 0; color: #031b3c; overflow-wrap: anywhere; }
.an-carte__infos { display: flex; flex-wrap: wrap; gap: .25rem .75rem; list-style: none; padding: 0; margin: 0; font-size: .82rem; color: #4a5b73; }
.an-carte__pied { display: flex; flex-direction: column; gap: .15rem; margin-top: auto; padding-top: .4rem; border-top: 1px solid #edf2f8; }
.an-carte__lieu { font-size: .8rem; color: #5b6b7f; overflow-wrap: anywhere; }
.an-prix { font-size: 1.15rem; font-weight: 800; color: #0066c8; }
.an-prix small { font-size: .75rem; font-weight: 600; color: #5b6b7f; }
.an-vide { text-align: center; padding: 3rem 1rem; background: #fff; border: 1px dashed #c8d6e5; border-radius: 14px; }
.an-vide i { font-size: 3rem; color: #9fb3c8; }
.an-vide h2 { font-size: 1.15rem; font-weight: 700; margin-top: .5rem; }

.an-retour { display: inline-flex; gap: .35rem; align-items: center; text-decoration: none; font-weight: 600; }
.an-galerie__principale { aspect-ratio: 4 / 3; background: #e6eef7; border-radius: 14px; overflow: hidden; }
.an-galerie__principale img { width: 100%; height: 100%; object-fit: cover; display: block; }
.an-galerie__miniatures { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; margin-top: .5rem; }
.an-galerie__miniatures button { padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; aspect-ratio: 4 / 3; background: none; }
.an-galerie__miniatures button.actif { border-color: #0066c8; }
.an-galerie__miniatures img { width: 100%; height: 100%; object-fit: cover; display: block; }
.an-bloc { background: #fff; border: 1px solid #d5e1ee; border-radius: 14px; padding: 1.1rem 1.2rem; margin-top: 1rem; }
.an-bloc h2 { font-size: 1.05rem; font-weight: 700; margin-bottom: .75rem; color: #031b3c; }
.an-offre { margin-top: 0; }
@media (min-width: 992px) { .an-offre { position: sticky; top: 90px; } }
.an-offre h1 { font-size: 1.4rem; font-weight: 800; color: #031b3c; overflow-wrap: anywhere; }
.an-offre__prix { font-size: 1.8rem; font-weight: 800; color: #0066c8; margin: .25rem 0 0; }
.an-offre__prix small { font-size: .9rem; color: #5b6b7f; }
.an-tarifs { list-style: none; padding: 0; margin: .5rem 0; }
.an-tarifs li { display: flex; justify-content: space-between; padding: .4rem 0; border-bottom: 1px solid #edf2f8; }
.an-tarifs strong { color: #0066c8; font-size: 1.1rem; }
.an-caracteristiques { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .5rem; margin: 0; }
.an-caracteristiques div { background: #f4f7fb; border-radius: 10px; padding: .5rem .7rem; }
.an-caracteristiques dt { font-size: .75rem; font-weight: 600; color: #5b6b7f; }
.an-caracteristiques dd { margin: 0; font-weight: 700; color: #031b3c; }
.an-vendeur { display: flex; gap: .75rem; align-items: center; }
.an-vendeur img, .an-vendeur__initiale { width: 48px; height: 48px; border-radius: 12px; object-fit: contain; border: 1px solid #d5e1ee; background: #fff; }
.an-vendeur__initiale { display: grid; place-items: center; font-weight: 800; color: #0066c8; font-size: 1.3rem; }
.an-vendeur strong { display: block; color: #031b3c; }
.an-vendeur span { font-size: .85rem; color: #5b6b7f; }
.an-piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.an-tri { white-space: nowrap; }
.an-tri select { width: auto; }
/* Pages publiques toujours en thème clair : texte foncé sur les cartes */
.an-bloc, .an-carte, .an-filtres, .an-onglets, .an-vide { color: #1f2a37; }
.an-bloc .form-label, .an-filtres .form-label { color: #4a5b73; }
.an-bloc .text-muted { color: #5b6b7f !important; }
.an-tarifs span { color: #4a5b73; }
.an-badges { position: absolute; top: 10px; left: 10px; display: flex; gap: .3rem; }
.an-badges .an-badge { position: static; }
.an-badge--vente { background: #0066c8; }
.an-prix--second { font-size: .98rem; }
