body[data-registre] { background:#f3f5ef; color:#173138; }
.registre { width:min(1080px, calc(100% - 36px)); margin:52px auto 75px; }
.registre h1 { font-family:Georgia,serif; font-weight:normal; font-size:clamp(2.3rem,6vw,4.8rem); letter-spacing:-.045em; line-height:1.03; margin:0 0 16px; }
.registre h2 { font-family:Georgia,serif; font-size:1.6rem; letter-spacing:-.025em; margin:.4em 0; }
.registre .intro { max-width:62ch; }
.registre-nav { display:flex; gap:1rem; flex-wrap:wrap; margin:1.5rem 0; }
.registre .kicker { color:#175966; }
.registre-panel { padding:clamp(20px,5vw,45px); border:1px solid #cbd9d1; border-radius:22px; background:#fffdf6; margin:24px 0; }
.registre-panel.certificat { position:relative; max-width:750px; outline:1px solid #c8b78a; outline-offset:-9px; }
.registre-badge { display:inline-grid; place-items:center; width:64px; height:64px; border:3px double #e6d39d; border-radius:50%; background:#175966; color:#fff1ca; font-size:2rem; }
.registre-code { font-family:monospace; letter-spacing:.12em; font-weight:bold; color:#175966; }
.registre-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:22px; margin-top:28px; }
.registre-grid article { background:#fffdf6; border:1px solid #cbd9d1; border-radius:18px; overflow:hidden; }
.registre-grid article > div { padding:20px; }
.registre-image { display:block; width:100%; height:390px; object-fit:contain; background:#ebece3; }
.registre form { display:grid; gap:12px; max-width:650px; }
.registre input[type=text], .registre textarea { display:block; width:100%; padding:10px; color:inherit; background:white; border:1px solid #9bb4ac; border-radius:8px; font:inherit; }
.registre form button { justify-self:start; }
.registre-verify { margin:20px 0; }
.registre-verify input { display:block; margin:8px 0; }
@media print {
  body[data-registre] { background:white; }
  body[data-registre] header, .registre-nav, .registre > form, .certificat button, .registre-verify { display:none; }
  .registre { margin:0 auto; }
  .registre-panel.certificat { break-inside:avoid; }
}
