/* Pages publiques (vitrine, connexion, inscription, borne) */
body.site{ background:var(--mpm-bg); }
.site-nav{ position:sticky; top:0; z-index:20; background:rgba(247,245,240,.9); backdrop-filter:blur(8px); border-bottom:1px solid transparent; }
.site-nav .inner{ max-width:1180px; margin:auto; display:flex; align-items:center; gap:1rem; padding:.85rem 1.25rem; }
.site-brand{ display:flex; align-items:center; gap:.55rem; font-family:'Nunito',sans-serif; font-weight:900; font-size:1.2rem; color:var(--mpm-ink); text-decoration:none; }
.site-wrap{ max-width:1180px; margin:auto; padding:0 1.25rem; }
.hero{ padding:4.5rem 0 3.5rem; }
.hero h1{ font-family:'Nunito',sans-serif; font-weight:900; font-size:clamp(2.1rem,5vw,3.6rem); line-height:1.05; letter-spacing:-.02em; }
.hero h1 em{ font-style:normal; color:var(--mpm-primary); }
.hero p.lead{ font-size:1.2rem; color:#4b5754; max-width:560px; }
.hero-badges{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.5rem; }
.phone{ width:290px; max-width:100%; border-radius:38px; background:#1f2a28; padding:12px; box-shadow:0 30px 60px -20px rgba(34,48,45,.45); margin:auto; }
.phone-screen{ background:#fff; border-radius:28px; overflow:hidden; }
.phone-top{ background:var(--mpm-primary); color:#fff; padding:1.1rem 1rem .9rem; }
.phone-top b{ font-family:'Nunito',sans-serif; font-size:1.1rem; }
.mock-row{ display:flex; gap:.6rem; align-items:flex-start; padding:.6rem .9rem; border-bottom:1px solid #f0ede6; font-size:.82rem; }
.mock-row .t{ color:var(--mpm-primary); font-weight:800; width:38px; flex:0 0 38px; }
.section{ padding:4rem 0; }
.section h2{ font-family:'Nunito',sans-serif; font-weight:900; font-size:clamp(1.6rem,3.2vw,2.3rem); letter-spacing:-.01em; }
.feature{ background:#fff; border:1px solid var(--mpm-line); border-radius:20px; padding:1.4rem; height:100%; }
.feature .ic{ width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:var(--mpm-soft); color:var(--mpm-primary); font-size:1.4rem; margin-bottom:.8rem; }
.feature h3{ font-size:1.08rem; font-weight:800; margin-bottom:.35rem; }
.feature p{ color:#55615e; font-size:.95rem; margin:0; }
.band{ background:var(--mpm-primary); color:#fff; border-radius:28px; padding:2.5rem; }
.band h2{ color:#fff; }
.check-list{ list-style:none; padding:0; margin:0; }
.check-list li{ padding:.35rem 0 .35rem 1.8rem; position:relative; }
.check-list li::before{ content:'\F26E'; font-family:'bootstrap-icons'; position:absolute; left:0; top:.3rem; color:var(--mpm-primary); font-size:1.15rem; }
.band .check-list li::before{ color:#fff; }
.site-footer{ padding:2.5rem 0; color:var(--mpm-muted); font-size:.9rem; border-top:1px solid var(--mpm-line); }
.auth-wrap{ max-width:430px; margin:6vh auto; padding:0 1rem; }
.auth-brand{ display:flex; justify-content:center; align-items:center; gap:.6rem; font-family:'Nunito',sans-serif; font-weight:900; font-size:1.3rem; color:var(--mpm-ink); text-decoration:none; margin-bottom:1.5rem; }
.auth-card{ border-radius:20px; box-shadow:0 18px 40px -24px rgba(34,48,45,.35); }
.public-card{ max-width:760px; margin:2rem auto; }
.kiosk-head{ display:flex; align-items:center; gap:1rem; padding:1.2rem 1.5rem; }
.kiosk-head h1{ font-family:'Nunito',sans-serif; font-weight:900; margin:0; font-size:1.6rem; }
.kiosk-clock{ margin-left:auto; font-family:'Nunito',sans-serif; font-weight:900; font-size:2rem; color:var(--mpm-primary); }
.pin-pad{ display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; max-width:300px; margin:auto; }
.pin-pad button{ height:68px; border-radius:18px; border:1px solid var(--mpm-line); background:#fff; font-size:1.6rem; font-weight:800; }
.legal{ max-width:820px; margin:2rem auto 4rem; background:#fff; border-radius:20px; padding:2rem; border:1px solid var(--mpm-line); }
.legal h1{ font-weight:900; font-size:1.8rem; } .legal h2{ font-size:1.15rem; font-weight:800; margin-top:1.6rem; }
