/* Shared save button and its feedback states. */
.wbls-save-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;border:1px solid #0a246a;border-radius:9px;background:#0a246a;color:#fff;font-family:inherit;font-size:14px;font-weight:600;line-height:22px;box-shadow:0 3px 9px #0a246a1f;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
.wbls-save-button:hover{background:#071b50;border-color:#071b50;box-shadow:0 4px 12px #0a246a30}
.wbls-save-button:focus-visible{outline:3px solid #9baedc;outline-offset:3px}
.wbls-save-button:disabled{opacity:1;cursor:wait;color:#fff}
.wbls-save-icon{position:relative;display:inline-block;flex:0 0 18px;width:18px;height:18px;box-sizing:border-box}
.wbls-save-icon::before{content:"";display:block;width:14px;height:14px;margin:2px;border:1.7px solid currentColor;border-radius:3px;box-sizing:border-box}
.wbls-save-icon::after{content:"";position:absolute;top:3px;left:6px;width:6px;height:5px;border:1px solid currentColor;box-sizing:border-box}
.wbls-save-button[data-state=saving] .wbls-save-icon{border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:wbls-save-spin .8s linear infinite}
.wbls-save-button[data-state=saving] .wbls-save-icon::before,.wbls-save-button[data-state=saving] .wbls-save-icon::after{display:none}
.wbls-save-button[data-state=saved]{background:#18734c;border-color:#18734c}
.wbls-save-button[data-state=saved] .wbls-save-icon::before{width:7px;height:12px;margin:0 0 0 5px;border-width:0 2px 2px 0;border-radius:0;transform:rotate(45deg)}
.wbls-save-button[data-state=saved] .wbls-save-icon::after{display:none}
.wbls-save-button[data-state=error]{background:#b42332;border-color:#b42332}
.wbls-save-button[data-state=error] .wbls-save-icon::before{content:"!";border-radius:50%;width:18px;height:18px;margin:0;text-align:center;font-size:12px;line-height:15px}
.wbls-save-button[data-state=error] .wbls-save-icon::after{display:none}
.wbls-theme-save-button{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:350px}
.wbls-save-status:not(.screen-reader-text){font-size:12px;line-height:1.5;color:#b42332;max-width:350px}
@keyframes wbls-save-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.wbls-save-button{transition:none}.wbls-save-button[data-state=saving] .wbls-save-icon{animation:none}}
/* A simple confirmation symbol replaces the floppy-disk icon. */
.wbls-save-button:not([data-state=saving]):not([data-state=saved]):not([data-state=error]) .wbls-save-icon::before{width:18px;height:18px;margin:0;border:1.5px solid currentColor;border-radius:50%}
.wbls-save-button:not([data-state=saving]):not([data-state=saved]):not([data-state=error]) .wbls-save-icon::after{top:4px;left:6px;width:5px;height:8px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);box-sizing:border-box}
.wbls-save-button:not([data-state=saving]):not([data-state=saved]):not([data-state=error]) .wbls-save-icon::before{border-width:2px}
.wbls-save-button:not([data-state=saving]):not([data-state=saved]):not([data-state=error]) .wbls-save-icon::after{border-width:0 2px 2px 0}
.wbls-save-control {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    inline-size: 240px;
    max-inline-size: 100%;
    min-inline-size: 0;
    vertical-align: middle;
}
.wbls-admin-header>.wbls-save-control{margin-right:20px;align-items:flex-end}
.wbls-access-editor>.wbls-save-control{margin-top:18px}
.wbls-save-control .wbls-save-button {
    box-sizing: border-box;
    inline-size: 100%;
    block-size: 44px;
    padding: 3px 12px;
    font-size: 14px;
    line-height: 18px;
}

.wbls-save-label {
    min-inline-size: 0;
    overflow-wrap: anywhere;
    text-align: center;
}

.wbls-save-control .wbls-save-status:not(.screen-reader-text) {
    box-sizing: border-box;
    inline-size: 100%;
    overflow-wrap: anywhere;
}

/* Header errors sit below the control without changing the toolbar layout. */
.wbls-admin-header .wbls-save-control .wbls-save-status:not(.screen-reader-text) {
    position: absolute;
    z-index: 2;
    inset-block-start: calc(100% + 7px);
    inset-inline-end: 0;
    padding: 8px 10px;
    background: #fff5f5;
    border: 1px solid #f0cdd1;
    border-radius: 7px;
}
