/* ── Widget wrapper (positioning context for skeleton) ───────────────────── */

.blackbaud-universal-wrapper {
    position: relative;
    min-height: 400px;
}

/* ── Inline form containers (Phase 1 & 2, incl. constituent forms) ───────── */

[id^='blackbaud-donation-form_'],
[id^='blackbaud-constituent-form_'],
#bbox-root {
    position: relative;
    width: 100%;
}

[id^='blackbaud-donation-form_'] iframe,
[id^='blackbaud-constituent-form_'] iframe,
#bbox-root iframe {
    max-width: unset !important;
    width: 100% !important;
}

/* ── Loading skeleton ─────────────────────────────────────────────────────── */

.bb-loading-skeleton {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--bb-skeleton-bg, #FFDD7280);
    border-radius: 4px;
    overflow: hidden;
    transition: opacity 0.4s ease;
}

.bb-loading-skeleton::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, var(--bb-skeleton-shimmer, #FFF3CDB8) 50%, transparent 100%);
    animation: bb-shimmer 1.6s infinite;
}

@keyframes bb-shimmer {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.bb-loading-skeleton.bb-fade-out {
    opacity: 0;
    pointer-events: none;
}

/* ── Phase 3 trigger button ───────────────────────────────────────────────── */

.blackbaud-optimized-trigger {
    display: inline-block;
    text-decoration: none;
}

.blackbaud-optimized-trigger:hover {
    opacity: 0.85;
    cursor: pointer;
}

.blackbaud-optimized-trigger:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

.blackbaud-optimized-trigger:active {
    opacity: 0.7;
}

/* ── Editor / validation notices ─────────────────────────────────────────── */

.bb-notice {
    padding: 15px;
    border-radius: 5px;
}

.bb-notice-error {
    background: #f8d7da;
    color: #721c24;
}

.bb-notice-warning {
    background: #fff3cd;
    color: #856404;
}
