/*
 * User directory, cards, profile page and dashboard.
 * Every value reads a CSS variable that BN Manager > Settings > User Directory / User Dashboard can set (see User_UI);
 * the fallback after each comma is the default look. Variables are set on .bnm-ui by the generated inline CSS.
 */
.bnm-ui{--bnm-a:var(--bnm-accent,#2563eb);box-sizing:border-box}
.bnm-ui *,.bnm-ui *::before,.bnm-ui *::after{box-sizing:border-box}
.bnm-ui a{color:var(--bnm-link-color,var(--bnm-a))}
.bnm-ui .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Directory: search form ---------- */
.bnm-dir{margin:0 0 2em}
.bnm-dir-form{
	font-family:var(--bnm-search-font-family,inherit);font-size:var(--bnm-search-font-size,inherit);font-weight:var(--bnm-search-font-weight,inherit);line-height:var(--bnm-search-line-height,inherit);color:var(--bnm-search-text-color,inherit);
	background:var(--bnm-search-bg-color,#fff);border:var(--bnm-search-border-width,1px) solid var(--bnm-search-border-color,#e2e5ea);border-radius:var(--bnm-search-border-radius,12px);
	box-shadow:var(--bnm-search-shadow,0 1px 3px rgba(0,0,0,.06));padding:var(--bnm-search-padding,20px);margin:0 0 var(--bnm-search-margin,20px)}
.bnm-dir-form a{color:var(--bnm-search-link-color,var(--bnm-a))}
.bnm-dir-form a:hover{color:var(--bnm-search-link-hover-color,var(--bnm-search-link-color,var(--bnm-a)))}
.bnm-dir-fields{display:grid;grid-template-columns:repeat(var(--bnm-search-columns,4),minmax(0,1fr));gap:var(--bnm-search-gap,14px)}
.bnm-dir-field{position:relative;min-width:0}
.bnm-dir-field label{display:block;margin:0 0 4px;font-size:.85em;font-weight:var(--bnm-search-label-weight,600);color:var(--bnm-search-label-color,inherit)}
.bnm-dir-field input[type=text],.bnm-dir-field select{
	display:block;width:100%;max-width:none;margin:0;min-height:var(--bnm-search-input-height,42px);padding:8px 12px;font:inherit;
	color:var(--bnm-search-input-color,inherit);background-color:var(--bnm-search-input-bg,#fff);border:1px solid var(--bnm-search-input-border-color,#c8ccd4);border-radius:var(--bnm-search-input-radius,8px);box-shadow:none}
.bnm-dir-field input:focus-visible,.bnm-dir-field select:focus-visible,.bnm-dir-submit:focus-visible,.bnm-dir-reset:focus-visible,.bnm-dir-suggest li:focus-visible{outline:3px solid var(--bnm-search-focus-color,var(--bnm-a));outline-offset:1px}
.bnm-dir-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;justify-content:var(--bnm-search-btn-align,flex-start)}
.bnm-dir-submit{cursor:pointer;min-height:42px;padding:0 22px;font-size:var(--bnm-search-btn-font-size,inherit);font-weight:600;color:var(--bnm-search-btn-color,#fff);background:var(--bnm-search-btn-bg,var(--bnm-a));border:1px solid var(--bnm-search-btn-border-color,var(--bnm-search-btn-bg,var(--bnm-a)));border-radius:var(--bnm-search-btn-radius,8px);transition:background-color .15s,color .15s}
.bnm-dir-submit:hover{background:var(--bnm-search-btn-hover-bg,var(--bnm-search-btn-bg,var(--bnm-a)));color:var(--bnm-search-btn-hover-color,var(--bnm-search-btn-color,#fff));filter:brightness(.92)}
.bnm-dir-sort{display:flex;align-items:center;gap:8px;margin-left:auto;order:3}
.bnm-dir-sort label{margin:0;font-size:.85em;font-weight:var(--bnm-search-label-weight,600);color:var(--bnm-search-label-color,inherit);white-space:nowrap}
.bnm-dir-sort select{min-height:var(--bnm-search-input-height,42px);padding:6px 32px 6px 12px;font:inherit;color:var(--bnm-search-input-color,inherit);background-color:var(--bnm-search-input-bg,#fff);border:1px solid var(--bnm-search-input-border-color,#c8ccd4);border-radius:var(--bnm-search-input-radius,8px);width:auto;max-width:100%}
.bnm-dir-sort select:focus-visible{outline:3px solid var(--bnm-search-focus-color,var(--bnm-a));outline-offset:1px}
.bnm-dir-suggest{position:absolute;z-index:30;left:0;right:0;top:100%;margin:2px 0 0;padding:4px 0;list-style:none;max-height:240px;overflow:auto;background:#fff;color:#1d2327;border:1px solid #c8ccd4;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15)}
.bnm-dir-suggest[hidden]{display:none}
.bnm-dir-suggest li{margin:0;padding:8px 12px;cursor:pointer;list-style:none}
.bnm-dir-suggest li[aria-selected=true],.bnm-dir-suggest li:hover{background:#eef3fe}
.bnm-dir-suggest li.bnm-dir-none{color:#6b7280;cursor:default}
.bnm-dir-status{margin:0 0 12px;font-size:.9em;opacity:.8}
.bnm-dir.is-busy .bnm-dir-results{opacity:.55;transition:opacity .15s}

/* ---------- Cards (grid and list) ---------- */
.bnm-ui .bnm-list--user{display:grid;grid-template-columns:repeat(var(--bnm-card-columns,3),minmax(0,1fr));gap:var(--bnm-card-gap,20px)}
.bnm-ui .bnm-list--user .bnm-empty{grid-column:1/-1}
.bnm-scard{
	position:relative;display:flex;flex-direction:column;align-items:center;text-align:var(--bnm-card-align,center);gap:12px;min-height:var(--bnm-card-min-height,0);
	font-family:var(--bnm-card-font-family,inherit);font-size:var(--bnm-card-font-size,inherit);font-weight:var(--bnm-card-font-weight,inherit);line-height:var(--bnm-card-line-height,1.45);color:var(--bnm-card-text-color,inherit);
	background:var(--bnm-card-bg-color,#fff);border:var(--bnm-card-border-width,1px) solid var(--bnm-card-border-color,#e2e5ea);border-radius:var(--bnm-card-border-radius,14px);
	box-shadow:var(--bnm-card-shadow,0 1px 3px rgba(0,0,0,.06));padding:var(--bnm-card-padding,22px);margin:0;transition:box-shadow .2s,transform .2s,background-color .2s,border-color .2s}
.bnm-scard:hover,.bnm-scard:focus-within{background:var(--bnm-card-hover-bg,var(--bnm-card-bg-color,#fff));border-color:var(--bnm-card-hover-border,var(--bnm-card-border-color,#e2e5ea));box-shadow:var(--bnm-card-hover-shadow,0 6px 20px rgba(0,0,0,.1));transform:var(--bnm-card-hover-lift,none)}
.bnm-scard-body{width:100%;min-width:0}
.bnm-scard-name{margin:0 0 4px;font-size:var(--bnm-card-title-size,1.15em);font-weight:var(--bnm-card-title-weight,700);color:var(--bnm-card-title-color,inherit);line-height:1.25}
.bnm-scard-name a{color:inherit;text-decoration:none}
.bnm-scard-name a::after{content:"";position:absolute;inset:0;border-radius:inherit}/* the whole card is the click target */
.bnm-scard-name a:focus-visible{outline:none}
.bnm-scard:focus-within{outline:3px solid var(--bnm-card-link-color,var(--bnm-a));outline-offset:2px}
.bnm-scard-row{margin:2px 0;overflow-wrap:break-word;word-break:normal}
.bnm-scard-row--email{font-size:.92em}
.bnm-scard-row a{position:relative;z-index:2;color:var(--bnm-card-link-color,var(--bnm-a))}
.bnm-scard-row a:hover{color:var(--bnm-card-link-hover-color,var(--bnm-card-link-color,var(--bnm-a)))}
.bnm-scard-row--location{opacity:.8}
.bnm-s-badge{display:inline-block;padding:2px 10px;font-size:.78em;font-weight:600;border-radius:999px;background:var(--bnm-a);color:#fff}
.bnm-ui.bnm-layout-list .bnm-list--user{grid-template-columns:1fr}
.bnm-ui.bnm-layout-list .bnm-scard{flex-direction:row;align-items:center;text-align:var(--bnm-card-align,left)}
.bnm-ui.bnm-layout-list .bnm-scard-media{flex:0 0 auto}

/* ---------- Pictures ---------- */
.bnm-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;background:#e8ecf3;color:#475066;font-weight:700;line-height:1;vertical-align:middle}
.bnm-scard .bnm-avatar{width:var(--bnm-card-image-size,96px);height:var(--bnm-card-image-size,96px);border-radius:var(--bnm-card-image-shape,50%);border:var(--bnm-card-image-border,0) solid var(--bnm-card-image-border-color,transparent);font-size:calc(var(--bnm-card-image-size,96px)*.36)}
.bnm-profile .bnm-avatar{width:var(--bnm-profile-image-size,160px);height:var(--bnm-profile-image-size,160px);border-radius:var(--bnm-profile-image-shape,50%);border:var(--bnm-profile-image-border,0) solid var(--bnm-profile-image-border-color,transparent);font-size:calc(var(--bnm-profile-image-size,160px)*.36)}
.bnm-dash-summary .bnm-avatar{width:var(--bnm-dash-image-size,88px);height:var(--bnm-dash-image-size,88px);border-radius:var(--bnm-dash-image-shape,50%);border:var(--bnm-dash-image-border,0) solid var(--bnm-dash-image-border-color,transparent);font-size:calc(var(--bnm-dash-image-size,88px)*.36)}
.bnm-avatar img,.bnm-avatar-img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}

/* ---------- Pagination ---------- */
.bnm-dir .bnm-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:24px}
.bnm-dir .bnm-pagination .page-numbers{display:inline-block;min-width:40px;padding:8px 12px;text-align:center;text-decoration:none;border:1px solid #d4d8e0;border-radius:8px;background:#fff}
.bnm-dir .bnm-pagination .current{background:var(--bnm-a);border-color:var(--bnm-a);color:#fff}

/* ---------- Profile page ---------- */
.bnm-profile{max-width:var(--bnm-profile-max-width,860px);margin:0 auto 2em;font-family:var(--bnm-profile-font-family,inherit);font-size:var(--bnm-profile-font-size,inherit);font-weight:var(--bnm-profile-font-weight,inherit);line-height:var(--bnm-profile-line-height,1.6);color:var(--bnm-profile-text-color,inherit);text-align:var(--bnm-profile-align,left)}
.bnm-profile a{color:var(--bnm-profile-link-color,var(--bnm-a))}
.bnm-profile a:hover{color:var(--bnm-profile-link-hover-color,var(--bnm-profile-link-color,var(--bnm-a)))}
.bnm-profile-back{margin:0 0 14px}
.bnm-profile-back-link{display:inline-flex;gap:6px;align-items:center;padding:8px 16px;text-decoration:none;font-weight:600;color:var(--bnm-profile-btn-color,var(--bnm-a));background:var(--bnm-profile-btn-bg,transparent);border:1px solid var(--bnm-profile-btn-border-color,currentColor);border-radius:var(--bnm-profile-btn-radius,8px);font-size:var(--bnm-profile-btn-font-size,inherit)}
.bnm-profile-back-link:hover{background:var(--bnm-profile-btn-hover-bg,rgba(37,99,235,.08));color:var(--bnm-profile-btn-hover-color,var(--bnm-profile-btn-color,var(--bnm-a)))}
.bnm-profile-back-link:focus-visible{outline:3px solid var(--bnm-a);outline-offset:2px}
.bnm-profile-card{display:flex;gap:28px;align-items:flex-start;background:var(--bnm-profile-bg-color,#fff);border:var(--bnm-profile-border-width,1px) solid var(--bnm-profile-border-color,#e2e5ea);border-radius:var(--bnm-profile-border-radius,16px);box-shadow:var(--bnm-profile-shadow,0 2px 8px rgba(0,0,0,.06));padding:var(--bnm-profile-padding,28px);margin:0 0 var(--bnm-profile-margin,20px)}
.bnm-profile--stacked .bnm-profile-card{flex-direction:column;align-items:center;text-align:center}
.bnm-profile-main{flex:1;min-width:0}
.bnm-profile-name{margin:0 0 8px;font-size:var(--bnm-profile-title-size,2em);font-weight:var(--bnm-profile-title-weight,700);color:var(--bnm-profile-title-color,inherit);line-height:1.2}
.bnm-profile-badge{margin:0 0 10px}
.bnm-profile-fields{margin:12px 0 0}
.bnm-profile-row{display:grid;grid-template-columns:minmax(80px,120px) minmax(0,1fr);gap:6px 16px;padding:10px 0;border-top:1px solid rgba(0,0,0,.08)}
.bnm-profile-row dt{font-weight:600;opacity:.75;margin:0}
.bnm-profile-row dd{margin:0;overflow-wrap:break-word;word-break:normal;min-width:0}

/* ---------- Dashboard ---------- */
.bnm-dashboard.bnm-ui{display:grid;grid-template-columns:var(--bnm-dash-nav-width,220px) minmax(0,1fr);gap:var(--bnm-dash-gap,28px);align-items:start;font-family:var(--bnm-dash-font-family,inherit);font-size:var(--bnm-dash-font-size,inherit);font-weight:var(--bnm-dash-font-weight,inherit);line-height:var(--bnm-dash-line-height,1.55);color:var(--bnm-dash-text-color,inherit)}
.bnm-dashboard.bnm-ui a{color:var(--bnm-dash-link-color,var(--bnm-a))}
.bnm-dashboard.bnm-ui a:hover{color:var(--bnm-dash-link-hover-color,var(--bnm-dash-link-color,var(--bnm-a)))}
.bnm-dashboard.bnm-ui.bnm-dash--top{grid-template-columns:1fr}
.bnm-dashboard.bnm-ui .bnm-dashboard-nav{background:var(--bnm-dash-nav-bg,transparent);border-radius:var(--bnm-dash-nav-radius,10px);padding:6px}
.bnm-dashboard.bnm-ui .bnm-dashboard-nav ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.bnm-dashboard.bnm-ui.bnm-dash--top .bnm-dashboard-nav ul{flex-direction:row;flex-wrap:wrap}
.bnm-dashboard.bnm-ui .bnm-dashboard-nav li{margin:0;list-style:none}
.bnm-dashboard.bnm-ui .bnm-dashboard-nav a{display:block;padding:10px 14px;text-decoration:none;border:0;border-radius:var(--bnm-dash-nav-radius,10px);color:var(--bnm-dash-nav-color,inherit);transition:background-color .15s}
.bnm-dashboard.bnm-ui .bnm-dashboard-nav a:hover{background:var(--bnm-dash-nav-hover-bg,rgba(0,0,0,.05));color:var(--bnm-dash-nav-color,inherit)}
.bnm-dashboard.bnm-ui .bnm-dashboard-nav a.is-active{font-weight:600;background:var(--bnm-dash-nav-active-bg,var(--bnm-a));color:var(--bnm-dash-nav-active-color,#fff);border:0}
.bnm-dashboard.bnm-ui .bnm-dashboard-nav a:focus-visible{outline:3px solid var(--bnm-dash-focus-color,var(--bnm-a));outline-offset:1px}
.bnm-dashboard.bnm-ui .bnm-dashboard-body{background:var(--bnm-dash-bg-color,#fff);border:var(--bnm-dash-border-width,1px) solid var(--bnm-dash-border-color,#e2e5ea);border-radius:var(--bnm-dash-border-radius,14px);box-shadow:var(--bnm-dash-shadow,0 1px 3px rgba(0,0,0,.06));padding:var(--bnm-dash-padding,28px);margin:0 0 var(--bnm-dash-margin,0)}
.bnm-dashboard.bnm-ui .bnm-dashboard-body h2{margin-top:0;font-size:var(--bnm-dash-title-size,1.6em);font-weight:var(--bnm-dash-title-weight,700);color:var(--bnm-dash-title-color,inherit)}
.bnm-dash-summary{display:flex;gap:18px;align-items:center;margin:0 0 22px;padding:0 0 20px;border-bottom:1px solid rgba(0,0,0,.08)}
.bnm-dash-summary-name{margin:0;font-size:var(--bnm-dash-title-size,1.3em);font-weight:var(--bnm-dash-title-weight,700);color:var(--bnm-dash-title-color,inherit)}
.bnm-dash-summary p{margin:2px 0;opacity:.85}
.bnm-dashboard.bnm-ui .bnm-profile-form fieldset{border:1px solid rgba(0,0,0,.12);border-radius:10px;margin:0 0 20px;padding:18px}
.bnm-dashboard.bnm-ui .bnm-profile-form fieldset>.bnm-fieldgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.bnm-dashboard.bnm-ui .bnm-profile-form legend{font-weight:700;padding:0 8px}
.bnm-dashboard.bnm-ui .bnm-field{margin:0 0 14px}
.bnm-dashboard.bnm-ui .bnm-field--wide{grid-column:1/-1}
.bnm-dashboard.bnm-ui .bnm-field label{display:block;font-weight:600;margin-bottom:4px}
.bnm-dashboard.bnm-ui .bnm-profile-form input[type=text],.bnm-dashboard.bnm-ui .bnm-profile-form input[type=url],.bnm-dashboard.bnm-ui .bnm-profile-form input[type=email],.bnm-dashboard.bnm-ui .bnm-profile-form textarea{width:100%;max-width:none;min-height:var(--bnm-dash-input-height,42px);padding:8px 12px;font:inherit;color:var(--bnm-dash-input-color,inherit);background:var(--bnm-dash-input-bg,#fff);border:1px solid var(--bnm-dash-input-border-color,#c8ccd4);border-radius:var(--bnm-dash-input-radius,8px)}
.bnm-dashboard.bnm-ui .bnm-profile-form input:focus-visible,.bnm-dashboard.bnm-ui .bnm-profile-form textarea:focus-visible{outline:3px solid var(--bnm-dash-focus-color,var(--bnm-a));outline-offset:1px}
.bnm-dashboard.bnm-ui .bnm-button{display:inline-block;cursor:pointer;padding:10px 20px;font-weight:600;font-size:var(--bnm-dash-btn-font-size,inherit);text-decoration:none;color:var(--bnm-dash-btn-color,#fff);background:var(--bnm-dash-btn-bg,var(--bnm-a));border:1px solid var(--bnm-dash-btn-border-color,var(--bnm-dash-btn-bg,var(--bnm-a)));border-radius:var(--bnm-dash-btn-radius,8px)}
.bnm-dashboard.bnm-ui .bnm-button:hover{background:var(--bnm-dash-btn-hover-bg,var(--bnm-dash-btn-bg,var(--bnm-a)));color:var(--bnm-dash-btn-hover-color,var(--bnm-dash-btn-color,#fff));filter:brightness(.92)}

/* ---------- Responsive (structure only; the breakpoints for column counts are set in the generated CSS) ---------- */
@media (max-width:760px){
	.bnm-dashboard.bnm-ui{grid-template-columns:1fr}
	.bnm-dashboard.bnm-ui .bnm-profile-form fieldset>.bnm-fieldgrid{grid-template-columns:1fr}
	.bnm-profile-card{flex-direction:column;align-items:center;text-align:center}
	.bnm-profile-row{grid-template-columns:1fr}
	.bnm-ui.bnm-layout-list .bnm-scard{flex-direction:column;text-align:center}
}
@media (prefers-reduced-motion:reduce){.bnm-scard,.bnm-dir-submit,.bnm-dir.is-busy .bnm-dir-results{transition:none}.bnm-scard:hover{transform:none}}
