/* MindMatch Directory — v1.5.0 */

.mmfd-wrap {
        font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
        background: #f4f6f8;
        min-height: 60vh;
}

/* ── Count bar ── */
.mmfd-count-bar {
        padding: 22px 40px 0;
        max-width: 1300px;
        margin: 0 auto;
        box-sizing: border-box;
}
.mmfd-count-label {
        font-size: 14px;
        color: #8a9baa;
        font-weight: 500;
}
.mmfd-count-label strong { color: #1a2e2b; font-weight: 700; }

/* ── Grid ── */
.mmfd-body {
        padding: 20px 40px 60px;
        max-width: 1300px;
        margin: 0 auto;
        box-sizing: border-box;
}
.mmfd-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 22px;
        transition: opacity .2s;
}

/* ── No results ── */
.mmfd-no-results {
        display: none;
        text-align: center;
        padding: 80px 20px;
        color: #9aa8b3;
        font-size: 15px;
}
.mmfd-search-again-btn {
        margin-top: 16px;
        display: inline-block;
        background: linear-gradient(135deg, #2bb5ba, #1a8a8f);
        color: #fff;
        border: none;
        border-radius: 30px;
        padding: 12px 28px;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        transition: opacity .18s, transform .18s;
}
.mmfd-search-again-btn:hover {
        opacity: .88;
        transform: translateY(-1px);
}

/* ══════════════════
   CARD WRAPPER
   ══════════════════ */
.mmfd-card-wrap { display: contents; }

.mmfd-card {
        display: flex !important;
        flex-direction: column !important;
        text-decoration: none !important;
        color: inherit !important;
        background: #fff !important;
        border-radius: 20px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
        transition: transform .18s, box-shadow .18s !important;
}
.mmfd-card:hover {
        transform: translateY(-5px) !important;
        box-shadow: 0 12px 36px rgba(42,125,111,.18) !important;
}

/* Card header */
.mmfd-card-head {
        background: linear-gradient(140deg, #2a7d6f 0%, #1b5c52 60%, #163f38 100%) !important;
        padding: 30px 20px 52px !important;
        text-align: center !important;
        position: relative !important;
}
.mmfd-best-match {
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        background: rgba(255,255,255,.2) !important;
        color: #fff !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
        padding: 4px 10px !important;
        border-radius: 20px !important;
}
.mmfd-avatar-img {
        width: 80px !important;
        height: 80px !important;
        border-radius: 50% !important;
        object-fit: cover !important;
        border: 3px solid rgba(255,255,255,.35) !important;
        margin-bottom: 10px !important;
}
.mmfd-avatar-ini {
        width: 80px !important;
        height: 80px !important;
        border-radius: 50% !important;
        background: rgba(255,255,255,.15) !important;
        border: 3px solid rgba(255,255,255,.35) !important;
        color: #fff !important;
        font-size: 26px !important;
        font-weight: 700 !important;
        line-height: 80px !important;
        text-align: center !important;
        margin: 0 auto 10px !important;
}
.mmfd-badges { margin-top: 8px !important; }
.mmfd-badge {
        display: inline-block !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        padding: 3px 10px !important;
        border-radius: 20px !important;
        margin: 2px !important;
}
.mmfd-badge-online   { background: rgba(255,255,255,.2) !important; color: #d9f7f1 !important; }
.mmfd-badge-inperson { background: rgba(180,140,220,.25) !important; color: #e8d8ff !important; }

/* Card body */
.mmfd-card-body {
        flex: 1 !important;
        padding: 0 18px 18px !important;
        margin-top: -30px !important;
        display: flex !important;
        flex-direction: column !important;
}
.mmfd-card-info {
        background: #fff !important;
        border-radius: 14px !important;
        padding: 16px !important;
        text-align: center !important;
        box-shadow: 0 2px 12px rgba(0,0,0,.09) !important;
        margin-bottom: 12px !important;
}
.mmfd-card-name {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #0f2420 !important;
        line-height: 1.3 !important;
        margin: 0 0 4px !important;
}
.mmfd-card-loc {
        font-size: 12px !important;
        color: #8a9baa !important;
        line-height: 1.4 !important;
        margin: 0 0 10px !important;
}
.mmfd-card-tags {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
        justify-content: center !important;
}
.mmfd-tag {
        background: #e8f5f2 !important;
        color: #1e6059 !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        padding: 3px 9px !important;
        border-radius: 20px !important;
}
.mmfd-card-cta {
        display: block !important;
        text-align: center !important;
        background: linear-gradient(135deg, #2a7d6f, #1e5f54) !important;
        color: #fff !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        letter-spacing: .04em !important;
        padding: 12px !important;
        border-radius: 12px !important;
        margin-top: auto !important;
}

/* ── Pagination ── */
.mmfd-pager {
        display: flex;
        justify-content: center;
        gap: 7px;
        margin-top: 32px;
}
.mmfd-page-btn {
        width: 38px; height: 38px;
        border: 1.5px solid #d5dde4;
        border-radius: 10px;
        background: #fff;
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        color: #444;
        transition: border-color .15s, background .15s, color .15s;
}
.mmfd-page-btn:hover { border-color: #2a7d6f; color: #2a7d6f; }
.mmfd-page-btn--active { border-color: #2a7d6f; background: #2a7d6f; color: #fff; }

/* ── Responsive ── */
@media (max-width: 1050px) { .mmfd-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px)  {
        .mmfd-body, .mmfd-count-bar { padding-left: 16px; padding-right: 16px; }
        .mmfd-grid { grid-template-columns: 1fr; }
}
