:root{--blue:#246bdb;--blue2:#174fae;--text:#142033;--muted:#6d788a;--line:#e3e8ef;--soft:#f6f8fb;--white:#fff;--green:#148a55;--orange:#c77916;--shadow:0 20px 60px rgba(20,32,51,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit}.hidden{display:none!important}.site-header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 5vw;background:#fff;gap:12px}.brand{font-size:20px;font-weight:800;letter-spacing:.08em;text-decoration:none;color:var(--blue)}.brand-tagline{font-size:7px;line-height:1.2;letter-spacing:.14em;color:#9aa4b2}.account{margin-left:auto;text-decoration:none;color:var(--blue);font-size:12px;font-weight:700;padding:9px 10px;border-radius:9px}.account:hover{background:#eef5ff}.person{font-size:11px;margin-right:5px}.home{min-height:calc(100vh - 72px);padding:70px 24px 90px;background:radial-gradient(circle at 15% 45%,rgba(36,107,219,.055),transparent 32%)}.home-grid{width:min(1160px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 500px;gap:75px;align-items:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--blue);text-transform:uppercase}.home-copy h1{font-size:clamp(38px,4.2vw,54px);line-height:1.04;letter-spacing:-.05em;margin:12px 0 14px;max-width:650px}.home-copy>p{color:var(--muted);font-size:16px;max-width:620px;margin:0 0 36px}.how{list-style:none;margin:0;padding:0;max-width:650px;position:relative}.how:before{content:"";position:absolute;left:28px;top:31px;bottom:31px;width:2px;background:#dbe4f0}.how li{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:0 0 28px;position:relative}.how li:last-child{padding-bottom:0}.how li>b{width:58px;height:58px;border:2px solid #bfd0e8;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue);font-size:15px;z-index:1}.how li:first-child>b{border-color:var(--blue)}.how strong{display:block;font-size:17px;margin:4px 0 5px}.how span{display:block;color:var(--muted);font-size:13px;line-height:1.55}.entry-card,.report-card,.question-card{border:1px solid #dfe5ed;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:28px}.entry-card h2{font-size:27px;line-height:1.1;letter-spacing:-.035em;margin:7px 0}.entry-card>p{font-size:13px;color:var(--muted);margin:0 0 20px}.badge{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.14em}.entry-card label,.question-card label,.website-input label,.confirm-grid label{display:block;color:#5f6c80;font-size:11px;font-weight:600;margin:0 0 15px}.entry-card input,.entry-card textarea,.question-card input,.question-card textarea,.website-input input,.confirm-grid input{width:100%;border:1px solid #dfe5ed;background:#fbfcfe;border-radius:9px;padding:11px 12px;margin-top:6px;color:var(--text);outline:none}.entry-card textarea,.question-card textarea{resize:vertical}.entry-card input:focus,.entry-card textarea:focus,.question-card input:focus,.question-card textarea:focus,.website-input input:focus,.confirm-grid input:focus{border-color:#8eafe1;box-shadow:0 0 0 3px rgba(36,107,219,.08)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 16px}.chips span{width:100%;font-size:10px;color:#9aa4b2}.chips button{border:1px solid #dfe5ed;background:#fff;border-radius:99px;padding:6px 9px;color:#697589;font-size:10px}.chips button:hover{color:var(--blue);border-color:#b5c9e7;background:#f7faff}.form-note{display:flex;gap:14px;color:#9aa4b2;font-size:10px;margin-bottom:12px}.primary,.secondary{border:0;border-radius:9px;padding:11px 15px;font-weight:700;font-size:12px}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue2)}.secondary{background:#fff;color:var(--blue);border:1px solid #cbd8e9}.full{width:100%}.error{color:#b3261e;font-size:12px;margin-top:10px}.journey{padding:35px 24px 90px;min-height:calc(100vh - 72px);background:#fff}.tracker{width:min(1120px,100%);margin:0 auto 45px;display:grid;grid-template-columns:repeat(8,1fr);position:relative}.track-line{position:absolute;height:2px;background:#e2e8f0;left:6%;right:6%;top:19px;z-index:0}.track-line i{display:block;height:100%;background:var(--blue);transition:width .3s}.tstep{border:0;background:none;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px;color:#9aa4b2;font-size:9px}.tstep b{width:38px;height:38px;border:1px solid #d9e0e9;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:12px;color:#9aa4b2}.tstep.current{color:var(--text);font-weight:700}.tstep.current b{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 6px 18px rgba(36,107,219,.2)}.tstep.done b{border-color:var(--blue);color:var(--blue)}.step-shell{width:min(1000px,100%);margin:auto}.step-title{text-align:left;margin:0 0 25px}.step-title h2{font-size:32px;letter-spacing:-.035em;line-height:1.1;margin:7px 0}.step-title p{margin:0;color:var(--muted);font-size:14px}.intro-result{max-width:780px;margin:auto}.summary-icon{width:46px;height:46px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-weight:800;margin-bottom:15px}.intro-result h3{font-size:24px;margin:0 0 8px}.intro-result p{color:var(--muted);font-size:14px}.notice,.insight{background:#eef5ff;border-radius:10px;padding:13px 15px;color:#53627a;font-size:11px;margin:20px 0}.test-mode-banner{background:#fdf1de;border-bottom:1px solid #f3ddb0;color:#7a4a05;font-size:12px;font-weight:700;text-align:center;padding:10px 16px;position:sticky;top:0;z-index:50}.test-mode-banner strong{color:#c77916}.plan-body{display:grid;gap:18px}.plan-company-bar{padding:16px 20px}.plan-section{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff}.plan-section h3{font-size:19px;letter-spacing:-.025em;margin:6px 0 16px}.plan-findings{display:grid;gap:0}.plan-finding{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.plan-finding:last-child{border-bottom:0}.plan-finding>b{width:26px;height:26px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-size:11px;font-weight:800}.plan-finding>p{margin:0;font-size:13px;color:#4c5a70;line-height:1.55;padding-top:3px}.plan-actions{display:grid;gap:14px}.plan-action{display:grid;grid-template-columns:30px 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe}.plan-action-num{width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.plan-action strong{display:block;font-size:14px;margin-bottom:4px}.plan-action p{margin:0;font-size:12px;color:#66748a;line-height:1.5}.plan-cta{display:grid;gap:12px}.plan-cta-lead{margin:0;font-size:12px;color:var(--muted)}.plan-cta-card{border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff;box-shadow:var(--shadow)}.plan-cta-top{margin-bottom:16px}.plan-cta-copy h3{font-size:22px;margin:8px 0 6px;letter-spacing:-.03em}.plan-cta-copy p{margin:0;color:var(--muted);font-size:13px}.plan-cta-list{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:9px}.plan-cta-list li{position:relative;padding-left:24px;font-size:13px;color:#4c5a70}.plan-cta-list li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800}.plan-cta-form{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:10px}.plan-cta-form label{font-size:11px;font-weight:600;color:#5f6c80}.plan-cta-form input{width:100%;border:1px solid #dfe5ed;background:#fbfcfe;border-radius:9px;padding:11px 12px;color:var(--text);outline:none}.plan-cta-form input:focus{border-color:#8eafe1;box-shadow:0 0 0 3px rgba(36,107,219,.08)}.plan-cta-btn{margin-top:4px}.plan-success{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}.plan-success .success-icon{width:44px;height:44px;border-radius:50%;background:#e9f7ef;color:var(--green);display:grid;place-items:center}.plan-success h3{font-size:19px;margin:6px 0}.plan-success p{margin:0;font-size:13px;color:var(--muted)}.report-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start}.report-head h3{font-size:24px;line-height:1.1;margin:5px 0}.report-head p{margin:0;color:var(--muted);font-size:12px}.coverage{min-width:150px;border:1px solid #e0e7f0;border-radius:10px;padding:12px}.coverage span,.coverage b{display:block}.coverage span{font-size:9px;color:#8e99a8}.coverage b{font-size:12px;margin-top:3px}.report-card h4,.question-card h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:25px 0 10px;color:#6b778b}.facts{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden}.facts>div{padding:12px 14px;border-bottom:1px solid var(--line)}.facts>div:nth-child(odd){border-right:1px solid var(--line)}.facts span{display:block;font-size:9px;color:#9aa4b2}.facts b{display:block;font-size:12px;margin-top:3px;overflow-wrap:anywhere}.facts a{color:var(--blue)}.observations{display:grid;gap:8px}.observations>div{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.observations b{width:28px;height:28px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-size:11px}.observations p{margin:0;font-size:12px;color:#68758a}.observations strong{display:block;color:var(--text);margin-bottom:2px}.question-card{margin-top:20px}.question-card h3{margin:0 0 5px;font-size:20px}.question-card>p{color:var(--muted);font-size:12px}.confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.actions{display:flex;gap:10px;align-items:center;margin-top:10px}.email-box{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.competitor-list{display:grid;gap:8px}.competitor-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.competitor-row input{accent-color:var(--blue)}.competitor-row span{display:flex;flex-direction:column}.competitor-row b{font-size:12px}.competitor-row small{color:#8b96a6;font-size:10px;margin-top:2px}.add-row{display:block;margin:16px 0;font-size:11px;color:#657286}.add-row input{margin-top:6px}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff}.mini-card h3{font-size:16px;margin:0 0 5px}.mini-label{font-size:9px;color:var(--blue);font-weight:700}.mini-card h4{margin:18px 0 7px}.mini-card ul{padding-left:18px;margin:0}.mini-card li,.mini-card p{font-size:11px;color:#66748a}.website-input{max-width:720px}.muted{color:var(--muted);font-size:12px}.score-ring{width:65px;height:65px;border-radius:50%;border:5px solid #e5edf9;display:grid;place-items:center;color:var(--blue);font-size:18px;font-weight:800}.score-ring span{font-size:8px;margin-top:-20px;color:#8490a0}.site-grid,.metric-grid,.final-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:22px}.site-grid>div,.metric{border:1px solid var(--line);border-radius:11px;padding:16px}.site-grid h4,.metric h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;color:#6d788a}.site-grid ul{margin:0;padding-left:18px}.site-grid li{font-size:12px;margin:5px 0}.metric-grid{grid-template-columns:repeat(4,1fr);margin-top:0}.metric{min-height:110px}.metric span{display:block;font-size:10px;color:#7d899a}.metric b{display:block;font-size:22px;margin:6px 0}.metric small{font-size:9px;color:#8c97a7}.tool-list{border:1px solid var(--line);border-radius:11px;overflow:hidden}.tool-list div{display:flex;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);font-size:12px}.status{font-size:10px;padding:3px 7px;border-radius:99px;background:#eef5ff;color:var(--blue)}.loading{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.spinner{width:48px;height:48px;border:4px solid #e6edf7;border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.loading h2{margin:7px 0;font-size:24px}.loading p{color:var(--muted);font-size:12px}.final-report{display:grid;gap:15px}.final-cover{background:#0f1d31;color:#fff;border-radius:14px;padding:28px}.final-cover .eyebrow{color:#75a8ff}.final-cover h3{font-size:27px;margin:8px 0}.final-cover p{color:#c6cfdd;font-size:11px}.executive{display:grid;grid-template-columns:1fr 180px;gap:15px;border:1px solid var(--line);border-radius:12px;padding:20px}.executive p{font-size:13px;color:#58667b;max-width:680px}.final-confidence{border:1px solid var(--line);border-radius:9px;padding:12px}.final-confidence span,.final-confidence b{display:block}.final-confidence span{font-size:9px;color:#8b96a6}.final-confidence b{font-size:12px;margin-top:4px}.final-grid{grid-template-columns:repeat(3,1fr);margin:0}.final-grid>div{border:1px solid var(--line);border-radius:12px;padding:17px}.final-grid h4,.sources h4{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#778397;margin:0 0 10px}.final-grid h3{font-size:18px;margin:0 0 7px}.final-grid p,.final-grid li{font-size:11px;color:#66748a}.final-grid ol{padding-left:20px;margin:0}.final-grid li{margin-bottom:8px}.sources{border:1px solid var(--line);border-radius:12px;padding:17px}.sources p{margin:0;font-size:11px;color:#68758a}.final-buttons{display:flex;gap:10px;margin-top:20px}.final-buttons .secondary{font-size:11px}footer{background:#0f1d31;color:#c9d3e0;padding:24px}footer>div{width:min(1080px,100%);margin:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 0;font-size:12px}footer p{margin:0;padding-right:18px}footer nav{display:flex;flex-wrap:wrap;justify-content:center}footer nav a{color:#9fb0c6;text-decoration:none;padding:0 18px;border-left:1px solid #33455f}footer nav a:hover{color:#fff}@media(max-width:600px){footer p{width:100%;padding:0;text-align:center}footer nav a:first-child{border-left:0}}@media(max-width:900px){.home-grid{grid-template-columns:1fr;max-width:760px;gap:45px}.tracker{overflow-x:auto;grid-template-columns:repeat(8,90px);justify-content:start;padding-bottom:8px}.track-line{width:630px;right:auto}.cards-3,.final-grid,.metric-grid{grid-template-columns:1fr}.executive{grid-template-columns:1fr}}@media(max-width:600px){.site-header{padding:0 16px}.brand-tagline{display:none}.home,.journey{padding:48px 16px 65px}.home-copy h1{font-size:38px}.entry-card,.report-card,.question-card{padding:20px}.facts,.confirm-grid,.site-grid{grid-template-columns:1fr}.facts>div:nth-child(odd){border-right:0}.actions,.final-buttons{flex-direction:column;align-items:stretch}.actions button,.final-buttons button{width:100%}.step-title h2{font-size:28px}.report-head{display:block}.coverage{margin-top:15px}.score-ring{margin-top:12px}.plan-section,.plan-cta-card{padding:18px}.plan-finding,.plan-action{grid-template-columns:24px 1fr}}
@media print{.site-header,.tracker,footer,.final-buttons{display:none!important}.journey{padding:0}.step-shell{width:100%}.final-cover{break-inside:avoid}.final-grid{grid-template-columns:repeat(3,1fr)}}

/* Navigation et concurrents — v14 */
.step-navigation{display:flex;align-items:center;gap:12px;margin:24px 0 0;padding:14px 0;border-top:1px solid var(--line)}
.step-navigation span{font-size:10px;color:#8b96a6}
.step-back{border:1px solid #b9c9df;background:#fff;color:var(--blue);border-radius:9px;padding:10px 14px;font-size:11px;font-weight:800}
.step-back:hover{background:#eef5ff;border-color:#8fb0df}
.tracker{margin-bottom:52px}
.tstep{padding:3px 6px 7px;border-radius:10px;transition:background .15s,transform .15s;color:#7d899a}
.tstep:hover{background:#f4f7fb;transform:translateY(-1px)}
.tstep.done{color:var(--blue);font-weight:700}
.tstep.done b{background:#fff}
.tstep.current{color:var(--text)}
.tstep b{width:44px;height:44px;font-size:13px;transition:all .15s}
.tstep.current b{box-shadow:0 7px 20px rgba(36,107,219,.24)}
.tstep span{font-size:10px;font-weight:600}
.search-badge{border:1px solid #bcd0ed;background:#eef5ff;color:var(--blue);border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800;white-space:nowrap}
.competitor-row{position:relative;padding:13px 44px 13px 14px}
.competitor-row em{font-style:normal;color:#8b96a6;font-size:9px;margin-top:3px}
.competitor-row:hover{border-color:#bfd1e8;background:#f8fbff}
.remove-competitor{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:1px solid #d8e0ea;background:#fff;border-radius:50%;color:#78869a;font-size:18px;line-height:1}
.remove-competitor:hover{color:var(--blue);border-color:#a9c1e2;background:#eef5ff}
.add-competitor{display:flex;gap:8px;align-items:center;margin-top:16px}
.add-competitor input{flex:1;border:1px solid #dfe5ed;background:#fbfcfe;border-radius:9px;padding:11px 12px;color:var(--text);outline:none}
.add-competitor input:focus{border-color:#8eafe1;box-shadow:0 0 0 3px rgba(36,107,219,.08)}
.add-competitor-btn{white-space:nowrap}
.add-help{margin:8px 0 0}
.competitor-actions{margin-top:18px}
.competitor-actions .primary{min-width:210px}
@media(max-width:600px){.step-navigation{align-items:stretch;flex-direction:column}.add-competitor{align-items:stretch;flex-direction:column}.add-competitor input,.add-competitor button{width:100%}.search-badge{margin-top:12px;display:inline-block}.tstep b{width:40px;height:40px}.tstep span{font-size:9px}}

.work-card{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 30px;border:1px solid #dce5f1;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(15,29,49,.07)}
.work-spinner{margin-bottom:18px}.work-card h2{margin:8px 0 10px;font-size:26px}.work-card>p{max-width:700px;margin:0 auto;color:#65758b}.work-log{width:min(620px,100%);margin:28px auto 0;text-align:left;border-top:1px solid #e7edf5;padding-top:14px}.work-line{display:flex;gap:10px;align-items:center;padding:7px 0;color:#a0adbd;font-size:13px;transition:.2s}.work-line.active{color:#245fca;font-weight:600}.work-line span:first-child{font-size:9px}

/* V17 — audit détaillé, marketing et opérations */
.tstep:not(.up){cursor:pointer}.tstep.done:hover b,.tstep.current:hover b{transform:scale(1.06);box-shadow:0 7px 22px rgba(36,107,219,.18)}.tstep b{transition:.18s}.step-navigation .step-back{background:#fff;border:1px solid #a9bfdf;color:var(--blue);border-radius:9px;padding:10px 14px;font-size:11px;font-weight:800;cursor:pointer}.step-navigation .step-back:hover{background:#eef5ff;border-color:var(--blue)}
.website-report{display:grid;gap:16px}.website-overview .report-head{align-items:center}.score-ring.large{width:92px;height:92px;border-width:6px;font-size:25px}.score-ring.large span{font-size:9px;margin-top:-27px}.audit-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.audit-meta span{font-size:9px;background:#f3f6fa;border:1px solid var(--line);padding:5px 8px;border-radius:99px;color:#66748a}.score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:24px}.score-item{border:1px solid var(--line);border-radius:10px;padding:12px}.score-item>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:10px}.score-item span{color:#68758a}.score-item b{color:var(--blue)}.bar{height:5px;background:#e9eef5;border-radius:99px;margin-top:9px;overflow:hidden}.bar i{display:block;height:100%;background:var(--blue);border-radius:99px}.website-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section-kicker{font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--blue);margin-bottom:5px}.website-columns h3,.report-card>h3{font-size:18px;margin:0 0 15px}.audit-list{border-top:1px solid var(--line)}.audit-list>div{padding:12px 0;border-bottom:1px solid var(--line)}.audit-list b{font-size:11px}.audit-list p{font-size:10px;color:#6c788b;margin:5px 0 0}.audit-status{float:right;font-size:9px;border-radius:99px;padding:3px 7px;background:#eef5ff;color:var(--blue)}.audit-status.error{background:#fff0f0;color:#b3261e}.audit-status.warn{background:#fff7e8;color:#9a6410}.report-summary{font-size:13px;color:#5e6b7f;line-height:1.7;max-width:850px}.plain-list{margin:0;padding-left:18px}.plain-list li{font-size:11px;color:#66748a;margin:7px 0}.priority-list{display:grid;gap:0}.priority-list>div{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.priority-list>div>b{width:28px;height:28px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-size:11px}.priority-list strong{font-size:12px}.priority-list p{font-size:11px;color:#66748a;margin:4px 0}.priority-list small{font-size:9px;color:#8792a2}.content-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.content-stats>div{border:1px solid var(--line);border-radius:10px;padding:12px}.content-stats span,.content-stats small{display:block;font-size:9px;color:#8792a2}.content-stats b{display:block;font-size:18px;margin:4px 0}.page-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}.page-table-head,.page-row{display:grid;grid-template-columns:1.25fr 2fr .65fr 1fr;gap:12px;padding:10px 12px}.page-table-head{background:#f6f8fb;font-size:9px;font-weight:800;color:#778397}.page-row{border-top:1px solid var(--line);font-size:10px;color:#66748a;align-items:center}.page-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-row b,.page-row small{display:block}.page-row b{font-size:10px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-row small{font-size:9px;color:#8994a3;margin-top:2px}.marketing-form,.operations-form{box-shadow:var(--shadow)}.marketing-form h3,.operations-form h3{font-size:23px;margin:5px 0 4px}.form-section{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.form-section h4{margin:0 0 12px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#68758a}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.marketing-form select{width:100%;border:1px solid #dfe5ed;background:#fbfcfe;border-radius:9px;padding:11px 12px;margin-top:6px;color:var(--text)}.marketing-form select:focus{border-color:#8eafe1;outline:none;box-shadow:0 0 0 3px rgba(36,107,219,.08)}.marketing-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.marketing-columns h4{margin-top:0}.operations-report{display:grid;gap:16px}.operations-report .cards-3{margin:0}.operations-form label{margin-bottom:15px}.operations-form textarea{min-height:76px}.operations-form .primary{margin-top:8px}
@media(max-width:900px){.score-grid{grid-template-columns:repeat(2,1fr)}.content-stats{grid-template-columns:repeat(3,1fr)}.website-columns,.marketing-columns{grid-template-columns:1fr}.page-table-head,.page-row{grid-template-columns:1.2fr 1.8fr .7fr 1fr}}
@media(max-width:600px){.score-grid,.content-stats,.field-grid{grid-template-columns:1fr}.page-table{overflow:auto}.page-table-head,.page-row{min-width:650px}.score-ring.large{margin:15px 0 0}.website-overview .report-head{display:block}}

/* V18 — simplification, progression de travail et rapport verrouillé */
.loading{min-height:390px}.loading-task{font-size:15px;font-weight:700;color:var(--text);margin:10px auto 0;max-width:640px;transition:opacity .2s}.loading-note{max-width:620px!important}.loading-dots{display:flex;gap:6px;margin:18px 0 2px}.loading-dots i{width:7px;height:7px;border-radius:50%;background:#dce5f1;display:block}.loading-dots i.active{background:var(--blue);box-shadow:0 0 0 4px rgba(36,107,219,.08)}
.simple-explain{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 20px}.simple-explain span,.simple-explain b{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fbfcfe;font-size:11px}.simple-explain b{grid-column:1/-1;border:0;background:none;padding:0 0 2px;font-size:12px;color:var(--text)}
.plain-audit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.plain-audit-grid>div{border:1px solid var(--line);border-radius:11px;padding:15px;background:#fbfcfe}.plain-audit-grid b{font-size:12px}.plain-audit-grid p{font-size:11px;color:#69768a;margin:5px 0 0}.simple-score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:22px}.simple-score-grid .score-item{border:1px solid var(--line);border-radius:10px;padding:12px}.simple-score-grid .score-item>div:first-child{display:flex;flex-direction:column;gap:3px}.simple-score-grid .score-item span{font-size:10px;color:#69768a}.simple-score-grid .score-item b{font-size:15px}.simple-score-grid .bar{height:5px;background:#edf2f8;border-radius:99px;overflow:hidden;margin-top:8px}.simple-score-grid .bar i{display:block;height:100%;background:var(--blue);border-radius:99px}
.locked-plan{position:relative;margin-top:15px;overflow:hidden;border-radius:14px}.plan-preview{padding:0}.locked-plan:not(.unlocked) .plan-preview{max-height:360px;overflow:hidden;position:relative}.locked-plan:not(.unlocked) .plan-preview:after{content:"";position:absolute;left:0;right:0;bottom:0;height:210px;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.98) 72%,#fff)}.plan-lock{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);width:min(620px,90%);z-index:3;text-align:center;background:#fff;border:1px solid #cddbef;border-radius:16px;padding:22px;box-shadow:0 18px 50px rgba(20,32,51,.14)}.lock-icon{width:36px;height:36px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:#eef5ff;color:var(--blue);font-weight:800}.plan-lock h3{font-size:20px;margin:5px 0}.plan-lock p{font-size:12px;color:var(--muted);max-width:500px;margin:0 auto 15px}.email-confirm-final{display:grid;grid-template-columns:1fr auto;gap:8px;max-width:520px;margin:auto;text-align:left}.email-confirm-final input{width:100%;border:1px solid #dfe5ed;background:#fbfcfe;border-radius:9px;padding:11px 12px;outline:none}.unlocked .plan-preview{max-height:none}.unlocked .plan-lock{display:none}.action-detail-list{display:grid;gap:0;border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:15px}.action-detail-list>div{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.action-detail-list>div:last-child{border-bottom:0}.action-detail-list>b{width:28px;height:28px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center}.action-detail-list section strong{font-size:13px}.action-detail-list section p{font-size:11px;color:#66748a;margin:4px 0 0}
.step-back{font-weight:700!important;padding:11px 15px!important}.step-navigation{border-top:1px solid var(--line);margin-top:30px;padding-top:16px;display:flex;align-items:center;gap:12px}.step-navigation span{font-size:10px;color:#8a96a7}
@media(max-width:900px){.simple-score-grid{grid-template-columns:repeat(2,1fr)}.simple-explain{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.plain-audit-grid{grid-template-columns:1fr}.simple-score-grid{grid-template-columns:1fr}.simple-explain{grid-template-columns:1fr}.email-confirm-final{grid-template-columns:1fr}.plan-lock{bottom:14px}.locked-plan:not(.unlocked) .plan-preview{max-height:420px}}

/* V20 — transparent loading state */
.loading{position:relative;text-align:center;padding:58px 28px 54px;max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 40px rgba(20,32,51,.06)}
.loading h2{margin:10px 0 12px}
.loading-task{min-height:28px;font-size:16px;font-weight:600;color:var(--text);transition:opacity .2s ease}
.loading-dots{display:flex;justify-content:center;gap:7px;margin:20px 0 14px}
.loading-dots i{width:8px;height:8px;border-radius:50%;background:#d9e0ea;display:block;transition:all .2s ease}
.loading-dots i.active{background:var(--blue);transform:scale(1.2)}
.loading-elapsed{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;color:#66758a;margin:5px 0 12px}
.loading-note{max-width:560px;margin:0 auto;color:#7c899a;font-size:13px;line-height:1.55}
.step-shell{position:relative}
.loading-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:start center;padding-top:12px;background:rgba(248,250,253,.92);backdrop-filter:blur(3px);border-radius:18px;min-height:420px}
.loading-overlay .loading{width:min(760px,calc(100% - 32px));margin:0 auto}


/* V21 — universal diagnostic loading + email verification */
.loading-orb{width:128px;height:128px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;position:relative;background:#fff;border:1px solid #e3eaf3;box-shadow:0 14px 42px rgba(20,32,51,.08)}
.loading-orb:before{content:"";position:absolute;inset:11px;border:4px solid #e8eef6;border-top-color:var(--blue);border-radius:50%;animation:firmespin 1s linear infinite}
.loading-orb .spinner{width:28px;height:28px;border:3px solid #e3eaf3;border-top-color:var(--blue);border-radius:50%;animation:firmespin .8s linear infinite}
.loading-percent{position:absolute;font-size:10px;color:var(--blue);font-weight:800}
@keyframes firmespin{to{transform:rotate(360deg)}}
.code-label{display:grid;gap:7px;margin-top:12px;font-size:12px;font-weight:700;color:#59667a}
.code-label input{letter-spacing:.35em;text-align:center;font-size:22px;font-weight:800}
#sendCode:disabled,#verifyCode:disabled{opacity:.65;cursor:wait}
.email-confirm-final{display:grid;gap:10px;max-width:460px}

/* V22 — compact journey, fixed loading and anti-double-click UX */
html,body{overflow-x:hidden}
body.is-analyzing{overflow:hidden}
.loading-overlay{position:fixed!important;inset:72px 0 0 0!important;z-index:99999!important;display:grid!important;place-items:center!important;padding:24px!important;background:rgba(248,250,253,.94)!important;backdrop-filter:blur(6px);border-radius:0!important;min-height:0!important}
.loading-overlay .loading{width:min(700px,calc(100% - 32px));max-height:calc(100vh - 120px);overflow:auto;margin:auto!important;padding:38px 24px 32px}
.loading-overlay .loading h2{font-size:22px}
.loading-overlay .loading-task{font-size:14px}
.stepContent,#stepContent{overflow:visible!important}
.step-shell{min-height:calc(100vh - 180px);padding-bottom:24px}
.step-title{margin-bottom:16px}
.step-title h2{font-size:28px;margin:4px 0}
.report-card,.question-card{padding:20px;border-radius:14px}
.report-card h4,.question-card h4{margin:18px 0 8px}
.facts>div{padding:9px 11px}
.observations>div{padding:8px 0}
.notice,.insight{padding:10px 12px;margin:12px 0}
.cards-3{gap:10px}.mini-card{padding:13px}.mini-card h4{margin:12px 0 5px}
.actions{margin-top:8px}
.step-navigation{margin-top:18px;padding-top:12px}
.question-card{margin-top:14px}
.resume-link{border:0;background:none;color:var(--blue);font-size:11px;font-weight:700;padding:10px 0 0;text-align:left}
.resume-box{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.resume-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:8px}.resume-row input{width:100%;border:1px solid #dfe5ed;background:#fff;border-radius:8px;padding:10px 11px}
.resume-list{display:grid;gap:7px;margin-top:12px}.resume-item{display:flex;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 11px;color:var(--text)}.resume-item b{font-size:11px}.resume-item span{font-size:9px;color:#8792a2}
@media(max-width:600px){.loading-overlay{inset:60px 0 0 0!important;padding:12px!important}.loading-overlay .loading{width:100%;max-height:calc(100vh - 84px);padding:30px 18px 24px}.step-shell{min-height:calc(100vh - 145px)}.resume-row{grid-template-columns:1fr}.report-card,.question-card{padding:16px}.step-title h2{font-size:25px}}
.inline-link{border:0;background:none;padding:0;font:inherit;color:#1f63d8;text-decoration:underline;cursor:pointer}.inline-link:hover{text-decoration:none}.confirm-site{color:#4b5563}

/* Pages légales (conditions.html, confidentialite.html) */
.legal{padding:56px 24px 90px}.legal-inner{width:min(760px,100%);margin:auto}
.legal h1{font-size:clamp(30px,4vw,40px);line-height:1.1;letter-spacing:-.04em;margin:0 0 8px}
.legal .updated{color:var(--muted);font-size:13px;margin:0 0 30px}
.legal h2{font-size:19px;line-height:1.25;letter-spacing:-.02em;margin:34px 0 10px}
.legal p,.legal li{font-size:15px;line-height:1.7;color:#3c4a5f}
.legal p{margin:0 0 12px}.legal ul{margin:0 0 14px;padding-left:22px}.legal li{margin:5px 0}
.legal a{color:var(--blue)}.legal a:hover{color:var(--blue2)}
.legal strong{color:var(--text)}

/* En-tête : icône « Mon compte » */
.account{display:inline-flex;align-items:center;gap:8px}
.account .person{display:grid;place-items:center;flex:none;width:26px;height:26px;margin:0;border-radius:50%;background:#eef5ff;color:var(--blue);font-size:0}
.account:hover .person{background:#dbe8ff}

/* Page « Pourquoi s’inscrire » */
.lp-wrap{width:min(1120px,100%);margin:0 auto;padding:0 24px}
.lp-hero{padding:64px 0 72px;background:radial-gradient(circle at 15% 40%,rgba(36,107,219,.055),transparent 34%)}
.lp-hero .lp-wrap{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:64px;align-items:center}
.lp h1{font-size:clamp(34px,4.2vw,52px);line-height:1.06;letter-spacing:-.045em;margin:12px 0 16px;max-width:680px}
.lp h2{font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:-.04em;margin:8px 0 12px}
.lp-lede{color:var(--muted);font-size:17px;line-height:1.6;max-width:620px;margin:0 0 28px}
.lp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center;font-size:14px;padding:14px 22px;border-radius:10px}
.lp-trust{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:0;padding:0;color:var(--muted);font-size:13px}
.lp-trust li:before{content:"✓";color:var(--blue);font-weight:800;margin-right:7px}
.lp-sample{border:1px solid #dfe5ed;border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.lp-sample-top{background:#0f1d31;color:#c6cfdd;font-size:11px;padding:10px 22px}
.lp-sample-body{padding:22px}
.lp-sample-name{font-size:22px;font-weight:800;letter-spacing:-.035em;margin:2px 0 18px}
.lp-sample-block{border-left:3px solid var(--orange);padding:2px 0 2px 14px;margin:0 0 20px}
.lp-sample-block strong{display:block;font-size:18px;letter-spacing:-.02em;margin:2px 0 6px}
.lp-sample-block p{margin:0;color:#58667b;font-size:13px;line-height:1.6}
.lp-sample-actions{margin:8px 0 0;padding:0;list-style:none;counter-reset:a;display:grid;gap:8px}
.lp-sample-actions li{counter-increment:a;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600}
.lp-sample-actions li:before{content:counter(a);flex:none;width:22px;height:22px;border-radius:6px;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-size:12px;font-weight:800}
.lp-section{padding:76px 0}
.lp-soft{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-intro{color:var(--muted);font-size:16px;line-height:1.65;max-width:680px;margin:0 0 34px}
.lp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lp-card{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff}
.lp-card h3{font-size:17px;line-height:1.25;letter-spacing:-.02em;margin:0 0 8px}
.lp-card p{margin:0;color:#58667b;font-size:14px;line-height:1.65}
.lp .how{max-width:720px}
.lp .how span{font-size:14px}
.lp-report{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
.lp-report li{padding:15px 0;border-bottom:1px solid var(--line);color:#58667b;font-size:14px;line-height:1.6}
.lp-report strong{color:var(--text)}
.lp-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.lp-plan{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff}
.lp-plan.featured{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue),var(--shadow)}
.lp-plan .badge{margin-bottom:8px}
.lp-plan:not(.featured) h3{margin-top:22px}
.lp-plan h3{font-size:19px;letter-spacing:-.02em;margin:0}
.lp-price{display:flex;align-items:baseline;gap:6px;white-space:nowrap;font-size:38px;font-weight:800;letter-spacing:-.05em;margin:12px 0 0}
.lp-price small{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:0}
.lp-plan ul{list-style:none;margin:18px 0 26px;padding:0;display:grid;gap:10px}
.lp-plan li{position:relative;padding-left:22px;color:#4a586d;font-size:14px;line-height:1.5}
.lp-plan li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800}
.lp-plan .lp-btn{margin-top:auto}
.lp-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 22px;padding:0}
.lp-tags li{border:1px solid var(--line);border-radius:99px;padding:8px 14px;background:#fff;font-size:14px;font-weight:600}
.lp-note{color:var(--muted);font-size:15px;line-height:1.65;max-width:680px;margin:0}
.lp-faq{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 48px;margin-top:30px}
.lp-faq h3{font-size:16px;letter-spacing:-.015em;margin:0 0 6px}
.lp-faq p{margin:0;color:#58667b;font-size:14px;line-height:1.65}
.lp-faq a,.lp-note a{color:var(--blue)}
.lp-cta{background:#0f1d31;color:#fff;padding:60px 0}
.lp-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.lp-cta h2{color:#fff;margin:0 0 8px}
.lp-cta p{margin:0;color:#c6cfdd;font-size:16px}
.lp-cta .primary{background:#fff;color:#0f1d31;flex:none}
.lp-cta .primary:hover{background:#e4eeff}

/* Page « Mon compte » */
.acc{padding:56px 24px 90px}
.acc-inner{width:min(980px,100%);margin:auto}
.acc-narrow{max-width:560px}
.acc h1{font-size:clamp(30px,4vw,40px);line-height:1.08;letter-spacing:-.045em;margin:8px 0 10px}
.acc h2{font-size:22px;letter-spacing:-.03em;margin:30px 0 6px}
.acc-lede{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 26px}
.acc-card form+form{margin-top:0}
.acc-link{border:0;background:none;color:var(--blue);font-weight:700;font-size:12px;padding:12px 0 0}
.acc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.acc-actions a.primary{display:inline-flex;align-items:center;text-decoration:none}
.acc .locked-plan{overflow:visible}
.acc .resume-item{cursor:pointer;font-size:13px}
.acc .resume-item:hover{border-color:#b5c9e7;background:#f7faff}

@media(max-width:900px){.lp-hero .lp-wrap{grid-template-columns:1fr;gap:40px}.lp-cards{grid-template-columns:repeat(2,1fr)}.lp-plans{grid-template-columns:1fr}.lp-plan:not(.featured) h3{margin-top:0}.lp-faq,.lp-report{grid-template-columns:1fr}.lp-cta-inner{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.lp-wrap{padding:0 16px}.lp-hero{padding:44px 0 52px}.lp-section{padding:56px 0}.lp-cards{grid-template-columns:1fr}.lp-actions .lp-btn{width:100%}.account{padding:9px 7px}.acc{padding:40px 16px 70px}}

/* Page « Mon compte » : le pied de page reste collé au bas de la fenêtre */
.page-account{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.page-account>.site-header{flex:none}
.page-account>main{flex:1 0 auto}

/* Bouton « Déconnexion » (même apparence que « Mon compte ») */
button.account{border:0;background:none;font-family:inherit;cursor:pointer}
button.account:hover{background:#eef5ff}

/* ===== v6 : résumés simplifiés des étapes 5 à 7 et bloc de confirmation du plan ===== */
.no-link{color:#4b5563}
.sum-card{border:1px solid #dfe5ed;background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.sum-site{display:flex;align-items:center;gap:14px;padding:18px 22px;background:var(--soft);border-bottom:1px solid var(--line)}
.sum-site-icon{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#eef5ff;color:var(--blue)}
.sum-site b{display:block;font-size:16px;letter-spacing:-.02em}
.sum-site b a{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none}
.sum-site b a svg{color:var(--blue)}
.sum-site small{color:var(--muted);font-size:12px}
.sum-rows{display:grid}
.sum-row{display:grid;grid-template-columns:38px minmax(190px,250px) 1fr;gap:6px 14px;align-items:center;padding:15px 22px;border-top:1px solid var(--line)}
.sum-rows>.sum-row:first-child{border-top:0}
.sum-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef5ff;color:var(--blue)}
.sum-name{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px}
.sum-name b{font-size:14px;letter-spacing:-.01em}
.sum-row p{margin:0;color:#58667b;font-size:13px;line-height:1.5}
.sum-badge{display:inline-block;border-radius:99px;padding:3px 9px;font-size:11px;font-weight:700;white-space:nowrap}
.sum-badge.good{background:#e8f6ef;color:var(--green)}
.sum-badge.mid{background:#fff3df;color:#9a6410}
.sum-badge.low{background:#fdeceb;color:#b3382f}
.sum-badge.info{background:#eef1f6;color:#4b5a70}
.sum-note{display:flex;gap:12px;align-items:flex-start;background:#eef5ff;border-radius:12px;padding:15px 17px;margin:16px 0 0}
.sum-note-icon{flex:none;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center}
.sum-note b{font-size:13px}
.sum-note p{margin:3px 0 0;color:#4a5a72;font-size:13px;line-height:1.55}
.sum-foot{display:flex;gap:9px;align-items:flex-start;margin:12px 2px 0;color:#65728a;font-size:12px;line-height:1.5}
.sum-foot svg{flex:none;margin-top:1px;color:var(--blue)}
.sum-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px}

/* Étape 8 : bloc de confirmation du courriel, dans le flux de la page */
.plan-lock{position:static;left:auto;bottom:auto;transform:none;width:auto;z-index:auto;margin:0;padding:26px 22px 24px;border:1px solid #cddbef;border-radius:16px;background:#fff;text-align:center;box-shadow:none}
.locked-plan:not(.unlocked){overflow:visible}
.locked-plan:not(.unlocked) .plan-preview{max-height:210px;margin-bottom:6px}
.locked-plan:not(.unlocked) .plan-preview:after{height:120px}
.plan-lock h3{max-width:560px;margin:6px auto 8px;font-size:21px;line-height:1.2;letter-spacing:-.03em;text-wrap:balance}
.plan-lock>p{max-width:580px;margin:0 auto 16px;color:#58667b;font-size:13px;line-height:1.6}
.lock-icon svg{display:block}
.lock-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:580px;margin:0 auto 18px;padding:0;text-align:left}
.lock-steps li{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--soft);color:#3f4d63;font-size:12px;font-weight:600}
.lock-steps b{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:11px}

@media(max-width:700px){
  .sum-row{grid-template-columns:38px 1fr}
  .sum-row p{grid-column:1/-1}
  .sum-site,.sum-row{padding-left:16px;padding-right:16px}
  .sum-actions{flex-direction:column-reverse;align-items:stretch}
  .lock-steps{grid-template-columns:1fr}
}

/* Accueil : « J’ai déjà une analyse » n’affiche que le bloc « Reprendre une analyse » */
.entry-card.resume-mode>.badge,.entry-card.resume-mode>h2,.entry-card.resume-mode>p,.entry-card.resume-mode>form,.entry-card.resume-mode>.resume-link{display:none}
.entry-card.resume-mode .resume-box{margin:0;padding:0;border:0;background:none}
.entry-card.resume-mode .resume-box .section-kicker{margin-bottom:8px}
.resume-box #newAnalysisLink{display:block;margin-top:14px;padding-top:0}


/* ===== Pré-lancement : cohérence des étapes 4, 6 et 8 ===== */
.actions{justify-content:flex-end}
.step-next-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:18px}
.actions.competitor-actions{justify-content:flex-end}
.marketing-form .field-grid{gap:12px 15px}
.marketing-form label{display:block;margin-bottom:14px}
.marketing-form input,
.marketing-form textarea,
.marketing-form select{
  width:100%;
  box-sizing:border-box;
  border:1px solid #dfe5ed;
  background:#fbfcfe;
  border-radius:10px;
  padding:12px 13px;
  margin-top:7px;
  color:var(--text);
  outline:none;
  font:inherit;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.marketing-form textarea{min-height:88px;resize:vertical;line-height:1.5}
.marketing-form input:focus,
.marketing-form textarea:focus,
.marketing-form select:focus{
  border-color:#8eafe1;
  background:#fff;
  box-shadow:0 0 0 3px rgba(36,107,219,.08);
}
.marketing-form select{appearance:auto}
.marketing-form .form-section>label{margin-bottom:14px}
.marketing-form .primary{margin-top:8px}

/* Étape 8 : page de remise du plan, sans afficher le plan complet */
.plan-landing{display:grid;gap:15px}
.plan-heading{margin:0 0 2px}
.plan-heading h2{font-size:29px;line-height:1.08;letter-spacing:-.035em;margin:5px 0}
.plan-heading p{color:var(--muted);font-size:13px;margin:0;max-width:900px}
.plan-summary-card{display:grid;gap:15px}
.plan-company{
  background:#0f1d31;color:#fff;border-radius:14px;padding:24px 26px;
}
.plan-company .eyebrow{color:#75a8ff}
.plan-company h3{font-size:25px;margin:7px 0 4px}
.plan-company p{color:#c6cfdd;font-size:12px;margin:0}
.plan-preview-note{
  border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px;
}
.plan-preview-note h3{font-size:19px;margin:5px 0 7px}
.plan-preview-note>p{color:#58667b;font-size:12px;line-height:1.55;margin:0 0 14px;max-width:850px}
.preview-locked{
  display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;
  align-items:center;border:1px solid #d9e4f4;background:#f7faff;border-radius:10px;padding:13px 14px;
}
.preview-locked span{grid-row:span 2;color:var(--blue);display:grid;place-items:center}
.preview-locked b{font-size:12px;color:#24334a}
.preview-locked small{font-size:11px;color:#6b778a;line-height:1.45}
.plan-email-card{
  border:1px solid #cddbef;border-radius:16px;background:#fff;padding:28px 24px;text-align:center;
  box-shadow:0 12px 35px rgba(20,32,51,.08);
}
.plan-email-card .section-kicker{margin-top:4px}
.plan-email-card h3{font-size:23px;letter-spacing:-.025em;margin:6px 0 8px}
.plan-email-card>p{max-width:650px;margin:0 auto 17px;color:#58667b;font-size:13px;line-height:1.6}
.plan-email-card .lock-icon{margin:0 auto 10px}
.email-confirm-final{max-width:620px;margin:0 auto}
.email-confirm-final>label{display:block;text-align:left;color:#5f6c80;font-size:11px;font-weight:600}
.email-confirm-final>label input{
  display:block;width:100%;box-sizing:border-box;border:1px solid #dfe5ed;background:#fbfcfe;border-radius:10px;padding:12px 13px;margin-top:7px;color:var(--text);outline:none;
}
.plan-email-button{width:100%;min-height:46px;margin-top:10px;font-size:14px;font-weight:750}
.code-confirm-area{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.code-confirm-area label{display:block;text-align:left;color:#5f6c80;font-size:11px;font-weight:600}
.code-confirm-area input{
  display:block;width:100%;box-sizing:border-box;border:1px solid #dfe5ed;background:#fbfcfe;border-radius:10px;padding:12px 13px;margin-top:7px;text-align:center;letter-spacing:.25em;font-weight:700;font-size:18px;
}
.code-confirm-area .text-button{margin-top:8px}
.plan-email-note{font-size:11px!important;color:#7a8698!important;margin-top:14px!important;margin-bottom:0!important}
.plan-success{
  display:flex;align-items:flex-start;gap:14px;border:1px solid #cbdff3;background:#f7faff;border-radius:14px;padding:22px 24px;
}
.success-icon{width:38px;height:38px;border-radius:50%;background:#e8f2ff;color:var(--blue);display:grid;place-items:center;flex:0 0 auto}
.plan-success h3{font-size:20px;margin:5px 0 6px}
.plan-success p{font-size:12px;color:#58667b;margin:0 0 5px;line-height:1.5}
@media(max-width:700px){
  .marketing-form .field-grid{grid-template-columns:1fr}
  .plan-company{padding:21px}
  .plan-email-card{padding:24px 16px}
  .plan-success{padding:18px}
}

/* V27 — tous les boutons d’avancement sont alignés à droite */
.actions{width:100%;justify-content:flex-end!important}
.step-next-actions{width:100%;justify-content:flex-end!important}

#to2,
#continue2,
#analyze3,
#to5,
#check5,
#to6,
#analyze6,
#to7,
#analyze7,
#to8{
  display:flex;
  width:max-content;
  margin-left:auto;
}

/* Les boutons d’avancement des formulaires restent à droite, même sans wrapper. */
.website-input > .primary,
.marketing-form > .primary,
.operations-form > .primary,
.question-card > .primary{
  display:flex;
  width:max-content;
  margin-left:auto;
}

/* Dans les résumés, Modifier reste à gauche et Continuer/Construire à droite. */
.sum-actions{width:100%;}
.sum-actions > .primary{margin-left:auto;}

@media(max-width:600px){
  #to2,
  #continue2,
  #analyze3,
  #to5,
  #check5,
  #to6,
  #analyze6,
  #to7,
  #analyze7,
  #to8,
  .website-input > .primary,
  .marketing-form > .primary,
  .operations-form > .primary,
  .question-card > .primary{width:100%;}
}


/* V27.1 — Tous les boutons bleus .primary d'avancement à droite */
.journey button.primary:not(.full){
  display:flex !important;
  width:max-content !important;
  margin-left:auto !important;
  margin-right:0 !important;
  justify-content:center;
  align-items:center;
}
.journey .actions{
  display:flex !important;
  width:100% !important;
  justify-content:flex-end !important;
  align-items:center;
}
.journey .actions > button.primary:not(.full){
  margin-left:auto !important;
}
.journey .step-next-actions{
  display:flex !important;
  width:100% !important;
  justify-content:flex-end !important;
}
.journey .step-next-actions > button.primary:not(.full){
  margin-left:auto !important;
}
@media(max-width:600px){
  .journey button.primary:not(.full){
    width:100% !important;
    margin-left:0 !important;
  }
}


/* V27.2 — boutons d'avancement toujours à droite */
.step-next-actions {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin-top: 18px;
}

.step-next-actions .primary {
  margin-left: auto !important;
  margin-right: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.actions {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.actions .primary {
  margin-left: auto !important;
}


/* =========================================================
   V50 — Mobile-first polish (cleanest journey on phone)
   ========================================================= */

/* Safe area + prevent horizontal scroll */
html, body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}
body {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* Sticky test banner shouldn't eat too much space */
.test-mode-banner {
  font-size: 11px;
  padding: 8px 12px;
  line-height: 1.35;
}

/* Header: compact on small screens */
@media (max-width: 600px) {
  .site-header {
    height: 56px;
    padding: 0 14px;
    gap: 8px;
  }
  .brand {
    font-size: 17px;
  }
  .account {
    font-size: 11px;
    padding: 8px 8px;
  }
  .person {
    margin-right: 3px;
  }
}

/* Home entry card: less vertical fatigue */
@media (max-width: 600px) {
  .home {
    padding: 28px 14px 48px;
    min-height: auto;
  }
  .home-copy h1 {
    font-size: 32px;
    margin: 10px 0 12px;
  }
  .home-copy > p {
    font-size: 15px;
    margin: 0 0 24px;
  }
  .how li {
    grid-template-columns: 44px 1fr;
    gap: 12px;
    padding-bottom: 18px;
  }
  .how li > b {
    width: 44px;
    height: 44px;
    font-size: 13px;
  }
  .how:before {
    left: 21px;
    top: 24px;
    bottom: 24px;
  }
  .how strong {
    font-size: 15px;
  }
  .how span {
    font-size: 12px;
  }
  .entry-card {
    padding: 20px 16px;
    border-radius: 16px;
  }
  .entry-card h2 {
    font-size: 22px;
  }
  .entry-card textarea {
    min-height: 120px;
  }
  .chips {
    gap: 8px;
  }
  .chips button {
    padding: 8px 12px;
    font-size: 11px;
    min-height: 36px;
  }
  .primary.full {
    min-height: 48px;
    font-size: 14px;
    padding: 14px 16px;
  }
}

/* Journey shell */
@media (max-width: 600px) {
  .journey {
    padding: 16px 12px 56px;
  }
  .step-shell {
    width: 100%;
  }
  .step-title {
    margin: 0 0 16px;
  }
  .step-title h2 {
    font-size: 24px;
    line-height: 1.15;
  }
  .step-title p {
    font-size: 13px;
    line-height: 1.5;
  }
  .eyebrow {
    font-size: 9px;
    letter-spacing: .12em;
  }
}

/* Tracker: scrollable, larger tap targets, less cramped */
@media (max-width: 700px) {
  .tracker {
    width: 100%;
    margin: 0 0 22px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    grid-template-columns: repeat(8, 72px);
    justify-content: start;
    padding: 4px 2px 12px;
    gap: 0;
  }
  .tracker::-webkit-scrollbar {
    display: none;
  }
  .track-line {
    left: 36px;
    width: calc(72px * 7);
    right: auto;
    top: 22px;
  }
  .tstep {
    min-width: 72px;
    padding: 4px 2px 6px;
  }
  .tstep b {
    width: 40px;
    height: 40px;
    font-size: 13px;
  }
  .tstep span {
    font-size: 9px;
    line-height: 1.2;
    max-width: 68px;
    text-align: center;
  }
}

/* Cards & forms: touch-friendly */
@media (max-width: 600px) {
  .report-card,
  .question-card,
  .sum-card,
  .plan-section,
  .plan-cta-card {
    border-radius: 14px;
    padding: 16px;
  }
  .question-card h3 {
    font-size: 17px;
  }
  .question-card > p,
  .muted {
    font-size: 13px;
  }
  .question-card input,
  .question-card textarea,
  .website-input input,
  .confirm-grid input,
  .marketing-form input,
  .marketing-form textarea,
  .marketing-form select,
  .plan-cta-form input,
  .entry-card input,
  .entry-card textarea {
    min-height: 44px;
    padding: 12px 12px;
    font-size: 16px; /* prevents iOS zoom */
    border-radius: 10px;
  }
  .question-card textarea,
  .marketing-form textarea {
    min-height: 96px;
  }
  .form-section {
    margin-top: 16px;
  }
  .section-kicker {
    font-size: 9px;
  }
}

/* Confirm grid / facts → single column already; tighten gaps */
@media (max-width: 600px) {
  .confirm-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .facts {
    grid-template-columns: 1fr;
  }
  .facts > div {
    border-right: 0 !important;
  }
}

/* Buttons: full width stack, 48px height */
@media (max-width: 600px) {
  .journey .actions,
  .journey .step-next-actions,
  .journey .sum-actions,
  .journey .site-actions {
    flex-direction: column-reverse !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .journey button.primary:not(.full),
  .journey button.secondary,
  .journey .step-back {
    width: 100% !important;
    min-height: 48px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-content: center !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
  }
  .journey .sum-actions {
    flex-direction: column-reverse !important;
  }
  .step-navigation {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 20px;
    padding-top: 16px;
  }
  .step-navigation span {
    font-size: 11px;
    text-align: center;
    order: 2;
  }
  .step-back {
    order: 1;
  }
}

/* Competitor rows: easier to tap */
@media (max-width: 600px) {
  .competitor-row {
    padding: 14px 44px 14px 12px;
    gap: 10px;
  }
  .competitor-row input {
    width: 20px;
    height: 20px;
  }
  .competitor-row b {
    font-size: 13px;
  }
  .competitor-row small {
    font-size: 11px;
  }
  .remove-competitor {
    width: 36px;
    height: 36px;
    right: 6px;
  }
  .add-competitor {
    flex-direction: column;
    align-items: stretch;
  }
  .add-competitor input,
  .add-competitor button {
    width: 100%;
    min-height: 44px;
  }
}

/* Summary rows: stack cleanly */
@media (max-width: 600px) {
  .sum-site {
    padding: 14px 14px;
    gap: 12px;
  }
  .sum-site-icon {
    width: 40px;
    height: 40px;
  }
  .sum-site b {
    font-size: 15px;
  }
  .sum-row {
    grid-template-columns: 36px 1fr !important;
    gap: 6px 10px;
    padding: 14px 14px;
  }
  .sum-row p {
    grid-column: 1 / -1 !important;
    font-size: 13px;
  }
  .sum-icon {
    width: 36px;
    height: 36px;
  }
  .sum-name b {
    font-size: 13px;
  }
  .sum-badge {
    font-size: 10px;
  }
  .sum-note {
    padding: 12px 14px;
  }
}

/* Plan step 8 */
@media (max-width: 600px) {
  .plan-body {
    gap: 14px;
  }
  .plan-company-bar {
    padding: 0;
  }
  .plan-company-bar .sum-site {
    border-radius: 14px;
  }
  .plan-section {
    padding: 16px;
  }
  .plan-section h3 {
    font-size: 17px;
    margin: 4px 0 12px;
  }
  .plan-finding {
    grid-template-columns: 26px 1fr;
    padding: 10px 0;
  }
  .plan-action {
    grid-template-columns: 28px 1fr;
    padding: 12px;
  }
  .plan-action strong {
    font-size: 14px;
  }
  .plan-action p {
    font-size: 12px;
  }
  .plan-cta-card {
    padding: 18px 16px;
  }
  .plan-cta-copy h3 {
    font-size: 18px;
  }
  .plan-cta-form {
    gap: 10px;
  }
  .plan-cta-btn {
    width: 100% !important;
    min-height: 48px !important;
    margin-left: 0 !important;
  }
  /* Kill 2-col plan CTA on mobile */
  .journey .plan-cta-card {
    display: block !important;
  }
  .journey .plan-cta-form {
    border-left: 0 !important;
    padding-left: 0 !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--line) !important;
  }
}

/* Loading overlay: readable on small screens */
@media (max-width: 600px) {
  .loading-overlay .loading {
    padding: 24px 16px;
    min-height: 280px;
  }
  .loading h2 {
    font-size: 18px;
  }
  .loading-task {
    font-size: 13px;
    max-width: 280px;
  }
  .loading-note {
    font-size: 11px;
    max-width: 280px;
  }
}

/* Website / score grids */
@media (max-width: 600px) {
  .score-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px;
  }
  .website-columns {
    grid-template-columns: 1fr !important;
  }
  .site-grid,
  .metric-grid {
    grid-template-columns: 1fr !important;
  }
  .cards-3 {
    grid-template-columns: 1fr !important;
  }
}

/* Footer */
@media (max-width: 600px) {
  footer {
    padding: 20px 14px calc(20px + env(safe-area-inset-bottom));
  }
  footer nav {
    gap: 4px 0;
  }
  footer nav a {
    padding: 6px 10px;
    border-left: 0;
    font-size: 11px;
  }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .spinner,
  .track-line i {
    animation: none !important;
    transition: none !important;
  }
}


/* Plan company bar: soft blue (not near-black) */
.journey .sum-card.plan-company-bar {
  border: 1px solid #c5d4ea;
  background: #fff;
  overflow: hidden;
}
.journey .plan-company-bar .sum-site {
  background: linear-gradient(180deg, #e8f0fb 0%, #f3f7fd 100%) !important;
  border-bottom: 1px solid #d5e0ef !important;
  color: var(--text) !important;
}
.journey .plan-company-bar .sum-site-icon {
  background: #dbe8fb !important;
  color: #193c74 !important;
}
.journey .plan-company-bar .section-kicker {
  color: #193c74 !important;
}
.journey .plan-company-bar b {
  color: #142033 !important;
}
.journey .plan-company-bar small {
  color: #5a6b82 !important;
}



/* =========================================================
   V51 — Performance mobile
   ========================================================= */

/* Containment: limit layout/paint scope */
.site-header {
  contain: layout style;
}
.tracker {
  contain: layout style;
  content-visibility: auto;
}
.step-shell {
  contain: layout style;
}
.entry-card,
.report-card,
.question-card,
.sum-card,
.plan-cta-card {
  contain: layout style;
  content-visibility: auto;
}

/* Faster taps (remove 300ms delay on older browsers) */
a, button, .tstep, .competitor-row, .resume-item {
  touch-action: manipulation;
}

/* GPU for spinner only when visible */
.spinner {
  will-change: transform;
}
body:not(.is-analyzing) .spinner {
  will-change: auto;
}

/* Avoid expensive shadows on mobile */
@media (max-width: 600px) {
  .entry-card,
  .report-card,
  .question-card,
  .sum-card,
  .plan-cta-card,
  .mini-card {
    box-shadow: 0 4px 16px rgba(20,32,51,.06);
  }
  /* Soften large blur shadows */
  .home {
    background: #fff;
  }
  /* Disable hover transforms on touch devices */
  .tstep:hover {
    transform: none;
    background: transparent;
  }
  .tstep.done:hover b,
  .tstep.current:hover b {
    transform: none;
  }
}

/* Prefer reduced data: skip heavy gradients if user prefers */
@media (prefers-reduced-data: reduce) {
  .home {
    background: #fff;
  }
  .entry-card,
  .report-card,
  .question-card,
  .sum-card {
    box-shadow: none;
  }
}

/* Loading overlay: use fixed + full viewport efficiently */
.loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(255,255,255,.92);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  contain: strict;
}
@media (max-width: 600px) {
  .loading-overlay {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: rgba(255,255,255,.96);
  }
}

/* Images (future): lazy by default */
img {
  max-width: 100%;
  height: auto;
}
img[loading="lazy"] {
  content-visibility: auto;
}



/* =========================================================
   V52 — Perf globale PC + tablette + mobile
   ========================================================= */

/* Paint/layout isolation for major regions */
main {
  contain: layout style;
}
.home {
  contain: layout style;
}
.journey {
  contain: layout style;
}
footer {
  contain: layout style;
}
.loading-overlay {
  contain: strict;
}

/* Smooth tracker without forcing continuous layers */
.track-line i {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Cards: avoid reflow of siblings when one updates */
.competitor-list,
.plan-findings,
.plan-actions,
.sum-rows,
.observations {
  contain: layout style;
}

/* Tablette (601–1024) : densités confortables, pas de scroll horizontal parasite */
@media (min-width: 601px) and (max-width: 1024px) {
  .home {
    padding: 48px 28px 72px;
  }
  .home-grid {
    grid-template-columns: 1fr;
    max-width: 640px;
    gap: 40px;
  }
  .journey {
    padding: 28px 24px 72px;
  }
  .step-shell {
    width: min(920px, 100%);
  }
  .tracker {
    width: min(100%, 920px);
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    overflow: visible;
  }
  .track-line {
    left: 6%;
    right: 6%;
    width: auto;
  }
  .tstep span {
    font-size: 10px;
  }
  .confirm-grid {
    grid-template-columns: 1fr 1fr;
  }
  .facts {
    grid-template-columns: 1fr 1fr;
  }
  .plan-cta-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 32px;
    align-items: start;
  }
  .plan-cta-form {
    border-top: 0;
    border-left: 1px solid var(--line);
    padding-top: 0;
    padding-left: 24px;
    margin-top: 0;
  }
  .sum-row {
    grid-template-columns: 38px minmax(160px, 220px) 1fr;
  }
  .entry-card,
  .report-card,
  .question-card {
    padding: 24px;
  }
  /* Shadows lighter than desktop full blur */
  .entry-card,
  .report-card,
  .question-card,
  .sum-card,
  .plan-cta-card {
    box-shadow: 0 12px 36px rgba(20,32,51,.07);
  }
}

/* Desktop large: stable max widths, no unnecessary paint */
@media (min-width: 1025px) {
  .home-grid {
    width: min(1160px, 100%);
  }
  .step-shell {
    width: min(1000px, 100%);
  }
  .tracker {
    width: min(1120px, 100%);
  }
  /* Hover only where useful (saves work on pure touch tablets) */
  @media (hover: hover) and (pointer: fine) {
    .tstep:hover {
      background: #f4f7fb;
      transform: translateY(-1px);
    }
    .primary:hover {
      background: var(--blue2);
    }
    .secondary:hover {
      background: #eef5ff;
    }
  }
}

/* Touch devices (any width): no hover transforms */
@media (hover: none) {
  .tstep:hover,
  .tstep.done:hover b,
  .tstep.current:hover b {
    transform: none !important;
    background: transparent !important;
  }
}

/* Scroll performance */
.tracker,
.competitor-list,
#stepContent {
  -webkit-overflow-scrolling: touch;
}

/* Prefer compositor for sticky banner */
.test-mode-banner {
  position: sticky;
  top: 0;
  z-index: 50;
  transform: translateZ(0);
}

/* Avoid animating layout properties */
@media (prefers-reduced-motion: no-preference) {
  .track-line i {
    transition: width .25s ease-out;
  }
}

/* Form controls: consistent 16px from tablet down to avoid zoom */
@media (max-width: 1024px) {
  input, textarea, select, button {
    font-size: 16px;
  }
  .primary, .secondary {
    font-size: 13px;
  }
  .chips button {
    font-size: 11px;
  }
}

/* Print: minimal */
@media print {
  .test-mode-banner,
  .loading-overlay,
  .site-header,
  .tracker,
  footer,
  .step-navigation,
  .plan-cta {
    display: none !important;
  }
  .journey {
    padding: 0;
  }
  .sum-card,
  .plan-section,
  .plan-action {
    box-shadow: none !important;
    break-inside: avoid;
  }
}



/* =========================================================
   V53 — PWA (standalone / installed app)
   ========================================================= */

/* Safe areas for notch / home indicator when installed */
html {
  height: 100%;
  height: 100dvh;
}
body {
  min-height: 100%;
  min-height: 100dvh;
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* Remove default tap flash on iOS */
button, a, .tstep, .competitor-row, .resume-item, input, textarea {
  -webkit-tap-highlight-color: transparent;
}

/* Prevent callout menu on long-press for UI chrome */
.site-header, .tracker, .brand, .account {
  -webkit-touch-callout: none;
  user-select: none;
}
/* Keep text selectable in content */
.step-title, .entry-card, .report-card, .question-card, .sum-card, .plan-body {
  -webkit-user-select: text;
  user-select: text;
}

/* Standalone: app-like shell */
@media (display-mode: standalone), (display-mode: fullscreen) {
  body {
    /* subtle app background */
    background: #fff;
  }
  .site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    padding-top: max(0px, env(safe-area-inset-top));
    height: auto;
    min-height: 56px;
    padding-left: max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
    background: rgba(255,255,255,.92);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
    backdrop-filter: saturate(180%) blur(12px);
  }
  .test-mode-banner {
    top: 0;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }
  footer {
    padding-bottom: max(24px, calc(16px + env(safe-area-inset-bottom)));
  }
  /* Loading covers full app window */
  .loading-overlay {
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }
}

/* iOS standalone (legacy) */
@media (display-mode: standalone) {
  .home {
    min-height: calc(100dvh - 56px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }
  .journey {
    min-height: calc(100dvh - 56px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }
}

/* PWA install: overscroll containment (less browser chrome bounce) */
html, body {
  overscroll-behavior-y: contain;
}
.journey #stepContent {
  overscroll-behavior-y: auto;
}

/* Fixed overlay must respect safe area */
.loading-overlay {
  width: 100%;
  height: 100%;
  height: 100dvh;
}

/* Prefer color-scheme for form controls in standalone */
:root {
  color-scheme: light;
}

/* Offline-friendly: system fonts already in stack; ensure readable if CSS late */
body {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}


/* SEO + conversion block (crawlable, below fold on home) */
.seo-landing {
  padding: 56px 24px 72px;
  background: var(--soft);
  border-top: 1px solid var(--line);
}
.seo-landing-inner {
  width: min(1000px, 100%);
  margin: 0 auto;
}
.seo-landing h2 {
  font-size: clamp(22px, 3vw, 28px);
  letter-spacing: -.03em;
  margin: 0 0 12px;
  line-height: 1.2;
}
.seo-landing > .seo-landing-inner > p {
  color: #4a586d;
  font-size: 15px;
  line-height: 1.65;
  max-width: 820px;
  margin: 0 0 28px;
}
.seo-landing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 22px;
}
.seo-landing-grid > div {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px 18px 16px;
}
.seo-landing-grid h3 {
  font-size: 15px;
  margin: 0 0 6px;
  letter-spacing: -.015em;
}
.seo-landing-grid p {
  margin: 0;
  font-size: 13px;
  color: #58667b;
  line-height: 1.55;
}
.seo-landing-links {
  margin: 0;
  font-size: 13px;
  color: #65728a;
}
.seo-landing-links a {
  color: var(--blue);
  font-weight: 600;
  text-decoration: none;
}
.seo-landing-links a:hover {
  text-decoration: underline;
}
@media (max-width: 700px) {
  .seo-landing {
    padding: 40px 16px 56px;
  }
  .seo-landing-grid {
    grid-template-columns: 1fr;
  }
}


/* Tracker: scroll horizontal + étape courante visible (mobile) */
.tracker {
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}
.tracker .tstep {
  scroll-snap-align: center;
  flex-shrink: 0;
}
.tracker .tstep.current {
  scroll-margin-inline: 24px;
}
@media (max-width: 700px) {
  .tracker {
    display: flex;
    grid-template-columns: none;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 0;
    padding: 4px 8px 14px;
    mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12px, #000 calc(100% - 12px), transparent 100%);
  }
  .tracker .track-line {
    position: absolute;
    left: 44px;
    right: 44px;
    width: auto;
    /* line spans full content width of 8 steps */
    min-width: calc(72px * 7);
  }
  .tracker .tstep {
    min-width: 72px;
    width: 72px;
  }
}


/* V54 — tracker mobile: grille 8 colonnes + scroll auto vers l’étape courante */
@media (max-width: 700px) {
  .tracker {
    display: grid !important;
    grid-template-columns: repeat(8, 72px) !important;
    justify-content: start !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    padding-bottom: 12px;
    margin-bottom: 24px;
  }
  .tracker .track-line {
    position: absolute !important;
    left: 36px !important;
    width: calc(72px * 7) !important;
    right: auto !important;
    top: 22px !important;
  }
  .tracker .tstep {
    min-width: 72px;
  }
}



/* =========================================================
   V55 — Fix touch / scroll (ne pas bloquer le doigt)
   ========================================================= */

/* Autoriser le scroll vertical partout */
html, body {
  overflow-x: hidden;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important; /* was contain — blocked natural scroll */
  overscroll-behavior-x: none;
  height: auto !important;
  min-height: 100%;
  min-height: 100dvh;
  touch-action: pan-y pinch-zoom;
}

/* Ne pas enfermer main/journey (contain pouvait gêger le scroll) */
main,
.home,
.journey,
.step-shell {
  contain: none !important;
}

/* Cartes: containment léger seulement */
.entry-card,
.report-card,
.question-card,
.sum-card {
  contain: style !important;
  content-visibility: visible !important;
}

/* Tracker: scroll horizontal OK, sans snap agressif */
.tracker {
  scroll-snap-type: none !important;
  touch-action: pan-x pan-y !important;
  overscroll-behavior-x: contain;
}

/* Boutons / liens: manipulation sans bloquer le scroll de la page */
a, button, .tstep, .competitor-row, .resume-item {
  touch-action: manipulation;
}

/* Inputs: comportement natif */
input, textarea, select {
  touch-action: auto;
}

/* Header sticky ne doit pas capturer les gestes */
.site-header {
  touch-action: manipulation;
}

/* Loading overlay: seulement quand visible */
.loading-overlay {
  touch-action: none;
}

/* Enlever mask qui peut donner une sensation de zone « morte » */
@media (max-width: 700px) {
  .tracker {
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
}

/* PWA standalone: garder safe-area mais scroll libre */
@media (display-mode: standalone), (display-mode: fullscreen) {
  body {
    overscroll-behavior-y: auto !important;
  }
  .site-header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: #fff;
  }
}



/* Bloc SEO: visible uniquement sur l'accueil, pas pendant le parcours */
#journey:not(.hidden) ~ .seo-landing,
body:has(#journey:not(.hidden)) .seo-landing {
  display: none !important;
}
#home.hidden ~ .seo-landing {
  display: none !important;
}


.seo-landing .seo-offer-list {
  margin: 0 0 18px;
  padding-left: 20px;
  color: #4a586d;
  font-size: 14px;
  line-height: 1.65;
  max-width: 820px;
}
.seo-landing .seo-offer-list li { margin-bottom: 8px; }
.seo-landing h3 {
  font-size: 17px;
  letter-spacing: -.02em;
  margin: 22px 0 8px;
}
.seo-landing a {
  color: var(--blue);
  font-weight: 600;
  text-decoration: none;
}
.seo-landing a:hover { text-decoration: underline; }
