/* CKSOS Blocks. Everything is scoped under .cksos so the theme and Elementor stay in charge elsewhere.
   Fonts: add Fraunces, Figtree and Caveat in Elementor > Custom Fonts (or Site Settings > Typography);
   the widgets use them when present and fall back to the theme fonts. */
.cksos{
  --cksos-blue:#0868B2; --cksos-deep:#173E66; --cksos-night:#043A63; --cksos-sun:#FFC928; --cksos-sun-2:#F2B705;
  --cksos-ink:#333F4D; --cksos-soft:#5B6878; --cksos-line:#D9E1E8; --cksos-mist:#F3F7FB; --cksos-sky:#E4EFFD; --cksos-ok:#2F9E44;
  --cksos-head:"Fraunces",Georgia,serif; --cksos-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --cksos-ease:cubic-bezier(.34,1.56,.64,1); --cksos-out:cubic-bezier(.22,1,.36,1);
  color:var(--cksos-ink);font-family:var(--cksos-body);line-height:1.6;box-sizing:border-box
}
.cksos *,.cksos *::before,.cksos *::after{box-sizing:border-box}
.cksos svg{display:block;max-width:100%}
.cksos h2,.cksos h3{font-family:var(--cksos-head);color:var(--cksos-deep);font-weight:600;letter-spacing:-.015em;margin:0 0 .5em;line-height:1.15}
.cksos p{margin:0 0 1em}
.cksos [hidden]{display:none!important}
.cksos :focus-visible{outline:3px solid var(--cksos-blue);outline-offset:3px}

