/* Book-a-call form (BOOK_A_CALL.exe window), shared by the homepage + 4 nonprofits. Self-contained (its own
   window + button styles) so it looks the same on every page. Uses the page's color/font vars w/ fallbacks. */
.bkc{--bk-ink:var(--ink,#16001f);--bk-hot:var(--hot,#ff1f6e);--bk-win:var(--win,#c3c3c3);
  max-width:760px;width:100%;margin:0 auto;background:var(--bk-win);border:2px solid;border-color:#fff #404040 #404040 #fff;
  box-shadow:inset -1px -1px #808080,inset 1px 1px #dfdfdf,5px 5px 0 rgba(22,0,31,.35);color:#000;min-width:0;box-sizing:border-box}
.bkc *,.bkc *::before,.bkc *::after{box-sizing:border-box}
.bkc-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 3px 3px 6px;color:#fff;font:700 12px/1.2 var(--f-sys,Tahoma,sans-serif);background:linear-gradient(90deg,#2b0040,#ff1f6e);user-select:none}
.bkc-bar span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.bkc-btns{display:flex;gap:2px;flex:none}
.bkc-btns b{width:17px;height:15px;display:grid;place-items:center;background:var(--bk-win);color:#000;font:700 11px/1 var(--f-sys,Tahoma,sans-serif);border:1px solid;border-color:#fff #404040 #404040 #fff}
.bkc-body{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:14px}
.bkc-side{border:2px inset #fff;background:linear-gradient(170deg,var(--grape,#7a1fff),var(--bk-hot) 60%,var(--lemon,#fff35c));display:grid;place-items:center;font:46px/1 var(--f-sys,Tahoma,sans-serif);min-height:200px}
.bkc-side span{animation:bkc-wob 2s infinite}
@keyframes bkc-wob{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}
.bkc-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.bkc-form label{display:flex;flex-direction:column;gap:4px;font:10px var(--f-pixel,"Courier New",monospace);min-width:0}
.bkc-form .req{color:#e00000;margin-left:2px;font-family:var(--f-sys,Tahoma,sans-serif);font-weight:700}
/* 16px so phones don't zoom in when u tap a field */
.bkc-form input,.bkc-form select,.bkc-form textarea{width:100%;font:16px var(--f-cute,"Comic Sans MS",sans-serif);padding:9px 10px;border:2px solid var(--bk-ink);border-radius:6px;background:#fff;color:var(--bk-ink);min-width:0}
.bkc-form textarea{min-height:100px;resize:vertical}
.bkc-form .bad{border-color:#e00000;background:#fff2f2}
.bkc-full{grid-column:1/-1}
.bkc-key{font:11px var(--f-sys,Tahoma,sans-serif);color:#444}
.bkc-actions{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.bkc-send{display:inline-block;cursor:pointer;font:700 15px/1 var(--f-pixel,"Courier New",monospace);letter-spacing:.05em;text-transform:uppercase;color:#fff;padding:13px 22px;border-radius:999px;border:2px solid var(--bk-ink);
  background:linear-gradient(180deg,#ffffffcc 0 12%,var(--bk-hot) 45%,#a3006e 100%);box-shadow:inset 0 2px 0 #ffffff99,0 3px 0 var(--bk-ink);text-shadow:1px 1px 0 var(--bk-ink);transition:transform .08s}
.bkc-send:hover{filter:brightness(1.1)}
.bkc-send:active{transform:translateY(2px);box-shadow:inset 0 2px 0 #ffffff99,0 1px 0 var(--bk-ink)}
.bkc-send:disabled{opacity:.6;cursor:wait}
.bkc-msg{font:400 13px var(--f-cute,"Comic Sans MS",sans-serif)}
.bkc-msg.bad{color:#b00000}
.bkc-msg a{color:#b00000}
.bkc-fine{margin:0;font:12px/1.4 var(--f-sys,Tahoma,sans-serif);color:#333}
.bkc-done{text-align:center;font:15px/1.6 var(--f-cute,"Comic Sans MS",sans-serif);padding:10px}
.bkc-done b{display:block;font:400 30px/1.1 var(--f-bubble,inherit);color:var(--bk-hot);margin-bottom:6px}
.bkc-or{text-align:center;font:12px var(--f-sys,Tahoma,sans-serif);color:#fff;margin:12px 0 0}
.bkc-or a{color:var(--lemon,#fff35c)}
@media (max-width:560px){
  .bkc-body{grid-template-columns:1fr;padding:12px}
  .bkc-side{display:none}
  .bkc-form{grid-template-columns:1fr}
  .bkc-form label{font-size:11px}
  .bkc-send{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){.bkc-side span{animation:none}}
/* Sniglet (--f-cute) is never bold: bold Sniglet blobs together + gets unreadable */
.bkc-msg b,.bkc-msg strong,.bkc-done b,.bkc-done strong{font-weight:400}
