/* =====================================================================================
   MDBA brand design v2 for the public Members Directory, the member quick-view modal, the
   public profile page and the standalone profile editor (2026-10-12). Loaded after the
   mdba-member-directory plugin styles by mu-plugins/mdba-directory-brand.php.
   Revert: delete that mu-plugin file. The plugin's own CSS is untouched.
   ===================================================================================== */
:root, .mdba-dashboard-root, .mdba-directory-root, .mdba-profile-page, .mdba-modal-overlay {
  --mdba-bg: #F6F6F4;
  --mdba-surf: #FFFFFF; --mdba-surface: #FFFFFF;
  --mdba-surf2: #F6F6F4; --mdba-surface-2: #F6F6F4;
  --mdba-border: #ECECEC; --mdba-border2: #D8D8D4;
  --mdba-gold: #10100F;
  --mdba-gold-dim: #FFF3D6;
  --mdba-text: #10100F;
  --mdba-muted: #777777; --mdba-text-muted: #777777;
  --mdba-dim: #B5B5B0;
  --mdba-good: #2F7A4A; --mdba-good-soft: #EEF4EE;
  --mdba-radius: 20px;
}
.mdba-directory-root, .mdba-directory-root h1, .mdba-directory-root h2, .mdba-directory-root h3, .mdba-directory-root h4,
.mdba-directory-root p, .mdba-directory-root span, .mdba-directory-root div, .mdba-directory-root a,
.mdba-directory-root button, .mdba-directory-root input,
.mdba-modal, .mdba-modal h1, .mdba-modal h2, .mdba-modal h3, .mdba-modal h4, .mdba-modal p, .mdba-modal span,
.mdba-modal div, .mdba-modal a, .mdba-modal button,
.mdba-profile-page, .mdba-dashboard-root { font-family: 'Montserrat', sans-serif !important; }

