/* Outils gratuits : site lisible par les IA, audit de vitesse (includes/g5/pages/outil-*.php) */
[data-g5]{--xo-good:#0b7a3b;--xo-mid:#9a5a00;--xo-bad:var(--danger)}
[data-g5][data-theme="dark"]{--xo-good:#5fd58f;--xo-mid:#f2b45a}

.xo-crumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.xo-crumb a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.xo-crumb a:hover{color:var(--acc-t)}

.xo-tool{padding:clamp(40px,6vw,90px) clamp(18px,4vw,56px);display:flex;flex-direction:column;gap:28px;max-width:1080px}
.xo-form{display:flex;flex-direction:column;gap:14px;padding:clamp(20px,3vw,36px);border-radius:var(--r-xl);background:var(--card);border:1px solid color-mix(in srgb,var(--acc) 35%,var(--line));box-shadow:0 0 0 8px color-mix(in srgb,var(--acc) 7%,transparent)}
.xo-form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.xo-form-row .g5-f{flex:1 1 320px}
.xo-form-row [data-btn]{flex:none}
.xo-note{margin:0;font-size:.8125rem;line-height:1.55;color:var(--muted)}
.xo-note a{color:var(--acc-t);text-decoration:underline;text-underline-offset:3px}
@media (max-width:599px){.xo-form-row [data-btn]{width:100%;justify-content:center}}

.xo-status{margin:0;font-size:1rem;line-height:1.55}
.xo-status[data-kind="err"]{color:var(--danger)}
.xo-status a{color:var(--acc-t);text-decoration:underline;text-underline-offset:3px}
.xo-busy::after{content:"";display:inline-block;width:.9em;height:.9em;margin-left:10px;vertical-align:-2px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--acc);animation:xo-spin .8s linear infinite}
@keyframes xo-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.xo-busy::after{animation-duration:2.4s}}

.xo-result{display:flex;flex-direction:column;gap:18px;scroll-margin-top:96px}
.xo-sum-txt a{color:var(--acc-t);text-decoration:underline;text-underline-offset:3px}
.xo-result[hidden]{display:none}
.xo-sum{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;padding:clamp(20px,3vw,32px);border-radius:var(--r-xl);background:var(--card);border:1px solid var(--line)}
.xo-score{display:flex;align-items:baseline;gap:6px;font-family:'Newsreader','NR Times','NR Noto','NR DejaVu',serif;font-weight:400;line-height:1}
.xo-score b{font-weight:400;font-size:clamp(3.6rem,8vw,5.4rem);letter-spacing:-.03em}
.xo-score span{font-size:1.4rem;color:var(--muted)}
.xo-sum-txt{flex:1 1 280px;display:flex;flex-direction:column;gap:8px;min-width:0}
.xo-sum-txt strong{font-size:1.15rem;font-weight:500}
.xo-sum-txt p{margin:0;color:var(--muted);line-height:1.55;overflow-wrap:anywhere}
.xo-bar{height:8px;border-radius:99px;background:var(--soft);overflow:hidden}
.xo-bar i{display:block;height:100%;border-radius:inherit;background:var(--xo-c,var(--acc))}

.xo-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px}
.xo-check{display:flex;flex-direction:column;gap:10px;padding:20px 20px 22px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--line);border-top:3px solid var(--xo-c,var(--line));min-width:0}
.xo-check h3{margin:0;display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:1.02rem;font-weight:600;line-height:1.35}
.xo-check p{margin:0;line-height:1.6;color:color-mix(in srgb,var(--ink) 86%,var(--bg));overflow-wrap:anywhere}
.xo-check p.xo-adv{color:var(--muted);font-size:.9375rem}
.xo-check a{color:var(--acc-t);text-decoration:underline;text-underline-offset:3px}
.xo-big{font-family:'Newsreader','NR Times','NR Noto','NR DejaVu',serif;font-size:2.4rem;line-height:1;letter-spacing:-.02em}
.xo-tag{flex:none;padding:3px 10px;border-radius:var(--r-pill);font-size:.75rem;font-weight:600;color:var(--xo-c);border:1px solid currentColor;white-space:nowrap}
[data-s="good"]{--xo-c:var(--xo-good)}
[data-s="mid"]{--xo-c:var(--xo-mid)}
[data-s="bad"]{--xo-c:var(--xo-bad)}
[data-s="info"]{--xo-c:var(--muted)}

