.vv-member-directory{--vv-border:#dcdcde;--vv-surface:#fff;color:#1d2327}.vv-member-directory .vv-directory-filterbar{display:grid;grid-template-columns:220px 220px minmax(220px,1fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid var(--vv-border);border-radius:10px;background:#f6f7f7}.vv-member-directory .vv-directory-filterbar label{display:grid;gap:5px;font-weight:700}.vv-member-directory .vv-directory-filterbar select,.vv-member-directory .vv-directory-filterbar input{box-sizing:border-box;width:100%;height:46px;padding:0 12px;border:1px solid #8c8f94;border-radius:7px;background:#fff;font-size:16px}.vv-member-directory .vv-directory-filterbar button{height:46px;padding:0 22px;border:0;border-radius:7px;background:#2271b1;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.vv-member-directory .vv-directory-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.vv-member-directory .vv-directory-item{box-sizing:border-box;min-width:0;border:1px solid var(--vv-border);border-left:8px solid var(--vv-function-color,#dcdcde);border-radius:12px;background:var(--vv-surface);box-shadow:0 2px 8px rgba(0,0,0,.08)}.vv-member-directory.vv-directory-cards .vv-directory-item{display:flex;gap:20px;min-height:160px;padding:24px}.vv-member-directory .vv-directory-photo{width:120px;height:120px;flex:0 0 120px;object-fit:cover;border-radius:50%}.vv-member-directory .vv-directory-content{min-width:0;align-self:center}.vv-member-directory .vv-directory-name{font-size:22px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.vv-member-directory .vv-directory-field{margin-top:6px;font-size:16px;line-height:1.35;overflow-wrap:anywhere}.vv-member-directory .vv-field-function{font-size:20px;font-weight:700;color:var(--vv-function-color,#333)}.vv-member-directory .vv-field-birthday-age{font-weight:700}.vv-member-directory .vv-directory-message{padding:12px;border-left:4px solid #dba617;background:#fff8e5}

.vv-member-directory.vv-directory-compact .vv-directory-items{grid-template-columns:1fr;gap:8px}.vv-member-directory.vv-directory-compact .vv-directory-item{display:grid;grid-template-columns:64px minmax(0,1fr);min-height:66px;padding:0;border-left-width:6px;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06)}.vv-member-directory.vv-directory-compact .vv-directory-photo{grid-column:1;grid-row:1;width:64px;height:100%;min-height:66px;border-radius:0;object-fit:cover}.vv-member-directory.vv-directory-compact .vv-directory-content{grid-column:2;display:grid;grid-template-columns:minmax(150px,1.35fr) minmax(110px,1fr) minmax(120px,1fr) minmax(170px,1.4fr);gap:5px 14px;align-items:center;padding:8px 14px}.vv-member-directory.vv-directory-compact .vv-directory-name{grid-column:1;font-size:17px}.vv-member-directory.vv-directory-compact .vv-field-function{grid-column:2;font-size:16px}.vv-member-directory.vv-directory-compact .vv-field-function_since,.vv-member-directory.vv-directory-compact .vv-field-function_period,.vv-member-directory.vv-directory-compact .vv-field-membership_type{grid-column:3}.vv-member-directory.vv-directory-compact .vv-field-function_email,.vv-member-directory.vv-directory-compact .vv-field-function_phone,.vv-member-directory.vv-directory-compact .vv-field-email_private,.vv-member-directory.vv-directory-compact .vv-field-phone_mobile,.vv-member-directory.vv-directory-compact .vv-field-membership_options{grid-column:4}.vv-member-directory.vv-directory-compact .vv-directory-field{margin:0;font-size:14px;line-height:1.2}.vv-member-directory.vv-directory-compact .vv-field-birthday-age{grid-column:1/-1;grid-row:2;margin-top:2px;font-size:13px;line-height:1.15}

