/* VATCONS certificate + verify pages. The certificate is paper: always light. */
:root{--bg:#efedea;--surface:#fff;--ink:#1c1715;--muted:#6b625c;--line:#e2ddd8;--brand:#b91c1c;--ok:#15803d;--ok-soft:#e7f5ec;
  --paper:#fffdf9;--paper-ink:#1a1614;--paper-muted:#6f665f;--red:#b91c1c;--gold:#a8812f;--black:#141110;
  --cert-serif:"Cormorant Garamond",Georgia,serif;--cert-sans:"Source Sans 3","Segoe UI",Arial,sans-serif;--wordmark:"Anton",Impact,sans-serif;
  --body:"Hind Siliguri","Noto Sans Bengali",system-ui,sans-serif}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}
.pbar{background:#fff;border-bottom:1px solid #eee;display:flex;align-items:center;gap:12px;padding:10px 16px}
.pbar img{height:32px;width:auto;display:block}
.pbar span{margin-left:auto;font-size:13px;font-weight:700;color:var(--muted);font-family:var(--cert-sans)}
.pwrap{max-width:1000px;margin:0 auto;padding:20px 16px 48px;display:grid;gap:16px}
.pwrap.narrow{max-width:560px}
.acts{display:flex;gap:8px;flex-wrap:wrap}
.acts a,.acts button{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:99px;padding:8px 16px;font:inherit;font-weight:700;font-size:14.5px;color:var(--ink);text-decoration:none;background:var(--surface);cursor:pointer}
.acts .pri{background:var(--brand);border-color:var(--brand);color:#fff}
.tip,.verifylink{margin:0;font-size:13.5px;color:var(--muted)}
#vccPdfStatus{margin:0;font-size:14px;color:var(--ink)}
#vccPdfStatus[hidden]{display:none}
#vccPdf:disabled{opacity:.55;cursor:wait}
.verifylink a{color:var(--brand)}
.vcc-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#1c1917;color:#fff;padding:12px 18px;border-radius:12px;font-size:14.5px;z-index:99;max-width:92vw;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.next{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:15px}
.next a{color:var(--brand);font-weight:700;text-decoration:none}
.namebar{font-size:14.5px;color:var(--muted,#57534e);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.namebar b{color:#1c1917}
.namebar button{border:1px solid var(--line);background:var(--surface,#fff);border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:15px;line-height:1}
.ndlg[hidden],.ndlg [hidden]{display:none!important}
.ndlg{position:fixed;inset:0;background:rgba(28,25,23,0);display:grid;place-items:center;z-index:100;padding:16px;transition:background .2s}
.ndlg.on{background:rgba(28,25,23,.55)}
.ndlg-box{background:#fff;border-radius:16px;max-width:420px;width:100%;padding:22px 22px 18px;box-shadow:0 20px 50px rgba(0,0,0,.3);transform:translateY(12px) scale(.98);opacity:0;transition:transform .2s,opacity .2s;font-size:15px;line-height:1.6}
.ndlg.on .ndlg-box{transform:none;opacity:1}
.ndlg h3{margin:0 0 8px;font-size:18px}
.ndlg .nm{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:28px;margin:6px 0 4px;color:#1c1917}
.ndlg input[name=name]{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit;font-size:16px;margin:4px 0 2px}
.nbtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.nbtns button{border:1px solid var(--line);border-radius:99px;padding:9px 16px;font:inherit;font-weight:700;font-size:14.5px;background:#fff;cursor:pointer}
.nbtns .pri{background:#b91c1c;color:#fff;border-color:#b91c1c}
.row{display:flex;gap:8px;flex-wrap:wrap}
.row input{flex:1 1 220px;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-family:var(--cert-sans);font-size:16px;background:#fff;color:var(--ink)}
.row button{border:0;background:var(--brand);color:#fff;border-radius:10px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}
.vform{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;gap:8px;font-family:var(--cert-sans)}
.vform label{font-weight:700;font-size:14px}
.vres{border-radius:12px;padding:12px 16px;font-family:var(--cert-sans);font-size:15px}
.vres.bad{background:#fdecee;color:#9f1239}
.vcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.vcard .ok{display:flex;gap:10px;align-items:center;background:var(--ok-soft);color:var(--ok);font-weight:700;padding:10px 18px;font-family:var(--cert-sans);font-size:15px}
.vcard .ok i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:13px;flex:none}
.vcard .vb{padding:16px 18px 18px;font-family:var(--cert-sans);display:grid;gap:14px}
.vcard .vname{font-family:var(--cert-serif);font-style:italic;font-weight:700;font-size:30px;line-height:1.15}
.vcard dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;margin:0;font-size:14.5px}
.vcard dt{color:var(--muted)}
.vcard dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.vcard h2{margin:0 0 6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.vcard ol{margin:0;padding-left:22px;display:grid;gap:3px;font-size:14.5px}
.vcard .issuer{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
.vcard .viewc{color:var(--brand);font-weight:700;text-decoration:none;font-size:14.5px}
.cert h1{margin:0}
.cert .name{white-space:nowrap;width:max-content}
.frame{width:100%;max-width:100%;overflow:hidden;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 8px 28px rgba(0,0,0,.10)}
.scale{width:1123px;height:794px;transform-origin:top left}
.cert{width:1123px;height:794px;background:var(--paper);color:var(--paper-ink);position:relative;font-family:var(--cert-sans);overflow:hidden}
.cert .logo{mix-blend-mode:multiply}
.cert .mid{margin:auto 0;display:flex;flex-direction:column}
.free .mid{align-items:center}
.cert .id{font-family:var(--cert-sans);font-size:13px;color:var(--paper-muted);letter-spacing:.04em}
.cert .qr{width:92px;height:92px;background:#fff;padding:4px;border:1px solid #e7e2dc}
.cert .qr svg,.cert .qr img{display:block;width:100%;height:100%}

/* ---- FREE: plain ---- */
.free{border:1px solid #d6d0ca}
.free .in{position:absolute;inset:34px;border:1px solid #e3ddd6;display:flex;flex-direction:column;align-items:center;padding:52px 70px 40px;text-align:center}
.free .logo{position:absolute;left:34px;top:30px;height:46px;width:auto}
.free .kicker{font-size:14px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--paper-muted);margin-top:52px}
.free h1{font-family:var(--cert-serif);font-weight:700;font-size:54px;line-height:1.05;margin:10px 0 6px;color:var(--paper-ink)}
.free .lvl{font-size:15px;font-weight:600;color:var(--red);letter-spacing:.08em;text-transform:uppercase}
.free .to{font-size:17px;color:var(--paper-muted);margin-top:0}
.free .name{font-family:var(--cert-serif);font-style:italic;font-weight:600;font-size:50px;line-height:1.15;margin:4px 0 0;padding:0 40px 8px;border-bottom:1px solid #cfc7bf;min-width:520px}
.free .body{font-size:18px;line-height:1.6;color:#3d3632;max-width:700px;margin:20px 0 0}
.free .foot{margin-top:auto;width:100%;display:flex;justify-content:space-between;align-items:flex-end;text-align:left}
.free .foot .issuer b{display:block;font-size:16px;color:var(--paper-ink)}
.free .foot .issuer span{font-size:13.5px;color:var(--paper-muted)}
.free .foot .right{display:flex;gap:14px;align-items:flex-end;text-align:right}

/* ---- PAID: full ---- */
.paid{background:var(--paper)}
.paid .band{position:absolute;left:0;top:0;bottom:0;width:150px;background:var(--black)}
.paid .band:after{content:"";position:absolute;right:0;top:0;bottom:0;width:10px;background:var(--red)}
.paid .edge{position:absolute;left:170px;right:22px;top:22px;bottom:22px;border:2px solid var(--black)}
.paid .edge:after{content:"";position:absolute;inset:6px;border:1px solid var(--gold)}
.paid .in{position:absolute;left:220px;right:70px;top:62px;bottom:56px;display:flex;flex-direction:column}
.paid .top{display:flex;justify-content:space-between;align-items:flex-start}
.paid .logo{height:52px;width:auto}
.paid .kicker{font-size:13.5px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--red);margin-top:26px}
.paid h1{font-family:var(--cert-serif);font-weight:700;font-size:54px;line-height:1;white-space:nowrap;margin:8px 0 0;color:var(--black)}
.paid .course{font-size:20px;font-weight:700;margin-top:10px;color:var(--paper-ink)}
.paid .course span{font-weight:400;color:var(--paper-muted)}
.paid .dates{font-size:15px;color:var(--paper-muted);margin-top:2px;letter-spacing:.02em}
.paid .to{font-size:16px;color:var(--paper-muted);margin-top:0}
.paid .name{font-family:var(--cert-serif);font-style:italic;font-weight:600;font-size:56px;line-height:1.1;margin:2px 0 0;color:var(--paper-ink)}
.paid .rule{height:2px;width:420px;background:linear-gradient(90deg,var(--red),var(--gold) 70%,transparent);margin:10px 0 0}
.paid .body{font-size:18px;line-height:1.6;color:#3d3632;max-width:660px;margin:18px 0 0}
.paid .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.paid .sign{width:270px}
.paid .sign .sig img{height:66px;width:auto;display:block;margin-bottom:-4px}
.paid .sign .sig{height:64px;border-bottom:1px solid #3d3632;display:flex;align-items:flex-end;justify-content:center;font-family:var(--body);font-size:14px;color:#92400e;padding-bottom:6px}
.paid .sign b{display:block;font-size:16px;margin-top:6px}
.paid .sign span{font-size:13.5px;color:var(--paper-muted)}
.paid .seal{width:128px;height:128px;flex:none}
.paid .verify{display:flex;gap:12px;align-items:flex-end;text-align:right;white-space:nowrap}
.paid .verify small{display:block;font-size:12.5px;color:var(--paper-muted);line-height:1.5}
@media print{
  @page{size:A4 landscape;margin:0}
  html,body{background:#fff}
  .pbar,.acts,.tip,.next,.verifylink,.namebar,.ndlg,.vcc-toast,#vccPdfStatus{display:none!important}
  .pwrap{padding:0;max-width:none;display:block}
  .frame{box-shadow:none;border-radius:0;width:297mm!important;height:210mm!important}
  .scale{transform:scale(var(--print-scale,1))!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.next.offer{border:2px solid #b91c1c;background:#fff7f7}
.next.offer .otime{display:table;background:#b91c1c;color:#fff;border-radius:99px;padding:3px 12px;font-size:14px;margin-bottom:6px}
.next.offer .otime b{font-variant-numeric:tabular-nums;letter-spacing:.5px}
.next.offer .obtn{display:inline-block;margin-top:8px;background:#b91c1c;color:#fff!important;text-decoration:none;font-weight:700;padding:8px 16px;border-radius:10px}
.next.ok{border-color:#86efac;background:#f0fdf4}
.next.offer .oh{font-weight:700;font-size:16.5px;margin:2px 0 4px}
.next.offer .oq{font-style:italic;color:#7f1d1d;margin-bottom:4px}

.acts svg{width:18px;height:18px;flex:none}
.acts a,.acts button{gap:7px}
.acts .s{display:none}
@media (max-width:640px){
  .acts{flex-wrap:nowrap;gap:6px}
  .acts a,.acts button{flex:1 1 0;flex-direction:column;gap:2px;padding:8px 2px;border-radius:12px;font-size:11.5px;min-width:0}
  .acts svg{width:20px;height:20px}
  .acts .l{display:none}.acts .s{display:inline}
  .tip{display:none}
  .namebar{font-size:13.5px}
}
/* visitors (not the holder) */
.vbadge{display:flex;gap:12px;align-items:flex-start;background:#f0fdf4;border:1px solid #bbf7d0;color:#14532d;border-radius:14px;padding:12px 16px;margin:0 0 16px;font-family:'Hind Siliguri',sans-serif;font-size:15px;line-height:1.55}
.vbadge .vt{flex:none;width:28px;height:28px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.invite{margin:18px 0 10px;background:#1c1917;color:#fff;border-radius:16px;padding:20px 20px 18px;text-align:center;font-family:'Hind Siliguri',sans-serif}
.invite .ih{font-size:24px;font-weight:700;margin-bottom:6px}
.invite p{margin:0 auto 14px;max-width:560px;font-size:16px;line-height:1.6;color:#e7e5e4}
.invite .ibtn{display:inline-block;background:#c8102e;color:#fff;text-decoration:none;font-weight:700;font-size:18px;padding:12px 26px;border-radius:12px}
.invite .inote{margin-top:8px;font-size:13px;color:#a8a29e}
@media print{.vbadge,.invite{display:none!important}}
/* verifier view */
.vpanel{background:#fff;border:1px solid #e7e5e4;border-radius:14px;padding:18px 20px;margin:0 0 18px;font-family:'Source Sans 3',Arial,sans-serif;color:#1c1917}
.vpanel .vp-h{display:flex;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid #f0eeec;margin-bottom:10px}
.vpanel .vt{flex:none;width:34px;height:34px;border-radius:50%;background:#15803d;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.vpanel .vp-h b{display:block;font-size:19px}.vpanel .vp-h small{color:#15803d;font-weight:600;font-size:14px}
.vpanel dl{margin:0;display:grid;grid-template-columns:1fr;gap:0}
.vpanel dl div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:7px 0;border-bottom:1px solid #f5f5f4;font-size:15.5px;line-height:1.45}
.vpanel dt{color:#78716c}.vpanel dd{margin:0;font-weight:600}
.vpanel .vp-c{margin-top:14px}.vpanel .vp-c b{font-size:15.5px}.vpanel .vp-c ul{margin:6px 0 0;padding-left:20px;font-size:15px;line-height:1.6;color:#292524}
.vissuer,.vorg{font-family:'Source Sans 3',Arial,sans-serif;border-radius:14px;padding:16px 20px;margin:16px 0 0;font-size:15px;line-height:1.6;color:#292524}
.vissuer{background:#fafaf9;border:1px solid #e7e5e4}.vissuer p,.vorg p{margin:4px 0 0}
.vorg{background:#fff;border:1px solid #e7e5e4}.vo-a{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.vo-a a{display:inline-block;border:1px solid #1c1917;color:#1c1917;text-decoration:none;font-weight:600;padding:8px 14px;border-radius:10px;font-size:14.5px}
.vo-a a:first-child{background:#1c1917;color:#fff}
@media (max-width:560px){.vpanel dl div{grid-template-columns:1fr;gap:0}.vpanel dt{font-size:13px}}
@media print{.vpanel,.vissuer,.vorg{display:none!important}}
/* ---- feedback gate, watermark, seal ---- */
.scale{position:relative}
.wmk{position:absolute;inset:0;overflow:hidden;pointer-events:none;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:110px 120px;transform:rotate(-22deg) scale(1.35);opacity:.075}
.wmk span{font:700 30px/1 'Source Sans 3',Arial,sans-serif;color:#7f1d1d;letter-spacing:2px;white-space:nowrap}
.vseal{position:absolute;right:38px;top:34px;width:132px;height:132px;border-radius:50%;border:3px double #15803d;color:#15803d;background:rgba(255,255,255,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-10deg);font-family:'Source Sans 3',Arial,sans-serif;pointer-events:none}
.vseal b{font-size:19px;letter-spacing:1px}.vseal small{font-size:10px;line-height:1.3;margin-top:2px}
.fwrap{position:relative;min-width:0;width:100%;max-width:100%}
.fwrap.gated .frame{filter:blur(5px) grayscale(.35);opacity:.75;pointer-events:none;user-select:none}
.fbbox{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,94%);max-height:96%;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.28);padding:20px 22px;font-family:'Hind Siliguri','Source Sans 3',sans-serif;box-sizing:border-box;z-index:5}
.fbbox h3{margin:0 0 2px;font-size:20px}.fbbox .fbsub{margin:0 0 10px;color:#57534e;font-size:14.5px}.fbbox .fbsub b{color:#b91c1c}
.fbbox label{display:block;font-size:14px;font-weight:600;margin:8px 0 0}.fbbox .opt{font-weight:400;color:#78716c}
.fbbox textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;border:1px solid #d6d3d1;border-radius:9px;padding:8px 10px;font:14.5px inherit;font-family:inherit;resize:vertical}
.fbbox .ck{display:flex;gap:7px;align-items:flex-start;font-weight:400;color:#44403c}.fbbox .ck input{margin-top:3px}
.fbbox .fbgo{display:block;width:100%;margin-top:12px;background:#b91c1c;color:#fff;border:0;border-radius:10px;padding:11px;font:700 15.5px inherit;font-family:inherit;cursor:pointer}
.fbbox .fbx{position:absolute;right:10px;top:8px;border:0;background:none;font-size:20px;color:#78716c;cursor:pointer;padding:4px 8px}
.stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;margin:2px 0 4px}
.stars input{position:absolute;opacity:0;width:1px;height:1px}
.stars label{font-size:34px;line-height:1;color:#d6d3d1;cursor:pointer;margin:0;font-weight:400}
.stars label:hover,.stars label:hover~label,.stars input:checked~label{color:#f59e0b}
.fbconf{position:absolute;inset:0;background:#fff;border-radius:16px;padding:26px 22px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.fbconf[hidden]{display:none}.fbconf b{font-size:19px}.fbconf p{color:#57534e;font-size:14.5px;margin:8px 0 14px}.fbconf .nbtns{justify-content:center}
.fbok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:10px;padding:10px 14px;margin:0 0 12px;font-family:'Hind Siliguri',sans-serif}
.fblater{text-align:center;margin:10px 0 0;font-family:'Hind Siliguri',sans-serif}.fblater a{color:#b91c1c;font-weight:700}
.acts .pri.off{opacity:.45;cursor:not-allowed}
@media (max-width:640px){.fbbox{position:relative;left:auto;top:auto;transform:none;width:100%;max-height:none;margin-top:-34px}.stars label{font-size:30px}}
@media print{.fwrap.gated .frame,.fbbox,.fblater,.fbok{display:none!important}}

.fbbox .fbrec{margin:10px 0 2px;font-size:14px}.fbbox .fbrec span{display:block;font-weight:600;margin-bottom:4px}
.fbbox .fbrec label{display:inline-flex;gap:5px;align-items:center;font-weight:400;margin:2px 14px 2px 0}
.fbbox .fbnote{margin:4px 0 0;font-size:12px;color:#78716c}
