/* Cartes "preuve" — vrais exemples de prix détectés par SniperAir (accueil +
   5 pages piliers). Reprend le même langage visuel que .carte-destination
   (zoom léger + reflet au survol) avec en plus le prix détecté vs référence. */

.section-vitrine-prix {
  padding: clamp(56px, 7vw, 90px) var(--espace-section);
  background: var(--blanc);
}

.section-vitrine-prix__interieur {
  max-width: 1100px;
  margin-inline: auto;
}

.section-vitrine-prix__titre {
  font-family: var(--police-titres);
  font-weight: 600;
  font-size: clamp(22px, 3vw, 30px);
  color: var(--noir);
  text-align: center;
  margin-bottom: 8px;
}

.section-vitrine-prix__soustitre {
  font-size: 15px;
  color: #6B6B6B;
  text-align: center;
  max-width: 560px;
  margin: 0 auto 36px;
}

.grille-vitrine-prix {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width: 900px) {
  .grille-vitrine-prix { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
}

.carte-vitrine-prix {
  position: relative;
  border-radius: var(--rayon-carte);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  box-shadow: 0 4px 16px rgba(20, 30, 25, 0.10);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.carte-vitrine-prix:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(20, 30, 25, 0.18);
}

.carte-vitrine-prix img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.carte-vitrine-prix:hover img {
  transform: scale(1.08);
}

.carte-vitrine-prix::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.15) 100%);
  pointer-events: none;
}

.carte-vitrine-prix__badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  font-family: var(--police-titres);
  font-weight: 700;
  font-size: 13px;
  color: var(--noir);
  background: var(--vert-sniperair);
  padding: 5px 12px;
  border-radius: var(--rayon-pilule);
}

.carte-vitrine-prix__contenu {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 3;
  color: var(--blanc);
}

.carte-vitrine-prix__route {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #E4E4E4;
  margin-bottom: 6px;
}

.carte-vitrine-prix__route svg {
  width: 12px;
  height: 12px;
  color: var(--vert-sniperair);
  flex-shrink: 0;
}

.carte-vitrine-prix__prix {
  font-family: var(--police-titres);
  font-weight: 700;
  font-size: 30px;
  line-height: 1;
}

.carte-vitrine-prix__reference {
  font-size: 13px;
  color: #C7C7C7;
  text-decoration: line-through;
  margin-top: 4px;
}

.carte-vitrine-prix__date {
  font-size: 11.5px;
  color: #9A9A9A;
  margin-top: 8px;
}

.grille-vitrine-prix--chargement {
  display: flex;
  justify-content: center;
  padding: 40px 0;
  color: #9A9A9A;
  font-size: 14px;
}

/* Carte "analyse en cours" — affichée à la place d'une carte prix tant
   qu'aucun vol ne remplit encore les critères d'une vraie opportunité
   (jamais un prix inventé pour combler l'espace). Se remplace toute seule
   par une vraie carte dès qu'un exemple qualifie, sans recharger la page
   (voir vitrine-prix.js). */
.carte-vitrine-prix--analyse {
  aspect-ratio: 3 / 4;
  border-radius: var(--rayon-carte);
  background: var(--noir);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 28px 22px;
  gap: 14px;
}

.carte-vitrine-prix--analyse svg {
  width: 30px;
  height: 30px;
  color: var(--vert-sniperair);
  animation: vitrine-prix-pulse 2.2s ease-in-out infinite;
}

@keyframes vitrine-prix-pulse {
  0%, 100% { opacity: 0.55; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.08); }
}

.carte-vitrine-prix--analyse__titre {
  font-family: var(--police-titres);
  font-weight: 700;
  font-size: 15.5px;
  color: var(--blanc);
}

.carte-vitrine-prix--analyse__texte {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
  max-width: 22ch;
}
