/* Styles communs des pages de ccdar.fr (repris de l'accueil) */
:root{--bg:#fbfbfa;--ink:#18181b;--muted:#52525b;--soft:#71717a;--line:#e4e4e7;--c-bg:#e6edfb;--c-ink:#10264f;--c-tag:#2f5fd0;--c-mid:#33476f;--old:#7c5cff;--new:#a63c20;--gutter:max(20px,env(safe-area-inset-left,0px))}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:960px;margin:0 auto;padding:0 var(--gutter)}
header.wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:max(24px,env(safe-area-inset-top,0px));padding-bottom:20px}
.logo{font-size:20px;font-weight:800;letter-spacing:-.02em;text-decoration:none}
.logo span{color:#a1a1aa}
nav.crumbs{font-size:14px;color:var(--soft)}
nav.crumbs a{color:var(--soft)}
.hero{background:var(--c-bg);color:var(--c-ink);border-radius:32px;padding:44px 40px;margin:8px 0 0}
.kicker{margin:0;font-size:15px;font-weight:700;color:var(--c-tag)}
h1{margin:10px 0 16px;font-size:clamp(34px,6vw,56px);line-height:1.02;font-weight:800;letter-spacing:-.04em;max-width:14em}
.hero p.intro{margin:0;font-size:19px;color:var(--c-mid);max-width:36em}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border-radius:999px;background:var(--c-ink);color:#fff;font-size:17px;font-weight:700;text-decoration:none;border:0;font-family:inherit;cursor:pointer}
.btn:hover{filter:brightness(1.18)}
.btn.ghost{background:transparent;color:var(--c-ink);box-shadow:inset 0 0 0 2px rgba(16,38,79,.25)}
.btn.ghost:hover{box-shadow:inset 0 0 0 2px var(--c-ink);filter:none}
.points{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0 0;padding:0;list-style:none;font-size:15px;font-weight:700;color:var(--c-mid)}
.points li::before{content:"✓ ";color:var(--c-tag)}
section.block{margin-top:72px}
h2{margin:0 0 10px;font-size:clamp(26px,4vw,36px);line-height:1.1;letter-spacing:-.035em;font-weight:800}
.lead{margin:0;font-size:18px;color:var(--muted);max-width:40em}
.lead a{font-weight:700}
.compare{position:relative;margin:28px 0 0;border-radius:18px;overflow:hidden;box-shadow:0 22px 50px -26px rgba(16,38,79,.45);background:#ddd;aspect-ratio:8/5;user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:ew-resize}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none;user-select:none}
.compare .after{transition:clip-path .45s ease}.compare.dragging .after,.compare.dragging .bar,.compare.dragging .knob{transition:none}
.compare .bar,.compare .knob{transition:left .45s ease}
.toggle{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.toggle button{font:inherit;font-size:15px;font-weight:700;padding:10px 18px;border-radius:999px;border:1px solid #c9d3ea;background:#fff;color:var(--c-ink);cursor:pointer}
.toggle button[aria-pressed=true]{background:var(--c-ink);color:#fff;border-color:var(--c-ink)}
.live{margin:12px 0 0;text-align:center;font-size:15px;color:var(--muted)}
.live a{font-weight:700;color:var(--c-ink)}
.compare .after{clip-path:inset(0 0 0 var(--pos,50%))}
.compare .bar{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:4px;margin-left:-2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.12);pointer-events:none}
.compare .knob{position:absolute;top:50%;left:var(--pos,50%);width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.28);display:grid;place-items:center;pointer-events:none;color:var(--c-ink)}
.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;pointer-events:none}
.compare input:focus-visible ~ .knob{outline:3px solid var(--c-tag);outline-offset:3px}
.tag{position:absolute;top:14px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;pointer-events:none}
.tag.l{left:14px;background:rgba(60,48,140,.88)}
.tag.r{right:14px;background:rgba(150,52,26,.92)}
.hint{margin:10px 0 0;font-size:14px;color:var(--soft);text-align:center}
.phones{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:44px auto 0;max-width:640px}
.phone figcaption{margin:0 0 10px;font-weight:800;font-size:15px;text-align:center}
.phone figcaption span{display:block;font-weight:500;color:var(--soft);font-size:14px}
.phone .frame{border:10px solid #18181b;border-radius:34px;overflow:hidden;background:#18181b;box-shadow:0 22px 40px -24px rgba(0,0,0,.55)}
.phone .frame img{border-radius:24px;aspect-ratio:1/2;object-fit:cover;object-position:top}
figure{margin:0}
.changes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:28px 0 0}
.changes div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px}
.changes b{display:block;font-size:17px;margin-bottom:4px}
.changes p{margin:0;color:var(--muted);font-size:15.5px}
.steps{counter-reset:s;list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px;font-size:15.5px;color:var(--muted)}
.steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--c-bg);color:var(--c-ink);font-weight:800;margin-bottom:10px}
.steps b{display:block;color:var(--ink);font-size:17px;margin-bottom:2px}
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:28px 0 0}
.price{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px 24px;display:flex;flex-direction:column}
.price.main{border:2px solid var(--c-ink);box-shadow:0 18px 40px -26px rgba(16,38,79,.5)}
.price h3{margin:0;font-size:19px;letter-spacing:-.02em}
.price .amt{margin:8px 0 4px;font-size:34px;font-weight:800;letter-spacing:-.04em}
.price .amt small{font-size:15px;font-weight:600;color:var(--soft);letter-spacing:0}
.price p{margin:0 0 12px;color:var(--muted);font-size:15.5px}
.price ul{margin:auto 0 0;padding-left:20px;font-size:15px;color:#3f3f46}
.price li{margin:4px 0}
.small{margin:14px 0 0;font-size:14px;color:var(--soft)}
.tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.tabs a{padding:8px 16px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;color:var(--muted);white-space:nowrap}
.tabs a[aria-current=page]{background:var(--ink);color:#fff}
.tabs a:not([aria-current]):hover{color:var(--ink)}
.opt-t{margin:30px 0 0;font-size:20px;letter-spacing:-.02em}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}
.opt{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.opt b{font-size:16px}.opt p{margin:2px 0 0;font-size:14.5px;color:var(--muted)}
.opt span{font-weight:800;font-size:18px;white-space:nowrap;color:var(--c-ink)}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-weight:700;font-size:15px;margin-bottom:6px;padding:0}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.ch{display:flex;align-items:center;gap:8px;margin:0;font-weight:500;font-size:15px;background:#fff;border:1px solid #c9d3ea;border-radius:14px;padding:10px 14px;cursor:pointer}
.ch input{width:18px;height:18px;accent-color:var(--c-ink);margin:0}
.styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:26px}
.sty figcaption{margin-top:12px;font-size:15px;color:var(--muted)}
.sty figcaption b{display:block;font-size:17px;color:var(--ink)}
.mock{border-radius:14px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 16px 34px -22px rgba(0,0,0,.5);border:1px solid var(--line);display:flex;flex-direction:column}
.mock .mb{display:flex;gap:5px;padding:7px 9px;background:#e9e9ee}.mock .mb i{width:8px;height:8px;border-radius:50%;background:#c4c4cc}
.mock .mh{display:flex;align-items:center;gap:8px;padding:10px 12px}.mock .mh b{font-size:12px;margin-right:auto}.mock .mh span{width:26px;height:6px;border-radius:3px;background:currentColor;opacity:.35}
.mock .mt{padding:10px 14px;display:flex;flex-direction:column;gap:7px}.mock em{display:block;height:13px;width:75%;border-radius:4px;background:currentColor}.mock em.s{height:6px;width:60%;opacity:.35}
.mock u{text-decoration:none;font-size:10px;font-weight:700;align-self:flex-start;padding:5px 10px;border-radius:999px;margin-top:2px}
.mock .mg{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:8px;padding:8px 14px 14px;margin-top:auto}.mock .mg span{height:46px;border-radius:8px}
.m1{background:#fff;color:#111}.m1 u{background:#111;color:#fff}.m1 .mg span{background:#eceff3}
.m2{background:#f6eedd;color:#4a2c17;font-family:Georgia,serif}.m2 .mban{height:46px;display:flex;align-items:flex-end;justify-content:flex-end;padding:6px 10px;background:linear-gradient(90deg,#c9a77a,#e7d3b0 60%,#b88a58);color:#fff;font-style:italic}.m2 .mban b{font-size:13px;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.m2 .mnav{display:flex;gap:8px;justify-content:center;padding:7px;background:#9b3a1e}.m2 .mnav span{width:24px;height:5px;border-radius:3px;background:#f6eedd}.m2 .mg span{background:#fff;border:1px solid #e3d3b5}
.m3{background:linear-gradient(160deg,#ffefe2,#fff7d6);color:#5a2a82}.m3 .mh{background:#ff6b4a;color:#fff}.m3 .mh span{opacity:.7}.m3 u{background:#5a2a82;color:#fff}.m3 .mg span{border-radius:14px}.m3 .mg span:nth-child(1){background:#ffd166}.m3 .mg span:nth-child(2){background:#06d6a0}.m3 .mg span:nth-child(3){background:#4cc9f0}
.devis{margin-top:72px;background:var(--c-bg);color:var(--c-ink);border-radius:32px;padding:40px;scroll-margin-top:20px}
.devis .lead{color:var(--c-mid)}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
label{display:block;font-weight:700;font-size:15px;margin-bottom:6px}
input[type=text],input[type=email],input[type=url],textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #c9d3ea;border-radius:14px;padding:13px 15px}
input:focus,textarea:focus{outline:3px solid rgba(47,95,208,.35);border-color:var(--c-tag)}
textarea{min-height:130px;resize:vertical}
.full{grid-column:1/-1}
.err{color:#b42318;font-size:14px;font-weight:600;margin:6px 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ok{margin:24px 0 0;padding:18px 20px;border-radius:16px;background:#fff;font-weight:700;color:#0f5132}
.alt{margin:14px 0 0;font-size:15px;color:var(--c-mid)}
.faq details{border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:10px 0;background:#fff}
.faq summary{cursor:pointer;font-weight:700;font-size:17px}
.faq details p{margin:10px 0 0;color:var(--muted)}
footer.wrap{padding-top:56px;padding-bottom:max(40px,env(safe-area-inset-bottom,0px));font-size:14px;color:var(--soft)}
@media (max-width:640px){
  header.wrap{flex-wrap:wrap}
  .hero{padding:30px 22px;border-radius:26px}
  .btn{width:100%}
  .phones{gap:14px}
  .phone .frame{border-width:6px;border-radius:24px}
  .phone .frame img{border-radius:18px}
  .devis{padding:28px 20px;border-radius:26px}
  form{grid-template-columns:1fr}
  .tag{top:10px;font-size:11px;padding:4px 9px}
  .tag.l{left:10px}.tag.r{right:10px}
  .compare .knob{width:40px;height:40px;margin:-20px 0 0 -20px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.avis{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:28px 0 0}
.av{margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 24px;display:flex;flex-direction:column;gap:10px}
.av-stars{color:#e0a100;font-size:20px;letter-spacing:2px}
.av blockquote{margin:0;font-size:16.5px;color:#3f3f46}
.av figcaption{margin-top:auto;font-size:14.5px;color:var(--muted)}
.av figcaption span{display:block;font-size:13px;color:var(--soft)}

.mt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:18px}.mt-card{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}.mt-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.07)}.mt-card .mt-ico{font-size:26px;display:block;margin-bottom:6px}.mt-card b{display:block;font-size:17px}.mt-card small{display:block;color:var(--soft);font-size:14px;margin-top:2px}
.pub{text-align:center;line-height:0}
.pub-label{display:block;line-height:1.4;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--soft,#71717a);margin-bottom:4px}
.pub-haut{max-width:960px;margin:0 auto 10px;padding:0 var(--gutter,20px)}
.pub-haut ins{max-height:90px;overflow:hidden}
.pub-bas{max-width:760px;margin:44px auto 0;padding:14px 18px 16px;background:#fff;border:1px solid var(--line,#e4e4e7);border-radius:16px}
.pub:has(ins[data-ad-status="unfilled"]){display:none}
@media (max-width:520px){.pub-haut{display:none}}

.hero.sub{padding:36px 40px}.hero.sub h1{font-size:clamp(30px,5vw,46px);max-width:none}
.cta{margin-top:72px;background:var(--c-bg);color:var(--c-ink);border-radius:32px;padding:36px 40px}.cta .lead{color:var(--c-mid)}
footer.wrap a{color:var(--soft)}
@media (max-width:640px){.hero.sub{padding:28px 22px}.cta{padding:28px 20px;border-radius:26px}}
