/* EduEvidence certificate modal (app/Views/web/include/certificate-modal.php). Full screen on phones. */
.umx-cert .umx-cert-dialog{width:95vw;max-width:1100px;height:95vh;margin:2.5vh auto}
.umx-cert .umx-cert-content{height:100%;display:flex;flex-direction:column;border:0;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px rgba(20,24,40,.28)}
.umx-cert-header{display:flex;align-items:center;gap:12px;padding:14px 12px 12px 20px;border-bottom:1px solid #eceef3;background:#fff}
.umx-cert-badge{flex:none;width:34px;height:auto}
.umx-cert-heading{flex:1;min-width:0}
.umx-cert .umx-cert-title{margin:0;font-size:1.15rem;line-height:1.25;color:#2b3445}
.umx-cert-lead{margin:2px 0 0;font-size:.8125rem;line-height:1.35;color:#667085}
.umx-cert-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#475067;cursor:pointer}
.umx-cert-close:hover{background:#f1f3f7}
.umx-cert-close:focus-visible{outline:3px solid #7a4fd0;outline-offset:2px}
.umx-cert-body{position:relative;flex:1;min-height:0;background:#2b2c2f}
.umx-cert-frame{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .2s ease}
.umx-cert.is-loaded .umx-cert-frame{opacity:1}
.umx-cert-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 16px;overflow:hidden;text-align:center}
.umx-cert.is-loaded .umx-cert-status{display:none}
.umx-cert-page{display:flex;flex-direction:column;gap:18px;width:min(100%,800px);aspect-ratio:1/1.414;flex:none;padding:6% 6% 5%;background:#fff;border-radius:2px;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.umx-cert-sk-row{display:flex;justify-content:space-between;align-items:flex-start;gap:6%}
.umx-cert-sk-row > div{display:flex;flex-direction:column;gap:10px;flex:1}
.umx-cert-sk-top{align-items:stretch}
.umx-cert-sk-lines{display:flex;flex-direction:column;gap:9px;flex:1}
.umx-cert-sk-marks{margin-top:auto;justify-content:space-around}
.umx-cert .sk{display:block;border-radius:4px;background:linear-gradient(90deg,#eceef2 25%,#f6f7f9 37%,#eceef2 63%);background-size:400% 100%;animation:umx-cert-shimmer 1.4s ease infinite}
.umx-cert .sk-year{width:18%;height:12px}
.umx-cert .sk-heading{width:48%;height:clamp(22px,5vw,38px)}
.umx-cert .sk-logo{width:30%;height:clamp(16px,3.4vw,26px)}
.umx-cert .sk-panel{width:34%;border-radius:10px}
.umx-cert .sk-line{height:9px}
.umx-cert .sk-l30{width:30%}.umx-cert .sk-l35{width:35%}.umx-cert .sk-l40{width:40%}.umx-cert .sk-l60{width:60%}.umx-cert .sk-l70{width:70%}
.umx-cert .sk-l80{width:80%}.umx-cert .sk-l90{width:90%}.umx-cert .sk-l95{width:95%}.umx-cert .sk-l100{width:100%}
.umx-cert .sk-mark{width:28%;aspect-ratio:1.3/1;border-radius:12px}
.umx-cert .sk-footer{width:100%;height:clamp(14px,3vw,22px);border-radius:2px}
.umx-cert-note,.umx-cert-slow{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);margin:0;padding:10px 18px;border-radius:999px;background:rgba(20,20,22,.88);font-size:.875rem;color:#f1f2f4;white-space:nowrap}
.umx-cert-slow{display:none;padding:2px 18px}
.umx-cert.is-slow .umx-cert-slow{display:block}
.umx-cert.is-slow .umx-cert-note{display:none}
.umx-cert-slow a{display:inline-block;padding:10px 4px;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px}
@keyframes umx-cert-shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}
@media (prefers-reduced-motion:reduce){.umx-cert .sk{animation:none}.umx-cert-frame{transition:none}}
@media (max-width:575.98px){
  .umx-cert .umx-cert-dialog{width:100%;max-width:none;height:100%;min-height:100%;margin:0;align-items:stretch}
  .umx-cert .umx-cert-content{height:100%;border-radius:0;box-shadow:none}
  .umx-cert-header{gap:8px;padding:10px 6px 10px 16px;padding-top:max(10px,env(safe-area-inset-top))}
  .umx-cert-badge{width:26px}
  .umx-cert .umx-cert-title{font-size:clamp(.85rem,4vw,1rem)}
  .umx-cert-lead{display:none}
  .umx-cert-page{gap:12px}
  .umx-cert .sk-line{height:7px}
  .umx-cert-sk-lines{gap:7px}
}
