/* =========================================================
   PS Giving — Frontend Styles
   ========================================================= */

/* ----- Goal Block ----- */
.pmg-goal-wrap {
    width: 100%;
    box-sizing: border-box;
}

.pmg-goal-amounts {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.pmg-raised-label {
    font-size: 24px;
    font-weight: 400;
    color: inherit;
}

.pmg-raised-value {
    font-size: 35px;
    font-weight: 700;
    color: inherit;
}

.pmg-goal-label {
    font-size: 17px;
    color: inherit;
    opacity: 0.7;
}

.pmg-progress-bar {
  width: 100%;
  height: 15px;
  background: rgb(236, 239, 244);
  border-radius: 0px;
  overflow: hidden;
  margin-bottom: 10px;
}

.pmg-progress-fill {
    height: 100%;
    background: #002D6B;
    border-radius: 100px;
    transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.pmg-goal-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    opacity: 0.7;
    color: inherit;
}

/* ----- Donate Button ----- */
.pmg-donate-wrap {
    display: block;
    width: 100%;
    margin-top: 30px;
}

.pmg-donate-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    background: #002D6B;
    color: #ffffff;
    border: 2px solid #002D6B;
    border-radius: 6px;
    padding: 12px 28px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    line-height: 1;
    transition: opacity 0.2s ease, transform 0.15s ease;
    box-sizing: border-box;
}

.pmg-donate-btn:hover {
    background: #001f4d;
    transform: translateY(-1px);
}

.pmg-donate-btn:active {
    transform: translateY(0);
}

/* ----- Modal ----- */
.pmg-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.pmg-modal.open {
    opacity: 1;
    pointer-events: all;
}

.pmg-modal-overlay {
    position: absolute;
    inset: 0;
    background: #64748BC7;
    cursor: pointer;
}

.pmg-modal-inner {
    position: relative;
    background: #ffffff;
    border-radius: 15px;
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 36px 32px 32px;
    box-sizing: border-box;
    box-shadow: 0 0 31px rgba(78, 89, 114, 0.25);
    transform: translateY(12px);
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    margin: 0 16px;
}

.pmg-modal-inner::-webkit-scrollbar {
    display: none;
}

.pmg-modal.open .pmg-modal-inner {
    transform: translateY(0);
}

.pmg-modal-close {
    position: absolute;
    top: 16px;
    right: 18px;
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    color: #9ca3af;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: color 0.15s ease;
}

.pmg-modal-close:hover {
    color: #1e2433;
}

.pmg-modal-title {
    font-size: 20px;
    font-weight: 700;
    color: #1e2433;
    margin: 0 0 24px;
}

/* ----- Amount Grid ----- */
.pmg-amount-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 12px;
}

.pmg-amount-btn {
    background: #f3f4f6;
    border: 2px solid transparent;
    border-radius: 6px;
    padding: 10px 0;
    font-size: 15px;
    font-weight: 600;
    color: #1e2433;
    cursor: pointer;
    transition: all 0.15s ease;
}

.pmg-amount-btn:hover {
    border-color: #002D6B;
    color: #002D6B;
}

.pmg-amount-btn.selected {
    background: #002D6B;
    border-color: #002D6B;
    color: #ffffff;
}

.pmg-custom-amount-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 8px 12px;
    transition: border-color 0.15s ease;
}

.pmg-custom-amount-wrap:focus-within {
    border-color: #002D6B;
    box-shadow: 0 0 0 2px rgba(0,45,107,.12);
}

.pmg-currency-sign {
    font-size: 16px;
    font-weight: 600;
    color: #9ca3af;
    flex-shrink: 0;
}

.pmg-custom-amount {
    border: none;
    outline: none;
    font-size: 16px;
    width: 100%;
    color: #1e2433;
    background: transparent;
}

