/* Overrides refonte 2026 — remplace les styles inline du design par des classes
   (zéro style inline dans les templates : prérequis pour durcir style-src). */

/* Layout générique */
.section-soft { background: var(--surface-bg-soft); }
.section-head-wide { max-width: none; }
.mx-auto { margin-inline: auto; }

/* Bandeau bêta */
.beta-illus-pos { position: absolute; inset: 0; display: grid; place-items: center; z-index: 1; }
.bv-upto { font-size: var(--text-2xs); opacity: 0.75; margin-top: -4px; }

/* Carte Analyse Flash */
.fm-pin-1 { left: 26%; top: 55%; }
.fm-pin-you { left: 42%; top: 46%; }
.fm-pin-2 { left: 70%; top: 60%; }
.fm-pin-3 { left: 86%; top: 40%; }

/* Section 25 points */
.points-cta { margin-top: var(--space-2); }

/* Feature rows « Pourquoi » */
.feature-stack { display: flex; flex-direction: column; gap: var(--space-16); }
.map-ratio { aspect-ratio: 16 / 10; }
.pin-me { left: 52%; top: 50%; }
.pin-c1 { left: 68%; top: 30%; --ping: 0.65s; }
.pin-c2 { left: 34%; top: 56%; --ping: 3.23s; }
.pin-c3 { left: 62%; top: 68%; --ping: 1.73s; }
.pin-c4 { left: 30%; top: 34%; --ping: 3.68s; }
.card-pad { padding: var(--space-6); }
.card-pad-lg { padding: var(--space-8); }
.score-stack { display: flex; flex-direction: column; gap: var(--space-4); }
.score-line { display: flex; justify-content: space-between; font-size: var(--text-sm); margin-bottom: 6px; }
.score-bar .w-82 { width: 82%; }
.score-bar .w-64 { width: 64%; }
.score-bar .w-47 { width: 47%; }
.gauge-home { --gauge-value: 74; --gauge-fill: var(--brand-accent); margin-inline: auto; }
.gauge-caption { margin-top: var(--space-4); }

/* Calculateur de rentabilité */
.calc-small { color: var(--text-inverse-soft); }
.calc-disclaimer { margin-top: var(--space-6); max-width: none; }

/* Pied de page */
.foot-brand-text { margin-top: var(--space-4); max-width: 34ch; color: var(--text-inverse-soft); }

/* Page « Très bientôt » */
.soon-note { margin-top: var(--space-10); max-width: 70ch; margin-inline: auto; }

/* Page bêta (formulaire) */
.hint-inline { display: inline; }
.form-error-msg { display: none; color: var(--danger-text); }
.form-error-msg.show { display: inline; }
.m-0 { margin: 0; }

/* Pages légales / blog (contenus longs) */
.legal-lead { margin-top: var(--space-4); max-width: 62ch; }
.legal-lead-66 { margin-top: var(--space-4); max-width: 66ch; }
.mt-4 { margin-top: var(--space-4); }
.radius-xl { border-radius: var(--radius-xl); }
.blog-intro-p { margin: 0 0 var(--space-6); max-width: none; }

/* Honeypot anti-spam : champ hors écran (pas display:none, certains bots l'ignorent). */
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

/* Encart de statut après confirmation newsletter (?news=ok|ko). */
.page-toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 1000; max-width: min(92vw, 560px); padding: 14px 22px; border-radius: var(--radius-lg); font-size: var(--text-sm); font-weight: var(--weight-semibold); color: #fff; box-shadow: var(--shadow-lg); opacity: 1; transition: opacity .6s ease; }
.page-toast.is-ok { background: var(--brand-accent); }
.page-toast.is-ko { background: var(--danger-text, #b3261e); }
.page-toast.hide { opacity: 0; }

/* Micro-interaction : le logo réagit au survol (nav et footer). */
.site-nav .logo .nav-mark, .footer .foot-brand .nav-mark { transition: transform .35s var(--ease-emphasized, cubic-bezier(.22,.8,.26,1)); }
.site-nav .logo:hover .nav-mark, .footer .foot-brand a:hover .nav-mark { transform: rotate(-6deg) scale(1.08); }
@media (prefers-reduced-motion: reduce) {
  .site-nav .logo:hover .nav-mark, .footer .foot-brand a:hover .nav-mark { transform: none; }
}
