/* Deliberately low-specificity so BeTheme/BeBuilder styling wins. */
:where(.bnm-list){display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}
:where(.bnm-item .bnm-thumb img){max-width:100%;height:auto}
:where(.bnm-meta){opacity:.75;margin:.25rem 0}
:where(.bnm-funding progress){width:100%}
:where(.bnm-directory-filters p){margin:.5rem 0}
:where(.bnm-pagination){margin-top:1.5rem}
:where(.bnm-button){display:inline-block;padding:.6em 1.2em;border:1px solid currentColor;text-decoration:none}
:where(.bnm-audio audio){width:100%}
:where(.bnm-sg-filters){display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.25rem 1rem;margin-bottom:1.5rem}
:where(.bnm-sg-filters select,.bnm-sg-filters input[type=search]){width:100%;max-width:100%}
:where(.bnm-sg-meta){list-style:none;padding:0}
:where(.bnm-sg-detail h4){margin-top:1.25rem}
:where(.bnm-notice){padding:.6em 1em;border-left:4px solid currentColor}
:where(.bnm-sg-leaders img){border-radius:50%;vertical-align:middle}

/* Registration form */
:where(.bnm-register-form) fieldset{border:1px solid rgba(0,0,0,.15);margin:0 0 1.2em;padding:1em}
:where(.bnm-register-form) legend{font-weight:600;padding:0 .4em}
:where(.bnm-field){margin:0 0 .9em}
:where(.bnm-field) label{display:block;font-weight:600;margin-bottom:.25em}
:where(.bnm-field--radio) label{display:inline-block;font-weight:400;margin-right:1em}
:where(.bnm-register-form) input[type=text],:where(.bnm-register-form) input[type=email],:where(.bnm-register-form) input[type=password],:where(.bnm-register-form) select{width:100%;max-width:100%;box-sizing:border-box}
/* Registration: First/Last and Email/Mobile sit side by side on wider screens, one per row on tablets and phones. */
.bnm-register-form .bnm-reg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.2em}
.bnm-register-form .bnm-reg-grid .bnm-field{min-width:0}
.bnm-register-form .bnm-reg-grid input{width:100%;max-width:100%;box-sizing:border-box}
@media (max-width:600px){.bnm-register-form .bnm-reg-grid{grid-template-columns:minmax(0,1fr)}}
/* Login: bordered like the Register form, centred, wider fields. */
.bnm-login{width:100%;max-width:34em;margin-left:auto;margin-right:auto;box-sizing:border-box}
.bnm-login .bnm-login-form{border:1px solid rgba(0,0,0,.15);padding:1em;margin:0 0 1.2em;box-sizing:border-box}
.bnm-login .bnm-login-form input[type=text],.bnm-login .bnm-login-form input[type=password]{width:100%;max-width:100%;box-sizing:border-box}
@media (max-width:600px){.bnm-login .bnm-login-form{padding:.8em}}
:where(.bnm-field-error){display:block;color:#b32d2e;font-size:.9em;margin-top:.25em}
:where(.bnm-notice--error){border-left-color:#b32d2e;color:#b32d2e}

/* Dashboard, registrations */
:where(.bnm-dashboard){display:grid;grid-template-columns:minmax(10em,16em) 1fr;gap:1.5em}
:where(.bnm-dashboard-nav) ul{list-style:none;margin:0;padding:0}
:where(.bnm-dashboard-nav) a{display:block;padding:.4em .6em;text-decoration:none}
:where(.bnm-dashboard-nav) a.is-active{font-weight:600;border-left:3px solid currentColor}
:where(.bnm-dashboard-list){list-style:none;padding:0}
:where(.bnm-dashboard-list) li{margin:0 0 1em}
:where(.bnm-profile-form) input[type=text],:where(.bnm-profile-form) input[type=url],:where(.bnm-profile-form) input[type=email],:where(.bnm-profile-form) textarea{width:100%;max-width:36em;box-sizing:border-box}
:where(.bnm-profile-form) fieldset{border:1px solid rgba(0,0,0,.15);margin:0 0 1.2em;padding:1em}
:where(.bnm-registration){margin:1.5em 0}
@media (max-width:640px){:where(.bnm-dashboard){grid-template-columns:1fr}}

/* Audio player */
.bnm-player{margin:1em 0;padding:12px 14px;border:1px solid #d5d8dc;border-radius:8px;background:#fafafa}
.bnm-audio-title{font-weight:600;margin:0 0 6px}
.bnm-player.bnm-ready audio{display:none}
.bnm-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bnm-ctl button,.bnm-audio-bar button{min-width:40px;min-height:40px;border:1px solid #b9bec4;border-radius:6px;background:#fff;color:#1d2327;font-size:15px;line-height:1;cursor:pointer;padding:0 8px}
.bnm-ctl button:focus-visible,.bnm-ctl input:focus-visible,.bnm-audio-bar button:focus-visible{outline:3px solid #2271b1;outline-offset:2px}
.bnm-ctl .bnm-play{background:#1d2327;color:#fff;border-color:#1d2327;min-width:44px}
.bnm-ctl .bnm-seek{flex:1 1 140px;min-width:100px;accent-color:#1d2327}
.bnm-ctl .bnm-vol{width:80px;accent-color:#1d2327}
.bnm-time{font-variant-numeric:tabular-nums;font-size:13px;min-width:38px}
.bnm-err{color:#b32d2e;font-size:13px}
.bnm-audio-bar{position:fixed;left:0;right:0;bottom:0;z-index:99999;display:flex;align-items:center;gap:10px;padding:8px 14px;background:#1d2327;color:#fff;box-shadow:0 -2px 8px rgba(0,0,0,.25)}
.bnm-audio-bar[hidden]{display:none}
.bnm-bar-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bnm-bar-time{font-variant-numeric:tabular-nums;font-size:13px}
.bnm-bar-msg{color:#ffb4b4;font-size:13px}
@media (max-width:600px){.bnm-ctl .bnm-vol,.bnm-ctl .bnm-mute{display:none}.bnm-ctl .bnm-seek{order:10;flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.bnm-player *{transition:none!important}}

.bnm-org-contact{margin:.8em 0}.bnm-org-contact dl{margin:0}.bnm-org-contact dl>div{display:grid;grid-template-columns:minmax(70px,100px) minmax(0,1fr);gap:.5em;padding:.25em 0}.bnm-org-contact dt{font-weight:600}.bnm-org-contact dd{margin:0;overflow-wrap:break-word}

/* Country-first address (v1.9.0) */
.bnm-geo-off { display: none !important; }
.bnm-geo-hint { display: block; font-size: .85em; opacity: .75; margin-top: .2em; }
.bnm-geo input[aria-invalid="true"] { border-color: #b32d2e; }
.bnm-geo select, .bnm-geo input[type="text"] { max-width: 100%; box-sizing: border-box; }
