/* IMPACT 361 V1.1 — densité équilibrée, logo plus lisible, responsive. */
:root{--impact-max:1140px}
html{font-size:15px;scroll-behavior:smooth}
body{line-height:1.55}
.container{max-width:var(--impact-max)}
.main-header{padding:5px 0!important}
.main-header .logo-link{flex-shrink:0;display:inline-flex;align-items:center}
.main-header .logo-link img{height:78px!important;width:auto!important;max-width:118px!important;object-fit:contain}
.main-nav ul{gap:14px!important}
.main-nav a{font-size:.76rem!important}
.main-nav .btn-primary{padding:9px 13px!important}
.header-actions{gap:10px!important}
.top-bar{padding:5px 12px!important;font-size:.72rem!important;letter-spacing:.3px!important}
.hero-premium{padding:38px 16px 28px!important}
.hero-premium h1{font-size:clamp(1.85rem,3.5vw,3.2rem)!important;line-height:1.15!important}
.hero-premium h2{font-size:clamp(1.3rem,2.4vw,1.8rem)!important}
.hero-premium .subtitle{font-size:1rem!important}
.premium-image-container{max-width:330px!important;margin:24px auto!important}
.floating-badge{padding:10px 13px!important;bottom:12px!important;left:-14px!important}
.funnel-card{padding:24px 20px!important}
.grid-3{gap:18px;margin-top:24px}
.grid-2-align-center{gap:24px}
.btn-funnel{max-width:475px!important;padding:13px 18px!important;font-size:1rem!important;animation:none!important}
.alert-box{font-size:.84rem!important;padding:7px 12px!important}
.checklist li{font-size:1rem!important;margin-bottom:10px!important;padding-left:30px!important}
.faq-section{padding:42px 16px!important}
.faq-question{font-size:1rem!important;padding:13px 0!important}
.footer-brand .footer-logo{width:auto!important;max-width:130px!important;height:100px!important;object-fit:contain}
.pricing-container{max-width:1040px!important;margin:34px auto!important}
.pricing-card{padding:22px 18px!important}
.pricing-header h1{font-size:clamp(1.55rem,2.8vw,2.2rem)!important}
.card-popular{transform:none!important}
.dashboard-container,.admin-container,.conseiller-layout,.wizard-container{max-width:1140px!important}
.dashboard-container,.admin-container,.conseiller-layout{margin-top:22px!important}
.kpi-value{font-size:2rem!important}
.admin-content{padding:22px!important}
.impact-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:700;opacity:.8;margin-bottom:13px}
/* CTA de l'accueil : liens blancs sur fond sombre pour garantir le contraste. */
.hero-premium .impact-service-link{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px 10px;width:fit-content;max-width:100%;margin:18px auto 0;padding:10px 18px;border-radius:10px;background:#172133;color:#fff;font-size:.92rem;line-height:1.55;text-align:center;box-shadow:0 6px 20px rgba(0,0,0,.12)}
.hero-premium .impact-service-link a{color:#fff!important;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.6);text-underline-offset:4px}
.hero-premium .impact-service-link a:hover,.hero-premium .impact-service-link a:focus-visible{color:#fff!important;border-bottom-color:#fff;text-decoration:underline;text-decoration-color:#fff}
.hero-premium .impact-service-separator{color:#fff;opacity:.9;font-weight:800}
.impact-audiences-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1060px;margin:26px auto 0}
@media(max-width:700px){.impact-audiences-grid{grid-template-columns:minmax(0,1fr)}.hero-premium .impact-service-link{padding:12px 14px;gap:7px 9px;font-size:.88rem}}

/* Modules V1.1 */
.im-wrapper{max-width:1060px;margin:24px auto 60px;padding:0 18px}
.im-wrapper h1{font-size:clamp(1.45rem,2.5vw,2.1rem);line-height:1.22;margin-bottom:10px}
.im-wrapper h2{font-size:1.22rem;line-height:1.4;margin-bottom:12px}
.im-wrapper h3{font-size:1.02rem;margin-bottom:9px}
.im-muted{color:#64748b;font-size:.92rem}
.im-panel{background:white;color:#1f2937;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin:16px 0;box-shadow:0 4px 22px rgba(15,23,42,.035)}
.im-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.im-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.im-row>*{min-width:0}
.im-btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 15px;background:#b91c1c;color:white!important;font-size:.9rem;font-weight:750;cursor:pointer;text-decoration:none}
.im-btn.im-secondary{background:#f1f5f9;color:#0f172a!important;border:1px solid #e2e8f0}
.im-btn:hover{filter:brightness(.92)}
.im-input,.im-select,.im-textarea{display:block;width:100%;padding:10px 12px;border:1px solid #cbd5e1;background:white;border-radius:8px;font:inherit;color:#111827}
.im-textarea{min-height:90px}
.im-form label{font-size:.9rem;font-weight:700;display:block;margin:12px 0 6px}
.im-form input[type=radio]{accent-color:#b91c1c}
.im-choice{display:block;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;margin:8px 0;background:#fff;cursor:pointer}
.im-choice:has(input:checked){border-color:#b91c1c;background:#fff7f7}
.im-alert{padding:12px 14px;border-left:4px solid #ca8a04;background:#fefce8;border-radius:8px;margin:16px 0;color:#713f12}
.im-success{border-left-color:#16a34a;background:#f0fdf4;color:#166534}
.im-table-wrap{overflow-x:auto}
.im-table{width:100%;border-collapse:collapse;font-size:.88rem}
.im-table th,.im-table td{padding:10px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top}
.im-tag{display:inline-block;border-radius:99px;padding:3px 9px;background:#f1f5f9;color:#334155;font-size:.8rem}
.im-nav{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0 25px}
.im-note{color:#64748b;font-size:.83rem;margin:10px 0}
.im-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.im-score{border:1px solid #e2e8f0;border-radius:8px;padding:12px}
.im-score strong{font-size:1.3rem;display:block}
@media(max-width:992px){.main-nav ul{gap:0!important}.main-nav{max-height:calc(100vh - 100px);overflow-y:auto}.main-header .logo-link img{height:67px!important}}
@media(max-width:640px){html{font-size:14px}.container{padding-left:15px;padding-right:15px}.main-header .logo-link img{height:61px!important;max-width:98px!important}.hero-premium{padding:26px 15px!important}.hero-premium h1{font-size:1.85rem!important}.floating-badge{left:-8px!important}.im-panel{padding:15px}.im-wrapper{padding:0 12px}.im-btn{width:auto}.im-nav{gap:6px}.im-nav .im-btn{font-size:.83rem;padding:8px 11px}.pricing-container{margin:20px auto!important}}
@media print{.main-header,.top-bar,.main-footer,.im-nav,.im-no-print,.burger-menu{display:none!important}.im-panel{box-shadow:none;break-inside:avoid}.im-wrapper{max-width:100%;margin:0}}