/* ---- Directory: search, filters, cards ---- */
.mdba-search-wrap { border: 1px solid #ECECEC; border-radius: 999px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.mdba-search-wrap input { padding: 13px 20px; font-size: 14px; font-family: 'Montserrat', sans-serif; }
.mdba-search-wrap button { background: #FFDE94 !important; color: #10100F !important; padding: 0 22px !important; }
.mdba-search-wrap button:hover { background: #E0B44C !important; }
.mdba-count { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #8A8A8A; }
.mdba-filter-tab { border: 1.5px solid #10100F; background: transparent; color: #10100F; font-size: 11.5px; letter-spacing: .08em; padding: 8px 18px; border-radius: 999px; }
.mdba-filter-tab:hover { background: #10100F; color: #FFFFFF; border-color: #10100F; }
.mdba-filter-tab.is-active { background: #FFDE94; border-color: #FFDE94; color: #10100F; }
.mdba-filter-tab.is-active:hover { background: #E0B44C; border-color: #E0B44C; color: #10100F; }

.mdba-grid { gap: 20px; }
.mdba-card { border: 0; border-radius: 20px; padding: 26px 24px; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 12px 32px -16px rgba(0,0,0,.12); gap: 12px; transition: transform .2s ease, box-shadow .2s ease; }
.mdba-card:hover { border: 0; transform: translateY(-3px); box-shadow: 0 2px 4px rgba(0,0,0,.05), 0 20px 40px -16px rgba(0,0,0,.18); }
.mdba-avatar { width: 56px; height: 56px; background: #10100F !important; color: #FFDE94 !important; }
.mdba-avatar-photo { background: #F6F6F4 !important; }
.mdba-plan-tag { background: #F6F6F4; color: #10100F; border: 1px solid #ECECEC; font-size: 9.5px; letter-spacing: .1em; }
.mdba-card-name { font-size: 16px; font-weight: 700; letter-spacing: -.01em; color: #10100F; }
.mdba-card-subtitle { font-size: 12px; color: #777777; }
.mdba-card-bio { font-size: 13px; color: #555555; }
.mdba-card-foot { border-top: 1px solid #ECECEC; padding-top: 14px; }
.mdba-social-link { color: #10100F; background: #F6F6F4; border: 1px solid #ECECEC; }
.mdba-social-link:hover { background: #FFDE94; border-color: #FFDE94; }
.mdba-view-link { color: #10100F; font-size: 11px; letter-spacing: .12em; }
.mdba-card:hover .mdba-view-link { text-decoration: underline; text-underline-offset: 3px; }
.mdba-badge { background: #F6F6F4; color: #10100F; border: 1px solid #ECECEC; border-radius: 999px; letter-spacing: .1em; padding: 4px 10px; }

/* ---- Quick-view modal ---- */
.mdba-modal-overlay { background: rgba(16,16,15,.55); }
.mdba-modal { border-radius: 24px; max-width: 520px; box-shadow: 0 24px 70px rgba(16,16,15,.3); }
.mdba-modal-head { border-bottom: 1px solid #ECECEC; }
.mdba-modal-avatar { background: #10100F !important; color: #FFDE94 !important; width: 68px; height: 68px; }
.mdba-modal-name { font-size: 20px; font-weight: 700; letter-spacing: -.01em; }
.mdba-modal-bio { color: #444444; }
.mdba-read-more { color: #10100F !important; text-decoration: underline; text-underline-offset: 3px; }
.mdba-modal-link { color: #10100F; font-weight: 600; }
.mdba-modal-link:hover { color: #10100F; text-decoration: underline; text-underline-offset: 3px; }
.mdba-modal-close:hover { background: #F6F6F4 !important; }

/* ---- Public profile page ---- */
.mdba-profile-card { border: 0; border-radius: 24px; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 16px 40px -18px rgba(0,0,0,.14); }
.mdba-profile-header { border-bottom: 1px solid #ECECEC; padding: 36px; }
.mdba-profile-avatar { border: 3px solid #FFDE94; }
.mdba-profile-name { font-size: 28px; font-weight: 700; letter-spacing: -.02em; }
.mdba-profile-company { font-size: 12px; letter-spacing: .14em; color: #8A8A8A; font-weight: 600; }
.mdba-profile-link { background: transparent; border: 1.5px solid #10100F; border-radius: 999px; padding: 8px 20px; color: #10100F; font-weight: 600; }
.mdba-profile-link:hover { background: #10100F; color: #FFFFFF; border-color: #10100F; }
.mdba-profile-bio { padding: 32px 36px; }
.mdba-bio-text { font-size: 15px; line-height: 1.75; color: #333333; }
.mdba-back-link { color: #777777; }
.mdba-back-link:hover { color: #10100F; text-decoration: underline; text-underline-offset: 3px; }
.mdba-notice-restricted { border: 0; border-radius: 24px; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 16px 40px -18px rgba(0,0,0,.14); }
.mdba-notice-restricted a { color: #10100F; text-decoration: underline; text-underline-offset: 3px; }

/* ---- Standalone profile editor (same markup as the dashboard's Directory tab) ---- */
.mdba-dash-sidebar, .mdba-dash-section { border: 0; border-radius: 24px; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 12px 32px -16px rgba(0,0,0,.12); }
.mdba-dash-sidebar-name { font-size: 14px !important; line-height: 1.3 !important; overflow-wrap: anywhere; max-width: 100%; }
.mdba-dash-nav { gap: 2px; margin-top: 4px; }
.mdba-dash-nav-link { font-size: 12.5px !important; line-height: 1.3 !important; padding: 8px 14px !important; font-weight: 600; letter-spacing: 0; border-radius: 999px; color: #555555; }
.mdba-dash-nav-link:hover { background: #F6F6F4; color: #10100F; }
.mdba-dash-nav-link.is-active { background: #FFDE94; color: #10100F; }
.mdba-avatar-upload-btn { background: #10100F; color: #FFDE94; }
.mdba-dash-avatar-wrap .mdba-dash-avatar { border: 3px solid #FFDE94; }
.mdba-level-badge { background: #FFF3D6; color: #10100F; font-size: 9.5px !important; letter-spacing: .1em; }
.mdba-back-link { font-size: 11.5px; }
.mdba-section-title { font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.mdba-form-group label { font-size: 11.5px; letter-spacing: .12em; color: #8A8A8A; font-weight: 600; }
.mdba-form-group input, .mdba-form-group textarea { border: 1px solid #ECECEC; border-radius: 12px; background: #F6F6F4; padding: 12px 16px; font-family: 'Montserrat', sans-serif; }
.mdba-form-group input:focus, .mdba-form-group textarea:focus { border-color: #10100F; box-shadow: 0 0 0 2px rgba(16,16,15,.12); }
.mdba-btn { border-radius: 999px; font-weight: 600; letter-spacing: .02em; padding: 12px 28px; }
.mdba-btn-primary { background: #FFDE94 !important; color: #10100F !important; border: 1.5px solid #FFDE94 !important; }
.mdba-btn-primary:hover:not(:disabled) { background: #E0B44C !important; border-color: #E0B44C !important; opacity: 1; transform: none; }
.mdba-toggle input:checked + .mdba-toggle-slider { background: #FFDE94; border-color: #E0B44C; }
.mdba-toggle input:checked + .mdba-toggle-slider::before { background: #10100F; }
.mdba-class-card { border: 1px solid #ECECEC; border-radius: 16px; background: #FFFFFF; }
.mdba-class-card:hover { border-color: #10100F; box-shadow: 0 8px 24px -12px rgba(0,0,0,.2); }
.mdba-class-arrow { color: #10100F; }
.mdba-notice-info { background: #FFF3D6; color: #10100F; border-color: #E0B44C; }
.mdba-spinner { border-top-color: #10100F; }

/* =====================================================================================
   Members Directory, dark listing (2026-10-12): ink background and photo-top 3 column grid, matching bli.tools.
   Revert: delete from this comment to the end of the file (and restore the page 2891 backup if the heading was added).
   ===================================================================================== */
.mdba-dirpage-title { text-align: center; color: #FFFFFF; font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: -.02em; }
.mdba-dirpage-sub { text-align: center; color: #B5B5B0; font-family: 'Montserrat', sans-serif; }

.mdba-directory-root { max-width: 1200px; padding: 0 20px; }
.mdba-directory-root, .mdba-directory-root .mdba-dir-loading { color: #FFFFFF !important; }
.mdba-directory-root .mdba-search-wrap { background: #1A1A19; border-color: #2E2E2C; box-shadow: none; max-width: 640px; margin: 0 auto; }
.mdba-directory-root .mdba-search-wrap input { color: #FFFFFF; }
.mdba-directory-root .mdba-search-wrap input::placeholder { color: #8A8A8A; }
.mdba-directory-root .mdba-dir-top { justify-content: center; }
.mdba-directory-root .mdba-count { color: #9A9A9A; width: 100%; text-align: center; order: 3; }
.mdba-directory-root .mdba-filter-bar { justify-content: center; margin-bottom: 36px; }
.mdba-directory-root .mdba-filter-tab { border: 1.5px solid #3A3A38; color: #E6E6E1; background: transparent; }
.mdba-directory-root .mdba-filter-tab:hover { background: rgba(255,255,255,.1); border-color: #FFFFFF; color: #FFFFFF; }
.mdba-directory-root .mdba-filter-tab.is-active { background: #FFDE94; border-color: #FFDE94; color: #10100F; }
.mdba-directory-root .mdba-filter-tab.is-active:hover { background: #E0B44C; border-color: #E0B44C; color: #10100F; }

.mdba-directory-root .mdba-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 900px) { .mdba-directory-root .mdba-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .mdba-directory-root .mdba-grid { grid-template-columns: minmax(0, 1fr); } }

.mdba-directory-root .mdba-card { background: #161615; border: 1px solid #2A2A28; border-radius: 16px; padding: 0; gap: 0; overflow: hidden; box-shadow: none; }
.mdba-directory-root .mdba-card:hover { border-color: #FFDE94; transform: translateY(-3px); box-shadow: 0 18px 40px -18px rgba(0,0,0,.7); }
.mdba-directory-root .mdba-card-top { position: relative; display: block; }
.mdba-directory-root .mdba-card-top .mdba-avatar,
.mdba-directory-root .mdba-card-top .mdba-avatar-photo { width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 0; object-fit: cover; object-position: center top; display: block; }
.mdba-directory-root .mdba-card-top div.mdba-avatar { display: flex; align-items: center; justify-content: center; font-size: 64px; font-weight: 700; letter-spacing: .02em; background: #232321 !important; color: #FFDE94 !important; }
.mdba-directory-root .mdba-card-top .mdba-avatar-photo { background: #232321 !important; }
.mdba-directory-root .mdba-plan-tag { position: absolute; top: 14px; left: 14px; background: rgba(16,16,15,.82); color: #FFFFFF; border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(4px); }
.mdba-directory-root .mdba-card > div:not(.mdba-card-top),
.mdba-directory-root .mdba-card > p { padding-left: 22px; padding-right: 22px; }
.mdba-directory-root .mdba-card-name { color: #FFFFFF; margin-top: 20px; font-size: 17px; }
.mdba-directory-root .mdba-card-subtitle { color: #B5B5B0; margin-top: 4px; }
.mdba-directory-root .mdba-card-bio { color: #9A9A9A; margin-top: 12px; }
.mdba-directory-root .mdba-card-foot { border-top: 1px solid #2A2A28; margin-top: 18px; padding-top: 14px; padding-bottom: 18px; }
.mdba-directory-root .mdba-social-link { background: #232321; border-color: #3A3A38; color: #FFFFFF; }
.mdba-directory-root .mdba-social-link:hover { background: #FFDE94; border-color: #FFDE94; color: #10100F; }
.mdba-directory-root .mdba-view-link { color: #FFFFFF; }
.mdba-directory-root .mdba-empty { color: #9A9A9A; }

/* =====================================================================================
   Quick-view modal, dark profile layout (2026-10-12), modelled on the bli.tools member modal:
   photo + name header, then About and Contact columns. Revert: delete from here to the end of the file.
   ===================================================================================== */
.mdba-modal-overlay { background: rgba(0,0,0,.78); }
.mdba-modal { background: #131312; color: #FFFFFF; border: 1px solid #2A2A28; border-radius: 24px; max-width: 920px; box-shadow: 0 30px 90px rgba(0,0,0,.6); }
.mdba-modal-close { top: 22px !important; right: 22px !important; width: 40px !important; height: 40px !important; border: 1px solid #3A3A38 !important; color: #FFFFFF !important; }
.mdba-modal-close:hover { background: rgba(255,255,255,.1) !important; color: #FFFFFF !important; }
.mdba-modal-head { padding: 48px 56px 40px; gap: 36px; align-items: center; border-bottom: 1px solid #2A2A28; background: radial-gradient(900px 340px at 85% -20%, rgba(255,222,148,.14), transparent 60%), #131312; border-radius: 24px 24px 0 0; }
.mdba-modal-avatar { width: 156px; height: 156px; border-radius: 18px; flex-shrink: 0; object-fit: cover; object-position: center top; }
.mdba-modal-head div.mdba-modal-avatar { display: flex; align-items: center; justify-content: center; font-size: 56px; font-weight: 700; background: #232321 !important; color: #FFDE94 !important; }
.mdba-modal-avatar.mdba-avatar-photo { background: #232321 !important; }
.mdba-modal-name { color: #FFFFFF; font-size: 34px; line-height: 1.15; font-weight: 700; letter-spacing: -.02em; margin: 0 0 8px; }
.mdba-modal-subtitle { color: #B5B5B0; font-size: 17px; margin: 0 0 16px; }
.mdba-modal-tags .mdba-plan-tag, .mdba-modal-tags .mdba-badge { position: static; background: transparent; color: #E6E6E1; border: 1px solid #3A3A38; border-radius: 999px; padding: 6px 14px; font-size: 10.5px; letter-spacing: .12em; }
.mdba-modal-body { padding: 40px 56px 48px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); column-gap: 48px; row-gap: 0; align-items: start; }
.mdba-modal-bio { grid-column: 1; grid-row: 1; color: #D9D9D4; font-size: 15.5px; line-height: 1.75; margin: 0; }
.mdba-modal-bio::before, .mdba-modal-links::before { display: block; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #FFDE94; margin-bottom: 18px; }
.mdba-modal-bio::before { content: "About"; }
.mdba-modal-bio.mdba-clamped { max-height: 15em; }
.mdba-modal-bio a { color: #FFDE94; }
.mdba-read-more { grid-column: 1; grid-row: 2; color: #FFDE94 !important; margin: 14px 0 0 !important; }
.mdba-modal-links { grid-column: 2; grid-row: 1 / span 2; display: block; background: #1A1A19; border: 1px solid #2A2A28; border-radius: 16px; padding: 24px; }
.mdba-modal-links::before { content: "Contact"; }
.mdba-modal-links .mdba-modal-link { display: flex; align-items: center; gap: 12px; color: #FFFFFF; font-size: 14px; font-weight: 500; padding: 12px 0; border-top: 1px solid #2A2A28; }
.mdba-modal-links .mdba-modal-link:first-of-type { border-top: 0; padding-top: 0; }
.mdba-modal-links .mdba-modal-link svg { color: #FFDE94; flex-shrink: 0; }
.mdba-modal-links .mdba-modal-link:hover { color: #FFDE94; text-decoration: none; }
@media (max-width: 760px) {
  .mdba-modal-head { padding: 64px 24px 28px; flex-direction: column; align-items: flex-start; gap: 20px; }
  .mdba-modal-avatar { width: 112px; height: 112px; }
  .mdba-modal-name { font-size: 26px; }
  .mdba-modal-body { grid-template-columns: minmax(0, 1fr); padding: 28px 24px 36px; row-gap: 28px; }
  .mdba-modal-bio, .mdba-read-more, .mdba-modal-links { grid-column: 1; grid-row: auto; }
}

.mdba-modal .mdba-read-more { justify-self: start; text-align: left; width: auto; }

/* =====================================================================================
   Smooth transitions (2026-10-12): bio expand, modal open, card entrance, filters, images.
   Honours prefers-reduced-motion. Revert: delete from here to the end of the file.
   ===================================================================================== */
.mdba-modal .mdba-modal-bio { position: relative; overflow: hidden; transition: max-height .55s cubic-bezier(.4, 0, .2, 1); mask-image: none !important; -webkit-mask-image: none !important; }
.mdba-modal .mdba-modal-bio::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5.5em; background: linear-gradient(to bottom, rgba(19,19,18,0), #131312 85%); opacity: 0; transition: opacity .4s ease; pointer-events: none; }
.mdba-modal .mdba-modal-bio.mdba-clamped::after { opacity: 1; }
.mdba-modal .mdba-read-more { transition: color .2s ease, opacity .2s ease; }

@keyframes mdba-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes mdba-pop-in { from { opacity: 0; transform: translateY(16px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes mdba-card-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.mdba-modal-overlay.open { animation: mdba-fade-in .25s ease both; }
.mdba-modal-overlay.open .mdba-modal { animation: mdba-pop-in .35s cubic-bezier(.2, .8, .2, 1) both; }
.mdba-directory-root .mdba-card { animation: mdba-card-in .45s cubic-bezier(.2, .8, .2, 1) both; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.mdba-directory-root .mdba-card:nth-child(3n+2) { animation-delay: .05s; }
.mdba-directory-root .mdba-card:nth-child(3n+3) { animation-delay: .1s; }
.mdba-directory-root .mdba-card-top img { transition: transform .5s cubic-bezier(.2, .8, .2, 1); }
.mdba-directory-root .mdba-card-top { overflow: hidden; }
.mdba-directory-root .mdba-card:hover .mdba-card-top img { transform: scale(1.04); }
.mdba-directory-root .mdba-filter-tab, .mdba-directory-root .mdba-search-wrap, .mdba-directory-root .mdba-search-wrap button { transition: background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease; }
.mdba-directory-root .mdba-search-wrap:focus-within { border-color: #FFDE94; box-shadow: 0 0 0 3px rgba(255, 222, 148, .15); }
.mdba-directory-root .mdba-social-link, .mdba-directory-root .mdba-view-link, .mdba-modal .mdba-modal-link, .mdba-modal-close { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
@media (prefers-reduced-motion: reduce) {
  .mdba-modal .mdba-modal-bio, .mdba-modal .mdba-modal-bio::after { transition: none; }
  .mdba-modal-overlay.open, .mdba-modal-overlay.open .mdba-modal, .mdba-directory-root .mdba-card { animation: none; }
  .mdba-directory-root .mdba-card:hover .mdba-card-top img { transform: none; }
}
