/* ClicAutoPro : composants communs, isolés des anciennes feuilles de chaque page. */
:root { --cap-orange:#f26a13; --cap-ink:#191919; --cap-muted:#626466; --cap-paper:#f7f6f3; --cap-line:#e4e2dd; --cap-shell-max:1280px; --cap-shell-gutter:28px; --cap-header-height:76px; }
/* Le footer termine les pages courtes sans être fixé ni recouvrir le contenu. */
body.cap-site { margin:0; padding-top:0 !important; min-height:100vh; min-height:100dvh; height:auto; display:flex; flex-direction:column; align-items:stretch; }
body.cap-site > * { flex-shrink:0; }
body.cap-site > main { flex:1 0 auto; }
/* Les blocs centrés conservent leur largeur après le passage du body en flex. */
body.cap-site > main,body.cap-site > .container,body.cap-site > .sc-wrap,body.cap-site > .main,body.cap-site > .shell,body.cap-site > .admin-shell,body.cap-site > .fin-shell,body.cap-site > .email-container,body.cap-site > .todo-container { width:100%; box-sizing:border-box; }
body.cap-site > #cap-site-footer { flex:0 0 auto; width:100%; margin-top:auto; }
body.cap-site .cx-shell { min-height:0; }
body.cap-site .cap-404 { min-height:0; margin:0 auto; display:flex; flex-direction:column; justify-content:center; }
body.cap-site .cap-contact-main { display:flex; flex-direction:column; justify-content:center; }
body.cap-site .contact-section { width:100%; }
body.cap-site .contact-section > .container { max-width:var(--cap-shell-max); width:100%; padding-left:var(--cap-shell-gutter); padding-right:var(--cap-shell-gutter); }
body.cap-site .lg-tabnav { top:var(--cap-header-height); }
@media(max-width:1240px) { :root { --cap-shell-gutter:24px; } }
@media(max-width:1120px) { :root { --cap-header-height:72px; } }
@media(max-width:600px) { :root { --cap-shell-gutter:16px; } }
@media(max-width:359px) { :root { --cap-shell-gutter:12px; } }
#cap-site-header { position:sticky; top:0; z-index:1000; min-height:76px; }
.cap-site-header,.cap-site-footer,.cap-admin-nav { font-family:Inter,Arial,sans-serif; color:var(--cap-ink); font-size:14px; line-height:1.5; letter-spacing:normal; text-align:left; }
.cap-site-header *,.cap-site-footer *,.cap-admin-nav * { box-sizing:border-box; }
.cap-site-header [hidden],.cap-site-footer [hidden],#cap-site-header>button[hidden] { display:none !important; }
.cap-site-header { background:var(--cap-paper); border-bottom:1px solid var(--cap-line); }
.cap-header-inner { max-width:var(--cap-shell-max); min-height:76px; margin:auto; padding:0 var(--cap-shell-gutter); display:flex; align-items:center; gap:34px; }
.cap-site-header a,.cap-site-footer a,.cap-admin-nav a { color:inherit; text-decoration:none !important; background-image:none !important; box-shadow:none; }
.cap-site-header a::after,.cap-site-footer a::after,.cap-admin-nav a::after { display:none !important; }
.cap-brand { display:inline-flex; flex:none; align-items:center; gap:9px; font-family:Satoshi,Inter,Arial,sans-serif; font-size:22px; font-weight:900; letter-spacing:-.8px; white-space:nowrap; line-height:1; }
.cap-brand img { display:block; width:32px; height:32px; border-radius:8px; margin:0; }
.cap-brand-orange { color:var(--cap-orange); }
.cap-header-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; flex:1; min-width:0; }
.cap-main-nav { display:flex; align-items:center; gap:20px; margin:0; padding:0; background:transparent; border:0; }
.cap-main-nav>a,.cap-site-header summary,.cap-login-link { font-family:inherit; font-size:13px; font-weight:600; white-space:nowrap; color:#515253; line-height:1.3; }
.cap-main-nav>a:not(.cap-contact-button),.cap-login-link { padding:12px 0; }
.cap-main-nav>a:hover,.cap-login-link:hover,.cap-site-header summary:hover,.cap-main-nav a[aria-current],.cap-site-header [data-active=true]>summary { color:var(--cap-orange); }
.cap-contact-button,.cap-site-header .cap-primary-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:10px 16px; border-radius:8px; font-size:13px; font-weight:700; white-space:nowrap; transition:background .15s ease,border-color .15s ease; }
.cap-site-header .cap-contact-button { border:1px solid #cdcbc5; color:var(--cap-ink); background:transparent; }
.cap-site-header .cap-contact-button:hover,.cap-site-header .cap-contact-button[aria-current] { background:#fff; border-color:var(--cap-ink); color:var(--cap-ink); }
.cap-auth-actions { display:flex; flex:none; align-items:center; gap:18px; }
.cap-site-header .cap-primary-button { background:var(--cap-orange); color:#fff; border:1px solid var(--cap-orange); }
.cap-site-header .cap-primary-button:hover { background:#d95300; border-color:#d95300; }
.cap-dropdown { position:relative; margin:0; border:0; padding:0; background:none; }
.cap-dropdown summary { display:flex; align-items:center; gap:6px; cursor:pointer; list-style:none; padding:12px 0; }
.cap-dropdown summary::-webkit-details-marker { display:none; }
.cap-dropdown summary::marker { content:''; }
.cap-dropdown[open] summary svg { transform:rotate(180deg); }
.cap-dropdown-panel { position:absolute; top:calc(100% + 7px); left:-16px; min-width:222px; padding:8px; border:1px solid var(--cap-line); border-radius:10px; background:#fff; box-shadow:0 12px 30px #16161614; z-index:2; }
.cap-dropdown:not([open])>.cap-dropdown-panel { display:none; }
.cap-dropdown-panel>a,.cap-dropdown-panel>button { display:block; width:100%; padding:11px 12px; border:0; border-radius:6px; background:none; color:var(--cap-ink); font-family:inherit; font-size:13px; font-weight:500; text-align:left; cursor:pointer; line-height:1.4; text-transform:none; letter-spacing:normal; box-shadow:none; }
.cap-dropdown-panel>a:hover,.cap-dropdown-panel>button:hover { background:#f4f3f0; color:var(--cap-ink); }
.cap-account { margin-left:auto; }
.cap-account>summary { border:1px solid #cdcbc5; padding:11px 14px; border-radius:8px; color:var(--cap-ink); }
.cap-account .cap-dropdown-panel { left:auto; right:0; }
.cap-account-email { display:block; max-width:260px; padding:8px 12px 12px; margin-bottom:4px; border-bottom:1px solid var(--cap-line); color:var(--cap-muted); overflow-wrap:anywhere; font-size:12px; }
.cap-menu-toggle { display:none; }
.cap-site-header .cap-mobile-contact { display:none; }
.cap-site-header :focus-visible,.cap-site-footer :focus-visible,.cap-admin-nav :focus-visible { outline:3px solid var(--cap-orange); outline-offset:4px; border-radius:4px; }
/* Une seule largeur et les mêmes gouttières que le header. */
.cap-site-footer { box-sizing:border-box; width:100%; background:var(--cap-paper); border-top:1px solid var(--cap-line); padding:48px 0 20px; margin:0; }
.cap-footer-container { max-width:var(--cap-shell-max); margin:0 auto; padding:0 var(--cap-shell-gutter); }
.cap-footer-inner { display:grid; grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)); gap:48px; }
.cap-footer-inner > * { min-width:0; }
.cap-footer-brand p { font-size:14px; color:var(--cap-muted); max-width:340px; margin:18px 0 12px; line-height:1.7; }
.cap-footer-contact { display:inline-flex; align-items:center; gap:8px; max-width:100%; min-height:44px; font-weight:600; font-size:14px; line-height:1.5; }
.cap-footer-contact > span:first-child { min-width:0; }
.cap-footer-contact > span[aria-hidden] { flex:none; color:var(--cap-orange); }
.cap-footer-inner > nav { display:flex; flex-direction:column; align-items:flex-start; gap:2px; margin:0; background:transparent; border:0; padding:0; }
.cap-footer-inner > nav > strong { font-family:inherit; font-size:14px; color:var(--cap-ink); margin:0 0 8px; line-height:1.5; }
.cap-footer-inner > nav > a { display:inline-flex; align-items:center; min-height:36px; max-width:100%; padding:6px 0; font-size:14px; line-height:1.5; color:var(--cap-muted); }
.cap-site-footer a:hover { color:var(--cap-orange); }
.cap-footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px 24px; margin-top:32px; padding-top:16px; border-top:1px solid var(--cap-line); color:var(--cap-muted); font-size:13px; line-height:1.5; }
.cap-footer-bottom > span { flex-shrink:0; max-width:100%; }
.cap-footer-bottom nav { display:flex; gap:0 24px; flex-wrap:wrap; justify-content:flex-end; align-items:center; margin:0; padding:0; border:0; background:transparent; }
.cap-footer-bottom nav > a,.cap-footer-bottom nav > button { display:inline-flex; align-items:center; min-height:44px; margin:0; padding:10px 0; line-height:1.5; }
.cap-footer-bottom button { border:0; border-radius:0; background:none; box-shadow:none; color:inherit; cursor:pointer; font:inherit; }
.cap-footer-bottom button:hover { color:var(--cap-orange); }
@media(max-width:960px) {
  .cap-site-footer { padding-top:36px; }
  .cap-footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 32px; }
  .cap-footer-brand { grid-column:1/-1; }
  .cap-footer-brand p { max-width:440px; margin:16px 0 8px; }
  .cap-footer-bottom { align-items:flex-start; flex-direction:column; gap:8px; margin-top:28px; }
  .cap-footer-bottom nav { justify-content:flex-start; }
}
@media(max-width:600px) {
  .cap-footer-inner { gap:24px 20px; }
  .cap-footer-bottom nav { gap:0 20px; }
}
.cap-admin-nav { display:flex; gap:6px; align-items:center; padding:9px max(24px,calc((100% - 1224px)/2)); overflow-x:auto; background:#fff; border-bottom:1px solid var(--cap-line); }
.cap-admin-nav a { display:block; flex:none; border-radius:5px; padding:7px 10px; font-size:12px; font-weight:500; white-space:nowrap; }
.cap-admin-nav a:hover { background:#f6f5f2; }
.cap-admin-nav a[aria-current=page] { color:#ce4f00; background:#fff2e8; }
/* Espacements : le header occupe désormais sa place dans le flux sur chaque page. */
body.cap-site .c-hero { padding-top:58px; }
body.cap-site .tarifs-hero { padding-top:64px; }
body.cap-site .cx-shell { padding-top:48px; }
body.cap-site .dash { padding-top:40px; }
body.cap-site .ct-hero { padding-top:48px; }
body.cap-site .x-orbs,body.cap-site #particleCanvas,body.cap-site .confetti-container { display:none !important; }
body.cap-site main { scroll-margin-top:90px; }
body.cap-site [id] { scroll-margin-top:92px; }
.cap-feedback { border:1px solid #d4d1cb; border-radius:8px; padding:14px 16px; margin:0 0 22px; background:#fff; color:#3b3c3d; font-size:14px; line-height:1.6; }
.cap-feedback[hidden] { display:none; }
.cap-feedback button { border:0; background:none; color:#b44300; font-weight:700; font-size:inherit; cursor:pointer; text-decoration:underline; padding:3px 0; margin-left:10px; }
.cap-trial-note { font-size:13px; line-height:1.7; color:#626466; margin:18px 0 0; }
.cap-trial-note strong { color:#252525; }
.cap-404 { min-height:55vh; max-width:700px; margin:auto; padding:80px 24px; text-align:center; font-family:Inter,Arial,sans-serif; }
.cap-404 h1 { font-size:clamp(30px,5vw,46px); line-height:1.2; margin:16px 0; color:#191919; }
.cap-404 p { color:#626466; line-height:1.7; }
.cap-404-links { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-top:28px; }
.cap-404-links a { display:inline-block; padding:12px 20px; border:1px solid #d2d0ca; border-radius:8px; color:#191919; text-decoration:none; font-weight:600; }
.cap-404-links a:first-child { background:var(--cap-orange); color:white; border-color:var(--cap-orange); }
@media(max-width:1240px) and (min-width:1121px) { .cap-header-inner { gap:23px; padding:0 24px; } .cap-main-nav { gap:14px; } .cap-header-panel { gap:18px; } .cap-auth-actions { gap:14px; } }
@media(max-width:1120px) {
  #cap-site-header { min-height:72px; }
  .cap-header-inner { min-height:72px; padding:0 24px; gap:12px; }
  .cap-brand { margin-right:auto; }
  .cap-site-header .cap-mobile-contact { display:inline-flex; min-height:38px; padding:8px 13px; }
  .cap-menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:42px; height:42px; padding:9px; border:0; border-radius:7px; box-shadow:none; background:none; cursor:pointer; }
  .cap-menu-toggle span { display:block; width:21px; height:2px; border-radius:2px; background:var(--cap-ink); transition:transform .18s ease,opacity .18s ease; }
  .cap-menu-open .cap-menu-toggle span:first-child { transform:translateY(7px) rotate(45deg); }
  .cap-menu-open .cap-menu-toggle span:nth-child(2) { opacity:0; }
  .cap-menu-open .cap-menu-toggle span:last-child { transform:translateY(-7px) rotate(-45deg); }
  .cap-header-panel { display:none; position:absolute; left:0; right:0; top:72px; padding:16px 24px 24px; background:var(--cap-paper); border-bottom:1px solid var(--cap-line); box-shadow:0 18px 28px #00000012; max-height:calc(100vh - 80px); max-height:calc(100dvh - 80px); overflow-y:auto; }
  .cap-menu-open .cap-header-panel { display:flex; flex-direction:column; align-items:stretch; gap:18px; }
  .cap-main-nav { flex-direction:column; align-items:stretch; gap:2px; }
  .cap-main-nav>a:not(.cap-contact-button),.cap-dropdown summary { padding:13px 0; font-size:15px; }
  .cap-main-nav .cap-contact-button { align-self:flex-start; margin:9px 0 0; }
  .cap-dropdown-panel { position:static; box-shadow:none; border:0; border-left:2px solid var(--cap-line); border-radius:0; background:transparent; margin:0 0 8px 3px; padding:0 8px; min-width:0; }
  .cap-dropdown-panel>a,.cap-dropdown-panel>button { font-size:14px; padding:11px 12px; }
  .cap-auth-actions { padding-top:16px; border-top:1px solid var(--cap-line); justify-content:space-between; gap:24px; }
  .cap-login-link { font-size:15px; }
  .cap-site-header .cap-primary-button { min-height:44px; padding:12px 22px; font-size:14px; }
  .cap-account { margin:0; border-top:1px solid var(--cap-line); padding-top:10px; }
  .cap-account>summary { border:0; padding:12px 0; }
  .cap-account-email { max-width:100%; }
}
@media(max-width:600px) {
  .cap-header-inner { padding:0 16px; gap:8px; }
  .cap-brand { font-size:20px; gap:8px; }
  .cap-brand img { width:29px; height:29px; }
  .cap-header-panel { padding-left:20px; padding-right:20px; }
  body.cap-site .c-hero { padding-top:34px; }
  body.cap-site .tarifs-hero { padding-top:42px; }
  body.cap-site .cx-shell { padding-top:28px; }
}
@media(max-width:359px) { .cap-brand { font-size:18px; gap:6px; } .cap-brand img { width:26px; height:26px; } .cap-site-header .cap-mobile-contact { padding:8px 10px; font-size:12px; } .cap-header-inner { padding:0 12px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; animation-iteration-count:1 !important; } }
/* Consentement : disponible également sur les pages sans l'ancien script global. */
#cap-cookie-banner,#cap-cookie-dialog { font-family:Inter,Arial,sans-serif; color:#242424; font-size:13px; line-height:1.6; }
#cap-cookie-banner *,#cap-cookie-dialog * { box-sizing:border-box; }
#cap-cookie-banner[hidden],#cap-cookie-dialog[hidden] { display:none !important; }
#cap-cookie-banner { position:fixed; z-index:2000; left:20px; right:20px; bottom:20px; max-width:1120px; margin:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; background:#fff; border:1px solid #dedbd4; border-radius:12px; box-shadow:0 8px 35px #0000001a; }
.cap-cookie-copy { flex:1 1 360px; }
.cap-cookie-copy strong { font-size:14px; font-weight:700; }
.cap-cookie-copy p { margin:5px 0 0; color:#666; font-size:12px; line-height:1.6; }
#cap-cookie-banner a,.cap-cookie-policy { color:#a83e00; text-decoration:underline; }
.cap-cookie-actions { display:flex; gap:8px; flex-wrap:wrap; }
#cap-cookie-banner button,#cap-cookie-dialog button { padding:10px 13px; min-height:40px; border-radius:6px; border:1px solid #d2cfc8; background:#fff; color:#242424; font:inherit; font-weight:600; cursor:pointer; box-shadow:none; line-height:1.4; letter-spacing:normal; text-transform:none; }
#cap-cookie-banner button:hover,#cap-cookie-dialog button:hover { background:#f3f2ef; }
#cap-cookie-banner .cap-cookie-accept,#cap-cookie-dialog .cap-cookie-accept { background:#1d1d1d; color:#fff; border-color:#1d1d1d; }
#cap-cookie-dialog { position:fixed; inset:0; z-index:2100; display:flex; align-items:center; justify-content:center; padding:20px; }
.cap-cookie-backdrop { position:absolute; inset:0; background:#0007; }
.cap-cookie-card { position:relative; background:#fff; border-radius:12px; padding:26px; max-width:540px; width:100%; max-height:calc(100dvh - 40px); overflow:auto; box-shadow:0 20px 70px #0003; }
.cap-cookie-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.cap-cookie-heading h2 { font-size:21px; line-height:1.3; font-weight:700; margin:0; letter-spacing:-.3px; color:#242424; }
#cap-cookie-dialog .cap-cookie-close { min-width:38px; min-height:38px; font-size:24px; padding:2px 9px; }
#cap-cookie-description { color:#626466; margin:0 0 22px; }
.cap-cookie-row { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 0; border-top:1px solid #e4e2dd; margin:0; }
.cap-cookie-row strong { font-size:14px; color:#242424; }
.cap-cookie-row p,.cap-cookie-label-help { display:block; font-size:12px; color:#626466; margin:4px 0 0; }
.cap-cookie-row>span:last-child { white-space:nowrap; font-size:11px; color:#666; }
#cap-cookie-analytics { width:21px; height:21px; min-width:21px; padding:0; accent-color:#191919; cursor:pointer; }
.cap-cookie-policy { display:inline-block; margin:8px 0 22px; font-size:12px; }
#cap-cookie-banner :focus-visible,#cap-cookie-dialog :focus-visible { outline:3px solid #f26a13; outline-offset:3px; }
@media(max-width:600px) { #cap-cookie-banner { left:10px; right:10px; bottom:10px; padding:16px; gap:14px; } .cap-cookie-copy { flex-basis:100%; } .cap-cookie-actions { width:100%; } #cap-cookie-banner .cap-cookie-actions button { flex:1; font-size:11px; padding:9px 8px; } .cap-cookie-card { padding:20px; } }
.cap-noscript { display:flex; flex-wrap:wrap; gap:14px; padding:20px; background:#f7f6f3; color:#191919; font:14px Inter,Arial,sans-serif; }
.cap-noscript a { color:inherit; }
.cap-platform-wordmark { display:flex; align-items:center; justify-content:center; min-width:48px; padding:8px 5px; font-family:Inter,Arial,sans-serif; font-weight:800; letter-spacing:-.4px; font-size:13px; color:#2b2b2b; border:1px solid #dedbd4; border-radius:7px; background:#fff; }
.c-roi-label { font-size:13px; line-height:1.5; color:#626466; margin-top:8px; }
#cap-trial-explanation { margin:0 0 24px; max-width:980px; }
#cap-trial-explanation[hidden] { display:none; }
body.cap-site .dash-stat-value.cap-access-text { font-size:clamp(23px,3vw,30px); line-height:1.35; letter-spacing:-.7px; }
body.cap-site .dash-onboarding { background:#fff; border:1px solid #ddd9d1; }
body.cap-site .dash-onboarding::before { display:none; }
body.cap-site .dash-btn-primary,body.cap-site .dash-step-btn,body.cap-site .dash-btn-admin { box-shadow:none; }
body.cap-admin-site .admin-shell { padding-top:28px; }
body.cap-admin-site .shell { padding-top:32px; }
body.cap-admin-site .nav-pills { margin-top:10px; }
.cap-demo-video { max-width:100%; border-radius:inherit; background:#f3f2ef; object-fit:contain; }
.t-cta:disabled { opacity:.65; cursor:wait; transform:none !important; }
body.cap-site .contact-form-wrapper,body.cap-site .cx-panel { box-shadow:0 4px 20px #00000008; }
/* overflow:hidden sur le body empêchait le header sticky sur les anciennes pages. */
body.cap-site { overflow-x:clip !important; overflow-y:visible !important; }
.cap-site-header { box-sizing:border-box; height:76px; }
.cap-header-inner { height:75px; min-height:75px; }
@media(max-width:1120px) { .cap-site-header { height:72px; } .cap-header-inner { height:71px; min-height:71px; } }
/* Pages utilitaires : textes lisibles et absence de halos/contours animés. */
body.cap-site .x-grad { color:var(--cap-orange); -webkit-text-fill-color:var(--cap-orange); background:none; animation:none; }
body.cap-site .form-glow { padding:0; border:1px solid #dedbd4; border-radius:16px; background:#fff; animation:none; }
body.cap-site .contact-form { border-radius:16px; box-shadow:0 4px 18px #00000005; }
body.cap-site .contact-form::before,body.cap-site .contact-card::before,body.cap-site .submit-btn::before { display:none; }
body.cap-site .submit-btn { background:var(--cap-orange); box-shadow:none; border-radius:8px; }
body.cap-site .contact-card { box-shadow:none; border-radius:12px; }
body.cap-site .contact-section { padding:48px 0; }
body.cap-site .contact-form-wrapper { box-shadow:none; }
/* Les deux formules Pro emploient la même famille de composants. */
body.cap-site .t-card { display:flex; flex-direction:column; background:#fff; border-radius:16px; box-shadow:none; transform:none; }
body.cap-site .t-card.t-featured { background:#fff; transform:none; }
body.cap-site .t-card.t-best { background:#fff; border-color:#d6d3cc; }
body.cap-site .t-card.t-best::before { background:#242424; }
body.cap-site .t-card .t-card-sub { min-height:44px; }
body.cap-site .t-card .t-cta { margin-top:auto; box-shadow:none; border-radius:8px; }
body.cap-site .t-card .t-features { flex:1; }
body.cap-site .t-best .t-amount,body.cap-site .t-best .t-monthly-eq { color:#242424; }
body.cap-site .t-best .t-save-pill { background:#f0efeb; color:#333; }
body.cap-site .t-best .t-badge-best,body.cap-site .t-best .t-cta-best { background:#242424; color:#fff; box-shadow:none; }
body.cap-site .t-best .t-icon-annual { background:#f0efeb; color:#242424; }
body.cap-site .t-best .t-features li i { background:#f0efeb; color:#333; }
body.cap-site .t-badge-popular { box-shadow:none; }
@media(min-width:769px) { body.cap-site .t-card .t-divider { margin-top:auto; } body.cap-site .t-card .t-features { flex:none; min-height:262px; } }
@media(max-width:768px) { body.cap-site .t-card .t-card-sub { min-height:0; } }
