/* TCG Certificate Verifier — public verification page (v2.6.0) */
.tcg-cv{--tcg-brand:#2eaf5a;--tcg-accent:#0f2e1d;--tcg-ink:#14231a;--tcg-mute:#6b7a71;--tcg-line:#e7ede9;max-width:760px;margin:0 auto;font-family:inherit;color:var(--tcg-ink);line-height:1.5}
.tcg-cv *{box-sizing:border-box}
.tcg-cv-i{flex-shrink:0;vertical-align:middle}

/* Card shell */
.tcg-cv-card{background:#fff;border:1px solid var(--tcg-line);border-radius:20px;box-shadow:0 24px 60px -30px rgba(15,46,29,.35);margin:0 0 22px;overflow:hidden}
.tcg-cv-card--error{padding:38px 28px;text-align:center;border-top:5px solid #e0454b}
.tcg-cv-card--form{padding:30px}

/* Hero */
.tcg-cv-hero{display:flex;align-items:center;gap:18px;padding:26px 28px;color:#fff;background:linear-gradient(135deg,var(--tcg-accent) 0%,var(--tcg-brand) 130%);position:relative}
.tcg-cv-seal{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.16);box-shadow:0 0 0 6px rgba(255,255,255,.1);flex-shrink:0}
.tcg-cv-seal .tcg-cv-i{stroke-width:2}
.tcg-cv-hero__text{flex:1;min-width:0}
.tcg-cv-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-bottom:2px}
.tcg-cv .tcg-cv-hero__title{margin:0;font-size:26px;line-height:1.15;font-weight:800;color:#fff}
.tcg-cv-hero__sub{margin:4px 0 0;font-size:14px;opacity:.9}
.tcg-cv-valid-pill{display:inline-flex;align-items:center;gap:7px;background:#fff;color:#1b7a3e;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border-radius:999px;flex-shrink:0}
.tcg-cv-dot{width:8px;height:8px;border-radius:50%;background:var(--tcg-brand);box-shadow:0 0 0 0 rgba(46,175,90,.6);animation:tcgpulse 2s infinite}
@keyframes tcgpulse{70%{box-shadow:0 0 0 7px rgba(46,175,90,0)}100%{box-shadow:0 0 0 0 rgba(46,175,90,0)}}

/* Awarded-to block */
.tcg-cv-award{padding:30px 28px 8px;text-align:center}
.tcg-cv-kicker{margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tcg-mute)}
.tcg-cv .tcg-cv-recipient{margin:6px 0 16px;font-size:30px;line-height:1.2;font-weight:800;color:var(--tcg-ink)}
.tcg-cv .tcg-cv-course{margin:6px 0 0;font-size:22px;line-height:1.3;font-weight:800;color:var(--tcg-brand)}

/* Detail grid */
.tcg-cv-dl{margin:22px 28px 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--tcg-line);border-radius:14px;overflow:hidden}
.tcg-cv-dl>div{padding:14px 18px;background:#fbfdfc;border-right:1px solid var(--tcg-line);border-bottom:1px solid var(--tcg-line)}
.tcg-cv-dl>div:nth-child(2n){border-right:0}
.tcg-cv-dl>div:nth-last-child(-n+2):nth-child(odd),.tcg-cv-dl>div:last-child{border-bottom:0}
.tcg-cv-dl>div:nth-last-child(2):nth-child(odd){border-bottom:0}
.tcg-cv-dl dt{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tcg-mute);margin:0 0 4px}
.tcg-cv-dl dt .tcg-cv-i{color:var(--tcg-brand)}
.tcg-cv-dl dd{margin:0;font-size:16px;font-weight:700;color:var(--tcg-ink);word-break:break-word}
.tcg-cv-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px!important;letter-spacing:.02em}

/* CPD section */
.tcg-cv-cpd{margin:26px 28px 0}
.tcg-cv-cpd__label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--tcg-accent);margin-bottom:10px}
.tcg-cv-cpd__label .tcg-cv-i{color:var(--tcg-brand)}
.tcg-cv-cpd__card{display:flex;gap:20px;align-items:flex-start;border:1px solid var(--tcg-line);border-left:4px solid var(--tcg-brand);border-radius:14px;padding:20px;background:#fff}
.tcg-cv-cpd__iconwrap{flex-shrink:0;width:88px;height:88px;border-radius:50%;background:#0f1720;box-shadow:0 0 0 3px rgba(46,175,90,.55);overflow:hidden;display:flex;align-items:center;justify-content:center}
.tcg-cv-cpd__iconwrap img{width:100%;height:100%;object-fit:cover;margin:0}
.tcg-cv-cpd__main{flex:1;min-width:0}
.tcg-cv-cpd__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.tcg-cv-cpd__badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;text-decoration:none}
.tcg-cv-cpd__badge--green{background:var(--tcg-brand);color:#fff}
.tcg-cv-cpd__badge--blue{background:#e7effe;color:#2563eb}
.tcg-cv-cpd__badge--blue:hover{background:#d7e5fd;color:#1d4ed8}
.tcg-cv .tcg-cv-cpd__title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:21px;line-height:1.25;font-weight:800;color:#111827;margin:0 0 12px}
.tcg-cv-cpd__check{color:var(--tcg-brand)}
.tcg-cv-cpd__rows{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:9px}
.tcg-cv-cpd__rows li{display:flex;align-items:center;gap:9px;font-size:14px;color:#374151;flex-wrap:wrap;margin:0}
.tcg-cv-cpd__rows li>.tcg-cv-i{color:#9aa5b1}
.tcg-cv-cpd__rows li span{color:#6b7280;font-weight:600}
.tcg-cv-cpd--green{color:var(--tcg-brand);font-weight:800}
.tcg-cv-cpd--blue{color:#2563eb;font-weight:800;text-decoration:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.tcg-cv-cpd--blue:hover{text-decoration:underline}
.tcg-cv-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.05em}
.tcg-cv-pill--active{background:rgba(46,175,90,.15);color:#1e7b42}
.tcg-cv-pill--expired,.tcg-cv-pill--suspended{background:rgba(224,69,75,.15);color:#c0343a}
.tcg-cv-cpd__desc{color:#4b5563;font-size:14px;line-height:1.65;margin:0 0 14px}

/* Buttons */
.tcg-cv-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--tcg-brand);color:#fff!important;border:0;border-radius:12px;padding:14px 26px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none!important;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;box-shadow:0 10px 22px -10px var(--tcg-brand)}
.tcg-cv-btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px -10px var(--tcg-brand);filter:brightness(1.05);color:#fff}
.tcg-cv-cpd__cta{display:flex;width:100%;margin-top:4px}

/* Footer note */
.tcg-cv-foot{display:flex;align-items:center;justify-content:center;gap:8px;margin:26px 0 0;padding:16px 20px;background:#f6faf7;border-top:1px solid var(--tcg-line);font-size:12.5px;color:var(--tcg-mute);text-align:center}
.tcg-cv-foot .tcg-cv-i{color:var(--tcg-brand)}

/* Error / not-found / revoked */
.tcg-cv-statusicon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;margin-bottom:12px}
.tcg-cv-statusicon--error{background:rgba(224,69,75,.12);color:#e0454b}
.tcg-cv-statusicon--warn{background:rgba(230,150,30,.14);color:#d98a12}
.tcg-cv .tcg-cv-status__title{margin:0 0 6px;font-size:24px;font-weight:800}
.tcg-cv-msg{font-size:15px;color:#4a5a51;margin:6px auto 0;max-width:480px}

/* Lookup form */
.tcg-cv-formhead{display:flex;gap:14px;align-items:center;margin-bottom:22px}
.tcg-cv-formhead__icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:14px;background:rgba(46,175,90,.12);color:var(--tcg-brand);flex-shrink:0}
.tcg-cv .tcg-cv-form__title{margin:0 0 2px;font-size:22px;font-weight:800;color:var(--tcg-ink)}
.tcg-cv-form__hint{margin:0;color:var(--tcg-mute);font-size:14px}
.tcg-cv-form{margin:0}
.tcg-cv-field{margin-bottom:16px}
.tcg-cv-field label{display:block;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#5a6a60;margin-bottom:6px}
.tcg-cv-field input{width:100%;padding:13px 15px;border:1px solid #d4e0d8;border-radius:12px;font-size:16px;font-family:inherit;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.tcg-cv-field input:focus{outline:none;border-color:var(--tcg-brand);box-shadow:0 0 0 3px rgba(46,175,90,.18)}
.tcg-cv-form .tcg-cv-btn{width:100%}

/* Back link */
.tcg-cv-back{display:inline-flex;align-items:center;gap:8px;color:var(--tcg-brand);font-weight:700;text-decoration:none;padding:12px 20px;border-radius:999px;border:2px solid rgba(46,175,90,.3);transition:background-color .15s ease,border-color .15s ease}
.tcg-cv-back:hover{background:rgba(46,175,90,.08);border-color:var(--tcg-brand);color:var(--tcg-brand)}

/* Optional certificate image preview (Settings → Certificate image preview) */
.tcg-cv-embed{margin:24px 28px 0;border:1px solid var(--tcg-line);border-radius:14px;overflow:hidden}
.tcg-cv-embed__bar{display:flex;align-items:center;justify-content:space-between;background:#f4f8f5;padding:10px 16px;font-weight:700;color:var(--tcg-accent)}
.tcg-cv-embed__lock{display:inline-flex;align-items:center;gap:6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--tcg-mute)}
.tcg-cv-embed__frame{position:relative;width:100%;background:#f0f3f1;overflow:hidden}
.tcg-cv-embed__img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none;margin:0}
.tcg-cv-embed__shield{position:absolute;inset:0;background:transparent;cursor:default}
.tcg-cv-watermark{position:absolute;inset:-20%;display:flex;flex-wrap:wrap;gap:26px 40px;transform:rotate(-24deg);pointer-events:none;justify-content:center;align-content:center}
.tcg-cv-watermark span{font-size:20px;font-weight:800;letter-spacing:.18em;color:var(--tcg-brand);opacity:.14;white-space:nowrap}

/* Mobile */
@media(max-width:640px){
	.tcg-cv-hero{flex-wrap:wrap;padding:22px 20px;gap:14px}
	.tcg-cv .tcg-cv-hero__title{font-size:22px}
	.tcg-cv-hero__text{flex:1 1 calc(100% - 90px)}
	.tcg-cv-valid-pill{order:3}
	.tcg-cv-award{padding:24px 20px 4px}
	.tcg-cv .tcg-cv-recipient{font-size:25px}
	.tcg-cv .tcg-cv-course{font-size:19px}
	.tcg-cv-dl{margin:18px 20px 0;grid-template-columns:1fr}
	.tcg-cv-dl>div,.tcg-cv-dl>div:nth-child(2n){border-right:0;border-bottom:1px solid var(--tcg-line)!important}
	.tcg-cv-dl>div:last-child{border-bottom:0!important}
	.tcg-cv-cpd{margin:22px 20px 0}
	.tcg-cv-cpd__card{flex-direction:column;align-items:flex-start;border-left:1px solid var(--tcg-line);border-top:4px solid var(--tcg-brand);padding:18px}
	.tcg-cv-cpd__main{width:100%}
	.tcg-cv .tcg-cv-cpd__title{font-size:19px}
	.tcg-cv-embed{margin:20px 20px 0}
	.tcg-cv-card--form{padding:22px 20px}
}
@media (prefers-reduced-motion:reduce){.tcg-cv-dot{animation:none}.tcg-cv-btn{transition:none}}
