/* IPJ Giving mobile-first express form - does not alter other pages */
.ipjg-fast-form{display:grid;gap:15px;margin:0}
.ipjg-fast-form .ipjg-fast-section{background:#fff;border:1px solid #ebe8e4;border-radius:17px;padding:17px;min-width:0}
.ipjg-fast-heading{display:flex;align-items:center;gap:10px;margin-bottom:15px}
.ipjg-fast-heading h3{margin:0;font-size:15px!important;line-height:1.25;font-weight:800!important;color:#242730!important;font-family:inherit!important;letter-spacing:0!important}
.ipjg-step{flex:0 0 27px;height:27px;border-radius:50%;background:#761b2a;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}
.ipjg-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.ipjg-type-grid button{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:89px;border:1.5px solid #e2e0df;background:#fbfbfb;border-radius:14px;font:700 12px/1.3 inherit!important;color:#333842;cursor:pointer;padding:11px 4px;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.ipjg-type-grid button:active,.ipjg-quick-amounts button:active{transform:scale(.97)}
.ipjg-type-grid button.is-active{border-color:#8d2937;background:#fff1f3;color:#721a28;box-shadow:0 0 0 1px #8d2937}
.ipjg-type-grid button:focus-visible,.ipjg-quick-amounts button:focus-visible,.ipjg-frequency-grid button:focus-visible{outline:3px solid rgba(126,33,49,.25);outline-offset:2px}
.ipjg-type-icon{font-size:27px;height:31px;line-height:1}
.ipjg-project-step{margin-top:14px}
.ipjg-fast-hint{font-size:12px;color:#666e76;font-weight:650;margin:6px 0 10px}
.ipjg-project-cards{display:grid;gap:9px}
.ipjg-project-card{text-align:left;display:flex;flex-direction:column;gap:7px;border:1.5px solid #e5e3e2;border-radius:12px;background:#fff;cursor:pointer;padding:13px 14px;color:#222;font-family:inherit}
.ipjg-project-card.is-active{border-color:#8c2737;background:#fff7f8}
.ipjg-project-card strong{font-size:14px}
.ipjg-project-sub{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px;color:#657078}
.ipjg-progress-track{display:block;height:7px;border-radius:10px;background:#eae9e8;overflow:hidden}
.ipjg-progress-fill{display:block;height:100%;background:linear-gradient(90deg,#9b4253,#6c1d2c);border-radius:10px}
.ipjg-quick-amounts{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px!important;margin:0!important}
.ipjg-quick-amounts button{min-height:47px;padding:10px 5px!important;border:1.5px solid #e1e1e4!important;border-radius:11px!important;background:#fff!important;color:#33373e!important;font:750 13px/1.2 inherit!important;cursor:pointer}
.ipjg-quick-amounts button.is-active{color:#fff!important;background:#292c33!important;border-color:#292c33!important}
.ipjg-quick-amounts [data-amount-other]{grid-column:span 1;font-size:11px!important}
.ipjg-custom-amount{margin-top:13px;display:grid;gap:6px;font-size:12px}
.ipjg-custom-amount input{width:100%;font-size:19px!important;font-weight:750;min-height:48px}
.ipjg-options-wrap{padding:0!important;overflow:hidden}
.ipjg-more-button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:#f8f7f6;border:0;padding:16px 17px;color:#39404a;font-size:12px;font-weight:800;cursor:pointer}
.ipjg-more-button span:last-child{font-size:19px}
.ipjg-more-panel{padding:14px 16px 16px;display:grid;gap:14px}
.ipjg-frequency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ipjg-frequency-grid button{font:750 12px/1.3 inherit;min-height:40px;border:1px solid #ddd;border-radius:10px;background:#fff;cursor:pointer;padding:8px}
.ipjg-frequency-grid button.is-active{color:#731f2b;border-color:#7d2939;background:#fff2f3}
.ipjg-donor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ipjg-donor-grid label{font-size:11px;display:grid;gap:5px;color:#50545d}
.ipjg-donor-grid input{width:100%;min-width:0;border:1px solid #dddfe4;border-radius:9px;padding:12px;font-size:14px}
.ipjg-support-toggle{display:flex!important;gap:11px;align-items:flex-start;padding:13px!important;border-radius:13px;border:1px solid #dedce0;background:#faf9f8;cursor:pointer;font-size:12px!important}
.ipjg-support-toggle>input{width:18px!important;min-width:18px!important;height:18px;margin:2px 0 0;accent-color:#761b2a;cursor:pointer}
.ipjg-support-toggle .ipjg-switch{display:none}
.ipjg-support-toggle strong{display:block;font-size:12px;line-height:1.4;color:#333844}
.ipjg-support-toggle small{display:block;font-size:10.5px;line-height:1.5;margin-top:4px;color:#727780;font-weight:400}
.ipjg-breakdown{padding:11px 0 2px;display:grid;gap:10px}
.ipjg-breakdown>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;color:#545b65}
.ipjg-breakdown>div strong{white-space:nowrap;color:#30343b;font-size:15px;font-variant-numeric:tabular-nums}
.ipjg-breakdown .ipjg-grandtotal{padding-top:12px;border-top:1px solid #e2e2e3;color:#24262b;font-size:14px;font-weight:800}
.ipjg-breakdown .ipjg-grandtotal strong{font-size:23px;color:#7a2031}
.ipjg-breakdown small{font-size:10px;line-height:1.55;color:#777e86}
.ipjg-fast-form .ipjd-paypal{min-height:48px}
.ipjg-fast-form [hidden]{display:none!important}
.ipjg-give-card{padding:22px!important}
.ipjg-give-intro{padding-top:38px}
@media(max-width:650px){
 .ipjg-give-page{padding:23px 0 45px}
 .ipjg-give-shell{gap:12px}
 .ipjg-give-intro h1{font-size:29px;margin:9px 0 10px}
 .ipjg-give-intro p{font-size:13px;line-height:1.6}
 .ipjg-trust{margin-top:11px;gap:5px}
 .ipjg-trust span{font-size:10px;padding:7px}
 .ipjg-give-card{padding:10px!important;border-radius:18px}
 .ipjg-give-card>.ipjd-mark{display:none}
 .ipjg-fast-form{gap:9px}
 .ipjg-fast-form .ipjg-fast-section{padding:13px;border-radius:13px}
 .ipjg-type-grid{gap:6px}
 .ipjg-type-grid button{min-height:73px;font-size:10.5px!important;padding:8px 2px;border-radius:11px}
 .ipjg-type-icon{font-size:23px;height:24px}
 .ipjg-quick-amounts{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px!important}
 .ipjg-quick-amounts button{min-height:43px;padding:7px 2px!important;font-size:11px!important}
 .ipjg-quick-amounts [data-amount-other]{font-size:9.5px!important;line-height:1.15!important}
 .ipjg-fast-heading{margin-bottom:11px}
 .ipjg-more-button{padding:12px 14px}
 .ipjg-donor-grid{grid-template-columns:1fr}
 .ipjg-breakdown .ipjg-grandtotal strong{font-size:22px}
}

/* Stable WordPress-owned SVG icons, not glyphs/fonts from the browser. */
.ipjg-type-grid .ipjg-type-icon{display:block;width:30px!important;height:30px!important;object-fit:contain;flex:none}
.ipjg-type-grid button.is-active .ipjg-type-icon{filter:sepia(80%) saturate(500%) hue-rotate(300deg) brightness(.7)}
.ipjg-anonymous-hint{margin:0!important;padding:0;font-size:11px!important}
.ipjg-type-grid button{font-family:inherit!important;line-height:1.25!important}
.ipjg-fast-form button,.ipjg-fast-form a{-webkit-tap-highlight-color:transparent}
@media(max-width:450px){.ipjg-type-grid .ipjg-type-icon{width:25px!important;height:25px!important}.ipjg-type-grid button{font-size:10px!important}}
/* Compact trust strip instead of nested badges/cards. */
.ipjg-give-intro .ipjg-trust{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:13px}
.ipjg-give-intro .ipjg-trust span{background:transparent!important;border:0!important;border-radius:0!important;padding:2px 0!important;box-shadow:none!important;color:#67717b;font-size:11px;font-weight:700}
.ipjg-give-intro .ipjg-trust span+span:before{content:'·';margin-right:10px;color:#9ba1a6}
body .ipjg-give-page{padding-top:calc(126px + env(safe-area-inset-top,0px))!important}
.ipjg-give-intro{padding-top:0!important}
@media(max-width:900px){body .ipjg-give-page{padding-top:calc(104px + env(safe-area-inset-top,0px))!important}}
@media(max-width:620px){body .ipjg-give-page{padding-top:calc(93px + env(safe-area-inset-top,0px))!important}.ipjg-give-intro .ipjg-trust{justify-content:flex-start;gap:2px 8px}.ipjg-give-intro .ipjg-trust span{font-size:9.5px}.ipjg-give-intro .ipjg-trust span+span:before{margin-right:6px}}
/* Keep fixed radio dock distinct from PayPal's iframes and leave scrolling room. */
body.has-global-radio .ipjg-give-page{padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))!important}
body.has-global-radio .ipjg-fast-form .ipjg-checkout-summary{scroll-margin-bottom:calc(130px + env(safe-area-inset-bottom,0px))}
body.has-global-radio .roca-radio-player.rr-compact{z-index:120!important}
body.ipjd-open .roca-radio-player.rr-compact{visibility:hidden;pointer-events:none!important}
body.ipjd-open .ipjd-modal{z-index:99999}
body .ipjg-give-page .ipjd-paypal{position:relative;z-index:1;max-width:100%}
body .ipjg-give-page .ipjd-paypal iframe{max-width:100%}
@media(max-width:600px){body.has-global-radio .ipjg-give-page{padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))!important}}

/* Variable number (1-8) of quick amounts controlled by Manager. */
.ipjg-quick-amounts{grid-template-columns:repeat(auto-fit,minmax(66px,1fr))!important}
.ipjg-quick-amounts [data-amount-other]{grid-column:auto!important}
@media(max-width:440px){.ipjg-quick-amounts{grid-template-columns:repeat(auto-fit,minmax(60px,1fr))!important}}
