/* Attestation de participation UMeet */
body.page-attestation{background:linear-gradient(180deg,#eef4fb 0%,#f8f6f0 50%,#eef2f7 100%);min-height:100vh}
body.page-attestation .nav{background:rgba(255,255,255,.92);backdrop-filter:blur(8px)}
.attest-page{max-width:720px;margin:0 auto;padding:100px 24px 60px}
.attest-page__head{margin-bottom:28px}
.attest-page__head h1{font-size:1.75rem;font-weight:800;margin-bottom:8px;letter-spacing:-.02em}
.attest-page--error{text-align:center;padding-top:140px}
.attest-page__alt{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.attest-loading{text-align:center;font-size:1.1rem;color:var(--muted);padding:48px 0}

.attest-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}
.attest-feature{padding:16px;border-radius:12px;background:var(--bg-alt);border:1px solid var(--border);text-align:center}
.attest-feature strong{display:block;color:var(--blue);font-size:.88rem;margin-bottom:4px}
.attest-feature span{font-size:.75rem;color:var(--muted)}

.attest-form{display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:16px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}
.attest-form--wide{max-width:520px}
.attest-form label{font-size:.85rem;font-weight:600}
.attest-form input{height:46px;border:1px solid var(--border);border-radius:10px;padding:0 14px;font:inherit}
.attest-form__hint{font-size:.82rem;margin:0}
.attest-form__row{display:flex;flex-direction:column;gap:6px}

.attest-cert-wrap{max-width:920px;margin:0 auto;padding:88px 24px 48px;position:relative}
.attest-cert{position:relative;font-family:Inter,system-ui,sans-serif}
.attest-cert__shadow{position:absolute;inset:12px 8px -8px;border-radius:6px;background:linear-gradient(145deg,rgba(11,79,140,.18),rgba(201,162,39,.12));filter:blur(28px);z-index:0;pointer-events:none}
.attest-cert__frame{position:relative;z-index:1;background:linear-gradient(165deg,#fffef8 0%,#fff 35%,#f8fbff 100%);border-radius:4px;box-shadow:0 2px 0 #e8dcc0,0 24px 64px rgba(11,79,140,.14),0 8px 24px rgba(0,0,0,.06);overflow:hidden}
.attest-cert__frame-gold{position:absolute;inset:0;border:1px solid rgba(201,162,39,.55);pointer-events:none;z-index:3;margin:10px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.attest-cert__frame-inner{position:relative;border:3px solid #0B4F8C;padding:40px 44px 36px;background-image:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(11,79,140,.06),transparent 60%),radial-gradient(circle at 100% 100%,rgba(201,162,39,.05),transparent 45%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%230B4F8C' fill-opacity='0.025'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.attest-cert__watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-18deg);font-size:clamp(4rem,14vw,7rem);font-weight:800;letter-spacing:.2em;color:rgba(11,79,140,.04);white-space:nowrap;pointer-events:none;user-select:none;z-index:0}
.attest-cert__ornament{position:absolute;width:48px;height:48px;z-index:2;pointer-events:none}
.attest-cert__ornament--tl{top:18px;left:18px;border-top:2px solid #c9a227;border-left:2px solid #c9a227}
.attest-cert__ornament--tr{top:18px;right:18px;border-top:2px solid #c9a227;border-right:2px solid #c9a227}
.attest-cert__ornament--bl{bottom:18px;left:18px;border-bottom:2px solid #c9a227;border-left:2px solid #c9a227}
.attest-cert__ornament--br{bottom:18px;right:18px;border-bottom:2px solid #c9a227;border-right:2px solid #c9a227}
.attest-cert__head{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:32px;margin-bottom:8px}
.attest-cert__logo-ring{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff,#f5f0e6);box-shadow:0 0 0 3px #c9a227,0 0 0 5px #0B4F8C,0 8px 24px rgba(11,79,140,.15);margin-bottom:18px}
.attest-cert__logo{border-radius:50%;display:block}
.attest-cert__brand{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#0B4F8C;margin:0 0 20px;opacity:.85}
.attest-cert__title-block{display:flex;align-items:center;gap:16px;width:100%;max-width:520px;justify-content:center}
.attest-cert__title-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,#c9a227,transparent);max-width:80px}
.attest-cert__title-line:first-child{background:linear-gradient(90deg,transparent,#c9a227)}
.attest-cert__title-line:last-child{background:linear-gradient(90deg,#c9a227,transparent)}
.attest-cert h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.75rem,4vw,2.15rem);font-weight:700;color:#0B4F8C;margin:0;letter-spacing:.02em;line-height:1.2;text-transform:none}
.attest-cert__body{position:relative;z-index:1;padding:8px 0 12px}
.attest-cert__intro{margin:0;text-align:center;font-style:italic;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.15rem;color:#64748b}
.attest-cert__intro--after{margin-top:4px}
.attest-cert__name{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2rem,5vw,2.65rem);font-weight:700;font-style:italic;text-align:center;color:#1a1a2e;margin:10px 0 18px;letter-spacing:.01em;line-height:1.15;background:linear-gradient(135deg,#1a1a2e 0%,#0B4F8C 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.attest-cert__session-block{margin:0 auto 32px;max-width:640px;padding:20px 28px;background:linear-gradient(180deg,rgba(11,79,140,.04) 0%,rgba(255,255,255,.8) 100%);border:1px solid rgba(11,79,140,.12);border-radius:12px;box-shadow:0 4px 20px rgba(11,79,140,.06),inset 0 1px 0 rgba(255,255,255,.9);position:relative}
.attest-cert__session-block::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:48px;height:3px;background:linear-gradient(90deg,transparent,#c9a227,transparent);border-radius:2px}
.attest-cert__session{font-size:clamp(1.15rem,2.5vw,1.4rem);font-weight:700;text-align:center;color:#0B4F8C;margin:8px 0 0;line-height:1.4;font-family:Inter,system-ui,sans-serif}
.attest-cert__program{font-size:.92rem;text-align:center;color:#64748b;margin:10px 0 0;padding-top:10px;border-top:1px dashed rgba(11,79,140,.15);font-weight:500}
.attest-cert__thanks{width:100%;max-width:none;margin:0 0 8px;padding:26px 16px;text-align:center;border-top:1px solid rgba(201,162,39,.35);border-bottom:1px solid rgba(201,162,39,.25);position:relative;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.05rem,2.2vw,1.2rem);line-height:1.75;color:#475569;font-style:italic;font-weight:500;text-wrap:pretty}
.attest-cert__thanks::before,.attest-cert__thanks::after{display:none}
.attest-cert__foot{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;padding-top:28px;margin-top:20px;border-top:1px solid rgba(201,162,39,.35)}
.attest-cert__foot::before{content:"";position:absolute;top:-1px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.6),transparent)}
.attest-cert__qr{text-align:center;justify-self:start}
.attest-cert__qr-frame{display:inline-block;padding:8px;background:#fff;border:2px solid #0B4F8C;border-radius:10px;box-shadow:0 4px 16px rgba(11,79,140,.1),inset 0 0 0 3px rgba(201,162,39,.25)}
.attest-cert__qr-frame img{display:block;width:88px;height:88px;border-radius:4px}
.attest-cert__qr p{font-size:.62rem;color:#64748b;margin:8px 0 0;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.attest-cert__qr-label{margin-bottom:0}
.attest-cert__code{margin:6px 0 0;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.35em;font-family:Inter,system-ui,sans-serif;font-style:normal;font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#64748b}
.attest-cert__code-label{color:#64748b}
.attest-cert__code-value{font-size:inherit;font-weight:inherit;letter-spacing:inherit;font-variant-numeric:tabular-nums;color:#0B4F8C}
.attest-cert__seal{justify-self:center;margin-bottom:4px}
.attest-cert__seal-inner{position:relative;width:100px;height:100px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 35% 30%,#c45c4a,#8b2635 45%,#6b1a28 100%);box-shadow:0 4px 12px rgba(107,26,40,.4),inset 0 2px 8px rgba(255,255,255,.2),inset 0 -4px 12px rgba(0,0,0,.25);color:#fff;font-size:.55rem;line-height:1.25;transform:rotate(-8deg)}
.attest-cert__seal-ring{position:absolute;inset:6px;border:2px dashed rgba(255,255,255,.35);border-radius:50%;pointer-events:none}
.attest-cert__seal-inner strong{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.attest-cert__seal-inner em{font-style:normal;font-size:.5rem;opacity:.85;margin-top:2px;text-transform:uppercase;letter-spacing:.12em}
.attest-cert__foot-end{justify-self:end;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-bottom:4px}
.attest-cert__foot-date{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.05rem;font-weight:600;color:#0B4F8C;letter-spacing:.02em}
.attest-cert__foot-url{font-size:.72rem;font-weight:600;color:#94a3b8;letter-spacing:.04em}
.attest-cert__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:32px}

.attest-verify{max-width:560px;margin:0 auto;padding:32px;border-radius:20px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);text-align:center}
.attest-verify--ok{border-color:#86efac;background:linear-gradient(180deg,#f0fdf4,#fff)}
.attest-verify__icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:#22c55e;color:#fff;font-size:1.75rem;font-weight:800;line-height:56px}
.attest-verify h1{font-size:1.4rem;margin-bottom:8px}
.attest-verify__lead{color:var(--muted);margin-bottom:24px;font-size:.92rem}
.attest-verify__dl{text-align:left;display:grid;gap:10px;margin-bottom:24px}
.attest-verify__dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:.88rem}
.attest-verify__dl dt{color:var(--muted);margin:0}
.attest-verify__dl dd{margin:0;font-weight:600;text-align:right}
.attest-verify__actions{display:flex;justify-content:center;gap:10px}

.attest-cert__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:32px}

@media print{
  @page{size:A4 portrait;margin:0}
}
@media screen and (max-width:768px){
  .attest-features{grid-template-columns:1fr}
  .attest-cert__frame-inner{padding:28px 20px 24px}
  .attest-cert__thanks{padding:22px 12px;font-size:1.05rem;line-height:1.7}
  .attest-cert__foot{grid-template-columns:1fr;justify-items:center;text-align:center;gap:24px}
  .attest-cert__qr{justify-self:center}
  .attest-cert__foot-end{justify-self:center;align-items:center;text-align:center}
  .attest-cert__title-block{flex-direction:column;gap:10px}
  .attest-cert__title-line{max-width:120px;width:100%}
}
