/* Outils gratuits : panneau de demande de devis (includes/g5/outils-devis.php, assets/g5/outils/devis.js) */
.xo-dv{scroll-margin-top:84px;margin-top:clamp(28px,4vw,48px);max-width:1280px}
.xo-dv[hidden],.xo-dv [hidden]{display:none!important}
.xo-dv-in{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:start;padding:clamp(22px,4vw,52px);border-radius:var(--r-xl);background:var(--deep);color:var(--deepInk)}
.xo-dv-in::before{content:"";position:absolute;z-index:-1;left:-14%;bottom:-40%;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 55%,transparent),transparent 68%);opacity:.35;pointer-events:none}
@media (max-width:899px){.xo-dv-in{grid-template-columns:minmax(0,1fr)}}

.xo-dv-x{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--deepLine);background:transparent;color:var(--deepInk);cursor:pointer;transition:border-color .25s,background-color .25s}
.xo-dv-x:hover{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 14%,transparent)}
.xo-dv-x:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

.xo-dv-side{display:flex;flex-direction:column;gap:16px;min-width:0}
@media (max-width:899px){.xo-dv-kick,.xo-dv-side h2{padding-right:50px}}
.xo-dv-kick{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:.78125rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--deepMuted)}
.xo-dv-kick::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 22%,transparent)}
.xo-dv-side h2{margin:0;font-family:'Newsreader','NR Times','NR Noto','NR DejaVu',serif;font-weight:400;font-size:clamp(2rem,3.6vw,3rem);line-height:1.02;letter-spacing:-.025em}
.xo-dv-lead{margin:0;line-height:1.6;color:color-mix(in srgb,var(--deepInk) 78%,var(--deep))}

.xo-dv-recap{display:flex;flex-direction:column;gap:12px;margin-top:6px;padding:18px 18px 16px;border-radius:var(--r-lg);border:1px solid var(--deepLine);background:color-mix(in srgb,var(--deepInk) 4%,transparent)}
.xo-dv-recap-t{margin:0;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--deepMuted)}
.xo-dv-sum{display:flex;flex-direction:column;gap:4px}
.xo-dv-sum strong{font-family:'Newsreader','NR Times','NR Noto','NR DejaVu',serif;font-weight:400;font-size:1.45rem;line-height:1.15;letter-spacing:-.01em}
.xo-dv-sum span{color:var(--acc);font-weight:500;line-height:1.4}
.xo-dv-more summary{cursor:pointer;font-size:.875rem;font-weight:500;color:var(--deepInk);list-style:none;display:inline-flex;align-items:center;gap:8px}
.xo-dv-more summary::-webkit-details-marker{display:none}
.xo-dv-more summary::before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .25s}
.xo-dv-more[open] summary::before{transform:rotate(45deg)}
.xo-dv-more summary:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
.xo-dv-dt{margin:14px 0 6px;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--deepMuted)}
.xo-dv-more dl{margin:0;display:flex;flex-direction:column}
.xo-dv-more dl div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 14px;padding:8px 0;border-top:1px solid var(--deepLine);font-size:.8125rem;line-height:1.45}
.xo-dv-more dt{color:var(--deepMuted)}
.xo-dv-more dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
@media (max-width:520px){.xo-dv-more dl div{grid-template-columns:minmax(0,1fr)}}

.xo-dv-main{min-width:0}
.xo-dv .g5-form{box-shadow:0 0 0 8px color-mix(in srgb,var(--acc) 8%,transparent),0 30px 70px rgba(0,0,0,.28)}
.xo-dv-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding-top:4px}
.xo-dv-foot .g5-form-note{flex:1 1 220px;line-height:1.5}
.xo-dv-err{flex-basis:100%;margin:0;padding:10px 14px;border-radius:var(--r-md);background:color-mix(in srgb,var(--danger) 12%,var(--card));color:var(--danger);font-size:.875rem;line-height:1.5}
.xo-dv-alt{margin:0;padding-top:14px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}
.xo-dv-cal{color:var(--acc-t,var(--acc));font-weight:500;text-decoration:underline;text-underline-offset:3px}
@media (max-width:599px){.xo-dv-foot [data-btn]{width:100%;justify-content:center}}

.xo-dv-ok{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:clamp(26px,4vw,44px);border-radius:var(--r-xl);background:var(--card);color:var(--ink);border:1px solid color-mix(in srgb,var(--acc) 35%,transparent);box-shadow:0 0 0 8px color-mix(in srgb,var(--acc) 8%,transparent);outline:none}
.xo-dv-ok-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--acc);color:var(--onacc)}
.xo-dv-ok strong{font-family:'Newsreader','NR Times','NR Noto','NR DejaVu',serif;font-weight:400;font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.05;letter-spacing:-.02em}
.xo-dv-ok p{margin:0;line-height:1.6;color:var(--muted)}
.xo-dv-ok .xo-dv-alt{width:100%}
