/* Learnsmith - sertifikat (dipakai halaman sertifikat, dasbor siswa, dan pratinjau admin). Semua ukuran memakai cqw supaya skala sama di ukuran apa pun. */
.lsn-cert{--cp:#021476;--ca:#F4343A;--gold:#C9A45C;position:relative;width:100%;aspect-ratio:297/210;container-type:inline-size;overflow:hidden;background:#fff;color:#0F172A;font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;line-height:1.3;text-align:left;-webkit-print-color-adjust:exact;print-color-adjust:exact;box-sizing:border-box}
.lsn-cert *,.lsn-cert *::before,.lsn-cert *::after{box-sizing:border-box}
.lsn-cert p,.lsn-cert h1,.lsn-cert h2{margin:0;padding:0}
.lsn-cert img{display:block;max-width:none;border:0;box-shadow:none;border-radius:0}
.lsn-cert__deco{position:absolute;inset:0;pointer-events:none}
.lsn-cert__in{position:absolute;display:flex;flex-direction:column}
.lsn-cert__top{display:flex;align-items:center;justify-content:space-between;gap:2cqw}
.lsn-cert__logo{height:4.6cqw;width:auto;max-width:24cqw;object-fit:contain}
.lsn-cert__brand{font-weight:800;font-size:2.6cqw;color:var(--cp);letter-spacing:-.05cqw}
.lsn-cert__mid{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1.1cqw;min-height:0}
.lsn-cert__k{font-size:1.25cqw;letter-spacing:.55cqw;font-weight:800;text-transform:uppercase;color:var(--ca)}
.lsn-cert__ttl{font-size:2.5cqw;font-weight:800;line-height:1.15;color:var(--cp);letter-spacing:-.05cqw;max-width:100%;overflow-wrap:anywhere}
.lsn-cert__to{font-size:1.45cqw;color:#5B6478;margin-top:.8cqw}
.lsn-cert__nm{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-size:5.6cqw;font-weight:700;line-height:1.08;color:#0F172A;overflow-wrap:anywhere;max-width:100%}
.lsn-cert__tx{font-size:1.5cqw;line-height:1.55;color:#334155;max-width:66cqw}
.lsn-cert__tx strong{color:#0F172A;font-weight:800}
.lsn-cert__ft{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:2cqw}
.lsn-cert__sg{display:flex;flex-direction:column;align-items:flex-start;font-size:1.2cqw;color:#5B6478;min-width:0}
.lsn-cert__sig{height:5cqw;width:auto;max-width:22cqw;object-fit:contain;margin-bottom:-.6cqw}
.lsn-cert__sg b{display:block;font-size:1.55cqw;color:#0F172A;border-top:.14cqw solid currentColor;padding-top:.6cqw;min-width:20cqw;margin-bottom:.15cqw}
.lsn-cert__sg b{border-top-color:#0F172A}
.lsn-cert__seal{width:10.5cqw;height:10.5cqw;color:var(--ca)}
.lsn-cert__seal svg{width:100%;height:100%;display:block}
.lsn-cert__cd{text-align:right;font-size:1.1cqw;color:#5B6478;line-height:1.55;justify-self:end;min-width:0}
.lsn-cert__cd b{display:block;font-size:1.5cqw;color:#0F172A;letter-spacing:.12cqw}
.lsn-cert__cd span{display:block;overflow-wrap:anywhere}

/* ---------- Klasik: bingkai ganda, rata tengah ---------- */
.lsn-cert--klasik .lsn-cert__deco::before{content:"";position:absolute;inset:2cqw;border:.45cqw solid var(--cp)}
.lsn-cert--klasik .lsn-cert__deco::after{content:"";position:absolute;inset:3.1cqw;border:.12cqw solid var(--ca)}
.lsn-cert--klasik .lsn-cert__deco i{position:absolute;width:5cqw;height:5cqw;border:.45cqw solid var(--ca)}
.lsn-cert--klasik .lsn-cert__deco i:nth-child(1){left:4.2cqw;top:4.2cqw;border-right:0;border-bottom:0}
.lsn-cert--klasik .lsn-cert__deco i:nth-child(2){right:4.2cqw;top:4.2cqw;border-left:0;border-bottom:0}
.lsn-cert--klasik .lsn-cert__deco i:nth-child(3){left:4.2cqw;bottom:4.2cqw;border-right:0;border-top:0}
.lsn-cert--klasik .lsn-cert__deco i:nth-child(4){right:4.2cqw;bottom:4.2cqw;border-left:0;border-top:0}
.lsn-cert--klasik .lsn-cert__deco b{position:absolute;inset:3.1cqw;background:radial-gradient(60% 55% at 50% 50%,color-mix(in srgb,var(--cp) 5%,transparent),transparent 70%)}
.lsn-cert--klasik .lsn-cert__in{inset:6cqw 9cqw 5.6cqw;text-align:center}
.lsn-cert--klasik .lsn-cert__top{justify-content:center}
.lsn-cert--klasik .lsn-cert__mid{align-items:center}
.lsn-cert--klasik .lsn-cert__nm{border-bottom:.16cqw solid #E3E8F2;padding:0 4cqw .7cqw}
.lsn-cert--klasik .lsn-cert__sg{align-items:center;text-align:center}

/* ---------- Modern: pita samping, rata kiri ---------- */
.lsn-cert--modern .lsn-cert__deco::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8cqw;background:var(--cp)}
.lsn-cert--modern .lsn-cert__deco::after{content:"";position:absolute;left:8cqw;top:0;bottom:0;width:1.1cqw;background:var(--ca)}
.lsn-cert--modern .lsn-cert__deco i{position:absolute;border-radius:50%}
.lsn-cert--modern .lsn-cert__deco i:nth-child(1){width:44cqw;height:44cqw;right:-14cqw;top:-18cqw;background:color-mix(in srgb,var(--cp) 6%,transparent)}
.lsn-cert--modern .lsn-cert__deco i:nth-child(2){width:24cqw;height:24cqw;right:-6cqw;top:-8cqw;border:.5cqw solid color-mix(in srgb,var(--ca) 22%,transparent)}
.lsn-cert--modern .lsn-cert__deco i:nth-child(3){width:30cqw;height:30cqw;right:8cqw;bottom:-22cqw;background:color-mix(in srgb,var(--ca) 5%,transparent)}
.lsn-cert--modern .lsn-cert__deco i:nth-child(4){display:none}
.lsn-cert--modern .lsn-cert__deco b{position:absolute;left:2.3cqw;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;color:#fff;font-weight:800;font-size:1.25cqw;letter-spacing:.7cqw;text-transform:uppercase;opacity:.9;white-space:nowrap}
.lsn-cert--modern .lsn-cert__in{inset:5.4cqw 6.5cqw 5cqw 15cqw}
.lsn-cert--modern .lsn-cert__ttl{font-size:2.3cqw}
.lsn-cert--modern .lsn-cert__nm{font-family:inherit;font-weight:800;letter-spacing:-.2cqw;font-size:5.4cqw;color:var(--cp)}
.lsn-cert--modern .lsn-cert__nm::after{content:"";display:block;width:9cqw;height:.55cqw;border-radius:1cqw;background:var(--ca);margin-top:1.3cqw}
.lsn-cert--modern .lsn-cert__ft{grid-template-columns:auto 1fr auto}
.lsn-cert--modern .lsn-cert__seal{order:3;justify-self:end;width:9.5cqw;height:9.5cqw}
.lsn-cert--modern .lsn-cert__cd{order:2;justify-self:center;text-align:center}

/* ---------- Elegan: latar gelap, aksen emas ---------- */
.lsn-cert--elegan{background:radial-gradient(70% 90% at 50% 0%,color-mix(in srgb,var(--cp) 72%,#3a4a9a),var(--cp) 60%,color-mix(in srgb,var(--cp) 80%,#000));color:#fff}
.lsn-cert--elegan .lsn-cert__deco::before{content:"";position:absolute;inset:2.2cqw;border:.16cqw solid var(--gold)}
.lsn-cert--elegan .lsn-cert__deco::after{content:"";position:absolute;inset:2.9cqw;border:.06cqw solid color-mix(in srgb,var(--gold) 70%,transparent)}
.lsn-cert--elegan .lsn-cert__deco i{position:absolute;width:2.6cqw;height:2.6cqw;border:.16cqw solid var(--gold);transform:rotate(45deg);background:var(--cp)}
.lsn-cert--elegan .lsn-cert__deco i:nth-child(1){left:.9cqw;top:.9cqw}
.lsn-cert--elegan .lsn-cert__deco i:nth-child(2){right:.9cqw;top:.9cqw}
.lsn-cert--elegan .lsn-cert__deco i:nth-child(3){left:.9cqw;bottom:.9cqw}
.lsn-cert--elegan .lsn-cert__deco i:nth-child(4){right:.9cqw;bottom:.9cqw}
.lsn-cert--elegan .lsn-cert__deco b{position:absolute;left:50%;top:50%;width:62cqw;height:62cqw;transform:translate(-50%,-50%);border-radius:50%;border:.08cqw solid color-mix(in srgb,var(--gold) 25%,transparent);box-shadow:0 0 0 3cqw color-mix(in srgb,#fff 2%,transparent)}
.lsn-cert--elegan .lsn-cert__in{inset:6.2cqw 9cqw 5.6cqw;text-align:center}
.lsn-cert--elegan .lsn-cert__top{justify-content:center}
.lsn-cert--elegan .lsn-cert__logo{background:#fff;padding:.8cqw 1.6cqw;border-radius:1cqw;height:6cqw}
.lsn-cert--elegan .lsn-cert__brand{color:#fff}
.lsn-cert--elegan .lsn-cert__mid{align-items:center}
.lsn-cert--elegan .lsn-cert__k{color:var(--gold)}
.lsn-cert--elegan .lsn-cert__ttl{color:#fff}
.lsn-cert--elegan .lsn-cert__to{color:#C9D0EA}
.lsn-cert--elegan .lsn-cert__nm{color:var(--gold);font-style:italic;font-weight:600;font-size:6cqw}
.lsn-cert--elegan .lsn-cert__tx{color:#DCE1F3}
.lsn-cert--elegan .lsn-cert__tx strong{color:#fff}
.lsn-cert--elegan .lsn-cert__sg{align-items:center;text-align:center;color:#C9D0EA}
.lsn-cert--elegan .lsn-cert__sg b{color:#fff;border-top-color:var(--gold)}
.lsn-cert--elegan .lsn-cert__sig{filter:brightness(0) invert(1)}
.lsn-cert--elegan .lsn-cert__seal{color:var(--gold)}
.lsn-cert--elegan .lsn-cert__cd{color:#C9D0EA}
.lsn-cert--elegan .lsn-cert__cd b{color:#fff}
.lsn-cert--klasik .lsn-cert__deco b,.lsn-cert--elegan .lsn-cert__deco b{font-size:0;color:transparent}