.vv-member-directory.vv-directory-list .vv-directory-items{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--vv-border);border-radius:8px;overflow:hidden}.vv-member-directory.vv-directory-list .vv-directory-item{display:grid;grid-template-columns:48px minmax(0,1fr);min-height:50px;padding:0;border:0;border-left:5px solid var(--vv-function-color,#dcdcde);border-bottom:1px solid #e7e7e7;border-radius:0;overflow:hidden;box-shadow:none}.vv-member-directory.vv-directory-list .vv-directory-item:nth-child(even){background:#fafafa}.vv-member-directory.vv-directory-list .vv-directory-item:hover{background:#f2f6f8}.vv-member-directory.vv-directory-list .vv-directory-item:last-child{border-bottom:0}.vv-member-directory.vv-directory-list .vv-directory-photo{grid-column:1;grid-row:1;width:48px;height:100%;min-height:50px;border-radius:0;object-fit:cover}.vv-member-directory.vv-directory-list .vv-directory-content{grid-column:2;display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(115px,1fr) minmax(110px,.9fr) minmax(120px,1fr) minmax(170px,1.5fr);gap:4px 12px;align-items:center;padding:6px 12px}.vv-member-directory.vv-directory-list .vv-directory-name{grid-column:1;font-size:15px}.vv-member-directory.vv-directory-list .vv-field-function{grid-column:2;font-size:14px}.vv-member-directory.vv-directory-list .vv-field-function_since,.vv-member-directory.vv-directory-list .vv-field-function_period{grid-column:3}.vv-member-directory.vv-directory-list .vv-field-membership_type,.vv-member-directory.vv-directory-list .vv-field-membership_options{grid-column:4}.vv-member-directory.vv-directory-list .vv-field-function_email,.vv-member-directory.vv-directory-list .vv-field-function_phone,.vv-member-directory.vv-directory-list .vv-field-email_private,.vv-member-directory.vv-directory-list .vv-field-phone_mobile{grid-column:5}.vv-member-directory.vv-directory-list .vv-directory-field{margin:0;font-size:13px;line-height:1.15}.vv-member-directory.vv-directory-list .vv-field-birthday-age{grid-column:1/-1;grid-row:2;margin-top:1px;font-size:12px;line-height:1.1}
.vv-member-directory.vv-directory-compact .no-photo,.vv-member-directory.vv-directory-list .no-photo{grid-template-columns:1fr}.vv-member-directory.vv-directory-compact .no-photo .vv-directory-content,.vv-member-directory.vv-directory-list .no-photo .vv-directory-content{grid-column:1}
@media(max-width:1000px){.vv-member-directory .vv-directory-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.vv-member-directory.vv-directory-compact .vv-directory-content,.vv-member-directory.vv-directory-list .vv-directory-content{grid-template-columns:minmax(140px,1.3fr) minmax(110px,1fr) minmax(160px,1.4fr)}.vv-member-directory.vv-directory-compact .vv-field-function_email,.vv-member-directory.vv-directory-compact .vv-field-function_phone,.vv-member-directory.vv-directory-compact .vv-field-email_private,.vv-member-directory.vv-directory-compact .vv-field-phone_mobile,.vv-member-directory.vv-directory-compact .vv-field-membership_options,.vv-member-directory.vv-directory-list .vv-field-function_email,.vv-member-directory.vv-directory-list .vv-field-function_phone,.vv-member-directory.vv-directory-list .vv-field-email_private,.vv-member-directory.vv-directory-list .vv-field-phone_mobile,.vv-member-directory.vv-directory-list .vv-field-membership_options{grid-column:3}.vv-member-directory.vv-directory-compact .vv-field-birthday-age,.vv-member-directory.vv-directory-list .vv-field-birthday-age{grid-column:1/-1}}
@media(max-width:650px){.vv-member-directory .vv-directory-filterbar{grid-template-columns:1fr}.vv-member-directory .vv-directory-items{grid-template-columns:1fr}.vv-member-directory.vv-directory-cards .vv-directory-item{align-items:center;min-height:0;padding:18px}.vv-member-directory.vv-directory-cards .vv-directory-photo{width:90px;height:90px;flex-basis:90px}.vv-member-directory.vv-directory-compact .vv-directory-item,.vv-member-directory.vv-directory-list .vv-directory-item{grid-template-columns:52px minmax(0,1fr)}.vv-member-directory.vv-directory-compact .vv-directory-photo,.vv-member-directory.vv-directory-list .vv-directory-photo{width:52px;min-height:58px}.vv-member-directory.vv-directory-compact .vv-directory-content,.vv-member-directory.vv-directory-list .vv-directory-content{display:block;padding:7px 10px}.vv-member-directory.vv-directory-compact .vv-directory-name,.vv-member-directory.vv-directory-list .vv-directory-name,.vv-member-directory.vv-directory-compact .vv-directory-field,.vv-member-directory.vv-directory-list .vv-directory-field{display:block;margin-top:3px}.vv-member-directory.vv-directory-compact .vv-field-birthday-age,.vv-member-directory.vv-directory-list .vv-field-birthday-age{margin-top:5px}.vv-member-directory .vv-directory-name{font-size:19px}.vv-member-directory .vv-field-function{font-size:17px}}
@media(max-width:420px){.vv-member-directory.vv-directory-cards .vv-directory-item{display:block}.vv-member-directory.vv-directory-cards .vv-directory-photo{margin-bottom:12px}}

.vv-member-directory .vv-directory-email{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.vv-member-directory .vv-directory-email:hover,.vv-member-directory .vv-directory-email:focus{color:#2271b1}.vv-member-directory.vv-directory-compact .vv-directory-photo{width:calc(64px - 4px);height:calc(100% - 4px);min-height:62px;margin:2px;border-radius:6px}.vv-member-directory.vv-directory-compact .no-photo{grid-template-columns:1fr}

.vv-member-directory.vv-directory-cards .vv-directory-item{align-items:flex-start}
.vv-member-directory.vv-directory-cards .vv-directory-content{align-self:flex-start}
.vv-member-directory.vv-directory-cards .vv-directory-photo{align-self:flex-start}

.vv-member-directory.vv-directory-compact .no-photo{grid-template-columns:64px minmax(0,1fr)}
.vv-member-directory.vv-directory-compact .no-photo .vv-directory-content{grid-column:2}


@media(max-width:650px){
.vv-member-directory.vv-directory-compact .no-photo{grid-template-columns:1fr}
.vv-member-directory.vv-directory-compact .no-photo .vv-directory-content{grid-column:1}
}
.vv-member-directory.vv-directory-compact .vv-directory-photo{width:60px;height:60px;min-width:60px;min-height:60px;aspect-ratio:1/1;margin:2px;border-radius:6px;object-fit:cover;align-self:start}
.vv-member-directory.vv-directory-compact .no-photo{grid-template-columns:64px minmax(0,1fr)}
.vv-member-directory.vv-directory-compact .no-photo .vv-directory-content{grid-column:2}
@media(max-width:650px){.vv-member-directory.vv-directory-compact .vv-directory-photo{width:48px;height:48px;min-width:48px;min-height:48px;aspect-ratio:1/1}.vv-member-directory.vv-directory-compact .no-photo{grid-template-columns:1fr}.vv-member-directory.vv-directory-compact .no-photo .vv-directory-content{grid-column:1}}
