/**
 * KWF Giving Centre frontend styles.
 *
 * Extracted from the donor portal stylesheet in v2.2.30 without selector,
 * declaration, ordering, wording or visual changes.
 */

/* Donation Shop / Personal Giving Centre */
.kwf-donation-shop{display:block;color:#10251b}.kwf-shop-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#ffffff,#f4fff6);border:1px solid rgba(21,128,61,.12);border-radius:28px;padding:28px 32px;margin-bottom:22px;box-shadow:0 18px 50px rgba(8,35,20,.08)}.kwf-shop-hero h1{font-size:clamp(32px,4vw,54px);line-height:1.02;margin:10px 0 12px;font-weight:700;letter-spacing:-.04em;color:#123d2a}.kwf-shop-hero p{max-width:760px;margin:0;color:#5f746b;font-size:18px;line-height:1.6}.kwf-shop-basket-toggle{border:0;border-radius:999px;background:#111;color:#fff;padding:14px 18px;font-weight:700;display:flex;align-items:center;gap:10px;white-space:nowrap;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.18)}.kwf-shop-basket-count{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#ff6b35;color:#fff}.kwf-shop-basket-total-mini{font-weight:700;color:#fff}.kwf-shop-toolbar{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:18px;margin-bottom:22px;box-shadow:0 12px 35px rgba(15,23,42,.06)}.kwf-shop-search{display:block;margin-bottom:16px}.kwf-shop-search span{display:block;font-size:13px;font-weight:700;margin-bottom:8px;color:#143d2b}.kwf-shop-search input{width:100%;min-height:52px;border:1px solid #dce7df;border-radius:16px;padding:0 18px;font-size:16px;background:#fbfdfb}.kwf-shop-cats{display:flex;gap:10px;overflow:auto;padding-bottom:2px;scrollbar-width:thin}.kwf-shop-cats button{border:1px solid #dbe8dd;background:#f7fbf8;color:#173c2a;border-radius:999px;padding:11px 16px;font-weight:700;white-space:nowrap;cursor:pointer}.kwf-shop-cats button.is-active,.kwf-shop-cats button:hover{background:#19943a;color:#fff;border-color:#19943a}.kwf-shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.kwf-shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.kwf-shop-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;overflow:hidden;box-shadow:0 16px 38px rgba(15,23,42,.08);display:flex;flex-direction:column;min-width:0}.kwf-shop-card-image{height:170px;background:#eaf5ee;display:flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none}.kwf-shop-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.kwf-shop-card:hover .kwf-shop-card-image img{transform:scale(1.04)}.kwf-shop-placeholder{width:74px;height:74px;border-radius:22px;background:linear-gradient(135deg,#19943a,#ff7a35);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.kwf-shop-card-body{padding:16px;display:flex;flex-direction:column;gap:11px;flex:1}.kwf-shop-card-badges{display:flex;flex-wrap:wrap;gap:6px}.kwf-shop-card-badges span{font-size:11px;font-weight:700;border-radius:999px;padding:6px 8px;background:#f0f8f2;color:#087a2f}.kwf-shop-card h3{font-size:18px;line-height:1.2;margin:0;color:#10251b;font-weight:700}.kwf-shop-card h3 a{color:inherit;text-decoration:none}.kwf-shop-card p{font-size:14px;color:#607269;line-height:1.45;margin:0;min-height:40px}.kwf-shop-amounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kwf-shop-amount{border:1px solid #dce7df;background:#fff;border-radius:12px;padding:9px 7px;font-weight:700;color:#173c2a;cursor:pointer;line-height:1.15}.kwf-shop-amount small{display:block;font-weight:700;font-size:10px;color:#6a7e73;margin-top:2px}.kwf-shop-amount.is-active{background:#eaf8ee;border-color:#19943a;color:#087a2f;box-shadow:inset 0 0 0 1px #19943a}.kwf-shop-custom{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#173c2a}.kwf-shop-custom input{height:42px;border:1px solid #dce7df;border-radius:12px;padding:0 12px;font-weight:700}.kwf-shop-card-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kwf-shop-card-controls select{height:42px;border:1px solid #dce7df;border-radius:12px;background:#fff;padding:0 10px;font-weight:700;color:#173c2a;min-width:0}.kwf-shop-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:auto}.kwf-shop-add{border:0;border-radius:14px;min-height:46px;background:#19943a;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 10px 26px rgba(25,148,58,.25)}.kwf-shop-add:hover{background:#117d2d}.kwf-shop-add:disabled{opacity:.65;cursor:wait}.kwf-shop-actions a{font-weight:700;color:#173c2a;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.kwf-shop-card-msg{font-size:13px;font-weight:700;min-height:18px}.kwf-shop-card-msg.is-success{color:#087a2f}.kwf-shop-card-msg.is-error{color:#b42318}.kwf-shop-load-wrap{text-align:center;margin:22px 0}.kwf-shop-load-more{border:0;border-radius:999px;background:#111;color:#fff;padding:14px 28px;font-weight:700;cursor:pointer}.kwf-shop-basket{position:sticky;top:20px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;box-shadow:0 18px 45px rgba(15,23,42,.1);overflow:hidden}.kwf-shop-basket-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px;border-bottom:1px solid #edf2ee}.kwf-shop-basket-head h2{font-size:22px;margin:0;font-weight:700;color:#123d2a}.kwf-shop-basket-close{display:none;border:0;background:#f2f6f3;border-radius:999px;width:36px;height:36px;font-size:24px;line-height:1;cursor:pointer}.kwf-shop-basket-summary{padding:16px 18px}.kwf-shop-basket-empty{color:#62776d;line-height:1.5}.kwf-shop-basket-items{display:flex;flex-direction:column;gap:12px}.kwf-shop-basket-item{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2ee;padding-bottom:10px;font-size:14px}.kwf-shop-basket-item span{font-weight:700;color:#173c2a}.kwf-shop-basket-item strong{white-space:nowrap;color:#111}.kwf-shop-basket-total{display:flex;justify-content:space-between;gap:12px;padding-top:14px;font-size:17px}.kwf-shop-basket-total span,.kwf-shop-basket-total strong{font-weight:700;color:#111}.kwf-shop-basket-actions{display:grid;gap:10px;padding:0 18px 18px}.kwf-shop-checkout,.kwf-shop-view-cart{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:14px;font-weight:700;text-decoration:none}.kwf-shop-checkout{background:#ff6b35;color:#fff}.kwf-shop-view-cart{background:#f0f6f2;color:#173c2a}.kwf-shop-loading .kwf-shop-grid{opacity:.55;pointer-events:none}.kwf-shop-grid .kwf-empty{grid-column:1/-1;background:#fff;border-radius:22px;padding:34px;text-align:center}.kwf-shop-grid .kwf-empty h3{margin:0 0 8px;font-size:24px}.kwf-shop-grid .kwf-empty p{margin:0;color:#64776d}
@media(max-width:1320px){.kwf-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kwf-shop-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1100px){.kwf-shop-layout{display:block}.kwf-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kwf-shop-basket{position:fixed;right:18px;top:18px;bottom:18px;width:min(380px,calc(100vw - 36px));z-index:9999;transform:translateX(calc(100% + 30px));transition:transform .2s ease}.kwf-shop-basket-open .kwf-shop-basket{transform:translateX(0)}.kwf-shop-basket-close{display:inline-flex;align-items:center;justify-content:center}.kwf-shop-basket:before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.3)}}
@media(max-width:760px){.kwf-shop-hero{display:block;padding:22px}.kwf-shop-basket-toggle{margin-top:18px;width:100%;justify-content:center}.kwf-shop-toolbar{padding:14px}.kwf-shop-grid{grid-template-columns:1fr}.kwf-shop-card-image{height:190px}.kwf-shop-card-controls{grid-template-columns:1fr}.kwf-shop-actions{grid-template-columns:1fr}.kwf-shop-actions a{text-align:center}.kwf-shop-cats{margin-left:-4px;margin-right:-4px}.kwf-shop-cats button{padding:10px 14px}.kwf-shop-hero p{font-size:16px}}
/* Donation shop refinements */
.kwf-shop-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
@media(max-width:1320px){.kwf-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}}
@media(max-width:980px){.kwf-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media(max-width:640px){.kwf-shop-grid{grid-template-columns:1fr !important;}}
@media(max-width:1100px){
    .kwf-donation-shop.kwf-shop-basket-open:before{
        content:"";
        position:fixed;
        inset:0;
        background:rgba(0,0,0,.48);
        z-index:9998;
    }
    .kwf-shop-basket{
        z-index:9999 !important;
    }
    .kwf-shop-basket:before{
        content:none !important;
        display:none !important;
    }
}

/* ========================================================================== 
   Donation Shop polish v1.9.13
   Scoped only to the Donate / Giving Centre tab.
   ========================================================================== */
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-dtopbar{
    margin-bottom:14px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-dtopbar-crumb,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-dtopbar-crumb b,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-dtopbar-name,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-duser-caret{
    color:#123c2c !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-dtopbar-user{
    background:#fff !important;
    border-color:#e1ece6 !important;
    box-shadow:0 10px 24px rgba(18,60,44,.07) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-hero{
    align-items:center !important;
    background:#fff !important;
    border:1px solid #e1ece6 !important;
    border-radius:22px !important;
    padding:20px 22px !important;
    margin-bottom:16px !important;
    box-shadow:0 12px 30px rgba(18,60,44,.07) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-hero h1{
    font-size:clamp(30px,3.2vw,44px) !important;
    margin:6px 0 8px !important;
    color:#1f2f28 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-hero p{
    font-size:16px !important;
    line-height:1.5 !important;
    color:#687b72 !important;
    max-width:720px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-toggle{
    background:#111 !important;
    color:#fff !important;
    min-height:54px !important;
    padding:10px 16px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-toolbar{
    border-radius:20px !important;
    padding:16px !important;
    margin-bottom:16px !important;
    box-shadow:0 10px 24px rgba(18,60,44,.06) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-search{margin-bottom:13px !important;}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-search input{
    min-height:48px !important;
    border-radius:14px !important;
    background:#fff !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-layout{
    grid-template-columns:minmax(0,1fr) 330px !important;
    gap:18px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card{
    border-radius:18px !important;
    box-shadow:0 10px 28px rgba(18,60,44,.07) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-image{
    height:132px !important;
    background:#eef5ef !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-body{
    padding:13px !important;
    gap:8px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-badges{
    gap:5px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-badges span{
    font-size:10px !important;
    padding:5px 7px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card h3{
    font-size:16px !important;
    line-height:1.18 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card p{
    font-size:13px !important;
    line-height:1.35 !important;
    min-height:34px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-amounts{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-amount{
    padding:7px 6px !important;
    border-radius:10px !important;
    font-size:13px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-amount small{
    font-size:9px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-custom{
    gap:8px !important;
    font-size:12px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-custom input,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-controls select{
    height:38px !important;
    border-radius:10px !important;
    font-size:12px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-actions{
    gap:8px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-add{
    min-height:42px !important;
    border-radius:12px !important;
    background:#ff6b35 !important;
    box-shadow:0 9px 20px rgba(255,107,53,.22) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-add:hover{background:#e95d29 !important;}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-actions a{
    font-size:12px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket{
    top:18px !important;
    border-radius:20px !important;
    box-shadow:0 12px 34px rgba(18,60,44,.09) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-head{
    padding:16px 16px 10px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-head h2{
    font-size:22px !important;
    color:#1f2f28 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-summary{
    padding:14px 16px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-actions{
    padding:0 16px 16px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-load-wrap{
    margin:18px 0 !important;
}
@media(max-width:1320px){
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:1100px){
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-layout{display:block !important;}
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket{position:fixed !important;}
}
@media(max-width:760px){
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-hero{
        display:block !important;
        padding:18px !important;
    }
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-toggle{
        width:100% !important;
        justify-content:center !important;
        margin-top:14px !important;
    }
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-toolbar{padding:13px !important;}
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-grid{grid-template-columns:1fr !important;}
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-image{height:170px !important;}
}

/* ========================================================================== 
   Donation Shop streamlined cards + white canvas v1.9.14
   Scoped to the Donate / Giving Centre tab only.
   ========================================================================== */
html{margin-top:0 !important;}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-donation-shop{
    color:#182d22 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-hero{
    padding:16px 18px !important;
    margin-bottom:14px !important;
    border-radius:18px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-hero h1{
    font-size:clamp(28px,2.8vw,38px) !important;
    margin:4px 0 6px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-hero p{
    font-size:15px !important;
    line-height:1.45 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-toolbar{
    padding:13px !important;
    margin-bottom:14px !important;
    border-radius:18px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-search input{
    min-height:44px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-layout{
    grid-template-columns:minmax(0,1fr) 310px !important;
    gap:16px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-grid{
    gap:12px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact{
    border-radius:16px !important;
    box-shadow:0 8px 22px rgba(18,60,44,.06) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-card-image{
    height:118px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-card-body{
    padding:11px !important;
    gap:7px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-card-badges span{
    font-size:9px !important;
    padding:4px 6px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact h3{
    font-size:15px !important;
    line-height:1.16 !important;
    min-height:35px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact p{
    font-size:12px !important;
    line-height:1.32 !important;
    min-height:32px !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-bottom{
    display:grid !important;
    grid-template-columns:auto 1fr !important;
    gap:10px !important;
    align-items:center !important;
    margin-top:2px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-from span{
    display:block !important;
    font-size:10px !important;
    font-weight:700!important;
    color:#76877f !important;
    line-height:1 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-from strong{
    display:block !important;
    font-size:18px !important;
    font-weight:700!important;
    color:#111 !important;
    line-height:1.1 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-open-modal{
    border:0 !important;
    border-radius:12px !important;
    min-height:40px !important;
    background:#ff6b35 !important;
    color:#fff !important;
    font-weight:700!important;
    cursor:pointer !important;
    box-shadow:0 8px 18px rgba(255,107,53,.22) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-open-modal:hover{background:#e95d29 !important;}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-learn{
    font-size:12px !important;
    font-weight:700!important;
    color:#173c2a !important;
    text-decoration:underline !important;
    text-underline-offset:3px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact > .kwf-shop-card-body > .kwf-shop-amounts,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact > .kwf-shop-card-body > .kwf-shop-custom,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact > .kwf-shop-card-body > .kwf-shop-card-controls,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact > .kwf-shop-card-body > .kwf-shop-actions{
    display:none !important;
}
.kwf-shop-modal[hidden]{display:none !important;}
.kwf-shop-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:10020 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:18px !important;
}
.kwf-shop-modal-backdrop{
    position:absolute !important;
    inset:0 !important;
    background:rgba(11,22,16,.58) !important;
    backdrop-filter:blur(5px) !important;
    -webkit-backdrop-filter:blur(5px) !important;
}
.kwf-shop-modal-panel{
    position:relative !important;
    width:min(520px,100%) !important;
    max-height:min(720px,calc(100vh - 36px)) !important;
    overflow:auto !important;
    background:#fff !important;
    border-radius:24px !important;
    padding:24px !important;
    box-shadow:0 30px 90px rgba(0,0,0,.32) !important;
}
.kwf-shop-modal-close{
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    width:38px !important;
    height:38px !important;
    border:0 !important;
    border-radius:999px !important;
    background:#f1f5f2 !important;
    color:#111 !important;
    font-size:24px !important;
    line-height:1 !important;
    cursor:pointer !important;
}
.kwf-shop-modal-head h2{
    margin:0 42px 8px 0 !important;
    font-size:28px !important;
    line-height:1.08 !important;
    color:#173c2a !important;
    font-weight:700!important;
}
.kwf-shop-modal-head p{
    margin:0 0 18px !important;
    color:#64776d !important;
    font-size:15px !important;
    line-height:1.5 !important;
}
.kwf-shop-modal-section h4{
    margin:0 0 10px !important;
    font-size:14px !important;
    font-weight:700!important;
    color:#173c2a !important;
}
.kwf-shop-modal .kwf-shop-amounts{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
    margin-bottom:14px !important;
}
.kwf-shop-modal .kwf-shop-amount{
    min-height:54px !important;
    font-size:16px !important;
    border-radius:14px !important;
}
.kwf-shop-modal .kwf-shop-custom{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-bottom:14px !important;
}
.kwf-shop-modal .kwf-shop-custom input{
    height:48px !important;
    font-size:17px !important;
}
.kwf-shop-modal .kwf-shop-card-controls{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-bottom:16px !important;
}
.kwf-shop-modal .kwf-shop-card-controls label span{
    display:block !important;
    font-size:12px !important;
    font-weight:700!important;
    color:#64776d !important;
    margin-bottom:6px !important;
}
.kwf-shop-modal .kwf-shop-card-controls select{
    width:100% !important;
    height:46px !important;
    border-radius:13px !important;
}
.kwf-shop-modal .kwf-shop-actions{
    display:block !important;
}
.kwf-shop-modal .kwf-shop-add{
    width:100% !important;
    min-height:50px !important;
    border-radius:15px !important;
    background:#19943a !important;
    box-shadow:0 10px 24px rgba(25,148,58,.22) !important;
}
html.kwf-shop-modal-active,
body.kwf-shop-modal-active{overflow:hidden !important;}
body.kwf-shop-modal-active{touch-action:none !important;}
@media(max-width:760px){
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-card-image{height:150px !important;}
    .kwf-shop-modal{align-items:flex-end !important;padding:0 !important;}
    .kwf-shop-modal-panel{width:100% !important;max-height:88vh !important;border-radius:24px 24px 0 0 !important;padding:22px 18px !important;}
    .kwf-shop-modal .kwf-shop-card-controls{grid-template-columns:1fr !important;}
}

/* ========================================================================== 
   Donation Shop card alignment polish v1.9.15
   Scoped to Donate / Giving Centre only.
   ========================================================================== */
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact{
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 14px 34px rgba(18,60,44,.10) !important;
    border-color:rgba(25,148,58,.18) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-card-image{
    position:relative !important;
    height:122px !important;
    border-bottom:1px solid rgba(15,23,42,.06) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-image-ribbon{
    position:absolute !important;
    z-index:2 !important;
    top:12px !important;
    left:-38px !important;
    width:150px !important;
    transform:rotate(-35deg) !important;
    transform-origin:center !important;
    background:#e11d48 !important;
    color:#fff !important;
    text-align:center !important;
    font-size:9px !important;
    line-height:1 !important;
    font-weight:700!important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    padding:7px 6px !important;
    box-shadow:0 8px 20px rgba(225,29,72,.22) !important;
    pointer-events:none !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-ribbon-responding_now,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-ribbon-time_sensitive{
    background:#f97316 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-ribbon-emergency_response,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-ribbon-crisis_relief,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-ribbon-immediate_need,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-ribbon-urgent_appeal{
    background:#dc2626 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-card-body{
    text-align:center !important;
    align-items:center !important;
    padding:12px 12px 14px !important;
    gap:8px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-card-badges{
    width:100% !important;
    justify-content:center !important;
    min-height:22px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-card-badges span,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    max-width:100% !important;
    font-size:9px !important;
    line-height:1.1 !important;
    padding:5px 7px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-badge-urgency{
    background:#fff1f2 !important;
    color:#b91c1c !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-badge-project_type,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-badge-beneficiaries{
    background:#eff6ff !important;
    color:#1d4ed8 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-badge-environment,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-badge-category{
    background:#ecfdf5 !important;
    color:#047857 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-badge-islamic_giving{
    background:#f5f3ff !important;
    color:#6d28d9 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-badge-trust{
    background:#fdf2f8 !important;
    color:#be185d !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact h3{
    width:100% !important;
    text-align:center !important;
    min-height:36px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact p{
    width:100% !important;
    text-align:center !important;
    min-height:34px !important;
    max-width:95% !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-bottom{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    margin-top:0 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-from{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:1px !important;
    min-height:34px !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-from span{
    display:block !important;
    text-align:center !important;
    font-size:10px !important;
    font-weight:700!important;
    color:#718078 !important;
    text-transform:none !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-from strong{
    display:block !important;
    text-align:center !important;
    font-size:17px !important;
    font-weight:700!important;
    color:#15933a !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-open-modal{
    width:min(150px,100%) !important;
    min-height:42px !important;
    background:#ff6b35 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    text-align:center !important;
    border:0 !important;
    box-shadow:0 9px 20px rgba(255,107,53,.24) !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-open-modal:hover,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-open-modal:focus{
    background:#e95d29 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-learn{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    margin-top:0 !important;
    color:#173c2a !important;
    font-weight:700!important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-msg{
    width:100% !important;
    text-align:center !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-checkout{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}
@media(max-width:760px){
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact .kwf-shop-card-image{height:155px !important;}
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-open-modal{width:min(180px,100%) !important;}
}


/* ========================================================================== 
   Donation Shop isolated price/basket cleanup v1.9.16
   Scoped only to the Donate / Giving Centre tab.
   ========================================================================== */
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-donation-shop,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-donation-shop *{
    box-sizing:border-box !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-from{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
    min-height:38px !important;
    line-height:1.1 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-from > .kwf-shop-from-label{
    display:block !important;
    font-size:10px !important;
    font-weight:700!important;
    color:#64776d !important;
    line-height:1 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-from > .kwf-shop-from-price{
    display:block !important;
    font-size:18px !important;
    font-weight:700!important;
    color:#123d2a !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-from > .kwf-shop-from-price *{
    display:inline !important;
    line-height:inherit !important;
    white-space:nowrap !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-open-modal,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) button.kwf-shop-open-modal{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    font-weight:700!important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket *{
    font-family:inherit !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item span,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item strong,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-total span,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-total strong{
    color:#123d2a !important;
    font-weight:700!important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-total span,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-total strong{
    font-weight:700!important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-checkout,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-checkout:visited,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-checkout:hover,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-checkout:focus{
    background:#ff6b35 !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    font-weight:700!important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-toggle,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-toggle *{
    font-weight:700 !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-toggle{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-total-mini{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}

/* ========================================================================== 
   Saved Causes UI v2.1.6
   Scoped to Giving Centre cards only.
   ========================================================================== */
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-card-compact{
    position:relative !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-save-cause-toggle{
    position:absolute !important;
    z-index:4 !important;
    top:10px !important;
    right:10px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    min-width:38px !important;
    min-height:38px !important;
    padding:0 10px !important;
    border:1px solid rgba(15,23,42,.12) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.94) !important;
    color:#334155 !important;
    -webkit-text-fill-color:#334155 !important;
    box-shadow:0 8px 20px rgba(15,23,42,.12) !important;
    font-size:12px !important;
    font-weight:700!important;
    line-height:1 !important;
    cursor:pointer !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-save-cause-toggle:hover,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-save-cause-toggle:focus{
    background:#fff !important;
    border-color:rgba(225,29,72,.28) !important;
    color:#be123c !important;
    -webkit-text-fill-color:#be123c !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-save-cause-toggle.is-saved{
    background:#fff1f2 !important;
    border-color:rgba(225,29,72,.26) !important;
    color:#be123c !important;
    -webkit-text-fill-color:#be123c !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-save-cause-toggle:disabled{
    opacity:.72 !important;
    cursor:wait !important;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-save-cause-icon{
    font-size:15px !important;
    line-height:1 !important;
}
@media(max-width:760px){
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-save-cause-toggle{
        min-width:42px !important;
        min-height:42px !important;
        padding:0 11px !important;
    }
}

/* v2.1.9 Collections donor UI */
.kwf-shop-collections{display:flex;gap:10px;overflow:auto;padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid #edf2ee;scrollbar-width:thin}.kwf-shop-collections button{border:1px solid #dbe8dd;background:#fff;color:#173c2a;border-radius:18px;padding:12px 15px;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.05)}.kwf-shop-collections button span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin-left:7px;padding:0 7px;border-radius:999px;background:#eef7f1;color:#087a2f;font-size:12px}.kwf-shop-collections button.is-active,.kwf-shop-collections button:hover{background:#123d2a;color:#fff;border-color:#123d2a}.kwf-shop-collections button.is-active span,.kwf-shop-collections button:hover span{background:rgba(255,255,255,.18);color:#fff}
@media(max-width:760px){.kwf-shop-collections{margin-left:-4px;margin-right:-4px}.kwf-shop-collections button{padding:10px 13px;border-radius:999px}}

/* Giving Centre modal portal stabilisation v2.2.22 */
body > .kwf-shop-modal{
    contain:none !important;
    isolation:isolate !important;
    transform:none !important;
    filter:none !important;
    perspective:none !important;
}
body > .kwf-shop-modal .kwf-shop-modal-panel:focus{outline:none !important;}

/* Giving Centre basket controls — v2.2.24. Basket-only enhancement. */
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:10px 12px;
    padding-bottom:14px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item-name{
    display:block;
    line-height:1.3;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-impact{
    display:block;
    color:#708178;
    font-size:11px;
    font-weight:500;
    line-height:1.35;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-frequency{
    display:inline-flex;
    margin-top:1px;
    color:#16813a;
    font-size:10px;
    font-weight:700;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.04em;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item-price{
    padding-top:1px;
    font-size:14px;
    line-height:1.3;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item-controls{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:7px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-quantity{
    display:inline-grid;
    grid-template-columns:28px 34px 28px;
    align-items:center;
    overflow:hidden;
    border:1px solid #dbe6de;
    border-radius:9px;
    background:#fff;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-qty{
    width:28px;
    height:28px;
    padding:0;
    border:0;
    background:#f2f7f3;
    color:#173c2a;
    font-size:16px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-qty:hover{
    background:#e4f1e7;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-qty-input{
    width:34px;
    height:28px;
    padding:0;
    border:0;
    border-right:1px solid #dbe6de;
    border-left:1px solid #dbe6de;
    border-radius:0;
    background:#fff;
    color:#173c2a;
    font-size:12px;
    font-weight:700;
    text-align:center;
    appearance:textfield;
    -moz-appearance:textfield;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-qty-input::-webkit-inner-spin-button,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-qty-input::-webkit-outer-spin-button{
    margin:0;
    -webkit-appearance:none;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-remove{
    padding:3px 0;
    border:0;
    background:transparent;
    color:#a83a2b;
    font-size:11px;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:2px;
    cursor:pointer;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item-status{
    grid-column:1/-1;
    min-height:0;
    color:#687b71;
    font-size:10px;
    font-weight:600;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item.is-updating{
    opacity:.58;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item button:disabled,
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item input:disabled{
    cursor:wait;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket.is-empty .kwf-shop-basket-actions{
    display:none;
}
@media(max-width:420px){
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-item{
        grid-template-columns:minmax(0,1fr) auto;
    }
}

/* Giving Centre basket polish — v2.2.25. Strictly scoped to the basket. */
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket{
    display:flex;
    flex-direction:column;
    max-height:calc(100vh - 40px);
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-head{
    flex:0 0 auto;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-summary{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-actions{
    flex:0 0 auto;
    position:sticky;
    bottom:0;
    z-index:2;
    padding-top:14px;
    border-top:1px solid #edf2ee;
    background:#fff;
    box-shadow:0 -12px 24px rgba(15,23,42,.05);
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-group + .kwf-shop-basket-group{
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid #dfe8e2;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-group-title{
    margin:0 0 10px;
    color:#66786f;
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    line-height:1.2;
    text-transform:uppercase;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-quantity{
    grid-template-columns:36px 40px 36px;
    border-radius:11px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-qty{
    width:36px;
    height:36px;
    font-size:19px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-qty-input{
    width:40px;
    height:36px;
    font-size:13px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-remove{
    min-height:36px;
    padding:0 4px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-impact-summary{
    margin-top:16px;
    padding:13px 14px;
    border:1px solid #dcebdd;
    border-radius:14px;
    background:#f4fbf6;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-impact-summary > strong{
    display:block;
    margin-bottom:7px;
    color:#173c2a;
    font-size:12px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-impact-summary ul{
    display:grid;
    gap:5px;
    margin:0;
    padding:0;
    list-style:none;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-impact-summary li{
    position:relative;
    padding-left:17px;
    color:#5e7167;
    font-size:11px;
    line-height:1.35;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-impact-summary li::before{
    content:'✓';
    position:absolute;
    left:0;
    top:0;
    color:#16813a;
    font-weight:800;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-total{
    align-items:flex-end;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid #edf2ee;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-total span{
    display:grid;
    gap:2px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-total small{
    color:#74857c;
    font-size:10px;
    font-weight:600;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-empty{
    display:flex;
    min-height:245px;
    padding:22px 10px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-empty-icon{
    display:flex;
    width:54px;
    height:54px;
    margin-bottom:12px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#f0f8f2;
    color:#16813a;
    font-size:30px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-empty strong{
    color:#173c2a;
    font-size:16px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-empty p{
    max-width:240px;
    margin:7px 0 14px;
    font-size:12px;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-browse{
    min-height:40px;
    padding:0 16px;
    border:0;
    border-radius:999px;
    background:#16813a;
    color:#fff;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
:is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket-summary.is-refreshed{
    animation:kwfBasketRefresh .28s ease;
}
@keyframes kwfBasketRefresh{
    from{opacity:.65;transform:translateY(3px)}
    to{opacity:1;transform:translateY(0)}
}
@media(max-width:920px){
    :is(.kwf-portal-tab-donate, .kwf-donation-shop-public) .kwf-shop-basket{max-height:100vh;}
}

/* Public Giving Centre foundation — v2.3.0 RC1 */
/* Public Giving Centre layout parity — RC2 */
.kwf-public-giving-centre{
    width:min(1380px,calc(100% - 64px));
    margin:40px auto 64px;
}
.kwf-public-giving-centre *{box-sizing:border-box}
.kwf-donation-shop-public .kwf-shop-layout{
    grid-template-columns:minmax(0,1fr) 390px !important;
    gap:24px !important;
}
.kwf-donation-shop-public .kwf-shop-basket{
    min-width:0;
}
@media(max-width:1450px){
    .kwf-public-giving-centre{width:min(1320px,calc(100% - 48px));}
    .kwf-donation-shop-public .kwf-shop-layout{grid-template-columns:minmax(0,1fr) 370px !important;}
}
@media(max-width:1180px){
    .kwf-public-giving-centre{width:min(100% - 40px,1180px);}
    .kwf-donation-shop-public .kwf-shop-layout{display:block !important;}
}
@media(max-width:760px){
    .kwf-public-giving-centre{width:calc(100% - 20px);margin:24px auto 40px;}
}

/* Public Giving Centre mobile feedback and controls — v2.3.0 RC3 */
.kwf-shop-mobile-bar,
.kwf-shop-success-feedback,
.kwf-shop-confetti{
    display:none;
}
@media(max-width:920px){
    .kwf-donation-shop-public{
        padding-bottom:96px;
    }
    .kwf-donation-shop-public .kwf-shop-basket-toggle{
        display:none !important;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-bar{
        position:fixed;
        z-index:99940;
        right:10px;
        bottom:max(10px,env(safe-area-inset-bottom));
        left:10px;
        display:grid;
        grid-template-columns:minmax(86px,1fr) auto auto;
        gap:8px;
        align-items:center;
        min-height:68px;
        padding:9px;
        border:1px solid rgba(18,75,45,.14);
        border-radius:20px;
        background:rgba(255,255,255,.97);
        box-shadow:0 14px 38px rgba(12,51,31,.24);
        backdrop-filter:blur(14px);
        -webkit-backdrop-filter:blur(14px);
        transition:opacity .2s ease,transform .2s ease;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-bar.is-empty{
        opacity:0;
        pointer-events:none;
        transform:translateY(calc(100% + 24px));
    }
    .kwf-donation-shop-public .kwf-shop-mobile-total{
        min-width:0;
        padding-left:5px;
        color:#173c2a;
        line-height:1.15;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-total > span{
        display:block;
        margin-bottom:3px;
        color:#607267;
        font-size:11px;
        font-weight:700;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-total b{
        display:block;
        overflow:hidden;
        font-size:17px;
        font-weight:900;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-open-basket,
    .kwf-donation-shop-public .kwf-shop-mobile-checkout{
        display:inline-flex;
        min-height:46px;
        padding:0 13px;
        align-items:center;
        justify-content:center;
        border-radius:14px;
        font-size:12px;
        font-weight:850;
        line-height:1.1;
        text-align:center;
        text-decoration:none;
        cursor:pointer;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-open-basket{
        border:1px solid #16813a;
        background:#fff;
        color:#126d31;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-checkout{
        border:1px solid #16813a;
        background:#16813a;
        color:#fff;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-bar.is-pulsing{
        animation:kwfMobileBarPulse .65s ease;
    }
    .kwf-donation-shop-public .kwf-shop-success-feedback{
        position:fixed;
        z-index:99960;
        top:50%;
        left:50%;
        display:flex;
        min-width:190px;
        padding:18px 22px;
        align-items:center;
        justify-content:center;
        gap:10px;
        border-radius:999px;
        background:rgba(16,105,48,.96);
        box-shadow:0 18px 46px rgba(7,56,27,.3);
        color:#fff;
        opacity:0;
        transform:translate(-50%,-44%) scale(.9);
        transition:opacity .2s ease,transform .2s ease;
        pointer-events:none;
    }
    .kwf-donation-shop-public .kwf-shop-success-feedback[hidden]{
        display:none;
    }
    .kwf-donation-shop-public .kwf-shop-success-feedback.is-visible{
        opacity:1;
        transform:translate(-50%,-50%) scale(1);
    }
    .kwf-donation-shop-public .kwf-shop-success-feedback span{
        display:inline-flex;
        width:30px;
        height:30px;
        align-items:center;
        justify-content:center;
        border-radius:50%;
        background:#fff;
        color:#16813a;
        font-size:18px;
        font-weight:900;
    }
    .kwf-shop-confetti{
        position:fixed;
        z-index:99955;
        left:50%;
        bottom:80px;
        display:block;
        width:1px;
        height:1px;
        pointer-events:none;
    }
    .kwf-shop-confetti i{
        position:absolute;
        width:8px;
        height:13px;
        border-radius:2px;
        background:#16813a;
        animation:kwfConfettiBurst .9s cubic-bezier(.12,.7,.18,1) var(--kwf-confetti-delay) forwards;
    }
    .kwf-shop-confetti i:nth-child(3n+2){background:#ff7a3d}
    .kwf-shop-confetti i:nth-child(3n+3){background:#f4c542}
}
@media(max-width:480px){
    .kwf-donation-shop-public .kwf-shop-mobile-bar{
        grid-template-columns:minmax(72px,1fr) 88px 116px;
        gap:6px;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-open-basket,
    .kwf-donation-shop-public .kwf-shop-mobile-checkout{
        padding:0 8px;
        font-size:11px;
    }
}
@keyframes kwfMobileBarPulse{
    0%,100%{transform:scale(1)}
    45%{transform:scale(1.025)}
}
@keyframes kwfConfettiBurst{
    0%{opacity:1;transform:translate(0,0) rotate(0)}
    70%{opacity:1;transform:translate(var(--kwf-confetti-x),var(--kwf-confetti-y)) rotate(var(--kwf-confetti-r))}
    100%{opacity:0;transform:translate(var(--kwf-confetti-x),30px) rotate(var(--kwf-confetti-r))}
}
@media(prefers-reduced-motion:reduce){
    .kwf-donation-shop-public .kwf-shop-mobile-bar,
    .kwf-donation-shop-public .kwf-shop-success-feedback,
    .kwf-shop-confetti i{
        animation:none !important;
        transition:none !important;
    }
    .kwf-shop-confetti{display:none !important}
}


/* v2.3.0 RC4 — mobile action-bar clearance and shared success feedback. */
body.kwf-public-giving-centre-active #cky-btn-revisit-wrapper,
body.kwf-public-giving-centre-active .cky-btn-revisit-wrapper,
body.kwf-public-giving-centre-active .cky-revisit-bottom-left,
body.kwf-public-giving-centre-active .cky-revisit-bottom-right{
    display:none !important;
}

@media(max-width:920px){
    body.kwf-public-giving-centre-active .gdlr-core-top-button,
    body.kwf-public-giving-centre-active .gdlr-core-top-button-wrap,
    body.kwf-public-giving-centre-active #gdlr-core-top-button,
    body.kwf-public-giving-centre-active .goodlayers-core-top-button,
    body.kwf-public-giving-centre-active .chariti-footer-back-to-top-button,
    body.kwf-public-giving-centre-active .chariti-footer-back-to-top-button-wrap,
    body.kwf-public-giving-centre-active .back-to-top,
    body.kwf-public-giving-centre-active #back-to-top{
        bottom:calc(max(14px,env(safe-area-inset-bottom)) + 126px) !important;
        z-index:99930 !important;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-total > span{
        margin-bottom:1px;
        font-size:12px;
    }
    .kwf-donation-shop-public .kwf-shop-mobile-total b{
        font-size:clamp(24px,7vw,31px);
        line-height:1;
        letter-spacing:-.035em;
    }
}

@media(min-width:921px){
    .kwf-donation-shop-public .kwf-shop-success-feedback{
        position:fixed;
        z-index:99960;
        top:50%;
        left:50%;
        display:flex;
        min-width:220px;
        padding:20px 26px;
        align-items:center;
        justify-content:center;
        gap:11px;
        border-radius:999px;
        background:rgba(16,105,48,.97);
        box-shadow:0 20px 54px rgba(7,56,27,.32);
        color:#fff;
        opacity:0;
        transform:translate(-50%,-44%) scale(.9);
        transition:opacity .2s ease,transform .2s ease;
        pointer-events:none;
    }
    .kwf-donation-shop-public .kwf-shop-success-feedback[hidden]{display:none}
    .kwf-donation-shop-public .kwf-shop-success-feedback.is-visible{
        opacity:1;
        transform:translate(-50%,-50%) scale(1);
    }
    .kwf-donation-shop-public .kwf-shop-success-feedback span{
        display:inline-flex;
        width:32px;
        height:32px;
        align-items:center;
        justify-content:center;
        border-radius:50%;
        background:#fff;
        color:#16813a;
        font-size:19px;
        font-weight:900;
    }
    .kwf-shop-confetti{
        position:fixed;
        z-index:99955;
        left:50%;
        bottom:42%;
        display:block;
        width:1px;
        height:1px;
        pointer-events:none;
    }
    .kwf-shop-confetti i{
        position:absolute;
        width:8px;
        height:13px;
        border-radius:2px;
        background:#16813a;
        animation:kwfConfettiBurst .9s cubic-bezier(.12,.7,.18,1) var(--kwf-confetti-delay) forwards;
    }
    .kwf-shop-confetti i:nth-child(3n+2){background:#ff7a3d}
    .kwf-shop-confetti i:nth-child(3n+3){background:#f4c542}
}


/* v2.3.0 RC5 — keep the mobile total on one line, including WooCommerce markup. */
@media(max-width:920px){
    .kwf-donation-shop-public .kwf-shop-mobile-total b,
    .kwf-donation-shop-public .kwf-shop-mobile-total .woocommerce-Price-amount,
    .kwf-donation-shop-public .kwf-shop-mobile-total .woocommerce-Price-amount bdi,
    .kwf-donation-shop-public .kwf-shop-mobile-total .woocommerce-Price-currencySymbol{
        display:inline !important;
        white-space:nowrap !important;
        overflow-wrap:normal !important;
        word-break:normal !important;
    }
}


/* v2.3.0 RC6 — dynamic back-to-top clearance and larger-total capacity. */
@media(max-width:920px){
    body.kwf-public-giving-centre-active .gdlr-core-top-button,
    body.kwf-public-giving-centre-active .gdlr-core-top-button-wrap,
    body.kwf-public-giving-centre-active #gdlr-core-top-button,
    body.kwf-public-giving-centre-active .goodlayers-core-top-button,
    body.kwf-public-giving-centre-active .chariti-footer-back-to-top-button,
    body.kwf-public-giving-centre-active .chariti-footer-back-to-top-button-wrap,
    body.kwf-public-giving-centre-active .back-to-top,
    body.kwf-public-giving-centre-active #back-to-top{
        bottom:var(--kwf-mobile-action-clearance,112px) !important;
    }

    .kwf-donation-shop-public .kwf-shop-mobile-bar{
        grid-template-columns:minmax(106px,.82fr) minmax(96px,1fr) minmax(116px,1.18fr);
    }

    .kwf-donation-shop-public .kwf-shop-mobile-total{
        min-width:106px;
        overflow:visible;
    }

    .kwf-donation-shop-public .kwf-shop-mobile-total b{
        max-width:100%;
        overflow:visible;
        font-size:clamp(20px,5.8vw,27px);
        line-height:1;
        letter-spacing:-.04em;
        font-variant-numeric:tabular-nums;
        text-overflow:clip;
    }
}

@media(max-width:390px){
    .kwf-donation-shop-public .kwf-shop-mobile-bar{
        right:6px;
        left:6px;
        grid-template-columns:minmax(98px,.78fr) minmax(91px,1fr) minmax(108px,1.12fr);
        gap:6px;
        padding:8px;
    }

    .kwf-donation-shop-public .kwf-shop-mobile-total{
        min-width:98px;
        padding-left:2px;
    }

    .kwf-donation-shop-public .kwf-shop-mobile-total b{
        font-size:clamp(19px,5.5vw,23px);
    }

    .kwf-donation-shop-public .kwf-shop-mobile-open-basket,
    .kwf-donation-shop-public .kwf-shop-mobile-checkout{
        padding-right:9px;
        padding-left:9px;
        font-size:11px;
    }
}