/* ----- Donor Fields ----- */
.pmg-donor-fields {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.pmg-field-row {
    display: block;
}

.pmg-field {
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 15px;
    color: #1e2433;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.15s ease;
    font-family: inherit;
    resize: vertical;
}

.pmg-field:focus {
    outline: none;
    border-color: #002D6B;
    box-shadow: 0 0 0 2px rgba(0,45,107,.12);
}

.pmg-anon-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #4b5563;
    cursor: pointer;
    user-select: none;
}

/* ----- Square Card Container ----- */
.pmg-card-container {
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 12px;
    margin-bottom: 16px;
    min-height: 48px;
    transition: border-color 0.15s ease;
}

.pmg-card-container:focus-within {
    border-color: #002D6B;
    box-shadow: 0 0 0 2px rgba(0,45,107,.12);
}

/* ----- Error ----- */
.pmg-payment-error {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    color: #b91c1c;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 14px;
    margin-bottom: 14px;
}

/* ----- Submit Button ----- */
.pmg-submit-btn {
    width: 100%;
    background: #002D6B;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 13px 0;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: inherit;
}

.pmg-submit-btn:hover:not(:disabled) {
    background: #001f4d;
}

.pmg-submit-btn:disabled {
    opacity: 0.65;
    cursor: default;
}

.pmg-submit-spinner {
    display: none;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: pmg-spin 0.65s linear infinite;
    flex-shrink: 0;
}

.pmg-submit-btn.loading .pmg-submit-spinner {
    display: block;
}

.pmg-submit-btn.loading .pmg-submit-text {
    opacity: 0.75;
}

@keyframes pmg-spin {
    to { transform: rotate(360deg); }
}

.pmg-secure-note {
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
    font-size: 12px;
    color: #9ca3af;
    margin: 12px 0 0;
}

/* ----- Success State ----- */
.pmg-success-msg {
    text-align: center;
    padding: 12px 0;
}

.pmg-success-msg svg {
    display: block;
    margin: 0 auto 16px;
}

.pmg-success-msg h3 {
    font-size: 20px;
    font-weight: 700;
    color: #1e2433;
    margin: 0 0 8px;
}

.pmg-success-msg p {
    font-size: 14px;
    color: #6b7280;
    margin: 0;
}

/* ----- Donor Wall ----- */
.pmg-donor-wall {
    width: 100%;
    box-sizing: border-box;
}

.pmg-donor-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pmg-donor-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.pmg-donor-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    display: block;
}

.pmg-donor-details {
    flex: 1;
    min-width: 0;
}

.pmg-donor-name {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: inherit;
    line-height: 1.2;
    margin-bottom: 2px;
}

.pmg-donor-amount {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: #002D6B;
    background: rgba(0,45,107,0.08);
    border-radius: 100px;
    padding: 1px 10px;
    margin-bottom: 6px;
}

.pmg-donor-msg {
    font-size: 14px;
    color: inherit;
    opacity: 0.75;
    margin: 4px 0 4px;
    line-height: 1.4;
}

.pmg-donor-date {
    display: block;
    font-size: 12px;
    color: inherit;
    opacity: 0.5;
}

.pmg-no-donors {
    font-size: 14px;
    opacity: 0.6;
    color: inherit;
}

.pmg-load-more-btn {
    display: block;
    width: 100%;
    margin-top: 20px;
    background: none;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #4b5563;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.pmg-load-more-btn:hover {
    border-color: #002D6B;
    color: #002D6B;
}

.pmg-load-more-btn:disabled {
    opacity: 0.45;
    cursor: default;
}

/* ----- Candles ----- */
.pmg-candles-wrap {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.pmg-candle-count {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    color: inherit;
}

.pmg-candle-icon {
    font-size: 22px;
    line-height: 1;
}

.pmg-candle-count-value {
    font-weight: 700;
    font-size: 20px;
}

.pmg-light-candle-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: 2px solid currentColor;
    border-radius: 6px;
    padding: 9px 20px;
    font-size: 15px;
    font-weight: 600;
    color: inherit;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    font-family: inherit;
}

