/* ═══════════════════════════════════════════════════════
   IMMO-ENCHERES.NET — Modules Stratégiques 2026
   ═══════════════════════════════════════════════════════ */

/* MODULE 1 — Barre live ticker */
.live-ticker { background: #0d1f35; overflow: hidden; }
.live-ticker-inner { display: flex; align-items: center; gap: 1rem; max-width: 1200px; margin: 0 auto; padding: .5rem 1.5rem; }
.live-pill { display: inline-flex; align-items: center; gap: .35rem; background: rgba(239,68,68,.15); border: 1px solid rgba(239,68,68,.3); color: #fca5a5; padding: .15rem .6rem; border-radius: 999px; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; white-space: nowrap; }
.live-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #ef4444; animation: pulse 1.5s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .5; transform: scale(.85); } }
.ticker-scroll { display: flex; align-items: center; gap: .6rem; font-size: .82rem; color: rgba(255,255,255,.8); flex-wrap: wrap; }
.ticker-item a { color: #C8963E; text-decoration: none; font-weight: 600; }
.ticker-sep { color: rgba(255,255,255,.3); }
.live-activity-item { animation: slideIn .4s ease; }
@keyframes slideIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

/* MODULE 2 — Sessions de vente */
.session-card { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 12px; padding: 1.2rem; color: #fff; backdrop-filter: blur(8px); transition: all .2s; }
.session-card:hover { background: rgba(255,255,255,.14); transform: translateY(-2px); }

/* MODULE 5 — Thermomètre */
#competition-card { border-left: 3px solid #1A3C5E; }
.comp-bar-container { height: 10px; background: #e2e8f0; border-radius: 99px; overflow: hidden; }
.comp-bar-fill { height: 100%; background: linear-gradient(90deg, #22c55e, #f59e0b, #dc2626); border-radius: 99px; transition: width .8s ease; }

/* MODULE 6 — Preuve sociale */
.sale-result-card { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,.07); border: 1px solid #e8eaed; transition: all .2s; }
.sale-result-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.12); transform: translateY(-3px); }

/* MODULE 9 — PWA Install Banner */
.pwa-install-banner { position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); background: #1A3C5E; color: #fff; padding: .8rem 1.5rem; border-radius: 999px; display: flex; align-items: center; gap: .8rem; box-shadow: 0 4px 20px rgba(0,0,0,.2); z-index: 9999; font-size: .88rem; white-space: nowrap; }
.pwa-install-banner button { background: #C8963E; color: #fff; border: 0; border-radius: 999px; padding: .35rem .9rem; font-weight: 700; cursor: pointer; font-size: .82rem; }
.pwa-install-banner .close { background: none; color: rgba(255,255,255,.5); font-size: 1.1rem; padding: 0 .3rem; }

/* MODULE 10 — Pages régionales */
.region-hero { background: linear-gradient(135deg, #1A3C5E, #2E7D9A); color: #fff; padding: 3rem 0; }
.region-stat { text-align: center; }
.region-stat strong { display: block; font-size: 2rem; font-weight: 900; }
.region-stat span { font-size: .8rem; opacity: .7; }

/* Responsive global */
@media (max-width: 768px) {
  .live-ticker-inner { flex-direction: column; align-items: flex-start; gap: .4rem; }
  .pwa-install-banner { width: calc(100% - 2rem); white-space: normal; border-radius: 12px; }
}
