/* styles.css — minimal overrides Bootstrap-only sites. */
/* Tip vidéo #1: SEO text en haut du DOM, hero+form repositionné visuellement en order:1 sur TOUTES tailles
   (mobile + desktop) pour garantir form above-fold partout (tip vidéo #3) */
main > .container { display: flex; flex-direction: column; }
/* Tip #3: anti-zoom iOS sur input (size >= 16px) */
input, select, textarea { font-size: 16px; }
/* Tip #3: form widget above-fold mobile (limite hauteur hero) */
@media (max-width: 991.98px) {
  header.py-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  header h1.display-5, header h1.display-6 { font-size: 1.5rem; }
  header p.lead { font-size: 1rem; }
}
/* Form widget visible card — CLS fix: reserve space so VUD inject doesn't shift layout */
#vud-form { min-height: 600px; }
#vac6f0118e8d { min-height: 520px; display: block; }
/* Tap targets 44px mobile (a11y) */
@media (max-width: 991.98px) {
  .btn { min-height: 44px; padding-top: 0.625rem; padding-bottom: 0.625rem; }
  .nav-link { min-height: 44px; display: flex; align-items: center; }
}
/* breadcrumb compact */
.breadcrumb { margin-bottom: 0; }
/* SIRENE card hover */
.card { transition: box-shadow 0.15s; }
.card:hover { box-shadow: 0 .5rem 1rem rgba(0,0,0,.1); }

/* Pulse animation pour CTA principal sticky (attire l'œil) */
@keyframes pulse-cta {
  0%, 100% { box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.5); }
  50% { box-shadow: 0 0 0 10px rgba(25, 135, 84, 0); }
}
#mobile-sticky-cta .btn-success, #mobile-sticky-cta .btn-warning, #mobile-sticky-cta .btn-primary { animation: pulse-cta 2.5s ease-out infinite; }

/* Activity ticker scroll fade */
#activity-ticker { font-size: 14px; }
#ticker-text { display: inline-block; }

/* Hero comparison anchor visual emphasis */
.border-start.border-4 { box-shadow: 0 2px 8px rgba(0,0,0,.05); }

/* Inline CTA subtle hover */
.btn:hover { transform: translateY(-1px); transition: transform .15s; }
