:root{--bg:#EDF1F4;--surface:#fff;--ink:#12202F;--muted:#4D5C6B;--line:#C9D3DB;--accent:#0B6B47;--accent-ink:#fff;--hl:#FFE14D;--soft:#E1E8ED;
--display:"Bricolage Grotesque","Trebuchet MS",system-ui,sans-serif;--text:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#0D1620;--surface:#15222F;--ink:#E9EFF4;--muted:#9FB0BF;--line:#2B3B4A;--accent:#3CCB93;--accent-ink:#06241A;--soft:#1B2B39}}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:1.0625rem/1.6 var(--text);-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:var(--display);line-height:1.1;margin:0;letter-spacing:-.02em}p{margin:0}a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:1040px;margin:0 auto;padding:0 1.25rem}.narrow{max-width:720px}
section{padding:3.5rem 0}h2{font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:800}.sub{margin-top:.7rem;color:var(--muted);max-width:40em}
.top{padding:1.1rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.brand{font:800 1.15rem var(--display);text-decoration:none}.brand i{font-style:normal;background:var(--hl);color:#12202F;padding:0 .3em;border-radius:3px}
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);font:600 1.05rem var(--text);text-decoration:none;border:0;border-radius:10px;padding:.9rem 1.4rem;cursor:pointer;text-align:center}
.btn:hover{filter:brightness(1.08)}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.btn[disabled]{opacity:.55;cursor:wait}
.hero{padding:2rem 0 3rem}.hero h1{font-size:clamp(2.2rem,5.4vw,3.6rem);font-weight:800;max-width:15em}
.hero p{margin-top:1.1rem;font-size:1.2rem;color:var(--muted);max-width:36em}.hero .row{margin-top:1.8rem;display:flex;gap:1rem;flex-wrap:wrap}
.offer{display:grid;grid-template-columns:1fr 17rem;gap:2rem;padding:2rem 0;border-top:1px solid var(--line)}
.offer:last-of-type{border-bottom:1px solid var(--line)}.offer h3{font-size:1.7rem;font-weight:800}.for{color:var(--muted);margin:.4rem 0 1rem}
.offer ul{margin:0;padding-left:1.1rem}.offer li{margin:.3rem 0}.buy{align-self:start;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.4rem}
.buy .p{font:800 2rem var(--display)}.buy small{display:block;color:var(--muted);margin:.2rem 0 1rem}.buy .btn{width:100%}
.steps{list-style:none;margin:1.5rem 0 0;padding:0;counter-reset:s;display:grid;gap:1rem}
.steps li{counter-increment:s;position:relative;padding-left:2.7rem;color:var(--muted)}.steps b{color:var(--ink);display:block}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--ink);color:var(--bg);font:700 .9rem var(--display);display:grid;place-items:center}
.band{background:var(--soft);border-radius:14px;padding:2rem}.band p+p{margin-top:.8rem}.band p{max-width:46em}
.faq{margin-top:1.5rem;border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:1rem 0}
.faq summary{font:700 1.1rem var(--display);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:1.4rem;line-height:1}.faq details[open] summary::after{content:"−"}
.faq p{margin-top:.6rem;color:var(--muted)}
footer{padding:2rem 0 3rem;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.6rem;margin-top:1.5rem}
label.f{display:block;font-weight:600;margin:1rem 0 .35rem}.hint{font-weight:400;color:var(--muted);font-size:.9rem}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:.7rem .85rem}
textarea{min-height:5rem;resize:vertical}.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.g3{display:grid;grid-template-columns:2fr 2fr 1fr;gap:0 .75rem}
.rowbox{border:1px dashed var(--line);border-radius:10px;padding:.2rem .9rem 1rem;margin-top:.8rem}
.msg{margin-top:1rem;padding:.9rem 1rem;border-radius:10px;background:var(--soft)}.msg.err{background:#fde8e6;color:#8a1c12}
.tabs{display:flex;gap:.5rem;margin:1.5rem 0 1rem}.tabs button{font:600 1rem var(--text);padding:.6rem 1.1rem;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.tabs button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.doc{background:#fff;color:#1b2733;max-width:794px;margin:0 auto;padding:2.2rem 2.4rem;border-radius:4px;box-shadow:0 12px 34px -16px #0b172288;font:.95rem/1.5 var(--text)}
.doc .nm{font:800 1.9rem var(--display);color:#1F3A5F}.doc .ti{font-size:1.1rem;color:#44546a}.doc .ct{font-size:.85rem;color:#44546a;margin-bottom:.3rem}
.doc h4{margin:1.1rem 0 .4rem;font:700 .85rem var(--text);color:#1F3A5F;border-bottom:1.5px solid #1F3A5F;padding-bottom:.15rem}
.doc .r{display:flex;justify-content:space-between;gap:1rem;font-weight:700}.doc .r span:last-child{font-weight:400;font-style:italic}.doc ul{margin:.2rem 0 .4rem;padding-left:1.1rem}
.doc .l{text-align:right}.doc p{margin:.7rem 0}.doc .ob{font-weight:700;margin:1.2rem 0}
[contenteditable]:focus{outline:2px dashed #1F3A5F;outline-offset:4px}
@media (max-width:760px){.offer{grid-template-columns:1fr}.g2,.g3{grid-template-columns:1fr}.doc{padding:1.3rem}section{padding:2.5rem 0}}
@media print{body{background:#fff}.noprint{display:none!important}body.p-cv #lettre,body.p-lettre #cv{display:none}.doc{box-shadow:none;max-width:none;padding:0;border-radius:0}@page{margin:16mm}}

/* ---- Menu, modèles, aperçu (v2) ---- */
.nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1.2rem;padding:.9rem 0;flex-wrap:wrap}
.nav ul{list-style:none;display:flex;gap:.2rem;margin:0;padding:0;flex-wrap:wrap}
.nav a.lnk{display:block;padding:.45rem .8rem;border-radius:999px;text-decoration:none;font-weight:500;font-size:.98rem}
.nav a.lnk:hover{background:var(--soft)}.nav a.lnk[aria-current=page]{background:var(--ink);color:var(--bg)}
h1.t{font-size:clamp(2rem,4.6vw,3rem);font-weight:800;max-width:17em}
.prod{list-style:none;margin:1.5rem 0 0;padding:0;border-top:1px solid var(--line)}
.prod li{display:grid;grid-template-columns:4.2rem 1fr auto;gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.prod b{font:700 1.08rem var(--display);display:block}.prod .d{color:var(--muted);font-size:.97rem}
.ext{font:600 .8rem var(--text);background:var(--soft);border-radius:5px;padding:.2rem .45rem;text-align:center}
.tag{font-size:.82rem;color:var(--muted);white-space:nowrap}
.packs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.pk{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.5rem}
.pk h3{font-size:1.4rem}.pk .p{font:800 1.9rem var(--display);margin:.5rem 0}.pk ul{margin:.6rem 0 1.1rem;padding-left:1.1rem}.pk p.for{color:var(--muted)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.2rem}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.2rem}
.card{background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.6rem}
.card.sel{border-color:var(--accent)}.card h3{font-size:1.2rem}.card p{color:var(--muted);font-size:.95rem}.card .btn{padding:.65rem 1rem;font-size:.98rem;margin-top:auto}
.mini{overflow:hidden;height:370px;border:1px solid var(--line);border-radius:6px;background:#fff;pointer-events:none}
.mini .doc{width:200%;max-width:none;transform:scale(.5);transform-origin:0 0;box-shadow:none;margin:0;border-radius:0}
.row2{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;margin-top:1.2rem}
.doc h4{color:var(--ac,#1F3A5F);border-bottom:1.5px solid var(--ac,#1F3A5F)}.doc .nm{color:var(--ac,#1F3A5F)}
.doc.head-band h4{background:var(--ac);color:#fff;border:0;padding:.22rem .5rem}
.doc.head-caps h4{letter-spacing:.2em;border-bottom:1px solid #bbb;color:var(--ac)}.doc.head-caps.ctr h4{text-align:center}
.doc.ctr .nm,.doc.ctr .ti,.doc.ctr .ct{text-align:center}.doc .sb{font-style:italic}.doc .sg{margin-top:1.6rem}.doc .nt{font-style:italic;color:#666;font-size:.88rem;margin:.2rem 0}.doc .bg{font:800 1.6rem var(--display);color:var(--ac,#1F3A5F);margin-bottom:.6rem}
.wm{position:relative;-webkit-user-select:none;user-select:none}
.wm::after{content:"";position:absolute;inset:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='190'%3E%3Ctext x='24' y='120' transform='rotate(-28 140 95)' font-family='sans-serif' font-size='32' font-weight='700' fill='%23c0392b' fill-opacity='.16'%3EAPER%C3%87U%3C/text%3E%3C/svg%3E")}
.tblw{overflow-x:auto;background:#fff;color:#1b2733;border-radius:6px;padding:1rem}.tblw table{border-collapse:collapse;min-width:640px;width:100%;font-size:.88rem}
.tblw th{background:#1F3A5F;color:#fff;text-align:left;padding:.5rem}.tblw td{border-bottom:1px solid #d0d7de;padding:.5rem;height:2rem}
.fade{color:var(--muted);text-align:center;padding:1rem;border-top:1px dashed var(--line);margin-top:1rem}
.tabs button small{font-weight:500;opacity:.8}.tabs{flex-wrap:wrap}
.radio{display:flex;gap:.8rem;align-items:flex-start;border:2px solid var(--line);border-radius:12px;padding:1rem;margin-top:.7rem;cursor:pointer}
.radio:has(input:checked){border-color:var(--accent)}.radio input{width:auto;margin-top:.3rem}.radio b{font-family:var(--display)}
.radio span.d{display:block;color:var(--muted);font-size:.93rem}
.recap{margin:0;padding:0;list-style:none}.recap li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.recap li span:first-child{color:var(--muted)}
body.preview .doc,body.preview .tblw{-webkit-touch-callout:none}
@media print{body.preview{display:none}}
@media (max-width:760px){.packs,.grid3,.grid2{grid-template-columns:1fr}.prod li{grid-template-columns:3.6rem 1fr}.prod .tag{grid-column:2}.mini{height:300px}}

/* ---- Modèles avec photo, protection ---- */
.mk{filter:blur(2.4px);color:#8c98a4;user-select:none;-webkit-user-select:none}
.doc .ph{display:block;width:118px;height:118px;object-fit:cover;border-radius:6px;margin-bottom:.9rem}
.lay-sidebar{display:grid;grid-template-columns:34% 66%;padding:0;overflow:hidden;min-height:640px}
.lay-sidebar aside{background:var(--ac);color:#fff;padding:1.5rem 1.1rem}.lay-sidebar aside h4{color:var(--ac2);border-bottom:1px solid var(--ac2);font-size:.75rem;letter-spacing:.08em}
.lay-sidebar aside .cl{font-size:.8rem;margin:.25rem 0;word-break:break-word}.lay-sidebar aside ul{padding-left:1rem;font-size:.85rem}.lay-sidebar section{padding:1.7rem 1.5rem}
.lay-banner{padding:0;overflow:hidden}.lay-banner header{background:var(--ac);color:#fff;padding:1.4rem 1.6rem;display:flex;gap:1.2rem;align-items:center}
.lay-banner header .ph{margin:0;flex:none}.lay-banner header .nm,.lay-banner header .ti,.lay-banner header .ct{color:#fff;text-align:left}
.lay-banner .cols{display:grid;grid-template-columns:64% 36%;min-height:420px}.lay-banner .cols section{padding:1rem 1.6rem}.lay-banner .cols aside{background:var(--ac2);padding:1rem 1.1rem}.lay-banner aside ul{padding-left:1rem}
.lay-center .ph{margin:0 auto 1rem}.doc.head-bar h4{border:0;border-left:5px solid var(--ac);padding-left:.6rem;text-align:left;letter-spacing:0}
#photoPrev img{width:120px;height:120px;object-fit:cover;border-radius:8px;display:block;margin:.6rem 0}
.wm::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='170'%3E%3Ctext x='18' y='110' transform='rotate(-28 130 85)' font-family='sans-serif' font-size='30' font-weight='700' fill='%23c0392b' fill-opacity='.2'%3EAPER%C3%87U%3C/text%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='190' height='120'%3E%3Ctext x='10' y='70' transform='rotate(26 95 60)' font-family='sans-serif' font-size='20' font-weight='700' fill='%231F3A5F' fill-opacity='.14'%3EAPER%C3%87U%3C/text%3E%3C/svg%3E")}
.card h3 small.tag{font:500 .75rem var(--text);background:var(--soft);padding:.1rem .4rem;border-radius:4px;vertical-align:middle}
@media (max-width:760px){.lay-sidebar{grid-template-columns:38% 62%}.lay-banner .cols{grid-template-columns:1fr}}

/* ---- Fenêtre « après paiement », une page, avis ---- */
.doc{font-family:Calibri,Carlito,"Segoe UI",Arial,sans-serif;font-size:calc(.95rem * var(--k,1))}
.doc .nm{font-size:2em}.doc .ti{font-size:1.15em}.doc .ct{font-size:.88em}.doc h4{font-size:.88em}.doc .bg{font-size:1.7em}
.lay-sidebar aside h4{font-size:.78em}.lay-sidebar aside .cl{font-size:.85em}.lay-sidebar aside ul{font-size:.9em}
.apl{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:1.4rem;align-items:start}
.aside{position:sticky;top:1rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem}.aside h3{font-size:1.05rem;margin-bottom:.6rem}
.minipage{position:relative;width:100%;aspect-ratio:210/297;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:4px;pointer-events:none;-webkit-user-select:none;user-select:none}
.minipage .doc{position:absolute;left:0;top:0;width:794px;max-width:none;min-height:1123px;margin:0;box-shadow:none;border-radius:0;transform-origin:0 0;padding:66px 75px}
.minipage .lay-sidebar,.minipage .lay-banner{padding:0}.minipage .lay-sidebar{min-height:1123px}.minipage .lay-banner .cols{min-height:900px}
.notice{background:#FFF4C2;color:#3a2f00;border-radius:10px;padding:.9rem 1.1rem;margin:1.2rem 0;font-size:.98rem}
@media (prefers-color-scheme:dark){.notice{background:#3b3410;color:#ffeaa0}}
.legal h3{font-size:1.15rem;margin:1.4rem 0 .4rem}.legal p{color:var(--muted);max-width:44em}
@media (max-width:900px){.apl{grid-template-columns:1fr}.aside{position:static}}
@media print{.aside{display:none}}

/* ---- v3 : logo, modèles de CV et de lettre, paiement, contact, admin ---- */
.brand{display:flex;align-items:center}.brand img{height:34px;width:auto;display:block}
.doc{font-family:var(--ff,Calibri,Carlito,"Segoe UI",Arial,sans-serif)}.doc .nm{font-family:var(--nf,inherit)}
.doc.titlerule .ti{color:var(--ac2);border-bottom:2px solid var(--ac2);padding-bottom:.35em;margin-bottom:.5em}
.doc.head-thin h4{border-bottom:1px solid #c9c9c9;color:var(--ac);letter-spacing:.14em;font-size:.8em}
.doc.head-leftbar h4{border:0;border-left:5px solid var(--ac2,var(--ac));padding-left:.6em;color:var(--ac)}
.doc.head-dot h4{border:0;text-align:center;letter-spacing:.14em;color:var(--ac)}.doc.head-dot h4::before{content:"· "}.doc.head-dot h4::after{content:" ·"}
.doc.circle .ph{border-radius:50%;border:3px solid var(--ac)}.lay-sidebar:not(.light).circle .ph,.lay-banner:not(.light).circle .ph{border-color:#fff}
.lay-sidebar.right{grid-template-columns:66% 34%}
.lay-sidebar.light aside{background:var(--ac2);color:#1b2733}.lay-sidebar.light aside h4{color:var(--ac);border-bottom-color:var(--ac)}
.lay-banner.light header{background:var(--ac2);color:#1F2937;border-bottom:6px solid var(--ac)}.lay-banner.light header .nm{color:#1F2937}.lay-banner.light header .ti{color:var(--ac)}.lay-banner.light header .ct{color:#444}.lay-banner.light .cols aside{background:#F3F6F8}
.lay-banner.pr header{flex-direction:row-reverse;justify-content:space-between}
.lh{margin-bottom:1rem}.lh .n{font-size:1.9em;font-weight:800;line-height:1.1}.lh .c{font-size:.9em;margin-top:.2em}
.lh-band{background:var(--ac);color:#fff;padding:.9em 1.1em;border-radius:3px;border-bottom:4px solid var(--ac2,var(--ac))}
.lh-rule{border-bottom:2px solid var(--ac);padding-bottom:.6em}.lh-rule .n{color:var(--ac)}.lh-rule .c{color:#666}
.lh-bar{border-left:6px solid var(--ac);padding-left:.8em}.lh-bar .n{color:var(--ac)}.lh-bar .c{color:#666}
.qq{font-weight:700;color:#1F3A5F;margin:.9em 0 .2em}.todo::before{content:"";display:inline-block;width:.8em;height:.8em;border:1.5px solid #0B6B47;border-radius:2px;margin-right:.6em}
.packs.three{grid-template-columns:repeat(3,1fr)}.pk .for{min-height:3.2em}
.qrbox{text-align:center;margin-top:1.2rem}.qrbox img{background:#fff;padding:8px;border-radius:8px;margin:.6rem auto;display:block;image-rendering:pixelated}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
table.adm{border-collapse:collapse;min-width:720px;width:100%;font-size:.88rem}table.adm td,table.adm th{padding:.45rem .5rem;border-bottom:1px solid #d0d7de;text-align:left}
@media (max-width:900px){.packs.three{grid-template-columns:1fr}}

/* ---- Formulaire : parties repliables ---- */
:root{--warn:#9a5b00}@media (prefers-color-scheme:dark){:root{--warn:#f0b44c}}
.accbar{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.accbar .btn{padding:.55rem 1rem;font-size:.95rem}
details.acc{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-top:1rem;overflow:hidden}
details.acc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.8rem;padding:1.05rem 1.3rem;font:700 1.1rem var(--display)}
details.acc>summary::-webkit-details-marker{display:none}
details.acc>summary::after{content:"";flex:none;width:.55rem;height:.55rem;margin-left:.4rem;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
details.acc[open]>summary::after{transform:rotate(-135deg)}
details.acc[open]>summary{border-bottom:1px solid var(--line)}
details.acc>summary:hover{background:var(--soft)}
details.acc .num{flex:none;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font:700 .9rem var(--display)}
details.acc .ttl{flex:1;min-width:0}
details.acc .st{font:500 .85rem var(--text);color:var(--muted);white-space:nowrap}
details.acc .st.ok{color:var(--accent);font-weight:600}details.acc .st.todo2{color:var(--warn);font-weight:600}
details.acc>.acc-body{padding:.4rem 1.3rem 1.4rem}
@media (prefers-reduced-motion:reduce){details.acc>summary::after{transition:none}}
@media (max-width:520px){details.acc>summary{padding:.95rem 1rem;font-size:1rem}details.acc>.acc-body{padding:.3rem 1rem 1.2rem}}
