/* GVS Portal – uses the theme's green palette */
:root{
  --gp-green:var(--gvs-green-700,#2f6d42);--gp-green-d:var(--gvs-green-900,#173c27);--gp-green-l:var(--gvs-green,#74b077);
  --gp-orange:var(--gvs-orange,#f47f17);--gp-ink:var(--gvs-ink,#15201a);--gp-muted:var(--gvs-muted,#627067);
  --gp-border:var(--gvs-border,#dfe9e1);--gp-soft:var(--gvs-soft,#f4f8f4);--gp-tint:var(--gvs-tint,#fff6ec);
  --gp-radius:18px;--gp-shadow:0 18px 50px rgba(24,62,39,.09);
  --gp-grad:linear-gradient(120deg,var(--gp-green-d),var(--gp-green));
}
.gvsp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.gvsp-center{text-align:center}
.gvsp-muted{color:var(--gp-muted)}
.gvsp-small{font-size:13px}
.gvsp-empty{text-align:center;color:var(--gp-muted);padding:30px 10px;background:var(--gp-soft);border-radius:var(--gp-radius)}
.gvsp-subhead{margin:40px 0 16px;color:var(--gp-green-d)}
.gvsp-link{color:var(--gp-green);font-weight:700;text-decoration:none}
.gvsp-link:hover{color:var(--gp-orange)}

/* Buttons */
.gvs-btn{cursor:pointer}
.gvs-btn--grad{background:var(--gp-grad);color:#fff!important;border:0}
.gvs-btn--grad:hover{filter:brightness(1.1)}
.gvs-btn--gold{background:var(--gp-orange);color:#fff!important;border:0;padding:11px 26px;border-radius:999px;font-weight:700}
.gvs-btn--blue{background:#1f5f99;color:#fff!important;border:0}
.gvs-btn--green{background:var(--gp-green);color:#fff!important;border:0}
.gvsp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.gvsp-actions.gvsp-center{justify-content:center}

/* Alerts */
.gvsp-alert{padding:14px 18px;border-radius:14px;margin:0 0 18px;font-weight:500;border:1px solid}
.gvsp-alert--ok{background:#ecf7ee;border-color:#bfe3c6;color:#1d5a31}
.gvsp-alert--err{background:#fdeeee;border-color:#f3c3c3;color:#8a1f1f}
.gvsp-alert--info{background:var(--gp-tint);border-color:#f6d8b4;color:#7a4208}

/* Cards & forms */
.gvsp-card{background:#fff;border:1px solid var(--gp-border);border-radius:var(--gp-radius);box-shadow:var(--gp-shadow);padding:28px}
.gvsp-form-card{padding:30px}
.gvsp-form__section{font-size:16px;color:var(--gp-green-d);margin:26px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--gp-soft);display:flex;align-items:center;gap:8px}
.gvsp-form__section::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gp-orange)}
.gvsp-form__section:first-of-type{margin-top:8px}
.gvsp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
.gvsp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gvsp-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.gvsp-field--wide{grid-column:1/-1}
.gvsp-field label{font-size:13.5px;font-weight:700;color:var(--gp-ink)}
.gvsp-field .req{color:#d33}
.gvsp-hint{color:var(--gp-muted);font-size:12px}
.gvsp-form input[type=text],.gvsp-form input[type=tel],.gvsp-form input[type=email],.gvsp-form input[type=number],.gvsp-form input[type=date],.gvsp-form input[type=url],.gvsp-form select,.gvsp-form textarea,
.gvsp-lookup input,.gvsp-search input,.gvsp-login input[type=text],.gvsp-login input[type=password]{
  width:100%;box-sizing:border-box;border:1.5px solid var(--gp-border);border-radius:12px;padding:12px 14px;font:inherit;font-size:15px;background:#fff;color:var(--gp-ink);transition:border-color .15s,box-shadow .15s}
.gvsp-form textarea{resize:vertical}
.gvsp-form :is(input,select,textarea):focus,.gvsp-lookup input:focus,.gvsp-search input:focus,.gvsp-login input:focus{outline:0;border-color:var(--gp-green-l);box-shadow:0 0 0 4px rgba(116,176,119,.2)}
.gvsp-form :is(input,select,textarea):user-invalid{border-color:#e08a8a}
.gvsp-file{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1.5px dashed #b9cfbe;border-radius:12px;padding:11px 14px;background:var(--gp-soft);cursor:pointer;color:var(--gp-muted);font-size:14px;min-height:48px}
.gvsp-file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.gvsp-file i{color:var(--gp-green);font-size:20px}
.gvsp-file.has-file{border-style:solid;border-color:var(--gp-green-l);color:var(--gp-ink)}
.gvsp-file__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gvsp-check{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;font-size:14px;line-height:1.5}
.gvsp-check input{margin-top:4px;width:18px;height:18px;accent-color:var(--gp-green)}
@media(max-width:700px){.gvsp-grid,.gvsp-grid--3{grid-template-columns:1fr}.gvsp-card,.gvsp-form-card{padding:20px}}

.gvsp-fee-strip{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;background:var(--gp-tint);border:1px solid #f6d8b4;border-radius:14px;padding:14px 18px;margin-bottom:10px}
.gvsp-fee-strip div{display:flex;flex-direction:column}
.gvsp-fee-strip span{color:var(--gp-orange);font-weight:800;font-size:18px}
@media(max-width:700px){.gvsp-fee-strip{grid-template-columns:1fr 1fr}.gvsp-fee-strip div:last-child{grid-column:1/-1}}

/* Bank box */
.gvsp-bank{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin:22px 0 4px;align-items:stretch}
.gvsp-bank__card{background:linear-gradient(135deg,var(--gp-green-d),var(--gp-green));color:#fff;border-radius:18px;padding:22px 24px;box-shadow:var(--gp-shadow)}
.gvsp-bank__card h4{margin:0 0 10px;color:#fff;font-size:18px}
.gvsp-bank__card p{margin:4px 0;font-weight:600;font-size:15.5px}
.gvsp-copy{cursor:pointer;border-bottom:1px dashed rgba(255,255,255,.6)}
.gvsp-copy.is-copied::after{content:" ✓ copied";font-size:12px;color:#ffd79f}
.gvsp-bank__qr{background:#fff;border:1px solid var(--gp-border);border-radius:18px;padding:14px;text-align:center}
.gvsp-bank__qr span{display:block;font-weight:700;color:var(--gp-green-d);margin-bottom:8px}
.gvsp-bank__qr img{max-width:100%;max-height:300px;border-radius:10px}
.gvsp-bank--compact .gvsp-bank__qr img{max-height:220px}
@media(max-width:700px){.gvsp-bank{grid-template-columns:1fr}}
.gvsp-payinfo{display:grid;grid-template-columns:1fr 1.6fr;gap:24px;align-items:start;margin-bottom:12px}
.gvsp-payinfo__fees{background:#fff;border:1px solid var(--gp-border);border-radius:18px;padding:22px;box-shadow:var(--gp-shadow)}
.gvsp-payinfo__fees p{font-size:18px;font-weight:700;color:var(--gp-green-d);margin:6px 0}
.gvsp-payinfo .gvsp-bank{margin:0}
@media(max-width:860px){.gvsp-payinfo{grid-template-columns:1fr}}

/* Amount chips */
.gvsp-amounts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.gvsp-amount{border:1.5px solid var(--gp-border);background:#fff;border-radius:999px;padding:9px 18px;font-weight:700;cursor:pointer;color:var(--gp-green-d)}
.gvsp-amount:hover,.gvsp-amount.is-active{background:var(--gp-green);border-color:var(--gp-green);color:#fff}

/* Lookup */
.gvsp-lookup{max-width:520px;margin:0 auto 26px;display:flex;flex-direction:column;gap:14px;align-items:stretch;text-align:center}
.gvsp-lookup .gvsp-field label{text-align:center}
.gvsp-lookup .gvs-btn{align-self:center}

/* Search */
.gvsp-search{display:flex;max-width:420px;margin:0 auto 26px;position:relative}
.gvsp-search input{padding-right:48px;border-radius:999px}
.gvsp-search button{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:var(--gp-green);color:#fff;cursor:pointer}

/* Team */
.gvsp-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px}
.gvsp-person{background:#fff;border:1px solid var(--gp-border);border-radius:20px;padding:24px 16px 20px;text-align:center;box-shadow:0 10px 26px rgba(24,62,39,.06);transition:.2s;position:relative;overflow:hidden}
.gvsp-person::before{content:"";position:absolute;inset:0 0 auto 0;height:62px;background:var(--gp-grad)}
.gvsp-person:hover{transform:translateY(-4px);box-shadow:var(--gp-shadow)}
.gvsp-person__img{position:relative;width:108px;height:108px;margin:0 auto 12px;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.12);background:var(--gp-soft)}
.gvsp-person__img img{width:100%;height:100%;object-fit:cover}
.gvsp-person h4{margin:0 0 4px;font-size:16.5px;color:var(--gp-ink)}
.gvsp-person p{margin:0 0 4px;color:var(--gp-green);font-weight:700;font-size:14px}
.gvsp-person small{color:var(--gp-muted)}

/* Donors */
.gvsp-donors{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.gvsp-donor{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--gp-border);border-radius:16px;padding:14px 16px}
.gvsp-donor img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--gp-soft)}
.gvsp-donor div{flex:1;display:flex;flex-direction:column;min-width:0}
.gvsp-donor span,.gvsp-donor small{color:var(--gp-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gvsp-donor b{color:var(--gp-green);font-size:17px}

/* Gallery + lightbox */
.gvsp-gallery{columns:4 220px;column-gap:14px}
.gvsp-gallery__item{display:block;margin:0 0 14px;border-radius:14px;overflow:hidden;break-inside:avoid;position:relative}
.gvsp-gallery__item img{width:100%;height:auto;display:block;transition:transform .35s}
.gvsp-gallery__item:hover img{transform:scale(1.05)}
.gvsp-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
.gvsp-strip .gvsp-gallery__item{margin:0;scroll-snap-align:start;aspect-ratio:4/5}
.gvsp-strip .gvsp-gallery__item img{height:100%;object-fit:cover}
.gvsp-lb{position:fixed;inset:0;background:rgba(8,20,12,.92);z-index:9999;display:flex;align-items:center;justify-content:center;padding:40px 60px}
.gvsp-lb img{max-width:100%;max-height:100%;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.gvsp-lb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:46px;height:46px;border-radius:50%;font-size:22px;cursor:pointer}
.gvsp-lb .x{top:16px;right:16px}.gvsp-lb .p{left:10px;top:50%}.gvsp-lb .n{right:10px;top:50%}
.gvsp-lb figcaption{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#fff;font-size:14px}

/* Videos */
.gvsp-videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.gvsp-video{margin:0;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--gp-shadow)}
.gvsp-video__btn,.gvsp-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;position:relative;cursor:pointer;background:#000}
.gvsp-video__btn img{width:100%;height:100%;object-fit:cover;opacity:.9}
.gvsp-video__play{position:absolute;inset:0;display:grid;place-items:center;font-size:60px;color:#ff0000;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}
.gvsp-video figcaption{padding:14px 16px;font-weight:600}

/* Events */
.gvsp-event{display:grid;grid-template-columns:320px 1fr;background:#fff;border:1px solid var(--gp-border);border-radius:20px;overflow:hidden;margin-bottom:22px;box-shadow:var(--gp-shadow)}
.gvsp-event__img{background:var(--gp-soft);display:grid;place-items:center;min-height:200px;color:var(--gp-green-l);font-size:56px}
.gvsp-event__img img{width:100%;height:100%;object-fit:cover}
.gvsp-event__body{padding:22px 24px}
.gvsp-event__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13.5px;font-weight:700;color:var(--gp-muted)}
.gvsp-event h3{color:var(--gp-green);margin:10px 0 6px}
.gvsp-book summary{list-style:none;display:inline-flex;margin-top:8px}
.gvsp-book summary::-webkit-details-marker{display:none}
.gvsp-book form{margin-top:14px}
@media(max-width:760px){.gvsp-event{grid-template-columns:1fr}}

/* Campaigns */
.gvsp-campaigns{display:grid;gap:22px}
.gvsp-campaign{display:grid;grid-template-columns:300px 1fr;background:#fff;border:1px solid var(--gp-border);border-radius:20px;overflow:hidden;box-shadow:var(--gp-shadow)}
.gvsp-campaign>img{width:100%;height:100%;object-fit:cover}
.gvsp-campaign__body{padding:22px 24px}
.gvsp-campaign h3{margin:6px 0;color:var(--gp-green-d)}
.gvsp-progress{height:10px;background:var(--gp-soft);border-radius:99px;overflow:hidden;margin-top:12px}
.gvsp-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gp-green-l),var(--gp-green))}
@media(max-width:760px){.gvsp-campaign{grid-template-columns:1fr}}

/* Activity feed */
.gvsp-feed{max-width:760px;margin:0 auto;display:grid;gap:24px}
.gvsp-post{background:#fff;border:1px solid var(--gp-border);border-radius:20px;overflow:hidden;box-shadow:var(--gp-shadow)}
.gvsp-post__head{display:flex;align-items:center;gap:10px;padding:14px 18px}
.gvsp-post__head img{border-radius:50%;object-fit:contain}
.gvsp-post__org{font-weight:800;font-size:13.5px;flex:1}
.gvsp-post__head time{font-size:13px;color:var(--gp-muted)}
.gvsp-share{border:0;background:var(--gp-soft);width:36px;height:36px;border-radius:50%;cursor:pointer;color:var(--gp-green)}
.gvsp-post__img img{width:100%;height:auto;display:block}
.gvsp-post__thumbs{display:flex;gap:6px;padding:6px 18px 0}
.gvsp-post__thumbs img{width:80px;height:80px;object-fit:cover;border-radius:8px}
.gvsp-post__body{padding:16px 20px 22px}
.gvsp-post__body h3{margin:0 0 8px;font-size:19px}
.gvsp-post__body h3 a{color:var(--gp-ink);text-decoration:none}
.gvsp-post__body p{color:#3a4a41;line-height:1.75}
.gvsp-pager{display:flex;justify-content:center;gap:6px;margin-top:26px}
.gvsp-pager .page-numbers{padding:8px 14px;border-radius:10px;border:1px solid var(--gp-border);text-decoration:none}
.gvsp-pager .current{background:var(--gp-green);color:#fff;border-color:var(--gp-green)}

/* Stats */
.gvsp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.gvsp-stat{background:#fff;border:1px solid var(--gp-border);border-radius:20px;padding:22px;text-align:center;box-shadow:0 10px 26px rgba(24,62,39,.06)}
.gvsp-stat i{font-size:24px;color:var(--gp-orange)}
.gvsp-stat strong{display:block;font-size:34px;color:var(--gp-green-d);line-height:1.2;margin-top:6px}
.gvsp-stat span{color:var(--gp-muted);font-size:14px}
@media(max-width:760px){.gvsp-stats{grid-template-columns:repeat(2,1fr)}}

/* Verify / dashboard */
.gvsp-verify{display:flex;gap:22px;align-items:center;max-width:620px;margin:0 auto}
.gvsp-verify img{width:120px;height:140px;object-fit:cover;border-radius:12px}
.gvsp-verify h3{margin:0 0 6px}
.gvsp-verify p{margin:2px 0}
.gvsp-badge{display:inline-block;margin-top:8px;padding:6px 12px;border-radius:999px;font-weight:700;font-size:13px}
.gvsp-badge.is-ok{background:#e3f4e6;color:#1d5a31}
.gvsp-badge.is-bad{background:#fdeeee;color:#8a1f1f}
.gvsp-dash{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}
.gvsp-dash__profile{text-align:center}
.gvsp-dash__profile img{width:130px;height:150px;object-fit:cover;border-radius:14px}
.gvsp-kv{width:100%;border-collapse:collapse;margin-bottom:10px}
.gvsp-kv th,.gvsp-kv td,.gvsp-table th,.gvsp-table td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--gp-border)}
.gvsp-kv th{width:40%;color:var(--gp-muted);font-weight:600}
.gvsp-table{width:100%;border-collapse:collapse}
@media(max-width:760px){.gvsp-dash{grid-template-columns:1fr}.gvsp-verify{flex-direction:column;text-align:center}}
.gvsp-login{max-width:460px;margin:0 auto}
.gvsp-login form p{margin:0 0 14px}
.gvsp-login label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.gvsp-login .login-remember label{display:flex;gap:8px;font-weight:500}
.gvsp-login input[type=submit]{background:var(--gp-grad);color:#fff;border:0;border-radius:999px;padding:12px 30px;font-weight:700;cursor:pointer;width:100%}

/* ================= ID CARD ================= */
.gvsp-idcards{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;font-size:16px}
.gvsp-id{width:33.75em;height:21.25em;border-radius:1em;overflow:hidden;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.18);position:relative;color:#15201a;font-family:Inter,"Noto Sans Devanagari",Arial,sans-serif;display:flex;flex-direction:column;border:1px solid #d9e4dc;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.gvsp-id__head{display:flex;align-items:center;gap:.75em;padding:.7em 1em;background:var(--gp-grad);color:#fff}
.gvsp-id__logo{width:3.2em;height:3.2em;border-radius:50%;background:#fff;object-fit:contain;padding:.15em}
.gvsp-id__head strong{display:block;font-size:1.3em;line-height:1.15}
.gvsp-id__head span{display:block;font-size:.72em;letter-spacing:.12em;font-weight:700;opacity:.95}
.gvsp-id__head em{display:block;font-size:.62em;font-style:normal;opacity:.85}
.gvsp-id__band{background:var(--gp-orange);color:#fff;text-align:center;font-weight:800;font-size:.72em;letter-spacing:.3em;padding:.25em}
.gvsp-id__body{display:flex;gap:1em;padding:.75em 1em;flex:1}
.gvsp-id__photo img{width:6.2em;height:7.4em;object-fit:cover;border-radius:.5em;border:.18em solid var(--gp-green-l)}
.gvsp-id__info{border-collapse:collapse;font-size:.8em;width:100%}
.gvsp-id__info th{text-align:left;color:var(--gp-green);font-weight:700;padding:.12em .6em .12em 0;white-space:nowrap;vertical-align:top;width:4.5em}
.gvsp-id__info td{padding:.12em 0;font-weight:600}
.gvsp-id__foot{display:flex;justify-content:space-between;align-items:center;padding:.35em 1em;background:var(--gp-soft);font-size:.7em;font-weight:700;color:var(--gp-green-d)}
.gvsp-sign{font-style:italic;border-top:1px solid #9bb3a2;padding-top:.1em}
.gvsp-id--back{padding:0}
.gvsp-id--back ol{margin:.6em 1.2em .3em 2.2em;padding:0;font-size:.74em;line-height:1.45}
.gvsp-id__back-row{display:flex;gap:.9em;align-items:center;padding:.2em 1em;flex:1}
.gvsp-id__addr{font-size:.68em;line-height:1.45}
.gvsp-id__site{background:var(--gp-grad);color:#fff;text-align:center;font-weight:700;font-size:.72em;padding:.35em}
.gvsp-qr{flex:0 0 auto;background:#fff;padding:.2em;border-radius:.3em;line-height:0}
.gvsp-qr img,.gvsp-qr svg{width:5.6em;height:5.6em}
@media(max-width:600px){.gvsp-idcards{font-size:2.7vw}}

/* ================= CERTIFICATE ================= */
.gvsp-cert-scroll{overflow-x:auto;padding:6px 0 16px}
.gvsp-cert{width:62.5em;height:44.2em;margin:0 auto;font-size:16px;background:#fffdf7;position:relative;padding:1.2em;box-sizing:border-box;box-shadow:0 20px 50px rgba(0,0,0,.18);font-family:Georgia,"Noto Sans Devanagari",serif;color:#1d2a22;-webkit-print-color-adjust:exact;print-color-adjust:exact;background-image:radial-gradient(circle at 10% 10%,rgba(116,176,119,.08),transparent 40%),radial-gradient(circle at 90% 90%,rgba(244,127,23,.08),transparent 40%)}
.gvsp-cert__inner{border:.45em double var(--gp-green);height:100%;box-sizing:border-box;padding:1.8em 3em;display:flex;flex-direction:column;position:relative;outline:.15em solid var(--gp-orange);outline-offset:-.9em}
.gvsp-cert__top{display:flex;align-items:center;justify-content:space-between;gap:1.5em}
.gvsp-cert__logo{width:6.5em;height:6.5em;object-fit:contain}
.gvsp-cert__photo{width:6em;height:7em;object-fit:cover;border:.2em solid var(--gp-green-l);border-radius:.4em}
.gvsp-cert__org{text-align:center;flex:1}
.gvsp-cert__org strong{display:block;font-size:2.3em;color:var(--gp-green-d);font-family:"Noto Sans Devanagari",Georgia,serif}
.gvsp-cert__org span{display:block;font-size:1.05em;letter-spacing:.3em;font-weight:700;color:var(--gp-orange)}
.gvsp-cert__org em{display:block;font-size:.9em;color:#5c6b62;margin-top:.2em}
.gvsp-cert__title{text-align:center;font-size:2em;margin:1em 0 .6em;color:var(--gp-green);font-family:"Noto Sans Devanagari",Georgia,serif}
.gvsp-cert__text{font-size:1.2em;line-height:1.9;text-align:center;margin:0 1em}
.gvsp-cert__meta{display:flex;justify-content:center;gap:2.5em;margin-top:1.2em;font-size:.95em;font-family:Inter,Arial,sans-serif}
.gvsp-cert__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end}
.gvsp-cert__sig{text-align:center;min-width:14em;border-top:.08em solid #445;padding-top:.4em;font-family:Inter,Arial,sans-serif}
.gvsp-cert__sig span{display:block;font-weight:700;min-height:1.2em}
.gvsp-cert__sig em{font-style:normal;font-size:.85em;color:#5c6b62}

/* ================= RECEIPT ================= */
.gvsp-receipt{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--gp-border);border-radius:16px;padding:28px;box-shadow:var(--gp-shadow);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.gvsp-receipt__head{display:flex;gap:16px;align-items:center;border-bottom:3px solid var(--gp-green);padding-bottom:14px}
.gvsp-receipt__head img{width:74px;height:74px;object-fit:contain}
.gvsp-receipt__head strong{display:block;font-size:24px;color:var(--gp-green-d)}
.gvsp-receipt__head span{display:block;font-weight:700;letter-spacing:.14em;color:var(--gp-orange)}
.gvsp-receipt__head small{color:var(--gp-muted)}
.gvsp-receipt h3{text-align:center;margin:18px 0;color:var(--gp-green)}
.gvsp-receipt table{width:100%;border-collapse:collapse}
.gvsp-receipt th,.gvsp-receipt td{border:1px solid var(--gp-border);padding:9px 10px;text-align:left}
.gvsp-receipt th{background:var(--gp-soft);width:18%}
.gvsp-receipt__thanks{text-align:center;margin:18px 0}
.gvsp-receipt__sig{text-align:right;margin-top:40px;font-weight:700}

@page gvspcert{size:A4 landscape;margin:0}
@media print{
  .no-print,.gvsp-lookup,.gvsp-alert{display:none!important}
  body *{visibility:hidden}
  .gvsp-print-area,.gvsp-print-area *{visibility:visible}
  .gvsp-print-area{position:absolute;left:0;top:0;width:100%}
  .gvsp-idcards{font-size:7.2pt;gap:6mm;justify-content:flex-start;padding:10mm}
  .gvsp-id{box-shadow:none;break-inside:avoid}
  .gvsp-cert-scroll{overflow:visible;padding:0}
  .gvsp-cert{page:gvspcert;font-size:4.75mm;box-shadow:none;width:297mm;height:209mm}
  .gvsp-receipt{box-shadow:none;border:0}
}

/* v1.0.1 fixes */
.gvsp-cert .gvsp-cert__title{font-size:2em!important;line-height:1.25!important;margin:.9em 0 .5em!important;letter-spacing:0}
.gvsp-cert .gvsp-cert__org strong{line-height:1.2}
.gvsp-id--back .gvsp-id__band{letter-spacing:.08em}
.gvsp-idcards h3,.gvsp-cert h2,.gvsp-receipt h3{font-family:inherit}
.gvsp-gallery{columns:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gvsp-gallery .gvsp-gallery__item{margin:0;aspect-ratio:4/3;background:var(--gp-soft)}
.gvsp-gallery .gvsp-gallery__item img{width:100%;height:100%;object-fit:cover}

/* ================= v1.1 Original-design documents ================= */
.gvsp-doc-wrap{margin-top:10px}
.gvsd-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.gvsd-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:2em;font-size:16px}
.gvsd-card{position:relative;width:18em;aspect-ratio:882/1348;background:#fff;box-shadow:0 18px 44px rgba(0,0,0,.2);border-radius:.4em;overflow:hidden;font-family:Arial,"Noto Sans Devanagari",sans-serif;color:#1b1b1b;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.gvsd-card__photo{position:absolute;left:30.5%;top:19.2%;width:39%;height:30.4%;border:.12em solid #d10000;border-radius:.5em;overflow:hidden;background:#f3f3f3}
.gvsd-card__photo img{width:100%;height:100%;object-fit:cover}
.gvsd-card__stamp{position:absolute;left:67%;top:36%;width:24.5%;opacity:.95;mix-blend-mode:multiply}
.gvsd-card__name{position:absolute;left:4%;right:4%;top:55.4%;text-align:center;color:#d10000;font-weight:700;font-size:1.02em;line-height:1.1}
.gvsd-card__post{position:absolute;left:4%;right:4%;top:60.6%;text-align:center;font-weight:600;font-size:.82em;color:#333}
.gvsd-card__rows{position:absolute;left:10.5%;right:5%;top:69.6%;margin:0;display:grid;grid-template-columns:36% 1fr;row-gap:.34em;font-size:.72em;line-height:1.15}
.gvsd-card__rows dt{color:#d10000;font-weight:700;position:relative}
.gvsd-card__rows dt::after{content:":";position:absolute;right:.3em;color:#222}
.gvsd-card__rows dd{margin:0;font-weight:700;color:#222;padding-left:.5em}
.gvsd-card__qr{position:absolute;left:34.5%;top:20.2%;width:31%;background:#fff;padding:.2em;line-height:0}
.gvsd-card__qr img{width:100%!important;height:auto!important}
.gvsd-card__rows--back{left:4.5%;right:4%;top:44.6%;grid-template-columns:27% 1fr;row-gap:.3em}
.gvsd-card__rows--back dd{font-weight:600}
.gvsd-sheet{position:relative;margin:0 auto;background:#fff;box-shadow:0 18px 44px rgba(0,0,0,.18);font-family:Arial,"Noto Sans Devanagari",sans-serif;color:#111;font-size:16px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.gvsd-sheet--letter{width:40.75em;aspect-ratio:1600/1150}
.gvsd-sheet--cert{width:40.75em;aspect-ratio:1600/1149}
.gvsd-sheet--receipt{width:40.75em;aspect-ratio:1600/992}
.gvsd-letter__id,.gvsd-letter__date{position:absolute;top:33.2%;font-weight:700;font-size:.78em;color:#333}
.gvsd-letter__id{left:6.2%}.gvsd-letter__date{right:6.2%}
.gvsd-letter__body{position:absolute;left:5%;right:5%;top:43.4%;font-size:.86em;line-height:1.42;text-align:justify;font-weight:600;color:#1b1b1b}
.gvsd-letter__body .r{color:#d10000}
.gvsd-letter__stamp{position:absolute;left:81.5%;top:68.4%;width:10.4%;mix-blend-mode:multiply}
.gvsd-cert__intro{position:absolute;left:10%;right:10%;top:33%;text-align:center;font-size:.9em;font-style:italic;color:#444}
.gvsd-cert__name{position:absolute;left:8%;right:8%;top:39%;text-align:center;font-size:1.9em;font-weight:800;color:#d10000;font-family:Georgia,"Noto Sans Devanagari",serif}
.gvsd-cert__sub{position:absolute;left:10%;right:10%;top:49.5%;text-align:center;font-size:.78em;font-weight:600;color:#333}
.gvsd-cert__text{position:absolute;left:12%;right:12%;top:55%;text-align:center;font-size:.95em;font-weight:700;line-height:1.45}
.gvsd-cert__wish{position:absolute;left:10%;right:10%;top:67%;text-align:center;font-size:.8em;font-weight:700}
.gvsd-cert__date{position:absolute;left:6.5%;top:79%;font-size:.72em;font-weight:700}
.gvsd-cert__qr{position:absolute;left:6.5%;top:61%;width:9%;background:#fff;padding:.15em;line-height:0}
.gvsd-cert__qr img{width:100%!important;height:auto!important}
.gvsd-cert__stamp{position:absolute;left:81%;top:63%;width:10.6%;mix-blend-mode:multiply}
.gvsd-rc__top{position:absolute;left:6%;right:6%;top:30%;display:flex;justify-content:space-between;font-size:.8em;font-weight:600}
.gvsd-rc__body{position:absolute;left:6%;right:22%;top:38%;font-size:.86em;line-height:1.35}
.gvsd-rc__body p{margin:0 0 .45em;border-bottom:1px dotted #bbb;padding-bottom:.25em}
.gvsd-rc__body .amt{color:#d10000;font-size:1.15em}
.gvsd-rc__stamp{position:absolute;left:83%;top:47%;width:10.5%;mix-blend-mode:multiply}
.gvsd-uploads{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:10px}
.gvsd-upload{margin:0;background:#fff;border:1px solid var(--gp-border);border-radius:16px;overflow:hidden;box-shadow:var(--gp-shadow)}
.gvsd-upload img{width:100%;height:auto;display:block}
.gvsd-upload figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-weight:700}
.gvsp-doc-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 18px}
.gvsp-doc-tabs button{border:1.5px solid var(--gp-border);background:#fff;border-radius:999px;padding:9px 18px;font-weight:700;cursor:pointer;color:var(--gp-green-d)}
.gvsp-doc-tabs button.is-active{background:var(--gp-green);border-color:var(--gp-green);color:#fff}
.gvsp-doc-pane{display:none}.gvsp-doc-pane.is-active{display:block}
@media(max-width:700px){.gvsd-sheet{font-size:2.3vw}.gvsd-cards{font-size:4.2vw}}
@media print{
  .gvsd-cards{font-size:3mm;gap:6mm;justify-content:flex-start;padding:8mm}
  .gvsd-card,.gvsd-sheet{box-shadow:none}
  .gvsd-sheet--letter,.gvsd-sheet--cert,.gvsd-sheet--receipt{page:gvspcert;font-size:7.28mm}
  .gvsd-sheet--receipt{font-size:6.5mm}
  .gvsp-doc-pane:not(.is-active){display:none!important}
}
.gvsd-pdf{display:grid;place-items:center;gap:8px;height:220px;background:var(--gp-soft);color:#c62828;font-weight:700;font-size:18px}
.gvsd-pdf i{font-size:54px}
/* Programs */
.gvsp-programs{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.gvsp-program{background:#fff;border:1px solid var(--gp-border);border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(24,62,39,.07);display:flex;flex-direction:column;transition:.25s}
.gvsp-program:hover{transform:translateY(-4px);box-shadow:var(--gp-shadow)}
.gvsp-program__img{aspect-ratio:4/3;background:var(--gp-soft);display:grid;place-items:center;color:var(--gp-green-l);font-size:44px;overflow:hidden}
.gvsp-program__img img{width:100%;height:100%;object-fit:cover}
.gvsp-program__body{padding:18px 20px 20px}
.gvsp-program__body h3{margin:0 0 8px;font-size:18px;color:var(--gp-green-d)}
.gvsp-program__body p{margin:0;color:var(--gp-muted);font-size:14.5px;line-height:1.65}
.gvsp-program details{margin-top:10px}
.gvsp-program summary{cursor:pointer;color:var(--gp-green);font-weight:700;font-size:14px}
.gvsp-program__full{margin-top:8px;font-size:14px;line-height:1.7;color:#33413a;max-height:320px;overflow:auto}
.gvsp-actions .gvs-btn--outline,.gvsp-doc-wrap .gvs-btn--outline{background:#fff!important;color:var(--gp-green)!important;border:1.5px solid var(--gp-green)!important}
.gvsp-actions .gvs-btn--outline:hover{background:var(--gp-soft)!important}
.gvsd-cert__text{left:17%;right:17%;top:55%;font-size:.8em;line-height:1.4}
.gvsd-cert__wish{top:71.5%;font-size:.74em}
.gvsd-cert__qr{top:63%;width:8.5%}
.gvsd-cert__intro{display:none}
.gvsd-cert__name{top:39.5%}
.gvsd-rc__top{top:36.5%;font-size:.76em}
.gvsd-rc__body{top:43.5%;font-size:.78em;line-height:1.3}
.gvsd-rc__body p{margin:0 0 .3em;padding-bottom:.2em}
.gvsd-rc__stamp{top:44%}