/* buttons, links */
.cksos-btn{--bg:var(--cksos-blue);--fg:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 24px;border-radius:99px;border:2px solid var(--bg);background:var(--bg);color:var(--fg);font:700 1rem/1.1 var(--cksos-body);text-decoration:none;cursor:pointer;transition:background-color .15s,transform .25s var(--cksos-ease),box-shadow .25s}
.cksos-btn:hover{transform:translateY(-2px);color:var(--fg)}
.cksos-btn svg{width:18px;height:18px;flex:none}
.cksos-btn-sun{--bg:var(--cksos-sun);--fg:var(--cksos-night);box-shadow:0 10px 20px -14px rgba(180,120,0,.9)}
.cksos-btn-sun:hover{--bg:var(--cksos-sun-2)}
.cksos-btn-line{background:#fff;color:var(--cksos-blue);border-color:var(--cksos-blue)}
.cksos-btn-wa{--bg:#25D366}
.cksos-btn-sm{min-height:40px;padding:8px 16px;font-size:.92rem}
.cksos-btn-block{width:100%}
.cksos-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.cksos-btn.is-busy{pointer-events:none;opacity:.85}
.cksos-btn.is-busy::after{content:"";width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:cksos-spin .7s linear infinite;flex:none}
@keyframes cksos-spin{to{transform:rotate(360deg)}}
.cksos-link{font-weight:700;color:var(--cksos-blue);text-decoration:none;border-bottom:3px solid var(--cksos-sun);padding-bottom:1px}
.cksos-link:hover{border-color:var(--cksos-blue)}

/* states */
.cksos-err{background:#FDECEC;border:1px solid #F5C2C2;color:#9B1C1C;border-radius:12px;padding:12px 16px;font-size:.94rem}
.cksos-ok{display:none;gap:12px;align-items:flex-start;background:#E9F6EC;border:1px solid #B8E0C1;color:#1F6B30;border-radius:14px;padding:16px 18px}
.cksos-ok svg{width:22px;height:22px;flex:none;color:var(--cksos-ok)}
.cksos-ok b{display:block;color:var(--cksos-ok)}
.is-sent .cksos-ok,.is-sent~* .cksos-ok{display:flex}
.cksos-ref{display:block;margin-top:4px;font-size:.85rem;opacity:.85}
.cksos-preview{display:block;margin-top:6px;font-size:.82rem;color:#7A5200;background:#FFF3CC;border-radius:6px;padding:4px 8px}
.cksos-paysafe{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;font-size:.88rem;color:var(--cksos-soft)}
.cksos-paysafe svg{width:16px;height:16px;flex:none;color:var(--cksos-ok);margin-top:3px}
.cksos-hint{font-size:.86rem;color:var(--cksos-soft);font-weight:400}
.cksos-lbl{display:block;font-weight:700;font-size:.95rem;color:var(--cksos-ink);margin:0 0 10px}
.cksos-panel{background:#fff;border-radius:26px;padding:clamp(22px,3vw,34px);box-shadow:0 1px 0 var(--cksos-line),0 24px 48px -36px rgba(23,62,102,.4)}
.cksos-panel-mist{background:var(--cksos-mist);box-shadow:none;margin-top:20px}
.cksos-h3{font-size:1.3rem}

/* leaf meter */
.cksos-leafbar{display:flex;align-items:center;gap:14px}
.cksos-leafbar svg{width:100%;max-width:300px;height:auto;flex:1}
.cksos-leafbar .pct{font-family:var(--cksos-head);font-weight:600;font-size:1.25rem;color:var(--cksos-blue);min-width:3.2ch;text-align:right}
.cksos-leafbar .lf{transform-box:fill-box;transform-origin:0% 50%;transition:transform .55s var(--cksos-ease);transition-delay:calc(var(--i) * 70ms + 150ms)}
.cksos-js .cksos-leafbar:not(.grow) .lf{transform:scale(0)}
.cksos-money{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 12px;font-size:.95rem;margin-top:8px}
.cksos-money strong{color:var(--cksos-ink)}

/* toggle */
.cksos-toggle{display:grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.75);border-radius:99px;padding:4px;margin-bottom:14px}
.cksos-give .cksos-toggle{background:var(--cksos-mist)}
.cksos-toggle label{position:relative}
.cksos-toggle input{position:absolute;opacity:0;inset:0;cursor:pointer}
.cksos-toggle span{display:block;text-align:center;padding:11px;border-radius:99px;font-weight:700;color:var(--cksos-soft);cursor:pointer}
.cksos-toggle input:checked+span{background:#fff;color:var(--cksos-blue);box-shadow:0 1px 3px rgba(4,58,99,.15)}
.cksos-toggle input:focus-visible+span{outline:3px solid var(--cksos-blue)}

/* ---------------- journey ---------------- */
.cksos-j-head{text-align:center;max-width:40em;margin:0 auto clamp(40px,6vw,72px)}
.cksos-j-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem)}
.cksos-j-head p{color:var(--cksos-soft);font-size:1.1rem;margin:0}
.cksos-j-wrap{position:relative}
.cksos-j-road{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.cksos-j-list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(56px,8vw,110px);position:relative;z-index:1}
.cksos-j-stop{display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;gap:clamp(16px,3vw,40px)}
.cksos-j-art{grid-column:1;grid-row:1;justify-self:end;width:min(100%,360px)}
.cksos-j-art svg{width:100%;height:auto}
.cksos-j-photo img{width:100%;height:auto;display:block}
.cksos-j-photo.is-card{background:#fff;border-radius:32px;overflow:hidden;transform:rotate(2deg);box-shadow:0 26px 44px -30px rgba(23,62,102,.55);padding:8px 8px 0}
.cksos-j-pin{grid-column:2;grid-row:1;justify-self:center;width:62px;height:62px;border-radius:50%;background:var(--cksos-sun);border:6px solid #fff;display:grid;place-items:center;font:700 1.4rem var(--cksos-head);color:var(--cksos-night);box-shadow:0 12px 24px -12px rgba(23,62,102,.6)}
.cksos-j-text{grid-column:3;grid-row:1;max-width:30em}
.cksos-j-stop.flip .cksos-j-art{grid-column:3;justify-self:start}
.cksos-j-stop.flip .cksos-j-text{grid-column:1;justify-self:end;text-align:right}
.cksos-j-text h3{font-size:clamp(1.4rem,2.2vw,1.8rem);margin-bottom:10px}
.cksos-j-text p{color:var(--cksos-soft)}
.cksos-j-walker{position:absolute;left:50%;top:0;width:96px;z-index:2;transform:translate(-50%,-78%);pointer-events:none;opacity:0;transition:opacity .3s}
.cksos-j-walker svg{width:100%;height:auto;animation:cksos-walk .6s ease-in-out infinite alternate}
.cksos-j-walker.left svg{transform:scaleX(-1)}
@keyframes cksos-walk{to{translate:0 -4px}}

/* ---------------- quick donate ---------------- */
.cksos-qg{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center;background:#FFF4D1;border-radius:40px;padding:clamp(22px,4vw,48px);overflow:hidden;margin:0}
.cksos-qg-art{position:relative;aspect-ratio:1;max-width:400px;width:100%;justify-self:center}
.cksos-qg-sun{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#FFE38A,#FFC928 70%)}
.cksos-qg-pics{position:absolute;inset:8%}
.cksos-gift{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(.6) rotate(-8deg);transition:opacity .25s,transform .45s var(--cksos-ease)}
.cksos-gift.on{opacity:1;transform:none}
.cksos-qg-gajju{position:absolute;left:-6%;bottom:-2%;width:44%}
.cksos-qg h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:0 0 18px}
.cksos-qg-what{color:var(--cksos-blue)}
.cksos-qg-pick{display:grid;gap:14px}
.cksos-qg-pick .cksos-toggle{margin:0}
.cksos-qamts{display:grid;grid-template-columns:repeat(4,1fr) 1.3fr;gap:8px}
.cksos-qamt{position:relative;margin:0}
.cksos-qamt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.cksos-qamt span{display:grid;place-items:center;text-align:center;min-height:54px;border-radius:16px;background:#fff;border:2px solid transparent;font:600 1.12rem var(--cksos-head);color:var(--cksos-blue);cursor:pointer;transition:transform .25s var(--cksos-ease),border-color .2s,background .2s}
.cksos-qamt input:checked+span{border-color:var(--cksos-blue);background:#EEF5FB;transform:scale(1.05)}
.cksos-qamt input:focus-visible+span{outline:3px solid var(--cksos-blue);outline-offset:2px}
.cksos-qother span{font-family:var(--cksos-body);font-size:.95rem;font-weight:700;line-height:1.15;padding:0 6px}
.cksos-qg-custom{min-height:54px;border-radius:16px;border:2px solid var(--cksos-blue);padding:0 16px;font:600 1.1rem var(--cksos-body);color:var(--cksos-ink);background:#fff;width:100%}
.cksos-qg-foot{margin:0;font-size:.88rem;color:var(--cksos-soft)}
.cksos-qg-foot a{color:var(--cksos-blue)}

/* ---------------- donate form ---------------- */
.cksos-donate{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:start}
.cksos-give{display:grid;gap:20px}
.cksos-give fieldset{border:0;padding:0;margin:0;min-width:0}
.cksos-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cksos-amount,.cksos-cause{position:relative;margin:0}
.cksos-amount input,.cksos-cause input{position:absolute;opacity:0;inset:0;cursor:pointer}
.cksos-amount span{display:block;border:1.5px solid #C5D1DC;border-radius:16px;padding:14px 12px;cursor:pointer;height:100%;background:#fff}
.cksos-amount b{display:block;font-family:var(--cksos-head);font-size:1.4rem;font-weight:600;color:var(--cksos-blue)}
.cksos-amount small{display:block;font-size:.82rem;color:var(--cksos-soft);line-height:1.3;margin-top:4px}
.cksos-amount input:checked+span,.cksos-cause input:checked+span{border-color:var(--cksos-blue);background:#EEF5FB;box-shadow:inset 0 0 0 1px var(--cksos-blue)}
.cksos-amount input:focus-visible+span,.cksos-cause input:focus-visible+span{outline:3px solid var(--cksos-blue);outline-offset:2px}
.cksos-causes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cksos-cause span{display:flex;gap:12px;align-items:center;border:1.5px solid #C5D1DC;border-radius:16px;padding:12px 14px;cursor:pointer;font-weight:700;height:100%;background:#fff}
.cksos-cause span svg{width:30px;height:30px;flex:none}
.cksos-frow{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}
.cksos-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.cksos-field{display:grid;gap:6px}
.cksos-field .cksos-lbl{margin:0}
.cksos-field input{width:100%;min-height:50px;border:1.5px solid #C5D1DC;border-radius:12px;padding:10px 14px;font:inherit;font-size:1rem;color:var(--cksos-ink);background:#fff}
.cksos-field input:focus{outline:none;border-color:var(--cksos-blue);box-shadow:0 0 0 3px rgba(8,104,178,.18)}
.cksos-check{display:block;position:relative;padding-left:32px;font-size:.95rem}
.cksos-check input{position:absolute;left:0;top:2px;width:20px;height:20px;margin:0;accent-color:var(--cksos-blue)}
.cksos-check a{color:var(--cksos-soft)}
.cksos-summary{position:sticky;top:110px}
.cksos-summary dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0 0 18px}
.cksos-summary dt{color:var(--cksos-soft)}
.cksos-summary dd{margin:0;font-weight:700;text-align:right}
.cksos-summary .total{border-top:1px solid var(--cksos-line);padding-top:12px;font-size:1.1rem}
.cksos-bank{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:.95rem;margin:0 0 12px}
.cksos-bank dt{color:var(--cksos-soft)}
.cksos-bank dd{margin:0;font-weight:700}
.cksos-copy{background:none;border:0;color:var(--cksos-blue);font:inherit;font-weight:700;cursor:pointer;padding:0;margin-left:8px;text-decoration:underline}
.cksos-give .cksos-ok{grid-column:1/-1}

/* ---------------- sponsor child panel ---------------- */
.cksos-child h2{font-size:1.5rem}
.cksos-child .cksos-money{margin-bottom:22px}
.cksos-needs-form{display:grid;gap:12px}
.cksos-needs{display:grid;gap:10px}
.cksos-need{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;border:1.5px solid var(--cksos-line);border-radius:16px;padding:12px 14px;cursor:pointer;position:relative;margin:0}
.cksos-need input{position:absolute;opacity:0;inset:0;cursor:pointer}
.cksos-need svg{width:38px;height:38px}
.cksos-need b{display:block;line-height:1.3}
.cksos-need small{color:var(--cksos-soft);font-size:.85rem;line-height:1.35;display:block}
.cksos-need .amt{font-family:var(--cksos-head);font-weight:600;color:var(--cksos-blue);font-size:1.12rem;white-space:nowrap}
.cksos-need:has(input:checked){border-color:var(--cksos-blue);background:#EEF5FB}
.cksos-need:has(input:focus-visible){outline:3px solid var(--cksos-blue);outline-offset:2px}
.cksos-total{font-size:1.1rem}
.cksos-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--cksos-line);margin-top:24px;padding-top:20px}
.cksos-share .cksos-lbl{width:100%;margin:0 0 4px}

/* ---------------- children ---------------- */
.cksos-avatar{width:56px;height:56px;flex:none}
.cksos-status{display:inline-flex;align-items:center;gap:6px;font:700 .82rem var(--cksos-body);border-radius:99px;padding:3px 10px;background:#E8F1F9;color:#06548F;vertical-align:middle;letter-spacing:0}
.cksos-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.cksos-status.is-urgent{background:#FFF3CC;color:#8A5A00}
.cksos-status.is-done{background:#E3F4E6;color:#22783A}
.cksos-rows{border-top:1px solid var(--cksos-line)}
.cksos-row{display:grid;grid-template-columns:56px 1fr auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--cksos-line)}
.cksos-row h3{font-size:1.2rem;margin:0 0 2px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cksos-row p{margin:0 0 6px;font-size:.94rem;color:var(--cksos-soft)}
.cksos-row .cksos-leafbar svg{max-width:240px}
.cksos-row .cksos-money{font-size:.88rem;max-width:300px}
.cksos-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cksos-card{background:#fff;border-radius:26px;padding:24px;box-shadow:0 18px 36px -30px rgba(23,62,102,.6);display:flex;flex-direction:column;gap:14px;transition:transform .35s var(--cksos-ease)}
.cksos-card:hover{transform:translateY(-4px)}
.cksos-card .cksos-status{align-self:flex-start}
.cksos-kid-top{display:flex;gap:14px;align-items:center}
.cksos-kid-top h3{margin:0;font-size:1.4rem}
.cksos-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:.95rem}
.cksos-facts dt{color:var(--cksos-soft)}
.cksos-facts dd{margin:0;font-weight:600}
.cksos-card-foot{margin-top:auto;padding-top:6px}
.cksos-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.cksos-chip{min-height:40px;padding:6px 16px;border-radius:99px;border:1px solid var(--cksos-line);background:#fff;color:var(--cksos-ink);font:600 .94rem var(--cksos-body);cursor:pointer}
.cksos-chip[aria-pressed=true]{background:var(--cksos-blue);border-color:var(--cksos-blue);color:#fff}
.cksos-empty{text-align:center;padding:36px;border:1.5px dashed var(--cksos-line);border-radius:22px;color:var(--cksos-soft);margin-top:20px}

/* ---------------- illustrations ---------------- */
.cksos-art{max-width:100%;line-height:0}
.cksos-art svg{width:100%;height:auto;overflow:visible}
.cksos-art.is-flip svg{transform:scaleX(-1)}
.cksos-art.m-float svg{animation:cksos-float var(--cksos-speed,6s) ease-in-out infinite}
.cksos-art.m-drift svg{animation:cksos-drift var(--cksos-speed,60s) ease-in-out infinite alternate}
.cksos-art.m-twinkle svg{animation:cksos-twinkle var(--cksos-speed,3.4s) ease-in-out infinite}
.cksos-art.m-auto .g-balloons,.cksos-art.m-float .g-balloons{animation:cksos-sway var(--cksos-speed,6s) ease-in-out infinite;transform-origin:206px 40px;transform-box:view-box}
.cksos-art.m-auto .b-wing{transform-box:fill-box;transform-origin:20% 80%;animation:cksos-flap 2.6s ease-in-out infinite}
.cksos-art.m-auto .f-wings{transform-box:fill-box;transform-origin:50% 50%;animation:cksos-flutter .5s ease-in-out infinite alternate}
.cksos-art.m-auto .s-rays{transform-origin:60px 60px;animation:cksos-spin 60s linear infinite}
.cksos-art.m-auto .st{animation:cksos-twinkle 3.4s ease-in-out infinite;animation-delay:calc(var(--i) * -.5s)}
.cksos-art.m-auto .v-bob{animation:cksos-float 4s ease-in-out infinite}
.cksos-svg-hills-day,.cksos-svg-hills-dusk,.cksos-svg-hills-night,.cksos-svg-hills-edge,.cksos-svg-stars{width:100%}
@keyframes cksos-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes cksos-drift{from{transform:translateX(-30px)}to{transform:translateX(40px)}}
@keyframes cksos-twinkle{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes cksos-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}
@keyframes cksos-flap{0%,70%,100%{transform:rotate(0)}78%{transform:rotate(-26deg)}86%{transform:rotate(6deg)}}
@keyframes cksos-flutter{to{transform:scaleX(.55)}}

/* ---------------- cure comparison ---------------- */
.cksos-cure{display:grid;gap:22px}
.cksos-cure figure{margin:0;background:#fff;border-radius:26px;padding:22px 24px;box-shadow:0 20px 40px -32px rgba(23,62,102,.6)}
.cksos-kids{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;max-width:420px;margin-bottom:12px}
.cksos-kids svg{width:100%;height:auto}
.cksos-kids .on{color:var(--cksos-sun)}
.cksos-kids .off{color:#DCE6F0}
.cksos-cure figcaption{color:var(--cksos-soft)}
.cksos-cure b{display:block;font-family:var(--cksos-head);font-size:1.7rem;font-weight:600;color:var(--cksos-deep);line-height:1.1;margin-bottom:2px}
.cksos-src{font-size:.88rem;color:var(--cksos-soft);margin:0}

/* ---------------- confetti + mobile bar ---------------- */
.cksos-confetti{position:fixed;inset:0;pointer-events:none;z-index:99999;overflow:hidden}
.cksos-confetti i{position:absolute;top:-30px;width:18px;height:10px;border-radius:0 100% 0 100%;animation:cksos-fall var(--t,2.6s) cubic-bezier(.3,.6,.5,1) forwards}
@keyframes cksos-fall{to{transform:translate(var(--x,0),110vh) rotate(var(--r,540deg))}}
/* ---------------- responsive ---------------- */
@media (max-width:1060px){
  .cksos-qg,.cksos-donate{grid-template-columns:1fr}
  .cksos-qg-art{max-width:300px}
  .cksos-summary{position:static}
  .cksos-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
  .cksos-j-head{text-align:left}
  .cksos-j-stop,.cksos-j-stop.flip{grid-template-columns:44px 1fr;column-gap:14px;row-gap:16px;align-items:start}
  .cksos-j-pin{grid-column:1;grid-row:1;width:44px;height:44px;border-width:4px;font-size:1.1rem}
  .cksos-j-art,.cksos-j-stop.flip .cksos-j-art{grid-column:2;grid-row:1;justify-self:start;width:min(100%,280px)}
  .cksos-j-text,.cksos-j-stop.flip .cksos-j-text{grid-column:2;grid-row:2;text-align:left;justify-self:start}
  .cksos-j-walker{width:56px}
  .cksos-qamts{grid-template-columns:repeat(4,1fr)}
  .cksos-qamts .cksos-qother{grid-column:1/-1}
  .cksos-qamt span{min-height:48px;font-size:1rem}
  .cksos-qg{border-radius:28px}
  .cksos-qg-art{max-width:240px}
  .cksos-amounts{grid-template-columns:1fr 1fr}
  .cksos-causes,.cksos-frow{grid-template-columns:1fr}
  .cksos-cards{grid-template-columns:1fr!important}
  .cksos-rows .cksos-row{grid-template-columns:44px 1fr}
  .cksos-rows .cksos-row .cksos-avatar{width:44px;height:44px}
  .cksos-rows .cksos-row>.cksos-btn,.cksos-rows .cksos-row>.cksos-link{grid-column:2;justify-self:start}
  .cksos-kids{gap:5px}
  .cksos-cure b{font-size:1.4rem}
  .cksos-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
  .cksos-chip{flex:none}
}
@media (max-width:380px){
  .cksos-qamts{grid-template-columns:1fr 1fr}
  .cksos-need{grid-template-columns:34px minmax(0,1fr)}
  .cksos-need .amt{grid-column:2}
}
@media (prefers-reduced-motion:reduce){
  .cksos *,.cksos *::before{animation:none!important;transition:none!important}
  .cksos-js .cksos-leafbar .lf{transform:none}
}

/* =====================================================================
   Layout helpers for normal Elementor containers and widgets.
   Type the class name in Advanced > CSS Classes.
   ===================================================================== */
.ck-sky{background:linear-gradient(180deg,#D8E9FC 0%,#E9F2FD 40%,#F2F7FE 70%,#F6F9FF 100%)}
.ck-grass{background:#E4F3D6}
.ck-road-bg{background:linear-gradient(180deg,#E4F3D6 0,#F6F9FF 260px)}
.ck-dusk{background:linear-gradient(180deg,#F6F9FF 0%,#FFF0DC 38%,#FFD6B0 72%,#FFC195 100%)}
.ck-night{background:linear-gradient(180deg,#0B3A66 0%,#072C4F 100%);color:#D3E2F1}
.ck-sun-box{background:#FFF4D1;border-radius:40px}
.ck-lav-circle{position:relative}
.ck-lav-circle::before{content:"";position:absolute;right:-12%;top:50%;width:min(760px,80vw);aspect-ratio:1;border-radius:50%;background:#ECEEFC;transform:translateY(-50%);z-index:0;pointer-events:none}
.ck-lav-circle>*{position:relative;z-index:1}
/* photos */
.ck-blob img{border-radius:46% 54% 42% 58% / 52% 44% 56% 48%;aspect-ratio:1/1;object-fit:cover;box-shadow:0 30px 60px -36px rgba(23,62,102,.6)}
.ck-blob-tall img{aspect-ratio:4/4.6}
.ck-breathe img{animation:ck-blob 14s ease-in-out infinite alternate}
@keyframes ck-blob{0%{border-radius:44px 120px 44px 96px}50%{border-radius:110px 48px 100px 44px}100%{border-radius:56px 90px 120px 48px}}
.ck-cutout img{filter:drop-shadow(0 26px 30px rgba(23,62,102,.22))}
.ck-photo-card img{background:#fff;border-radius:32px;padding:8px 8px 0;transform:rotate(2deg);box-shadow:0 26px 44px -30px rgba(23,62,102,.55)}
/* cards */
.ck-card{background:#fff;border-radius:26px;box-shadow:0 18px 36px -30px rgba(23,62,102,.6)}
.ck-pill{background:#fff;border-radius:18px;box-shadow:0 10px 24px -20px rgba(23,62,102,.6)}
.ck-tilt-l{transform:rotate(-1.4deg)}
.ck-tilt-r{transform:rotate(1deg) translateY(18px)}
.ck-tilt-l,.ck-tilt-r{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.ck-tilt-l:hover,.ck-tilt-r:hover{transform:rotate(0) translateY(-4px)}
.ck-helpline{background:#fff;border-radius:99px;box-shadow:0 14px 30px -20px rgba(23,62,102,.6)}
.ck-hand,.ck-hand .elementor-heading-title{font-family:"Caveat",cursive!important;font-weight:600;transform:rotate(-6deg)}
@media (max-width:760px){.ck-tilt-l,.ck-tilt-r{transform:none}}
@media (prefers-reduced-motion:reduce){.ck-breathe img{animation:none}}

/* =====================================================================
   v1.2: styles used by the pages the "Build website" button creates.
   Everything stays editable in Elementor; these only add what Elementor's
   panels can't (gradients with several stops, organic shapes, tilts).
   ===================================================================== */
body{background:#F6F9FF}
.ck-sky{background:linear-gradient(180deg,#D8E9FC 0%,#E9F2FD 40%,#F2F7FE 70%,#F6F9FF 100%)!important}
.ck-crumbs{margin:0;color:#5B6878}
.ck-crumbs a{color:#5B6878;text-decoration:underline;text-underline-offset:3px}
.ck-crumbs .ck-sep{margin:0 6px;color:#A5B3C1}

/* header */
.ck-mainbar{transition:padding .3s cubic-bezier(.22,1,.36,1),box-shadow .3s}
.ck-mainbar.elementor-sticky--effects{box-shadow:0 12px 30px -20px rgba(23,62,102,.45)!important}
.ck-logo img{transition:width .3s cubic-bezier(.22,1,.36,1)}
@media (min-width:1025px){.elementor-sticky--effects .ck-logo img{width:136px!important}}
.ck-nav .elementor-nav-menu--dropdown{border-radius:14px;overflow:hidden}
.ck-nav .elementor-nav-menu .sub-menu{min-width:270px!important}
@media (max-width:900px){.ck-util-lines .elementor-icon-list-item:nth-child(3){display:none!important}}
@media (max-width:480px){.ck-util-lines .elementor-icon-list-item:nth-child(2){display:none!important}}

/* hero + helpline */
.ck-helpline{background:#fff;border-radius:99px;box-shadow:0 14px 30px -20px rgba(23,62,102,.6);transition:box-shadow .2s}
.ck-helpline:hover{box-shadow:0 0 0 2px #0868B2,0 14px 30px -20px rgba(23,62,102,.6)}
.ck-helpline .elementor-icon{position:relative}
.ck-helpline .elementor-icon::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #2F9E44;animation:ck-ping 2.4s ease-out infinite}
@keyframes ck-ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(1.55);opacity:0}}
@media (max-width:767px){.ck-helpline{border-radius:22px;max-width:100%!important;width:100%!important}}
.ck-cutout img{filter:drop-shadow(0 26px 30px rgba(23,62,102,.22))}
.ck-lav-disc{position:relative}
.ck-lav-disc::before{content:"";position:absolute;inset:6% 4% 0 4%;border-radius:50%;background:#ECEEFC;z-index:-1}
.ck-hero .elementor-widget-cksos-art .cksos-art{width:100%}

/* cards, tilts, photos */
.ck-card{background:#fff;border-radius:26px;box-shadow:0 18px 36px -30px rgba(23,62,102,.6)}
.ck-pill{background:#fff;border-radius:18px;box-shadow:0 10px 24px -20px rgba(23,62,102,.6)}
.ck-pcard{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}
.ck-pcard:hover{transform:rotate(0) translateY(-4px)!important;box-shadow:0 26px 44px -30px rgba(23,62,102,.6)}
.ck-pc-img img,.ck-photo43 img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px}
.ck-pc-art{border-radius:22px}
.ck-square img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:22px}
.ck-round img{border-radius:50%;aspect-ratio:1/1;object-fit:cover}
.ck-blob img{border-radius:46% 54% 42% 58% / 52% 44% 56% 48%;aspect-ratio:1/1;object-fit:cover;width:100%;box-shadow:0 30px 60px -36px rgba(23,62,102,.6)}
.ck-blob.ck-blob-tall img{aspect-ratio:4/4.6}
.ck-photo-card img{background:#fff;border-radius:32px;padding:8px 8px 0;transform:rotate(2deg);box-shadow:0 26px 44px -30px rgba(23,62,102,.55)}
.ck-callout{border-left:4px solid #FFC928}
.ck-dl{background:#fff;border-radius:16px;border:1px solid #D9E1E8;transition:border-color .2s}
.ck-dl:hover{border-color:#0868B2}
.ck-outcomes{border-top:2px solid #0868B2}
.ck-chiplist .elementor-icon-list-item{background:#fff;border:1px solid #D9E1E8;border-radius:99px;padding:8px 16px!important;margin:0 8px 8px 0!important}
.ck-chiplist .elementor-icon-list-icon{display:none}
.ck-plain .elementor-icon{box-shadow:0 8px 16px -10px rgba(180,120,0,.8)}
.ck-steps{counter-reset:ckstep;position:relative}
.ck-step{counter-increment:ckstep}
.ck-step .elementor-icon{width:44px;height:44px;display:grid!important;place-items:center;padding:0!important}
.ck-step .elementor-icon svg,.ck-step .elementor-icon i{display:none}
.ck-step .elementor-icon::after{content:counter(ckstep);font:700 18px "Fraunces",Georgia,serif;color:#043A63}
.ck-photo-cta{position:relative;overflow:hidden}
.ck-photo-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.78) 70%);z-index:0}
.ck-photo-cta>*{position:relative;z-index:1}
.ck-cats ul{list-style:none;margin:0;padding:0}
.ck-cats li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #EEF2F6}
.ck-cats a{color:#333F4D;text-decoration:none;font-weight:600}
.ck-cats a:hover{color:#0868B2}
.ck-doodles-w{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' viewBox='0 0 280 280'%3E%3Cg fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.08'%3E%3Cpath d='M34 30l4 9 10 1-7 7 2 10-9-5-9 5 2-10-7-7 10-1z'/%3E%3Cpath d='M182 40c-6-8-19-2-12 8l12 12 12-12c7-10-6-16-12-8z'/%3E%3Ccircle cx='76' cy='200' r='9'/%3E%3Cpath d='M236 104q8-8 16 0t16 0'/%3E%3C/g%3E%3C/svg%3E")}
.ck-map iframe{border-radius:24px}
.ck-faq .elementor-tab-title{border-bottom:1px solid #D9E1E8!important}
.ck-faq .elementor-toggle-item:first-child .elementor-tab-title{border-top:1px solid #D9E1E8!important}

/* posts (blog cards, news list) */
.ck-posts .elementor-post__card{border-radius:20px!important;border:1px solid #D9E1E8;overflow:hidden;transition:box-shadow .2s,transform .3s}
.ck-posts .elementor-post__card:hover{box-shadow:0 18px 36px -26px rgba(4,58,99,.45);transform:translateY(-3px)}
.ck-posts .elementor-post__badge{border-radius:99px!important;font-weight:700!important;text-transform:none!important}
.ck-posts .elementor-post__read-more{border-bottom:2px solid #FFC928;padding-bottom:1px}
.ck-newslist .elementor-post{border-bottom:1px solid #D9E1E8;padding:24px 0;margin:0!important}
.ck-newslist .elementor-post:first-child{border-top:1px solid #D9E1E8}
.ck-gallery .e-gallery-image{border-radius:18px}

/* article and child story */
.ck-prose h2{font-family:"Fraunces",Georgia,serif;font-size:1.75rem;color:#173E66;margin:1.6em 0 .5em}
.ck-prose figure{margin:32px 0}
.ck-prose figure img{width:100%;border-radius:22px}
.ck-prose figcaption{font-size:.88rem;color:#5B6878;margin-top:10px}
.ck-prose .ck-lede{font-size:1.2rem;line-height:1.55}
.ck-prose blockquote,.ck-prose .ck-callout-box{background:#F3F7FB;border-left:4px solid #FFC928;padding:16px 20px;border-radius:0 12px 12px 0;margin:1.5em 0;font-style:normal}
.ck-prose .ck-handnote{font-family:"Caveat",cursive;font-size:1.5rem;color:#043A63;line-height:1.2}
.ck-story .ck-drawing img{border-radius:22px;background:#FFF8E6}
.ck-timeline{list-style:none;margin:0;padding:0}
.ck-timeline li{position:relative;padding:0 0 22px 36px}
.ck-timeline li strong{display:block;color:#333F4D}
.ck-timeline li::before{content:"";position:absolute;left:8px;top:8px;bottom:-8px;width:2px;background:#D9E1E8}
.ck-timeline li:last-child::before{display:none}
.ck-timeline li::after{content:"";position:absolute;left:1px;top:4px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #D9E1E8}
.ck-timeline li.done::after{background:#2F9E44;border-color:#2F9E44}
.ck-timeline li.now::after{background:#FFC928;border-color:#FFC928;animation:ck-ping2 2s ease-out infinite}
@keyframes ck-ping2{0%{box-shadow:0 0 0 0 rgba(255,201,40,.6)}100%{box-shadow:0 0 0 12px rgba(255,201,40,0)}}

/* footer */
.ck-night .elementor-heading-title,.ck-night h2{color:#fff}
.ck-foot-help{margin:0 0 10px}
.ck-foot-help span{display:block;font-size:.85rem;color:#B7D2EA}
.ck-foot-help a{color:#fff;text-decoration:none;font-size:1.08rem}
.ck-night .elementor-field-group .elementor-field-subgroup label{color:#fff}
.ck-night .elementor-field-type-radio .elementor-field-subgroup{background:rgba(255,255,255,.12);border-radius:10px;padding:4px 8px}

/* events, courses, products widgets */
.cksos-evlist{border-top:1px solid #D9E1E8}
.cksos-ev{display:grid;grid-template-columns:92px 1fr auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid #D9E1E8}
.cksos-date{border-radius:14px;background:#F3F7FB;text-align:center;padding:10px 6px;line-height:1.1}
.cksos-date b{display:block;font:600 2rem var(--cksos-head);color:var(--cksos-blue)}
.cksos-date span{font-size:.85rem;font-weight:700;color:var(--cksos-soft)}
.cksos-ev h3{margin:6px 0 4px;font-size:1.3rem}
.cksos-ev p{margin:0;color:var(--cksos-soft);font-size:.96rem}
.cksos-type{display:inline-block;font-size:.8rem;font-weight:700;border-radius:6px;padding:2px 8px;background:#E3F0FA;color:#06548F}
.cksos-type.is-course{background:#EEE6FA;color:#5B2E94}
.cksos-type.is-awareness{background:#FFF1C7;color:#7A5200}
.cksos-type.is-camp{background:#E3F4E6;color:#22783A}
.cksos-type.is-webinar{background:#FCE4EE;color:#A01D55}
.cksos-past{list-style:none;margin:0;padding:0;columns:2;column-gap:40px}
.cksos-past li{break-inside:avoid;display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #D9E1E8}
.cksos-past span{color:var(--cksos-soft);font-size:.9rem;white-space:nowrap}
.cksos-posters{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.cksos-poster{display:block;background:#fff;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit}
.cksos-poster img,.cksos-poster-ph{width:100%;aspect-ratio:1;object-fit:cover;background:#F3F7FB;display:block}
.cksos-poster span{display:block;padding:10px 12px;font-size:.84rem;color:var(--cksos-soft)}
.cksos-poster b{display:block;color:var(--cksos-ink);font-size:.9rem}
.cksos-cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cksos-course{display:flex;flex-direction:column;gap:6px}
.cksos-course.is-mist{background:#F3F7FB;box-shadow:none}
.cksos-course h3{font-size:1.3rem;margin:8px 0 0}
.cksos-course p{margin:0}
.cksos-course-top{display:flex;gap:8px;flex-wrap:wrap}
.cksos-course .cksos-btn{align-self:flex-start;margin-top:10px}
.cksos-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cksos-prod{display:flex;flex-direction:column;gap:4px}
.cksos-prod-art{aspect-ratio:1;border-radius:22px;background:#F3F7FB;display:grid;place-items:center;padding:16%;margin-bottom:12px;transition:transform .4s var(--cksos-ease),background .3s}
.cksos-prod-art img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.cksos-prod:hover .cksos-prod-art{transform:translateY(-4px);background:#FFF4CC}
.cksos-prod h3{font-size:1.1rem;margin:0}
.cksos-price{font-weight:700;margin:6px 0 8px}
.cksos-prod .cksos-btn{align-self:flex-start}
.cksos-kidhead{display:flex;gap:20px;align-items:center}
.cksos-kidhead .cksos-avatar{width:84px;height:84px;background:#fff;border-radius:50%}
.cksos-kidhead h1{font-size:clamp(2.2rem,4.4vw,3.5rem);margin:0}
.cksos-kidhead p{margin:4px 0 0;font-size:1.15rem}
@media (max-width:1060px){.cksos-cgrid,.cksos-shelf{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cksos-posters{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){
  .cksos-ev{grid-template-columns:72px 1fr;gap:16px}
  .cksos-ev .cksos-btn{grid-column:2;justify-self:start}
  .cksos-past{columns:1}
  .cksos-cgrid{grid-template-columns:1fr!important}
  .cksos-shelf{gap:14px}
  .cksos-posters{grid-template-columns:repeat(2,1fr)}
  .cksos-kidhead{flex-wrap:wrap}
}

/* floating Donate + WhatsApp on desktop (the mobile bar style kicks in at 1024px) */
.cksos-bar{display:flex;position:fixed;right:20px;bottom:20px;z-index:9990;flex-direction:column;align-items:flex-end;gap:12px}
.cksos-bar a{text-decoration:none}
.cksos-bar-wa{width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px -10px rgba(0,0,0,.4);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.cksos-bar-wa:hover{transform:rotate(-10deg) scale(1.06)}
.cksos-bar-wa svg{width:28px;height:28px}
.cksos-bar-donate{display:flex;align-items:center;gap:10px;background:#FFC928;color:#043A63;font:800 1rem "Figtree",system-ui,sans-serif;padding:14px 20px 14px 16px;border-radius:99px;box-shadow:0 12px 26px -10px rgba(4,58,99,.55);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.cksos-bar-donate:hover{transform:translateY(-3px);color:#043A63}
.cksos-bar-donate svg{width:22px;height:22px}
@media (max-width:1024px){
  body{padding-bottom:68px}
  .cksos-bar{left:0;right:0;bottom:0;flex-direction:row;gap:10px;align-items:stretch;background:#fff;box-shadow:0 -8px 24px -12px rgba(4,58,99,.35);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
  .cksos-bar-wa{width:48px;height:48px;border-radius:12px;box-shadow:none}
  .cksos-bar-donate{flex:1;justify-content:center;border-radius:12px;box-shadow:none;min-height:48px}
}
@media (prefers-reduced-motion:reduce){.ck-helpline .elementor-icon::after,.ck-timeline li.now::after{animation:none}.ck-pcard:hover{transform:none!important}}