.pmg-light-candle-btn:hover:not(:disabled) {
    background: currentColor;
    color: #fff;
}

.pmg-light-candle-btn.pmg-candle-lit {
    opacity: 0.55;
    cursor: default;
}

.pmg-candle-icon-sm {
    font-size: 16px;
    line-height: 1;
}

/* ----- Admin Notice ----- */
.pmg-admin-notice {
    background: #fef3c7;
    border: 1px solid #fcd34d;
    color: #92400e;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 14px;
}

/* ----- Responsive ----- */
@media (max-width: 560px) {
    .pmg-modal-inner {
        padding: 28px 20px 24px;
    }

    .pmg-amount-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pmg-candles-wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* =========================================================
   Embedded Giving Form — Project Semicolon reference design
   ========================================================= */
.pmg-giving-form{width:100%;max-width:540px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#3e4a53;box-sizing:border-box}
.pmg-giving-card{background:#fff;border:1px solid #d7e0e5;border-radius:12px;box-shadow:0 1px 3px rgba(28,55,70,.04);overflow:hidden}
.pmg-giving-gift{padding:34px 34px 18px}
.pmg-giving-title{text-align:center;font-size:18px;line-height:1.25;font-weight:700;color:#38444c;margin:0 0 22px}
.pmg-frequency-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #b9c6cd;margin:0 0 16px}
.pmg-frequency-tab{appearance:none;border:0;background:transparent;color:#7d8991;font:500 14px/1.2 inherit;padding:0 10px 13px;cursor:pointer;position:relative}
.pmg-frequency-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#08a8df;transform:scaleX(0);transition:transform .15s ease}
.pmg-frequency-tab.is-active{color:#08a8df;font-weight:600}.pmg-frequency-tab.is-active:after{transform:scaleX(1)}
.pmg-calendar-icon{font-size:13px;margin-right:5px}
.pmg-frequency-panel[hidden]{display:none}.pmg-frequency-panel.is-active{display:block}
.pmg-amount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 12px}.pmg-amount-grid--six .pmg-giving-amount:nth-child(5){grid-column:1}.pmg-amount-grid--six .pmg-giving-amount:nth-child(6){grid-column:2 / span 3}
.pmg-giving-amount{height:46px;background:#fff;border:1px solid #b9c7cf;border-radius:5px;color:#4c5961;font:600 14px/1 inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,color .15s}
.pmg-giving-amount:hover,.pmg-giving-amount.is-selected,.pmg-giving-amount[aria-pressed="true"]{border-color:#08a8df;color:#08a8df;box-shadow:0 0 0 1px #08a8df inset}
.pmg-giving-amount--other{color:#929da3;font-weight:500}
.pmg-other-wrap{display:flex;align-items:center;gap:7px;border:1px solid #08a8df;border-radius:5px;padding:0 12px;height:46px;margin:0 0 12px}.pmg-other-wrap span{color:#08a8df;font-weight:600}.pmg-other-wrap input{border:0;outline:0;width:100%;font:14px inherit;color:#39454d}.pmg-other-wrap input::-webkit-inner-spin-button{display:none}
.pmg-impact-banner{display:block;width:100%;border:0;border-radius:3px;background:#e9f6fa;color:#08a8df;font:700 12px/1.35 inherit;padding:13px 12px;cursor:pointer;text-align:center}
.pmg-impact-banner span{margin-right:7px}.pmg-monthly-label{font-size:13px;color:#697780;margin:0 0 10px}.pmg-monthly-label strong{color:#08a8df}.pmg-impact-box{background:#f4f6f7;border-radius:4px;padding:14px 14px 12px;text-align:center;color:#5e6b73;margin-top:8px}.pmg-impact-box strong{display:block;font-size:12px;margin-bottom:8px;color:#58656d}.pmg-impact-box p{font-size:11px;line-height:1.55;margin:0}.pmg-impact-divider{border-top:1px dashed #d3d9dd;margin:10px 0}
.pmg-giving-section{margin:0 34px;padding:24px 0;border-top:1px solid #dfe5e8}.pmg-giving-section:first-of-type{border-top:0}.pmg-section-heading{text-align:center;margin:0 0 20px}.pmg-section-heading h3{font-size:16px;line-height:1.2;color:#3f4b53;margin:0;font-weight:700}.pmg-section-heading p{font-size:11px;color:#7d8a91;margin:5px 0 0}.pmg-designation-section{border-top:0;padding-top:5px}.pmg-designation-section label,.pmg-field-label{display:block;font-size:11px;font-weight:600;color:#6f7c84;margin:0 0 8px}.pmg-field-label span{float:right;font-weight:400;color:#8a959b}
.pmg-giving-input,.pmg-giving-select{width:100%;height:44px;box-sizing:border-box;background:#fff;border:1px solid #b9c7cf;border-radius:5px;padding:0 12px;color:#4d5961;font:400 13px/44px inherit;outline:none;appearance:none}.pmg-giving-input:focus,.pmg-giving-select:focus{border-color:#08a8df;box-shadow:0 0 0 1px #08a8df inset}.pmg-giving-select{background-image:linear-gradient(45deg,transparent 50%,#718089 50%),linear-gradient(135deg,#718089 50%,transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px;line-height:44px}.pmg-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.pmg-check-row{display:flex;align-items:center;gap:7px;color:#748189;font-size:11px;line-height:1.4;margin:10px 0 18px;cursor:pointer}.pmg-check-row input{width:18px;height:18px;accent-color:#08a8df;margin:0}.pmg-help{display:inline-flex;width:14px;height:14px;border:1px solid #9aa6ac;border-radius:50%;align-items:center;justify-content:center;font-size:9px;color:#7c898f;margin-left:2px}.pmg-giving-help{font-size:10px;color:#95a0a6;margin:5px 0 0}.pmg-dedication-fields{display:grid;gap:10px;margin-top:14px}.pmg-giving-textarea{height:auto;min-height:86px;padding:11px 12px;line-height:1.45;resize:vertical}.pmg-payment-section{padding-bottom:28px}.pmg-payment-heading{margin-bottom:18px}.pmg-lock{display:inline-flex;width:14px;height:14px;border-radius:50%;background:#38444c;color:#fff;font-size:8px;align-items:center;justify-content:center;vertical-align:2px;margin-right:5px}.pmg-giving-card-container{min-height:92px;background:#f7f9fa;border:1px solid #edf1f3;border-radius:3px;padding:12px;box-sizing:border-box}.pmg-giving-card-container iframe{max-width:100%}.pmg-payment-error{background:#fff0f0;border:1px solid #e5b9b9;border-radius:5px;color:#a33b3b;font-size:12px;padding:10px 12px;margin:12px 0}.pmg-payment-error[hidden]{display:none}.pmg-giving-submit{position:relative;width:100%;height:46px;border:0;border-radius:5px;background:#08a8df;color:#fff;font:700 14px/46px inherit;cursor:pointer;margin-top:18px}.pmg-giving-submit:hover{background:#079bce}.pmg-giving-submit:disabled{opacity:.72;cursor:wait}.pmg-giving-submit.is-loading .pmg-giving-submit-text{opacity:.5}.pmg-submit-spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;vertical-align:-3px;margin-left:8px;animation:pmg-spin .7s linear infinite}.pmg-giving-submit.is-loading .pmg-submit-spinner{display:inline-block}@keyframes pmg-spin{to{transform:rotate(360deg)}}.pmg-secure-note{text-align:center;color:#929da3;font-size:10px;margin:10px 0 0}.pmg-giving-success{text-align:center;padding:70px 28px}.pmg-success-mark{width:54px;height:54px;border-radius:50%;background:#e7f8ef;color:#19a05b;font-size:28px;line-height:54px;margin:0 auto 18px}.pmg-giving-success h2{font-size:22px;margin:0 0 12px;color:#39464e}.pmg-giving-success p{font-size:13px;line-height:1.55;margin:5px 0;color:#697780}
@media(max-width:560px){.pmg-giving-gift{padding:28px 20px 16px}.pmg-giving-section{margin:0 20px}.pmg-amount-grid{gap:9px}.pmg-giving-amount{height:44px}.pmg-giving-card{border-radius:10px}.pmg-giving-form{max-width:100%}}

/* ========================================================================
   Project Semicolon Giving form isolation
   The public giving form is intentionally self-contained so theme/plugin
   styles cannot restyle its controls, tabs, or interactive states.
   ======================================================================== */
.pmg-giving-form,
.pmg-giving-form *,
.pmg-giving-form *::before,
.pmg-giving-form *::after {
    box-sizing: border-box !important;
}

.pmg-giving-form {
    color: #3e4a53 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.pmg-giving-form button,
.pmg-giving-form input,
.pmg-giving-form select,
.pmg-giving-form textarea {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-shadow: none !important;
}

.pmg-giving-form button {
    appearance: none !important;
    -webkit-appearance: none !important;
    border-radius: 5px !important;
}

.pmg-giving-form .pmg-frequency-tab,
.pmg-giving-form .pmg-giving-amount,
.pmg-giving-form .pmg-impact-banner,
.pmg-giving-form .pmg-giving-submit {
    margin: 0 !important;
    outline: none !important;
    text-decoration: none !important;
    text-transform: none !important;
    box-shadow: none !important;
}

.pmg-giving-form .pmg-frequency-tab {
    display: block !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 0 10px 13px !important;
    border: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    color: #7d8991 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    position: relative !important;
}

.pmg-giving-form .pmg-frequency-tab:hover,
.pmg-giving-form .pmg-frequency-tab:focus,
.pmg-giving-form .pmg-frequency-tab:active {
    background: transparent !important;
    color: #08a8df !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.pmg-giving-form .pmg-frequency-tab.is-active {
    color: #08a8df !important;
    font-weight: 600 !important;
}

.pmg-giving-form .pmg-frequency-tab::after {
    background: #08a8df !important;
    height: 2px !important;
}

.pmg-giving-form .pmg-heart-icon {
    display: inline-flex !important;
    width: 15px !important;
    height: 15px !important;
    margin: 0 5px 0 0 !important;
    vertical-align: -2px !important;
    color: currentColor !important;
}

.pmg-giving-form .pmg-heart-icon svg {
    display: block !important;
    width: 15px !important;
    height: 15px !important;
    fill: currentColor !important;
    stroke: none !important;
}

.pmg-giving-form .pmg-giving-amount {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 46px !important;
    padding: 0 10px !important;
    border: 1px solid #b9c7cf !important;
    background: #fff !important;
    color: #4c5961 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.pmg-giving-form .pmg-giving-amount:hover,
.pmg-giving-form .pmg-giving-amount:focus,
.pmg-giving-form .pmg-giving-amount:active,
.pmg-giving-form .pmg-giving-amount.is-selected,
.pmg-giving-form .pmg-giving-amount[aria-pressed="true"] {
    border-color: #08a8df !important;
    background: #fff !important;
    color: #08a8df !important;
    box-shadow: 0 0 0 1px #08a8df inset !important;
}

.pmg-giving-form .pmg-giving-amount--other {
    color: #929da3 !important;
    font-weight: 500 !important;
}

.pmg-giving-form .pmg-giving-amount--other:hover,
.pmg-giving-form .pmg-giving-amount--other:focus,
.pmg-giving-form .pmg-giving-amount--other:active {
    color: #08a8df !important;
}

.pmg-giving-form .pmg-impact-banner {
    display: block !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: #eaf5f9 !important;
    color: #08a8df !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    cursor: pointer !important;
}

.pmg-giving-form .pmg-impact-banner:hover,
.pmg-giving-form .pmg-impact-banner:focus,
.pmg-giving-form .pmg-impact-banner:active {
    background: #eaf5f9 !important;
    color: #08a8df !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.pmg-giving-form .pmg-giving-input,
.pmg-giving-form .pmg-giving-select,
.pmg-giving-form .pmg-giving-textarea {
    width: 100% !important;
    max-width: 100% !important;
    background: #fff !important;
    color: #4d5961 !important;
    border: 1px solid #b9c7cf !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    outline: none !important;
    box-shadow: none !important;
}

.pmg-giving-form .pmg-giving-input,
.pmg-giving-form .pmg-giving-select {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 12px !important;
}

.pmg-giving-form .pmg-giving-input:focus,
.pmg-giving-form .pmg-giving-select:focus,
.pmg-giving-form .pmg-giving-textarea:focus {
    border-color: #08a8df !important;
    box-shadow: 0 0 0 1px #08a8df inset !important;
    outline: none !important;
}

.pmg-giving-form .pmg-giving-select {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding-right: 34px !important;
    line-height: 44px !important;
}

.pmg-giving-form .pmg-giving-textarea {
    min-height: 86px !important;
    height: auto !important;
    padding: 11px 12px !important;
    line-height: 1.45 !important;
    resize: vertical !important;
}

.pmg-giving-form .pmg-check-row {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 10px 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #748189 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.pmg-giving-form .pmg-check-row input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-grid !important;
    place-content: center !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #b9c7cf !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.pmg-giving-form .pmg-check-row input[type="checkbox"]::before {
    content: "" !important;
    width: 9px !important;
    height: 5px !important;
    border-left: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
    transform: rotate(-45deg) scale(0) !important;
    transition: transform .1s ease !important;
}

.pmg-giving-form .pmg-check-row input[type="checkbox"]:checked {
    border-color: #08a8df !important;
    background: #08a8df !important;
}

.pmg-giving-form .pmg-check-row input[type="checkbox"]:checked::before {
    transform: rotate(-45deg) scale(1) !important;
}

.pmg-giving-form .pmg-check-row input[type="checkbox"]:focus-visible {
    outline: 2px solid rgba(8,168,223,.3) !important;
    outline-offset: 2px !important;
}

.pmg-giving-form .pmg-dedication-fields[hidden],
.pmg-giving-form .pmg-frequency-panel[hidden],
.pmg-giving-form .pmg-payment-error[hidden],
.pmg-giving-form [hidden] {
    display: none !important;
}

.pmg-giving-form .pmg-dedication-fields.is-visible {
    display: grid !important;
}

.pmg-giving-form .pmg-dedication-message-intro {
    margin-top: 2px !important;
}

.pmg-giving-form .pmg-dedication-message-intro .pmg-field-label {
    margin-bottom: 5px !important;
}

.pmg-giving-form .pmg-dedication-message-intro .pmg-giving-help {
    margin: 0 !important;
}

.pmg-giving-form .pmg-giving-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #08a8df !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.pmg-giving-form .pmg-giving-submit:hover,
.pmg-giving-form .pmg-giving-submit:focus,
.pmg-giving-form .pmg-giving-submit:active {
    background: #079bce !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.pmg-giving-form .pmg-giving-submit:disabled,
.pmg-giving-form .pmg-giving-submit[disabled] {
    background: #08a8df !important;
    color: #fff !important;
    opacity: .72 !important;
    cursor: wait !important;
}

.pmg-giving-form .pmg-field-label,
.pmg-giving-form .pmg-section-heading h3,
.pmg-giving-form .pmg-section-heading p,
.pmg-giving-form .pmg-giving-help,
.pmg-giving-form .pmg-secure-note {
    text-transform: none !important;
    letter-spacing: normal !important;
}