.xo-bots{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.xo-bots li{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);border:1px solid var(--line);font-size:.8125rem;line-height:1.3}
.xo-bots li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--xo-c,var(--muted))}
.xo-sub{margin:4px 0 0;font-size:.78125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.xo-src{margin:0;font-size:.8125rem;color:var(--muted)}
.xo-src a{color:var(--acc-t);text-decoration:underline;text-underline-offset:3px}
.xo-ops{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;line-height:1.5}

.xo-explain{padding:clamp(56px,7vw,100px) clamp(18px,4vw,56px);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:32px 64px}
.xo-explain h2{flex:1 1 300px;margin:0;align-self:flex-start;font-family:'Newsreader','NR Times','NR Noto','NR DejaVu',serif;font-weight:400;font-size:clamp(2rem,3.8vw,3.4rem);line-height:1;letter-spacing:-.025em}
.xo-explain-list{flex:2 1 560px;min-width:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}
.xo-explain-list li{padding:18px 0;border-bottom:1px solid var(--line);line-height:1.65;color:color-mix(in srgb,var(--ink) 86%,var(--bg))}
.xo-explain-list li strong{display:block;margin-bottom:4px;color:var(--ink);font-weight:600}
.xo-explain-list a{color:var(--acc-t);text-decoration:underline;text-underline-offset:3px}

.xo-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.xo-cta-row [data-corner]{color:var(--deepInk)}

/* Saisie plus présente, étapes de l'analyse, score en anneau, demande de devis */
.xo-tool .xo-form .g5-f>span{font-size:.875rem;font-weight:600}
.xo-tool .xo-form .g5-f input{height:56px;padding:0 18px;font-size:1.0625rem;border-radius:var(--r-lg)}
.xo-tool .xo-form-row [data-btn]{min-height:56px}
.xo-stages{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:14px 0 0;list-style:none;border-top:1px solid var(--line)}
.xo-stages li{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border-radius:var(--r-pill);border:1px solid var(--line);font-size:.8125rem;color:var(--muted);transition:color .3s,border-color .3s,background-color .3s}
.xo-stages b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--soft);color:var(--muted);font-family:'Newsreader','NR Times','NR Noto','NR DejaVu',serif;font-weight:400;font-size:.875rem;transition:background-color .3s,color .3s}
.xo-tool[data-stage="0"] [data-st="0"],.xo-tool[data-stage="1"] [data-st="1"],.xo-tool[data-stage="2"] [data-st="2"]{color:var(--ink);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,var(--card))}
.xo-tool[data-stage="0"] [data-st="0"] b,.xo-tool[data-stage="1"] [data-st="1"] b,.xo-tool[data-stage="2"] [data-st="2"] b,
.xo-tool[data-stage="1"] [data-st="0"] b,.xo-tool[data-stage="2"] [data-st="0"] b,.xo-tool[data-stage="2"] [data-st="1"] b{background:var(--acc);color:var(--onacc)}
.xo-tool[data-stage="1"] [data-st="1"] b{animation:xo-pulse 1.2s ease-in-out infinite}
@keyframes xo-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--acc) 25%,transparent)}}
@media (prefers-reduced-motion:reduce){.xo-tool[data-stage="1"] [data-st="1"] b{animation:none}}

.xo-sum{box-shadow:var(--sh-1)}
.xo-score{position:relative;isolation:isolate;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:0;width:clamp(124px,14vw,150px);aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--xo-c,var(--acc)) calc(var(--p,0) * 1%),var(--soft) 0)}
.xo-score::before{content:"";position:absolute;inset:10px;z-index:-1;border-radius:50%;background:var(--card)}
.xo-score b{font-size:clamp(2.8rem,5vw,3.6rem)}
.xo-score span{font-size:.9375rem}

.xo-res-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px;padding:clamp(20px,3vw,30px);border-radius:var(--r-xl);background:var(--deep);color:var(--deepInk)}
.xo-res-cta>div:first-child{flex:1 1 320px;display:flex;flex-direction:column;gap:6px}
.xo-res-cta strong{font-family:'Newsreader','NR Times','NR Noto','NR DejaVu',serif;font-weight:400;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1;letter-spacing:-.015em}
.xo-res-cta p{margin:0;line-height:1.55;color:color-mix(in srgb,var(--deepInk) 78%,var(--deep))}
.xo-res-cta-btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.xo-res-cta [data-btn]{background:var(--deepInk);color:var(--deep)}
.xo-res-cal{color:var(--deepInk);font-weight:500;text-decoration:underline;text-underline-offset:3px}
@media (max-width:599px){.xo-res-cta-btns,.xo-res-cta [data-btn]{width:100%;justify-content:center}}
.xo-tool .xo-dv{margin-top:0}
