.crumb{font-size:.9rem;opacity:.85;margin:0 0 8px}.crumb a{color:#fff}
.hero{background:linear-gradient(135deg,#1F3580 0%,#2c4aa8 60%,#b8323a 140%)}
.noel-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;align-items:start}
@media(max-width:860px){.noel-grid{grid-template-columns:1fr}}
.form label{margin:12px 0 6px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{background:#eef1fa;color:var(--navy);padding:8px 12px;font-size:.9rem}
.seg button.on{background:var(--navy);color:#fff}
.grid3{display:grid;grid-template-columns:1.4fr .6fr 1fr;gap:10px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:.9rem}
@media(max-width:500px){.checks{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}}
label.check{font-weight:400;display:flex;align-items:flex-start;gap:6px;margin:0}
.souhaits input{margin-bottom:6px}
.mode-diplome~*,.form .souhaits{}
.preview{position:sticky;top:10px}
.paper{background:#fff;aspect-ratio:210/297;width:100%;border-radius:6px;box-shadow:0 4px 20px rgba(0,0,0,.15);padding:7% 8%;font-family:Georgia,"Times New Roman",serif;font-size:clamp(10px,1.45vw,15px);line-height:1.6;position:relative;overflow:hidden;border:10px solid var(--c1);outline:3px dashed var(--c2);outline-offset:-18px}
.theme-rouge{--c1:#b8323a;--c2:#e9b949}.theme-vert{--c1:#1e6b45;--c2:#c9302c}.theme-bleu{--c1:#1F3580;--c2:#d4af37}
.paper .deco{text-align:center;font-size:1.6em;letter-spacing:.3em;margin-bottom:.4em}
.paper h2{font-size:1.9em;color:var(--c1);margin:.2em 0 .6em;font-family:inherit}
.paper p{margin:.5em 0}
.paper .from{text-align:right;font-style:italic;color:#555}
.paper .wishes{margin:.3em 0 .8em;padding-left:1.4em}.paper .wishes li{margin:.35em 0;list-style:"🎁  "}
.paper .line{border-bottom:1px solid #999;height:1.5em}.paper .line.inline{display:inline-block;width:85%}
.paper .msg{font-style:italic;color:#333}
.paper .sign{text-align:right;margin-top:.8em}.paper .sign.big{font-size:1.4em;color:var(--c1);font-style:italic}
.paper.mode-lettre,.paper.mode-reponse{display:flex;flex-direction:column}
.paper .drawing{border:2px dashed var(--c2);border-radius:12px;flex:1;min-height:4em;margin-top:.8em;display:flex;align-items:flex-end;justify-content:center;padding:.4em;color:#999;font-style:italic}
.diploma{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.2em}
.diploma .seal{font-size:4em;line-height:1}
.diploma .kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.85em;color:#555}
.diploma h2{font-size:2.6em;margin:.1em 0 0}.diploma h3{font-size:1.4em;margin:0 0 .6em;color:var(--c2);font-family:inherit}
.diploma .name{font-size:2.4em;font-weight:700;color:var(--c1);border-bottom:2px solid var(--c2);padding:0 .6em;margin:.1em 0 .3em}
.diploma .dsign{display:flex;justify-content:space-between;width:100%;margin-top:auto;font-size:.9em;color:#555}
.diploma .sig{font-style:italic;font-size:1.4em;color:var(--c1);border-top:1px solid #999;padding-top:.2em}
@media print{
  #outil{border:0;padding:0;box-shadow:none}
  .hero,main>section:not(#outil),.links,.preview>p{display:none!important}
  .noel-grid{display:block}.preview{position:static}
  .paper{box-shadow:none;border-radius:0;width:100%;height:245mm;aspect-ratio:auto;font-size:12.5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-footer{margin-top:3mm}
}
