/* Page A4 du courrier (794 × 1123 px) */
.rdpage{width:794px;min-height:1123px;background:#fff;color:#1d2421;font:14.5px/1.6 Arial,Helvetica,sans-serif;padding:72px 84px;box-sizing:border-box;position:relative;text-align:left}
.rdpage:focus{outline:none}
.rdpage .rd-sender{margin-bottom:22px}
.rdpage .rd-to{margin:0 0 18px auto;max-width:360px;text-align:right}
.rdpage .rd-r{text-align:right}
.rdpage .rd-place{margin:0 0 22px}
.rdpage .rd-ref{margin:0 0 4px;font-size:13.5px}
.rdpage .rd-obj{margin:0 0 20px}
.rdpage .rd-p{margin:0 0 13px;text-align:justify}
.rdpage .rd-sign{margin:28px 0 0 auto;text-align:right;max-width:380px}
.rdpage .rd-mut{color:#8c9590;font-size:12.5px}
.rdpage .rd-pj{margin-top:34px;font-size:13px}
.rdpage .rd-head{margin-bottom:46px;font-size:13.5px}
.rdpage .rd-big{font-size:22px;text-align:center;letter-spacing:.06em;margin:0 0 34px}
.rdpage .ph{background:#fff27a;border-radius:3px;padding:0 2px;box-shadow:0 0 0 1px #f3d64a inset;cursor:text}
.rdpage .ph.auto,.rdpage .ph.done{background:#e3f4e5;box-shadow:0 0 0 1px #b7dfbc inset}
.rdpage.wm::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.11;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='200'%3E%3Ctext x='160' y='110' font-family='Arial' font-size='26' font-weight='700' text-anchor='middle' transform='rotate(-28 160 100)' fill='%23000'%3EAPER%C3%87U %C2%B7 Docs Utiles%3C/text%3E%3C/svg%3E")}
/* Contrats (documents de plusieurs pages) */
.rdpage .rd-ctr{font-size:19px;margin:0 0 6px;letter-spacing:.02em}
.rdpage .rd-sub{text-align:center;font-style:italic;color:#6b746f;font-size:12.5px;margin:0 0 24px}
.rdpage .rd-art{margin-top:6px}
.rdpage .rd-h{margin:12px 0 6px;color:#177a1c}
.rdpage .rd-fait{margin:22px 0 18px}
.rdpage .rd-signs{display:flex;gap:24px;justify-content:space-between;break-inside:avoid;page-break-inside:avoid}
.rdpage .rd-sg{flex:1;min-height:120px}
@media print{.rdpage .rd-h{break-after:avoid;page-break-after:avoid}.rdpage .rd-art{orphans:3;widows:3}}
/* À l'impression : plus de surlignage */
.rdpage.print .ph,.rdpage.print .ph.auto,.rdpage.print .ph.done{background:none;box-shadow:none;padding:0}
.rdpage.print .rd-mut{color:#999}
@media print{@page{size:A4;margin:0}.rdpage{width:210mm;min-height:297mm}}

/* Éditeur */
.rded{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;padding-top:24px;padding-bottom:110px;align-items:start}
.rded-side{display:grid;gap:12px;position:sticky;top:120px}
.rded-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.rded-box h2{font:700 16px Inter,sans-serif;margin:0 0 10px}
.rded-box label{margin-bottom:8px}
.rded-legend{font-size:13px;color:var(--muted);display:grid;gap:6px}
.rded-legend i{display:inline-block;width:26px;height:14px;border-radius:3px;vertical-align:-2px;margin-right:6px}
.rded-paper{background:#e9ece9;border-radius:var(--radius);padding:18px;overflow:hidden}
.rded-scale{transform-origin:0 0;width:794px}
.rded-paper .rdpage{box-shadow:0 4px 20px rgba(0,0,0,.12)}
.rded-count{font-weight:600}
.rded-intro{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;padding:28px 0 24px}
.rded-intro h1{font-size:clamp(24px,3.4vw,34px);margin-bottom:8px}
.rded-intro p{margin:0;opacity:.92}
.rded-intro .eyebrow{color:#ffb36b}
@media (max-width:900px){.rded{grid-template-columns:minmax(0,1fr)}.rded-side{position:static}}
.rded-side,.rded-box{min-width:0}
.rded-box select{width:100%;max-width:100%}

/* ===================== Designs au choix ===================== */
.rdpage{--ac:#177a1c;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rdpage .rd-h{color:var(--ac)}
/* Moderne : bandeau en haut, nom en couleur, objet souligné d'un filet */
.rdpage.t-moderne{font-family:"Segoe UI",Arial,sans-serif}
.rdpage.t-moderne::before{content:"";position:absolute;top:0;left:0;right:0;height:14px;background:var(--ac)}
.rdpage.t-moderne .rd-sender>div:first-child{font-size:20px;font-weight:700;color:var(--ac);margin-bottom:4px}
.rdpage.t-moderne .rd-obj{border-left:4px solid var(--ac);padding:6px 12px;background:color-mix(in srgb,var(--ac) 7%,#fff)}
.rdpage.t-moderne .rd-ctr{color:var(--ac);text-align:left;font-size:21px;border-bottom:3px solid var(--ac);padding-bottom:8px}
.rdpage.t-moderne .rd-sub{text-align:left}
.rdpage.t-moderne .rd-h{border-left:4px solid var(--ac);padding-left:10px}
.rdpage.t-moderne .rd-big:not(.rd-ctr){color:var(--ac)}
/* Élégant : serif, en-tête centré, filets fins */
.rdpage.t-elegant{font-family:Georgia,"Times New Roman",serif;font-size:14.5px}
.rdpage.t-elegant .rd-sender{text-align:center;border-bottom:1px solid var(--ac);padding-bottom:14px;margin-bottom:26px;position:relative}
.rdpage.t-elegant .rd-sender::after{content:"";position:absolute;left:30%;right:30%;bottom:-5px;border-bottom:1px solid var(--ac)}
.rdpage.t-elegant .rd-sender>div:first-child{font-size:22px;letter-spacing:.12em;text-transform:uppercase;color:var(--ac);margin-bottom:6px}
.rdpage.t-elegant .rd-obj b{font-variant:small-caps;letter-spacing:.04em}
.rdpage.t-elegant .rd-big{font-variant:small-caps;letter-spacing:.08em;color:var(--ac);border-top:1px solid var(--ac);border-bottom:1px solid var(--ac);padding:10px 0}
.rdpage.t-elegant .rd-h b{font-variant:small-caps;letter-spacing:.05em}
/* Entreprise : en-tête plein en couleur, pied de page coloré */
.rdpage.t-corporate{border-bottom:12px solid var(--ac)}
.rdpage.t-corporate .rd-sender{margin:-72px -84px 30px;padding:26px 84px 20px;background:var(--ac);color:#fff}
.rdpage.t-corporate .rd-sender>div:first-child{font-size:21px;font-weight:700}
.rdpage.t-corporate .rd-head{margin:-72px -84px 40px;padding:26px 84px 20px;background:var(--ac);color:#fff}
.rdpage.t-corporate .rd-obj{color:var(--ac)}
.rdpage.t-corporate .rd-ctr{background:var(--ac);color:#fff;padding:14px 10px;border-radius:4px}
.rdpage.t-corporate .rd-h{background:color-mix(in srgb,var(--ac) 9%,#fff);padding:5px 10px;border-radius:3px}
.rdpage.t-corporate .rd-sg{border-top:2px solid var(--ac);padding-top:8px}
/* Minimaliste : grand nom, filets gris, beaucoup d'air */
.rdpage.t-minimal{font-family:"Helvetica Neue",Arial,sans-serif;color:#2a2f2d}
.rdpage.t-minimal .rd-sender{border-bottom:1px solid #d5d9d6;padding-bottom:16px}
.rdpage.t-minimal .rd-sender>div:first-child{font-size:28px;font-weight:300;letter-spacing:.04em;color:var(--ac);margin-bottom:6px}
.rdpage.t-minimal .rd-obj{text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.rdpage.t-minimal .rd-big{font-weight:300;letter-spacing:.14em;text-transform:uppercase}
.rdpage.t-minimal .rd-h{color:#2a2f2d;text-transform:uppercase;letter-spacing:.06em;font-size:13px;border-bottom:1px solid #d5d9d6;padding-bottom:4px}
.rdpage.t-minimal .rd-h b::before{content:"";display:inline-block;width:8px;height:8px;background:var(--ac);margin-right:8px;vertical-align:1px}
/* Institutionnel : filet tricolore, couleurs sobres */
.rdpage.t-ivoire::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,#f77f00 0 33.3%,#fff 33.3% 66.6%,#009e60 66.6%)}
.rdpage.t-ivoire .rd-sender>div:first-child{font-weight:700;text-transform:uppercase}
.rdpage.t-ivoire .rd-obj{text-decoration:underline;text-decoration-color:var(--ac);text-underline-offset:4px}
.rdpage.t-ivoire .rd-big{border:2px solid var(--ac);padding:10px;color:var(--ac)}
.rdpage.t-ivoire .rd-h b{text-decoration:underline;text-underline-offset:3px}
/* Choix du design dans l'éditeur */
.th-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.th-btn{border:2px solid var(--line);border-radius:8px;background:#fff;padding:5px;cursor:pointer;font:600 11.5px Inter,sans-serif;color:var(--ink);display:grid;gap:4px;justify-items:center}
.th-btn.on{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 25%,transparent)}
.th-mini{width:100%;aspect-ratio:.72;border:1px solid #e3e6e4;border-radius:3px;position:relative;overflow:hidden;background:#fff;
  background-image:repeating-linear-gradient(#fff 0 6px,#e8ebe9 6px 8px);background-size:70% 60%;background-position:50% 80%;background-repeat:no-repeat}
.th-mini i{position:absolute;display:block}
.th-moderne i{top:0;left:0;right:0;height:9%;background:var(--ac)}
.th-elegant i{top:12%;left:25%;right:25%;height:3px;border-top:1px solid var(--ac);border-bottom:1px solid var(--ac)}
.th-corporate i{top:0;left:0;right:0;height:22%;background:var(--ac)}
.th-minimal i{top:10%;left:15%;width:45%;height:6%;background:var(--ac);opacity:.7}
.th-ivoire i{top:0;left:0;right:0;height:6%;background:linear-gradient(90deg,#f77f00 0 33%,#fff 33% 66%,#009e60 66%)}
.th-classique i{top:10%;left:15%;width:35%;height:4%;background:#9aa29e}
.sw-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.sw{width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c9cfcb;cursor:pointer;padding:0}
.sw.on{box-shadow:0 0 0 2px var(--ink)}
.rdpage.t-ivoire .rd-sender{border-left:3px solid var(--ac);padding-left:12px}
.rdpage.t-ivoire .rd-sign>div:first-child{color:var(--ac);font-weight:700}

/* Police choisie par le client : s'applique à tout le document */
.rdpage.ffx,.rdpage.ffx *{font-family:var(--ff) !important}
.sw-custom{position:relative;width:26px;height:26px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px #c9cfcb;background:conic-gradient(red,yellow,lime,cyan,blue,magenta,red);cursor:pointer}
.sw-custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.sw-custom.on{box-shadow:0 0 0 2px var(--ink)}
.opt-row{display:grid;gap:4px;margin-top:12px;font-size:13px;font-weight:600}
.opt-row select{width:100%}
.ink-row{display:flex;gap:8px;flex-wrap:wrap}
.ink{border:2px solid var(--line);border-radius:999px;padding:3px 10px 3px 4px;background:#fff;font:500 12px Inter,sans-serif;display:flex;align-items:center;gap:6px;cursor:pointer}
.ink i{width:16px;height:16px;border-radius:50%;display:block}
.ink.on{border-color:var(--brand)}
.recap{background:#f6f8f6;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0;display:grid;gap:4px;font-size:14px}
.recap .sw-dot{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:-2px;margin-right:4px}
.confirm-choice{display:flex !important;gap:10px;align-items:flex-start;font-weight:500;margin:6px 0 12px}
.confirm-choice input{width:auto;margin-top:3px}
