.bimvt[hidden]{display:none!important}
.bimvt{box-sizing:border-box;margin:20px 0;padding:16px 18px;border:1px solid #dfe4e8;border-radius:8px;background:#fff;color:#253342;line-height:1.55}
.bimvt *, .bimvt *:before, .bimvt *:after{box-sizing:border-box}
.bimvt-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.bimvt-heading-text{font-size:15px;font-weight:700}
.bimvt-view,.bimvt-chips{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-height:28px}
.bimvt-tag,.bimvt-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px;border-radius:6px;background:#f0f4f7;font-size:13px;line-height:1.5}
.bimvt-tag{text-decoration:none!important;color:#275179!important}
.bimvt-tag:hover,.bimvt-tag:focus{background:#dfeafa;text-decoration:underline!important}
.bimvt-empty{font-size:13px;color:#79848c}
.bimvt button{font:inherit;cursor:pointer;line-height:1.4}
.bimvt button:disabled{cursor:wait;opacity:.6}
.bimvt-edit-toggle{border:1px solid #ced7e0!important;border-radius:5px;background:#fff!important;color:#264361!important;padding:5px 10px!important;font-size:12px!important}
.bimvt-editor{border-top:1px solid #edf0f3;margin-top:12px;padding-top:12px}
.bimvt-editor[hidden]{display:none!important}
.bimvt-chips{margin-bottom:12px}
.bimvt-chip{background:#eef2f6}
.bimvt-remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0!important;border:0!important;border-radius:50%;background:transparent!important;color:#596777!important;font-size:18px!important}
.bimvt-remove:hover,.bimvt-remove:focus{background:#dce3ea!important;color:#102f4a!important}
.bimvt-add-form{display:flex;align-items:center;gap:8px;margin:0!important}
.bimvt-input{flex:1;min-width:0!important;max-width:100%!important;height:36px!important;padding:7px 10px!important;border:1px solid #b6c5d1!important;border-radius:5px!important;background:#fff!important;font-size:14px!important;color:#253342!important}
.bimvt-add,.bimvt-save{min-height:36px;border:1px solid #275b85!important;background:#275b85!important;color:#fff!important;padding:6px 14px!important;border-radius:5px!important;font-size:13px!important}
.bimvt-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}
.bimvt-count{color:#7d8995;font-size:12px}
.bimvt-actions{display:flex;gap:7px}
.bimvt-cancel{min-height:36px;border:1px solid #c8d1db!important;border-radius:5px!important;background:#fff!important;padding:6px 14px!important;font-size:13px!important;color:#3f5366!important}
.bimvt-notice{margin:6px 0 0!important;font-size:12px;color:#245b77;min-height:0}
.bimvt-notice.bimvt-error{color:#bb2832}
.bimvt-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:520px){.bimvt{padding:13px 12px}.bimvt-controls{flex-wrap:wrap}.bimvt-count{width:100%}.bimvt-actions{margin-left:auto}}

/* v1.0.2: Protect button text contrast against high-specificity skin/theme CSS. */
.bimvt button.bimvt-add,
.bimvt button.bimvt-add:hover,
.bimvt button.bimvt-add:focus,
.bimvt button.bimvt-add:active,
.bimvt button.bimvt-save,
.bimvt button.bimvt-save:hover,
.bimvt button.bimvt-save:focus,
.bimvt button.bimvt-save:active{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:none!important;
}
.bimvt button.bimvt-edit-toggle,
.bimvt button.bimvt-edit-toggle:hover,
.bimvt button.bimvt-edit-toggle:focus,
.bimvt button.bimvt-edit-toggle:active{
  color:#264361!important;
  -webkit-text-fill-color:#264361!important;
  text-shadow:none!important;
}
.bimvt button.bimvt-cancel,
.bimvt button.bimvt-cancel:hover,
.bimvt button.bimvt-cancel:focus,
.bimvt button.bimvt-cancel:active{
  color:#3f5366!important;
  -webkit-text-fill-color:#3f5366!important;
  text-shadow:none!important;
}

/* v1.0.3: Keep buttons readable when the WordPress theme overrides :hover backgrounds.
   Inline !important colors/backgrounds in the button HTML are the final guard. */
.bimvt button.bimvt-add,
.bimvt button.bimvt-add:hover,
.bimvt button.bimvt-add:focus,
.bimvt button.bimvt-add:active,
.bimvt button.bimvt-save,
.bimvt button.bimvt-save:hover,
.bimvt button.bimvt-save:focus,
.bimvt button.bimvt-save:active {
    background:#275b85!important;
    background-image:none!important;
    border-color:#275b85!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}
.bimvt button.bimvt-edit-toggle,
.bimvt button.bimvt-edit-toggle:hover,
.bimvt button.bimvt-edit-toggle:focus,
.bimvt button.bimvt-edit-toggle:active {
    background:#fff!important;
    background-image:none!important;
    border-color:#ced7e0!important;
    color:#264361!important;
    -webkit-text-fill-color:#264361!important;
}
.bimvt button.bimvt-cancel,
.bimvt button.bimvt-cancel:hover,
.bimvt button.bimvt-cancel:focus,
.bimvt button.bimvt-cancel:active {
    background:#fff!important;
    background-image:none!important;
    border-color:#c8d1db!important;
    color:#3f5366!important;
    -webkit-text-fill-color:#3f5366!important;
}
/* Keep mouse-over feedback without making either side of the button unreadable. */
.bimvt button.bimvt-add:hover:not(:disabled),
.bimvt button.bimvt-save:hover:not(:disabled){
    filter:brightness(.87)!important;
}
.bimvt button.bimvt-edit-toggle:hover:not(:disabled),
.bimvt button.bimvt-cancel:hover:not(:disabled){
    filter:brightness(.95)!important;
}
.bimvt button.bimvt-add:focus-visible,
.bimvt button.bimvt-save:focus-visible,
.bimvt button.bimvt-edit-toggle:focus-visible,
.bimvt button.bimvt-cancel:focus-visible{
    outline:2px solid #1c527b!important;
    outline-offset:2px!important;
}
