/* DauphiShare — Inscription : carte de lecteur éditoriale */
:root{
  --ink:#1E3A6E; --ink-2:#16305C;
  --paper:#FAF6EE; --stamp:#A5382A;
  --rule:rgba(30,58,110,.15); --rule-2:rgba(30,58,110,.32);
  --text:#1C2B45; --muted:#6B7789;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'DM Sans',sans-serif;background:var(--parchment);color:var(--text);
  min-height:100vh;display:flex;flex-direction:column;
}
main{flex:1;display:flex;align-items:center;justify-content:center;padding:56px 20px;width:100%;}
body>footer{margin-top:0;}

.container{width:100%;max-width:516px;background:#fff;border:1px solid var(--rule-2);margin:0 auto;padding:0;}

.header{padding:34px 40px 26px;border-bottom:1px solid var(--rule);}
.header::before{
  content:"DauphiShare — Nouvelle inscription";display:block;
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--stamp);margin-bottom:18px;
}
.header img{width:42px!important;height:42px!important;margin:0 0 16px 0!important;border-radius:6px!important;box-shadow:none!important;}
.header h1{font-family:'Playfair Display',serif;font-size:30px;font-weight:700;color:var(--ink);line-height:1.04;letter-spacing:-.01em;}
.header p{color:var(--muted);font-size:14px;margin-top:8px;}

.form{padding:30px 40px 34px;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{margin-bottom:20px;}
label{display:block;font-weight:600;color:var(--ink);margin-bottom:8px;font-size:13.5px;}
input,select{
  width:100%;padding:12px 14px;border:1.5px solid var(--rule-2);border-radius:2px;background:var(--paper);
  font-family:'DM Sans',sans-serif;font-size:15px;color:var(--text);
  transition:border-color .18s,box-shadow .18s,background .18s;
}
input:focus,select:focus{outline:none;border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px rgba(30,58,110,.10);}
input::placeholder{color:#9aa6b5;}

.checkbox-group{display:flex;align-items:flex-start;gap:11px;margin:20px 0;padding:15px;background:var(--paper);border:1px solid var(--rule);}
.checkbox-group input[type="checkbox"]{width:18px;height:18px;margin-top:2px;accent-color:var(--ink);cursor:pointer;flex-shrink:0;}
.checkbox-group label{margin:0;font-size:13px;line-height:1.55;color:var(--text);font-weight:400;cursor:pointer;}
.checkbox-group a{color:var(--ink);text-decoration:underline;}

.btn{
  width:100%;padding:15px;background:var(--ink);color:#fff;border:none;border-radius:3px;
  font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;cursor:pointer;letter-spacing:.01em;
  margin-top:6px;transition:background .18s,transform .18s;
}
.btn:hover{background:var(--stamp);transform:translateY(-1px);}
.btn:active{transform:none;}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;background:var(--ink);}

.footer{text-align:center;padding:24px 40px;background:var(--paper);border-top:1px solid var(--rule);font-size:13.5px;color:var(--muted);}
.footer a{color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1px solid var(--rule-2);padding-bottom:1px;transition:color .18s,border-color .18s;}
.footer a:hover{color:var(--stamp);border-color:var(--stamp);}

.error,.success{padding:12px 14px;border-radius:2px;margin-bottom:18px;font-size:13.5px;line-height:1.5;display:none;border-left:3px solid;}
.error{background:#FBEBE8;color:#8f2f22;border-left-color:var(--stamp);}
.success{background:#E7F1EA;color:#256447;border-left-color:#2E7D52;}

@media(max-width:520px){
  main{padding:36px 16px;}
  .header,.form,.footer{padding-left:24px;padding-right:24px;}
  .row{grid-template-columns:1fr;gap:0;}
}
