/* NCP CTG Metro – donation site (same fonts and colours as the main site) */
@font-face{font-family:"July";src:url("../fonts/July-Bold.ttf") format("truetype");font-weight:normal;font-style:normal;font-display:swap}
@font-face{font-family:"July Regular";src:url("../fonts/July-Regular.ttf") format("truetype");font-weight:normal;font-style:normal;font-display:swap}
@font-face{font-family:"Abu Sayed";src:url("../fonts/Abu-Sayed.ttf") format("truetype");font-weight:normal;font-style:normal;font-display:swap}
@font-face{font-family:"Shadhinata";src:url("../fonts/Shadhinata.ttf") format("truetype");font-weight:normal;font-style:normal;font-display:swap}

:root{--green:#006a4e;--green-d:#00513c;--red:#e8112d;--red-dark:#c40d25;--ink:#17181a;--mint:#d3f0e1;--paper:#f3f3f3;--line:#dcdfde;--muted:#5f6562;--r:clamp(20px,3vw,36px);--gut:clamp(12px,3vw,40px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font:normal 17px/1.6 "July Regular",system-ui,sans-serif;font-synthesis:none}
h1,h2,b,strong,legend,label,dt,.btn,.chip{font-family:"July",system-ui,sans-serif;font-weight:normal}
a{color:var(--green)}
p{margin:0 0 12px}
.muted{color:var(--muted)}
.center{text-align:center}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:200;background:#fff;padding:8px 14px;border-radius:10px}
:focus-visible{outline:3px solid #2aa37c;outline-offset:2px}

/* ---------- top bar ---------- */
.bar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 2px 14px rgba(0,0,0,.08)}
.bar__in{max-width:1240px;margin:0 auto;min-height:64px;padding:8px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:12px}
.bar__brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.bar__brand img{flex:none;width:44px;height:44px;object-fit:contain}
.bar__brand span{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.bar__brand b{color:var(--red);font:normal 21px/1.1 "Abu Sayed",sans-serif;white-space:nowrap}
.bar__brand small{font:normal 16px/1.1 "Shadhinata",sans-serif}
.bar__links{display:flex;align-items:center;gap:clamp(8px,2vw,22px)}
.bar__links a{color:var(--ink);text-decoration:none;white-space:nowrap}
.bar__links a:hover{color:var(--green)}
.bar__cta{background:var(--red);color:#fff!important;font-family:"July",sans-serif;padding:7px 18px;border-radius:999px}
.bar__cta:hover{background:var(--red-dark)}
.testbar{margin:0;padding:7px var(--gut);background:#fff6dd;color:#6d5200;text-align:center;font-size:15px;border-bottom:1px solid #ecd38a}

/* ---------- layout ---------- */
.wrap{max-width:1240px;margin:0 auto;padding:var(--gut) var(--gut) clamp(32px,5vw,64px)}
.wrap--narrow{max-width:820px}
.cols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(14px,2vw,24px);align-items:start}
.side{display:flex;flex-direction:column;gap:clamp(14px,2vw,24px)}
.card{background:#fff;border-radius:var(--r);padding:clamp(18px,2.6vw,32px);margin:0 0 clamp(14px,2vw,24px);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.cols .card{margin:0}
.card h2{margin:0 0 16px;color:var(--green);font-size:clamp(21px,2.2vw,26px);line-height:1.25}
.card--mint{background:var(--mint);box-shadow:none}
.card--mint h2{color:var(--green-d)}

/* ---------- intro (green box) ---------- */
.intro{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px;background:var(--green);color:#fff;border-radius:var(--r);padding:clamp(22px,4vw,48px);margin:0 0 clamp(14px,2vw,24px)}
.intro__text{flex:1 1 420px;min-width:0}
.kicker{margin:0 0 6px;color:#9fe3c4;font-size:15px}
.intro h1{margin:0 0 10px;font:normal clamp(36px,5.4vw,62px)/1.05 "Abu Sayed",sans-serif}
.intro--small h1{font-size:clamp(30px,4.4vw,48px)}
.intro__lead{margin:0;max-width:62ch;color:#e3f5ec;font-size:clamp(16px,1.5vw,19px)}
.intro__points{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-family:"July",sans-serif}
.intro__points li{display:flex;align-items:flex-start;gap:8px}
.intro__points svg{flex:none;width:22px;height:22px;margin-top:3px;color:#3ee07f}
.intro__stats{flex:0 1 auto;margin:0;display:flex;flex-wrap:wrap;gap:12px}
.intro__stats div{background:rgba(255,255,255,.12);border-radius:20px;padding:14px 22px;min-width:170px}
.intro__stats dt{font-family:"July Regular",sans-serif;font-size:15px;color:#c9eedc}
.intro__stats dd{margin:2px 0 0;font:normal clamp(26px,3vw,36px)/1.15 "July",sans-serif;white-space:nowrap}

/* ---------- form ---------- */
.group{border:0;margin:0 0 22px;padding:0;min-width:0}
.group legend{padding:0;margin:0 0 10px;font-size:18px}
.funds{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.fund{position:relative;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:2px solid var(--line);border-radius:16px;cursor:pointer;font-family:"July Regular",sans-serif;transition:border-color .15s,background .15s}
.fund:hover{border-color:#9ccfb9}
.fund input{flex:none;width:20px;height:20px;margin:3px 0 0;accent-color:var(--green)}
.fund span{display:flex;flex-direction:column;gap:2px;min-width:0}
.fund b{line-height:1.3}
.fund small{color:var(--muted);font-size:14px;line-height:1.45}
.fund:has(input:checked){border-color:var(--green);background:#eefaf4}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.chip{border:2px solid var(--mint);background:var(--mint);color:#0b5d3f;border-radius:999px;padding:8px 18px;font-size:17px;line-height:1.2;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.chip:hover{border-color:var(--green)}
.chip.is-on{background:var(--green);border-color:var(--green);color:#fff}
.amount{display:flex;align-items:center;gap:8px;border:2px solid #bfc5c2;border-radius:16px;padding:4px 16px;background:#fff;font-family:"July",sans-serif}
.amount:focus-within{border-color:var(--green)}
.amount span{font-size:26px;color:var(--green)}
.amount input{flex:1;min-width:0;border:0!important;outline:0!important;padding:8px 0!important;font:normal 26px/1.2 "July",sans-serif!important;background:none}
.amount input::placeholder{font-size:17px;color:#9a9f9d}

.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 16px}
.field{margin:0 0 14px}
.field label{display:block;margin:0 0 5px}
.field label i{color:var(--red);font-style:normal}
.field label small,.field small{font-family:"July Regular",sans-serif;color:var(--muted);font-size:14px}
input:not([type=checkbox]):not([type=radio]),textarea{width:100%;font:inherit;color:inherit;background:#fff;border:1.500px solid #bfc5c2;border-radius:12px;padding:10px 14px}
input:not([type=checkbox]):not([type=radio]):focus,textarea:focus{border-color:var(--green)}
textarea{resize:vertical}
.check{display:flex;align-items:flex-start;gap:10px;font-family:"July Regular",sans-serif;cursor:pointer}
.check input{flex:none;width:20px;height:20px;margin-top:4px;accent-color:var(--green)}
.help{font-size:14.500px;color:var(--muted);margin:8px 0 0}
.alert{background:#fdecee;border:1px solid #f3b3bc;color:#a30d20;border-radius:16px;padding:12px 16px;margin:0 0 18px}
.alert ul{margin:6px 0 0;padding-left:20px}

.btn{display:inline-block;border:0;background:var(--red);color:#fff;text-decoration:none;font-size:18px;line-height:1.2;padding:12px 26px;border-radius:999px;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--red-dark);transform:translateY(-1px)}
.btn[disabled]{opacity:.7;cursor:progress;transform:none}
.btn--big{display:block;width:100%;font:normal 24px/1.2 "Shadhinata",sans-serif;padding:15px 26px}
.btn--ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.500px #bfc5c2}
.btn--ghost:hover{background:var(--paper)}

/* ---------- donors ---------- */
.donors{margin:0;padding:0;list-style:none}
.donor{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #eceeed}
.donor:first-child{border-top:0;padding-top:0}
.donor__av{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green-d);font:normal 19px/1 "July",sans-serif}
.donor__who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.donor__who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.donor__who small{color:var(--muted);font-size:14px}
.donor__amt{flex:none;color:var(--green);font:normal 18px/1 "July",sans-serif;white-space:nowrap}
.more{margin:14px 0 0;font-family:"July",sans-serif}
.notes{margin:0;padding-left:20px}
.notes li{margin:0 0 8px}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 0;padding-top:14px;border-top:1px solid #eceeed}
.pager a{font-family:"July",sans-serif;text-decoration:none}

/* ---------- result + receipt ---------- */
.result{text-align:center}
.result h1{margin:0 0 10px;color:var(--green);font-size:clamp(24px,3vw,32px);line-height:1.25}
.result--bad h1{color:var(--red)}
.result__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0 0}
.thanks{background:var(--mint);color:var(--green-d);border-radius:20px;padding:14px 20px;text-align:center;font-family:"July",sans-serif;margin:0 0 clamp(14px,2vw,24px)}
.receipt{border-top:8px solid var(--green);margin-bottom:0}
.receipt__head{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:2px dashed var(--line)}
.receipt__head img{flex:none;width:64px;height:64px;object-fit:contain}
.receipt__head div{flex:1;min-width:0}
.receipt__party{margin:0;color:var(--red);font:normal clamp(24px,3.4vw,34px)/1.1 "Abu Sayed",sans-serif}
.receipt__committee{margin:0;font:normal clamp(18px,2.2vw,24px)/1.1 "Shadhinata",sans-serif}
.receipt__tag{flex:none;margin:0;background:var(--mint);color:var(--green-d);border-radius:999px;padding:5px 16px;font-family:"July",sans-serif}
.receipt__test{margin:14px 0 0;background:#fff6dd;color:#6d5200;border:1px solid #ecd38a;border-radius:12px;padding:6px 14px;text-align:center;font-size:15px}
.receipt__amount{margin:20px 0;text-align:center;color:var(--green);font:normal clamp(40px,7vw,60px)/1.1 "July",sans-serif}
.receipt__amount small{display:block;color:var(--muted);font:normal 15px/1.4 "July Regular",sans-serif}
.receipt__rows{margin:0}
.receipt__rows div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid #eceeed}
.receipt__rows dt{flex:none;color:var(--muted);font-family:"July Regular",sans-serif}
.receipt__rows dd{margin:0;text-align:right;overflow-wrap:anywhere;font-family:"July",sans-serif}
.badge{display:inline-block;background:var(--green);color:#fff;border-radius:999px;padding:1px 14px}
.receipt__foot{margin-top:16px;padding-top:14px;border-top:2px dashed var(--line);text-align:center;color:var(--muted);font-size:14.500px}
.receipt__foot p{margin:0}

/* ---------- demo payment page ---------- */
.demo{text-align:center}
.demo h1{margin:0 0 6px;color:var(--green);font:normal clamp(40px,7vw,60px)/1.1 "July",sans-serif}
.demo .kicker{color:#6d5200;background:#fff6dd;display:inline-block;border-radius:999px;padding:3px 16px}
.demo__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0 0}
.demo__btns form{margin:0}

/* ---------- footer ---------- */
.footer{background:#0d1512;color:#c8d0cc;border-top:4px solid var(--green)}
.footer a{color:inherit;text-decoration:none}
.footer a:hover{color:#3ee07f}
.footer__in{max-width:1240px;margin:0 auto;padding:clamp(28px,4vw,48px) var(--gut);display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.footer__party{margin:0;color:#fff;font:normal 32px/1.1 "Abu Sayed",sans-serif}
.footer__committee{margin:0 0 10px;color:#3ee07f;font:normal 23px/1.1 "Shadhinata",sans-serif}
.footer__about{margin:0;max-width:36ch}
.footer__h{margin:0 0 10px;color:#fff;font-size:19px}
.footer ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.footer__social{display:flex;gap:8px;margin-top:14px}
.footer__social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .15s}
.footer__social a:hover{background:var(--red);color:#fff}
.footer__social svg{width:19px;height:19px}
.footer__bar{border-top:1px solid rgba(255,255,255,.1);padding:14px var(--gut);text-align:center;font-size:15px}
.footer__bar p{margin:0}
.footer__credit{margin-top:4px!important;color:#8a938f}
.footer__credit a{color:#3ee07f}

@media(max-width:900px){
  .cols{grid-template-columns:1fr}
  .footer__in{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1/-1}
}
@media(max-width:600px){
  body{font-size:16px}
  .bar__links a:not(.bar__cta){display:none}
  .bar__brand b{font-size:19px}
  .intro__stats{width:100%}
  .intro__stats div{flex:1 1 140px;min-width:0;padding:12px 16px}
  .receipt__head{flex-wrap:wrap}
  .receipt__rows div{flex-direction:column;gap:0}
  .receipt__rows dd{text-align:left}
  .footer__in{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.chip,.fund{transition:none}}

@media print{
  .bar,.testbar,.footer,.no-print,.skip{display:none!important}
  body{background:#fff;font-size:14px}
  .wrap{padding:0;max-width:none}
  .card{box-shadow:none;border-radius:0;padding:0}
  .receipt{border:0;border-top:6px solid var(--green);padding-top:16px}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
