.sh-ppb-banner {
    background: var(--sh-ppb-bg, #f5f7fa);
    color: var(--sh-ppb-color, #1f2937);
    text-align: var(--sh-ppb-align, left);
    border-radius: 8px;
    margin: 0 0 24px;
    overflow: hidden;
}
.sh-ppb-inner {
    padding: var(--sh-ppb-padding, 24px);
}
.sh-ppb-content > :first-child { margin-top: 0; }
.sh-ppb-content > :last-child { margin-bottom: 0; }
.sh-ppb-content a:not(.sh-ppb-button) { color: inherit; }
.sh-ppb-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: var(--sh-ppb-actions-justify, flex-start);
    gap: 10px;
    margin-top: 18px;
}
.sh-ppb-banner[style*="--sh-ppb-align:center"] .sh-ppb-actions { justify-content: center; }
.sh-ppb-banner[style*="--sh-ppb-align:right"] .sh-ppb-actions { justify-content: flex-end; }
.sh-ppb-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 5px;
    text-decoration: none !important;
    font-weight: 600;
    line-height: 1.2;
    transition: opacity .15s ease, transform .15s ease;
}
.sh-ppb-button:hover { opacity: .88; transform: translateY(-1px); }
.sh-ppb-button--primary {
    background: #111827;
    color: #fff !important;
    border: 1px solid #111827;
}
.sh-ppb-button--secondary {
    background: transparent;
    color: inherit !important;
    border: 1px solid currentColor;
}
.sh-ppb-button--link {
    min-height: auto;
    padding-left: 0;
    padding-right: 0;
    color: inherit !important;
    border-radius: 0;
    border-bottom: 1px solid currentColor;
}
@media (max-width: 600px) {
    .sh-ppb-actions { align-items: stretch; }
    .sh-ppb-button--primary,
    .sh-ppb-button--secondary { width: 100%; }
}
