/* JustMuslim donation presentation only. No payment fields are hidden or replaced. */
.jmsd-wrap.jmsd-wrap {
    /* Blue fallback; the companion script samples your existing site buttons. */
    --jmsd-brand: #137bbc;
    --jmsd-brand-hover: #10699f;
    --jmsd-brand-ink: #ffffff;
    --jmsd-brand-dark: #124c71;
    --jmsd-brand-soft: #eef6fb;
    --jmsd-brand-rgb: 19, 123, 188;
    /* Aliases keep the original plugin's existing colour references compatible. */
    --jmsd-green: var(--jmsd-brand);
    --jmsd-green-dark: var(--jmsd-brand-dark);
    --jmsd-green-soft: var(--jmsd-brand-soft);
    --jmsd-gold: var(--jmsd-brand);
    --jmsd-ink: #152b3b;
    --jmsd-muted: #526574;
    --jmsd-line: #dbe7ee;
    --jmsd-white: #ffffff;
    --jmsd-shadow: 0 16px 42px rgba(var(--jmsd-brand-rgb), 0.11);
    color: var(--jmsd-ink);
    font-family: inherit;
    margin: 28px auto 40px;
    max-width: 1180px;
    padding: 0 16px;
}

.jmsd-wrap .jmsd-layout {
    background: var(--jmsd-brand-soft);
    border: 1px solid var(--jmsd-line);
    border-radius: 22px;
    gap: clamp(24px, 4vw, 52px);
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
    overflow: visible;
    padding: clamp(24px, 4vw, 48px);
}
.jmsd-wrap .jmsd-layout::after { display: none; }
.jmsd-wrap .jmsd-story,
.jmsd-wrap .jmsd-card { min-width: 0; }
.jmsd-wrap .jmsd-story h2 {
    color: var(--jmsd-ink);
    font-size: clamp(2rem, 3.7vw, 3.2rem);
    letter-spacing: -0.025em;
    line-height: 1.14;
}
.jmsd-wrap .jmsd-eyebrow { color: var(--jmsd-brand-dark); }
.jmsd-wrap .jmsd-intro { color: var(--jmsd-muted); }
.jmsd-wrap .jmsd-impact-grid { gap: 20px; }
.jmsd-wrap .jmsd-impact > span {
    background: var(--jmsd-brand);
    color: var(--jmsd-brand-ink);
}
.jmsd-wrap .jmsd-impact strong { color: var(--jmsd-ink); }
.jmsd-wrap .jmsd-card {
    background: #ffffff;
    border: 1px solid var(--jmsd-line);
    border-top: 4px solid var(--jmsd-brand);
    border-radius: 16px;
    box-shadow: var(--jmsd-shadow);
    padding: clamp(22px, 3vw, 30px);
}
.jmsd-wrap .jmsd-card-head { margin-bottom: 18px; }
.jmsd-wrap .jmsd-card-head h3 {
    color: var(--jmsd-ink);
    font-size: 1.5rem;
    line-height: 1.25;
    margin: 0 0 6px;
    padding-bottom: 0;
}
.jmsd-wrap .jmsd-card-head p {
    font-size: 0.875rem;
    line-height: 1.5;
    padding-bottom: 0;
}
.jmsd-wrap .jmsd-frequency {
    background: var(--jmsd-brand-soft);
    border: 1px solid var(--jmsd-line);
    border-radius: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 20px;
    min-width: 0;
    padding: 4px;
}
.jmsd-wrap .jmsd-frequency-option {
    color: var(--jmsd-muted);
    font-size: 0.9375rem;
    line-height: 1.3;
    min-height: 48px;
    padding: 8px 6px;
    text-align: center;
}
.jmsd-wrap .jmsd-frequency-option.is-active {
    background: var(--jmsd-brand);
    border-color: var(--jmsd-brand);
    box-shadow: 0 3px 8px rgba(var(--jmsd-brand-rgb), 0.16);
    color: var(--jmsd-brand-ink);
}
.jmsd-wrap .jmsd-frequency-option:focus-within,
.jmsd-wrap .jmsd-amount-button:focus-visible,
.jmsd-wrap .jmsd-submit:focus-visible,
.jmsd-wrap .jmsd-copy:focus-visible,
.jmsd-wrap .jmsd-bank-panel summary:focus-visible,
.jmsd-wrap .jmsd-manage a:focus-visible {
    outline: 3px solid var(--jmsd-brand-dark);
    outline-offset: 3px;
}
.jmsd-wrap .jmsd-label { color: var(--jmsd-ink); }
.jmsd-wrap .jmsd-amount-grid {
    gap: 6px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.jmsd-wrap .jmsd-amount-button {
    background: #ffffff;
    border: 1px solid var(--jmsd-line);
    border-radius: 9px;
    color: var(--jmsd-ink);
    font-family: inherit;
    font-size: 0.9375rem;
    line-height: 1.3;
    min-height: 48px;
    min-width: 0;
    overflow-wrap: anywhere;
    padding: 8px 3px;
}
.jmsd-wrap .jmsd-amount-button:hover {
    background: var(--jmsd-brand-soft);
    border-color: var(--jmsd-brand);
    transform: none;
}
.jmsd-wrap .jmsd-amount-button.is-active {
    background: var(--jmsd-brand);
    border-color: var(--jmsd-brand);
    color: var(--jmsd-brand-ink);
}
.jmsd-wrap .jmsd-custom-amount {
    border-color: var(--jmsd-line);
    border-radius: 10px;
    padding: 0 12px;
}
.jmsd-wrap .jmsd-custom-amount:focus-within {
    border-color: var(--jmsd-brand);
    box-shadow: 0 0 0 3px rgba(var(--jmsd-brand-rgb), 0.16);
}
.jmsd-wrap .jmsd-custom-amount > span:first-child { color: var(--jmsd-ink); }
.jmsd-wrap .jmsd-amount-input { color: var(--jmsd-ink) !important; }
.jmsd-wrap .jmsd-help {
    font-size: 0.8125rem;
    padding-bottom: 0;
}
.jmsd-wrap .jmsd-monthly-note {
    background: var(--jmsd-brand-soft);
    color: var(--jmsd-brand-dark);
    font-size: 0.875rem;
    margin-top: 12px;
}
.jmsd-wrap .jmsd-submit {
    background: var(--jmsd-brand);
    border: 1px solid var(--jmsd-brand);
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(var(--jmsd-brand-rgb), 0.18);
    color: var(--jmsd-brand-ink);
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.4;
    margin-top: 18px;
    min-height: 54px;
}
.jmsd-wrap .jmsd-submit:hover {
    background: var(--jmsd-brand-hover);
    border-color: var(--jmsd-brand-hover);
    box-shadow: 0 10px 22px rgba(var(--jmsd-brand-rgb), 0.22);
    transform: none;
}
.jmsd-wrap .jmsd-submit:disabled { transform: none; }
.jmsd-wrap .jmsd-submit svg { flex-shrink: 0; }
.jmsd-wrap .jmsd-methods { gap: 6px; margin-top: 16px; }
.jmsd-wrap .jmsd-methods span {
    background: #f5f8fa;
    border-color: var(--jmsd-line);
    color: var(--jmsd-muted);
    font-size: 0.6875rem;
    line-height: 1.25;
}
.jmsd-wrap .jmsd-method-note,
.jmsd-wrap .jmsd-security {
    font-size: 0.75rem;
    line-height: 1.5;
    padding-bottom: 0;
}
.jmsd-wrap .jmsd-manage { border-top-color: var(--jmsd-line); }
.jmsd-wrap .jmsd-manage a { color: var(--jmsd-brand-dark); }
.jmsd-wrap .jmsd-bank-panel {
    border-color: var(--jmsd-line);
    border-radius: 14px;
}
.jmsd-wrap .jmsd-bank-panel summary strong { color: var(--jmsd-ink); }
.jmsd-wrap .jmsd-bank-panel summary svg { flex: 0 0 22px; }
.jmsd-wrap .jmsd-bank-details > div { border-bottom-color: var(--jmsd-line); }
.jmsd-wrap .jmsd-bank-details dd { color: var(--jmsd-ink); }
.jmsd-wrap .jmsd-bank-details dd > span { overflow-wrap: anywhere; }
.jmsd-wrap .jmsd-copy {
    background: var(--jmsd-brand-soft);
    color: var(--jmsd-brand-dark);
    flex-shrink: 0;
    min-height: 44px;
    min-width: 44px;
}
.jmsd-wrap .jmsd-copy.is-copied {
    background: var(--jmsd-brand);
    color: var(--jmsd-brand-ink);
}

/* The form is the FIRST section below the existing site header on mobile.
   CSS also handles this when JavaScript is unavailable or delayed. */
@media (max-width: 900px) {
    .jmsd-wrap.jmsd-wrap { margin: 12px auto 28px; padding: 0 12px; }
    .jmsd-wrap .jmsd-layout {
        background: transparent;
        border: 0;
        border-radius: 0;
        display: flex;
        flex-direction: column;
        gap: 28px;
        padding: 0;
    }
    .jmsd-wrap .jmsd-layout > .jmsd-card {
        align-self: center;
        margin: 0 auto;
        max-width: 560px;
        order: -1;
        padding: 22px 18px;
        width: 100%;
    }
    .jmsd-wrap .jmsd-layout > .jmsd-story {
        align-self: center;
        background: var(--jmsd-brand-soft);
        border: 1px solid var(--jmsd-line);
        border-radius: 16px;
        max-width: 680px;
        order: 1;
        padding: 26px 20px;
        text-align: left;
        width: 100%;
    }
    .jmsd-wrap .jmsd-story h2 { font-size: clamp(1.75rem, 5vw, 2.3rem); }
    .jmsd-wrap .jmsd-intro { font-size: 1rem; line-height: 1.65; }
    .jmsd-wrap .jmsd-impact-grid { margin-top: 24px; }
    .jmsd-wrap .jmsd-bank-panel { margin-top: 24px; }
}

/* Preserve usable tap widths on narrow phones and narrow page-builder columns. */
@media (max-width: 380px) {
    .jmsd-wrap.jmsd-wrap { padding: 0 8px; }
    .jmsd-wrap .jmsd-layout > .jmsd-card { padding: 20px 14px; }
    .jmsd-wrap .jmsd-amount-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .jmsd-wrap .jmsd-card-head h3 { font-size: 1.375rem; }
}
@supports (container-type: inline-size) {
    .jmsd-wrap .jmsd-card { container-type: inline-size; }
    @container (max-width: 280px) {
        .jmsd-wrap .jmsd-amount-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
}
@media (prefers-reduced-motion: reduce) {
    .jmsd-wrap .jmsd-submit,
    .jmsd-wrap .jmsd-amount-button,
    .jmsd-wrap .jmsd-frequency-option { transition: none; }
}
