:root {
    --mp-directory-maroon: #590006;
    --mp-directory-pink: #ef235e;
    --mp-directory-yellow: #ffdc00;
    --mp-directory-cream: #f8f6e9;
    --mp-directory-white: #fff;
}

.mp-directory-wrap,
.mp-directory-root,
#mp-favorites-root,
.mp-directory-host,
.mp-directory-host-inner {
    position: relative !important;
    z-index: 2 !important;
    display: flow-root;
    width: 100%;
    height: auto !important;
    min-height: 1px !important;
    overflow: visible !important;
    clear: both;
}

.mp-directory-host.elementor-widget,
.mp-directory-host.elementor-widget-shortcode,
.mp-directory-host.elementor-widget-container {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.mp-directory-search,
.mp-directory-search * {
    box-sizing: border-box;
}

.mp-directory-search {
    position: relative;
    z-index: 30;
    width: 100%;
    margin: 0 0 24px;
    padding: clamp(16px, 2.5vw, 24px);
    border: 1px solid rgba(89, 0, 6, .12);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(62, 0, 4, .07);
}

.mp-directory-search-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.35fr) minmax(150px, .65fr) minmax(190px, .9fr) auto;
    gap: 14px;
    align-items: end;
}

.mp-directory-field label {
    display: block;
    margin: 0 0 6px;
    color: var(--mp-directory-maroon);
    font-size: 13px;
    font-weight: 700;
}

.mp-directory-field input,
.mp-directory-field select {
    display: block;
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #d9d0d1;
    border-radius: 10px;
    background: #fff;
    color: #2b2021;
    font-size: 15px;
    line-height: 1.2;
    box-shadow: none;
}

.mp-directory-field input:focus,
.mp-directory-field select:focus {
    border-color: var(--mp-directory-maroon);
    outline: 2px solid rgba(89, 0, 6, .12);
    outline-offset: 1px;
}

.mp-directory-search-actions {
    display: flex;
    gap: 8px;
}

.mp-directory-search-button,
.mp-directory-reset-button,
.mp-directory-load-more {
    appearance: none;
    min-height: 46px;
    padding: 10px 18px;
    border: 1px solid var(--mp-directory-maroon);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.mp-directory-search-button,
.mp-directory-load-more {
    background: var(--mp-directory-maroon);
    color: #fff;
}

.mp-directory-reset-button {
    background: #fff;
    color: var(--mp-directory-maroon);
}

.mp-directory-advanced {
    margin-top: 14px;
    border-top: 1px solid #eee8e8;
}

.mp-directory-advanced summary {
    width: fit-content;
    padding: 13px 2px 4px;
    color: var(--mp-directory-maroon);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.mp-directory-advanced-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 14px;
    padding: 14px 0 2px;
}

.mp-directory-field--wide {
    grid-column: span 2;
}

.mp-directory-age-range {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 7px;
    align-items: center;
}

.mp-directory-age-range span {
    color: #756a6b;
    font-size: 13px;
}

.mp-directory-city {
    position: relative;
}

.mp-directory-city__input-wrap {
    position: relative;
}

.mp-directory-city__input-wrap input {
    padding-right: 40px;
}

.mp-directory-city__toggle {
    position: absolute;
    top: 1px;
    right: 1px;
    bottom: 1px;
    width: 38px;
    padding: 0;
    border: 0;
    border-left: 1px solid #e1d9da;
    border-radius: 0 9px 9px 0;
    background: #faf8f8;
    color: var(--mp-directory-maroon);
    cursor: pointer;
}

.mp-directory-city__menu {
    position: absolute;
    z-index: 999;
    top: calc(100% + 5px);
    left: 0;
    right: 0;
    max-height: 280px;
    overflow: auto;
    padding: 6px;
    border: 1px solid #cfc4c5;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(44, 0, 3, .16);
}

.mp-directory-city__menu[hidden] {
    display: none;
}

.mp-directory-city__option {
    display: block;
    width: 100%;
    padding: 9px 10px;
    border: 0;
    border-radius: 7px;
    background: #fff;
    color: #302526;
    text-align: left;
    cursor: pointer;
}

.mp-directory-city__option:hover,
.mp-directory-city__option:focus,
.mp-directory-city__option.is-active {
    background: #f5efef;
    outline: 0;
}

.mp-directory-city__option--special {
    margin-bottom: 4px;
    background: #f7f1f1;
    color: var(--mp-directory-maroon);
}

.mp-directory-city__option--special small {
    display: block;
    margin-top: 2px;
    color: #74696a;
    font-size: 11px;
}

.mp-directory-city__group {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 9px 5px 5px;
    color: #827778;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mp-directory-city__group::before,
.mp-directory-city__group::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e4dddd;
}

.mp-directory-city__empty {
    padding: 10px;
    color: #74696a;
    font-size: 12px;
}

.mp-directory-results-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 28px;
    margin: 0 0 8px;
    color: #5f5354;
    font-size: 14px;
    font-weight: 600;
}

.mp-directory-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    align-items: start;
    gap: clamp(18px, 2.2vw, 30px);
    width: 100%;
    margin: 0;
    padding: 18px 0 34px;
}

.mp-directory-card,
.mp-directory-card * {
    box-sizing: border-box;
}

.mp-directory-card {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: 350px;
    height: auto;
    min-height: 0;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 18px;
    background: var(--mp-directory-maroon);
    box-shadow: 0 16px 36px rgba(64, 0, 4, .18);
    transform: translateZ(0);
    transition: transform .2s ease, box-shadow .2s ease;
}

/* Ratio fallback works even when an Elementor container recalculates after AJAX. */
.mp-directory-card::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 150%;
}

.mp-directory-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 21px 46px rgba(64, 0, 4, .23);
}

.mp-directory-card__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
    background: #76513f;
}

.mp-directory-card__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: scale(1.005);
    transition: transform .35s ease;
}

.mp-directory-card--groom .mp-directory-card__image {
    object-position: center top !important;
}

.mp-directory-card--bride .mp-directory-card__image {
    object-position: center center !important;
}

.mp-directory-card:hover .mp-directory-card__image {
    transform: scale(1.025);
}

.mp-directory-card__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(55,12,4,.01) 0%, rgba(68,0,5,.05) 44%, rgba(80,0,5,.72) 70%, rgba(80,0,5,.98) 100%);
}

.mp-directory-card__content {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 20px 18px 18px;
    color: var(--mp-directory-white);
    text-align: center;
}

.mp-directory-card__content h3 {
    margin: 0 0 8px;
    color: var(--mp-directory-white);
    font-family: inherit;
    font-size: clamp(22px, 2.2vw, 30px);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -.01em;
    overflow-wrap: anywhere;
}

.mp-directory-card__content p {
    margin: 0 0 18px;
    color: var(--mp-directory-white);
    font-size: clamp(16px, 1.6vw, 21px);
    font-weight: 400;
    line-height: 1.25;
}

.mp-directory-card__view {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 10px 16px;
    border: 0;
    border-radius: 999px;
    background: var(--mp-directory-yellow);
    color: #4f0005 !important;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    transition: transform .18s ease, filter .18s ease;
}

.mp-directory-card__view:hover {
    color: #4f0005 !important;
    filter: brightness(1.03);
    transform: translateY(-1px);
}

button.mp-directory-favorite {
    position: absolute !important;
    z-index: 4 !important;
    top: 16px !important;
    right: 16px !important;
    display: grid !important;
    place-items: center !important;
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1.5px solid rgba(255,255,255,.96) !important;
    border-radius: 50% !important;
    outline: 0 !important;
    background: rgba(0,0,0,.28) !important;
    color: #fff !important;
    box-shadow: none !important;
    line-height: 1 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer;
    backdrop-filter: blur(3px);
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

button.mp-directory-favorite:hover {
    transform: scale(1.055);
    background: rgba(0,0,0,.38) !important;
}

.mp-directory-favorite__icon {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    color: #fff;
}

.mp-directory-favorite__icon svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.mp-directory-favorite__icon path {
    fill: transparent;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: fill .18s ease;
}

button.mp-directory-favorite.is-favorite {
    border-color: var(--mp-directory-pink) !important;
    background: var(--mp-directory-pink) !important;
    color: #fff !important;
}

button.mp-directory-favorite.is-favorite .mp-directory-favorite__icon path {
    fill: currentColor;
    stroke: currentColor;
}

button.mp-directory-favorite[aria-busy="true"] {
    opacity: .58;
    cursor: wait;
}

.mp-directory-empty {
    margin: 28px auto;
    padding: 20px;
    border: 1px solid #ebe4e4;
    border-radius: 12px;
    background: #fff;
    color: #625657;
    text-align: center;
}

.mp-directory-load-more-wrap {
    display: flex;
    justify-content: center;
    padding: 4px 0 36px;
}

.mp-directory-load-more {
    min-width: 170px;
}

.mp-directory-load-more:disabled {
    opacity: .6;
    cursor: wait;
}

@media (max-width: 1024px) {
    .mp-directory-search-row {
        grid-template-columns: 1fr 1fr;
    }

    .mp-directory-field--search {
        grid-column: span 2;
    }

    .mp-directory-search-actions {
        align-self: end;
    }

    .mp-directory-advanced-grid {
        grid-template-columns: repeat(2, minmax(150px, 1fr));
    }
}

@media (max-width: 767px) {
    .mp-directory-search {
        padding: 15px;
        border-radius: 14px;
    }

    .mp-directory-search-row,
    .mp-directory-advanced-grid {
        grid-template-columns: 1fr;
    }

    .mp-directory-field--search,
    .mp-directory-field--wide {
        grid-column: auto;
    }

    .mp-directory-search-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .mp-directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .mp-directory-card {
        max-width: 100%;
        border-radius: 15px;
    }

    .mp-directory-card__content {
        padding: 15px 10px 12px;
    }

    .mp-directory-card__content h3 {
        font-size: clamp(17px, 4.5vw, 24px);
        font-weight: 500;
    }

    .mp-directory-card__content p {
        margin-bottom: 13px;
        font-size: clamp(13px, 3.35vw, 17px);
    }

    .mp-directory-card__view {
        min-height: 41px;
        padding: 9px;
        font-size: 15px;
    }

    button.mp-directory-favorite {
        top: 10px !important;
        right: 10px !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
    }

    .mp-directory-favorite__icon {
        width: 21px;
        height: 21px;
    }
}

@media (max-width: 560px) {
    .mp-directory-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .mp-directory-card {
        width: min(100%, 350px);
        max-width: 350px;
        border-radius: 16px;
    }

    .mp-directory-card__content h3 {
        font-size: 27px;
    }

    .mp-directory-card__content p {
        font-size: 18px;
    }
}

/* Mat Pro 2.8 — directory discovery, compact comboboxes and dual sections */
.mp-directory-sticky-sentinel{height:1px;width:100%;pointer-events:none}
.mp-directory-search{
    position:sticky;
    top:0;
    z-index:9990;
    transition:box-shadow .2s ease,border-radius .2s ease,padding .2s ease;
}
.mp-directory-search.is-stuck{
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    border-right:0;
    border-left:0;
    border-radius:0;
    box-shadow:0 12px 30px rgba(62,0,4,.13);
    padding-left:max(16px,calc((100vw - 1220px)/2));
    padding-right:max(16px,calc((100vw - 1220px)/2));
}
.mp-directory-search.is-stuck .mp-directory-filter-form{max-width:1220px;margin:0 auto}
.mp-directory-search.is-stuck .mp-directory-advanced[open]{max-height:calc(100vh - 115px);overflow:auto;padding-right:5px}
.mp-directory-search-row{grid-template-columns:minmax(245px,1.4fr) minmax(145px,.6fr) minmax(215px,.9fr) auto}
.mp-directory-field label small{color:#8a7f80;font-size:10px;font-weight:500}
.mp-directory-field input,.mp-directory-field select,
.mp-directory-suggest__input-wrap{min-height:48px}
.mp-directory-field input,.mp-directory-field select{height:48px;padding:11px 13px;border-radius:11px}
.mp-directory-select-wrap{position:relative}
.mp-directory-select-wrap::after{content:"";position:absolute;right:15px;top:50%;width:8px;height:8px;border-right:2px solid var(--mp-directory-maroon);border-bottom:2px solid var(--mp-directory-maroon);transform:translateY(-65%) rotate(45deg);pointer-events:none}
.mp-directory-select-wrap select{padding-right:42px;appearance:none;-webkit-appearance:none}
.mp-directory-search-actions,.mp-directory-advanced-actions{display:flex;gap:10px;align-items:center}
.mp-directory-search-button,.mp-directory-reset-button{height:48px;min-height:48px;padding:10px 24px;border-radius:999px}
.mp-directory-search-button{background:var(--mp-directory-maroon)!important;border-color:var(--mp-directory-maroon)!important;color:#fff!important;box-shadow:0 8px 18px rgba(89,0,6,.15)}
.mp-directory-reset-button{background:#fff!important;border-color:rgba(89,0,6,.55)!important;color:var(--mp-directory-maroon)!important}
.mp-directory-search-actions.is-disabled{opacity:.5}
.mp-directory-search-actions button:disabled{cursor:not-allowed;filter:grayscale(.15);box-shadow:none}
.mp-directory-advanced-actions{justify-content:flex-end;padding:16px 0 4px;border-top:1px solid #eee8e8}
.mp-directory-advanced-actions[hidden]{display:none!important}
.mp-directory-advanced-grid{grid-template-columns:repeat(4,minmax(165px,1fr))}
.mp-directory-field--wide{grid-column:span 2}
.mp-directory-age-range input:placeholder-shown{color:#8d8283}

.mp-directory-suggest{position:relative}
.mp-directory-suggest__input-wrap{position:relative}
.mp-directory-suggest__input-wrap input{padding-right:48px}
button.mp-directory-suggest__toggle{
    position:absolute!important;top:4px!important;right:4px!important;bottom:4px!important;
    display:grid!important;place-items:center!important;width:40px!important;min-width:40px!important;height:auto!important;min-height:0!important;
    margin:0!important;padding:0!important;border:0!important;border-radius:9px!important;background:#f6f1f1!important;color:var(--mp-directory-maroon)!important;
    box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important
}
button.mp-directory-suggest__toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mp-directory-suggest__menu{
    position:absolute;z-index:10020;top:calc(100% + 6px);right:0;left:0;max-height:310px;overflow:auto;
    padding:7px;border:1px solid #d8cdce;border-radius:12px;background:#fff;box-shadow:0 18px 42px rgba(44,0,3,.17)
}
.mp-directory-suggest__menu[hidden]{display:none!important}
button.mp-directory-suggest__option{
    display:block!important;width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0 0 2px!important;padding:10px 12px!important;
    border:0!important;border-radius:8px!important;background:#fff!important;color:#302526!important;box-shadow:none!important;text-align:left!important;
    font-size:14px!important;font-weight:500!important;line-height:1.25!important;appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important
}
button.mp-directory-suggest__option:hover,button.mp-directory-suggest__option:focus,button.mp-directory-suggest__option.is-active{background:#f5eeee!important;color:var(--mp-directory-maroon)!important;outline:0!important}
button.mp-directory-suggest__option--special{margin:3px 0 6px!important;padding:12px 13px!important;border:1px solid #eadadb!important;background:#fff7f8!important}
button.mp-directory-suggest__option--special strong{display:block;color:var(--mp-directory-maroon);font-size:15px}
button.mp-directory-suggest__option--special small{display:block;margin-top:2px;color:#837778;font-size:11px;font-weight:400}
button.mp-directory-suggest__option--clear{color:#776b6c!important;font-size:12px!important}
.mp-directory-suggest__group{display:flex;align-items:center;gap:8px;margin:10px 5px 6px;color:#8b7e7f;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.mp-directory-suggest__group::before,.mp-directory-suggest__group::after{content:"";flex:1;height:1px;background:#e5dddd}
.mp-directory-suggest__empty{padding:11px;color:#776b6c;font-size:12px}

.mp-directory-section{margin:0 0 58px}
.mp-directory-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 8px;padding:0 2px}
.mp-directory-section-heading h2{margin:2px 0 3px;color:var(--mp-directory-maroon);font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,3.2vw,43px);line-height:1.08}
.mp-directory-section-heading p{margin:0;color:#75696a;font-size:14px}
.mp-directory-section-kicker{display:block;color:#b49b00;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.mp-directory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(15px,1.7vw,24px);padding-top:14px}
.mp-directory-card{max-width:none}
.mp-directory-results-meta{margin-top:5px;color:var(--mp-directory-maroon)}
.mp-directory-load-more{min-width:245px;background:var(--mp-directory-maroon)!important;color:#fff!important}

@media(max-width:1100px){
    .mp-directory-search-row{grid-template-columns:1fr 1fr}
    .mp-directory-field--search{grid-column:span 2}
    .mp-directory-advanced-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}
    .mp-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
    .mp-directory-search{top:0;padding:13px}
    .mp-directory-search.is-stuck{padding-left:13px;padding-right:13px}
    .mp-directory-search-row,.mp-directory-advanced-grid{grid-template-columns:1fr}
    .mp-directory-field--search,.mp-directory-field--wide{grid-column:auto}
    .mp-directory-search-actions,.mp-directory-advanced-actions{display:grid;grid-template-columns:1fr 1fr}
    .mp-directory-section{margin-bottom:42px}
    .mp-directory-section-heading h2{font-size:31px}
    .mp-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
}
@media(max-width:560px){
    .mp-directory-grid{grid-template-columns:1fr;gap:20px}
    .mp-directory-card{width:min(100%,350px)}
    .mp-directory-search.is-stuck .mp-directory-search-row{grid-template-columns:1fr 1fr}
    .mp-directory-search.is-stuck .mp-directory-field--search{grid-column:span 2}
    .mp-directory-search.is-stuck .mp-directory-field:nth-child(2),.mp-directory-search.is-stuck .mp-directory-field:nth-child(3){min-width:0}
}

/* Mat Pro 2.9 — fixed sticky discovery bar */
.mp-directory-search{position:relative;top:auto}
.mp-directory-search.is-stuck{position:fixed!important;top:var(--mp-fixed-top,0)!important;left:0!important;right:0!important;width:100vw!important;max-width:none!important;margin:0!important;z-index:99990!important;background:#fff!important;border-radius:0!important;box-shadow:0 12px 32px rgba(62,0,4,.16)!important}
.mp-directory-search.is-stuck .mp-directory-filter-form{max-width:1220px;margin:0 auto}
.mp-directory-sticky-sentinel{transition:height .05s linear}

/* v3.2.4 directory card refinements */
.mp-directory-card{border-radius:18px;overflow:hidden}
.mp-directory-card__content{padding:0 22px 18px!important;gap:9px!important}
.mp-directory-card__content h3{font-size:clamp(22px,2vw,30px)!important;font-weight:650!important;line-height:1.08!important;margin:0!important}
.mp-directory-card__content p{font-size:clamp(14px,1.35vw,18px)!important;font-weight:450!important;line-height:1.2!important;margin:0!important}
.mp-directory-card__view{min-height:44px!important;padding:9px 16px!important;font-size:15px!important;border-radius:999px!important}
.mp-directory-formno{position:absolute;left:16px;top:16px;z-index:8;display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(35,18,18,.48);backdrop-filter:blur(7px);color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.mp-directory-relation{position:absolute;left:16px;top:54px;z-index:8;display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.13)}
.mp-directory-relation--connected{background:#f0d94b;color:#4d3200}
.mp-directory-relation--sent{background:rgba(255,255,255,.93);color:#590006}
.mp-directory-relation--received{background:#ef235e;color:#fff}
@media(max-width:700px){.mp-directory-card__content{padding:0 16px 14px!important}.mp-directory-card__content h3{font-size:22px!important}.mp-directory-card__content p{font-size:14px!important}.mp-directory-card__view{min-height:40px!important;font-size:14px!important}.mp-directory-formno{left:12px;top:12px}.mp-directory-relation{left:12px;top:49px}}

/* Mat Pro 3.3.0 — compact proposal cards */
.mp-directory-card__content{padding:0 20px 18px!important;gap:0!important}
.mp-directory-card__content h3{margin:0 0 8px!important;font-size:clamp(18px,1.55vw,23px)!important;font-weight:560!important;line-height:1.12!important;letter-spacing:0!important}
.mp-directory-card__content p{margin:0 0 16px!important;font-size:clamp(11px,1vw,14px)!important;font-weight:420!important;line-height:1.28!important;opacity:.96}
.mp-directory-card__view{min-height:36px!important;padding:7px 13px!important;font-size:13px!important;font-weight:600!important}
.mp-directory-formno{min-height:26px!important;padding:4px 8px!important;font-size:10px!important}
.mp-directory-relation{top:48px!important;min-height:24px!important;font-size:10px!important;padding:3px 8px!important}
@media(max-width:700px){
 .mp-directory-card__content{padding:0 15px 14px!important}
 .mp-directory-card__content h3{font-size:18px!important;margin-bottom:6px!important}
 .mp-directory-card__content p{font-size:11px!important;margin-bottom:13px!important}
 .mp-directory-card__view{min-height:34px!important;font-size:12px!important;padding:6px 10px!important}
 .mp-directory-formno{font-size:9px!important}
}

/* Mat Pro 3.4.0 relationship state */
.mp-directory-relation--blocked{background:#5b0005!important;color:#fff!important;border-color:#5b0005!important}

/* Mat PRO 3.6.4 — compact, scroll-safe mobile discovery filter */
@media (max-width:700px){
  .mp-directory-search{
    padding:10px 11px!important;
    margin-bottom:16px!important;
    border-radius:13px!important;
  }
  .mp-directory-search.is-stuck{
    padding:9px 11px!important;
    max-height:calc(100dvh - var(--mp-fixed-top,0px) - 4px)!important;
  }
  .mp-directory-filter-form{min-width:0!important}
  .mp-directory-search-row{
    display:grid!important;
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
    gap:8px 10px!important;
    align-items:end!important;
  }
  .mp-directory-search-row>.mp-directory-field:nth-child(1){grid-column:1/-1!important}
  .mp-directory-search-row>.mp-directory-field:nth-child(2){grid-column:1!important;min-width:0!important}
  .mp-directory-search-row>.mp-directory-field:nth-child(3){grid-column:2!important;min-width:0!important}
  .mp-directory-search-row>.mp-directory-search-actions{grid-column:1/-1!important}
  .mp-directory-field label{margin-bottom:4px!important;font-size:11.5px!important;line-height:1.05!important}
  .mp-directory-field input,.mp-directory-field select,.mp-directory-suggest__input-wrap{min-height:42px!important}
  .mp-directory-field input,.mp-directory-field select{height:42px!important;padding:8px 10px!important;border-radius:10px!important;font-size:13px!important}
  .mp-directory-select-wrap select{padding-right:34px!important}
  .mp-directory-select-wrap::after{right:12px!important;width:7px!important;height:7px!important}
  .mp-directory-suggest__input-wrap input{padding-right:42px!important}
  button.mp-directory-suggest__toggle{top:3px!important;right:3px!important;bottom:3px!important;width:36px!important;min-width:36px!important;border-radius:8px!important}
  .mp-directory-search-actions,.mp-directory-advanced-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  .mp-directory-search-button,.mp-directory-reset-button{height:42px!important;min-height:42px!important;padding:8px 14px!important;font-size:13px!important}
  .mp-directory-advanced{margin-top:9px!important}
  .mp-directory-advanced summary{padding:10px 2px 3px!important;font-size:12px!important}
  .mp-directory-advanced[open]{
    max-height:min(54dvh,470px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding-right:3px!important;
    scrollbar-gutter:stable;
  }
  .mp-directory-search.is-stuck .mp-directory-advanced[open]{
    max-height:calc(100dvh - var(--mp-fixed-top,0px) - 225px)!important;
  }
  .mp-directory-advanced-grid{grid-template-columns:1fr!important;gap:9px!important;padding:10px 0 4px!important}
  .mp-directory-field--wide{grid-column:auto!important}
  .mp-directory-age-range{gap:5px!important}
  .mp-directory-advanced-actions{padding:10px 0 3px!important;position:sticky;bottom:0;background:#fff;z-index:4}
  /* Location is intentionally wider than Looking For on phones. */
  .mp-directory-search-row>.mp-directory-field:nth-child(3) .mp-directory-suggest__menu{
    left:auto!important;
    right:0!important;
    width:min(290px,calc(100vw - 22px))!important;
    max-width:none!important;
    max-height:min(46dvh,310px)!important;
  }
  .mp-directory-suggest__menu{z-index:100050!important}
  button.mp-directory-suggest__option{padding:8px 10px!important;font-size:12.5px!important}
  button.mp-directory-suggest__option--special{padding:9px 10px!important}
  button.mp-directory-suggest__option--special strong{font-size:13px!important}
  button.mp-directory-suggest__option--special small{font-size:10px!important}
}

@media (max-width:380px){
  .mp-directory-search-row{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important}
  .mp-directory-field label{font-size:11px!important}
  .mp-directory-field input,.mp-directory-field select{font-size:12px!important}
}

/* Mat PRO 3.7.1 — readable minimum typography */
.mp-directory-field label small,
button.mp-directory-suggest__option--special small,
.mp-directory-suggest__group,
.mp-directory-section-kicker,
.mp-directory-relation,
.mp-directory-formno,
.mp-directory-card__content p{font-size:12px!important}
@media(max-width:700px){
  .mp-directory-field label{font-size:12px!important}
  .mp-directory-field input,.mp-directory-field select{font-size:13px!important}
  button.mp-directory-suggest__option--special small{font-size:12px!important}
  .mp-directory-card__content p{font-size:12px!important}
  .mp-directory-formno{font-size:12px!important}
}

/* Mat PRO 3.8.3 — compact two-column mobile proposal cards. */
@media (max-width:560px){
  .mp-directory-wrap .mp-directory-grid,.mp-directory-wrap .mat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;align-items:start!important}
  .mp-directory-card{width:100%!important;max-width:none!important;min-width:0!important;border-radius:14px!important}
  .mp-directory-card::before{padding-top:142%!important}
  .mp-directory-card__overlay{padding:8px 8px 9px!important}
  .mp-directory-card__formno{top:6px!important;left:7px!important;font-size:12px!important;padding:2px 5px!important}
  .mp-directory-card__favorite{top:6px!important;right:6px!important;width:31px!important;height:31px!important;min-width:31px!important}
  .mp-directory-card__relation{top:6px!important;left:7px!important;transform:translateY(27px)!important;font-size:12px!important;padding:4px 7px!important;max-width:calc(100% - 48px)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mp-directory-card__title,.mp-directory-card h3{font-size:14px!important;line-height:1.16!important;margin:0 0 3px!important}
  .mp-directory-card__meta,.mp-directory-card p{font-size:12px!important;line-height:1.2!important;margin:0 0 6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mp-directory-card .mp-view-profile,.mp-directory-card__button{min-height:32px!important;padding:6px 7px!important;font-size:12px!important;border-radius:999px!important}
}
@media (max-width:320px){.mp-directory-wrap .mp-directory-grid,.mp-directory-wrap .mat-grid{grid-template-columns:1fr!important}.mp-directory-card{max-width:280px!important;margin-inline:auto!important}}


/* Mat PRO v3.8.6 — filter buttons + breathing room */
.mp-directory-wrap,.mp-directory-root{box-sizing:border-box!important;padding-left:clamp(10px,1.4vw,18px)!important;padding-right:clamp(10px,1.4vw,18px)!important}
.mp-directory-search-button,.mp-directory-reset-button{display:inline-flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;min-width:0!important;max-width:100%!important;white-space:normal!important;line-height:1.05!important;text-align:center!important}
.mp-directory-action-en,.mp-directory-action-ur{display:block!important;width:100%!important;text-align:center!important}
.mp-directory-search-actions,.mp-directory-advanced-actions{min-width:0!important;max-width:100%!important}
.mp-directory-search-actions>*,.mp-directory-advanced-actions>*{min-width:0!important;max-width:100%!important}
@media(max-width:767px){
  .mp-directory-wrap,.mp-directory-root{padding-left:10px!important;padding-right:10px!important}
  .mp-directory-search{width:100%!important;max-width:100%!important}
  .mp-directory-search-button,.mp-directory-reset-button{width:100%!important;height:auto!important;min-height:48px!important;padding:7px 8px!important;font-size:12px!important}
}

/* Mat PRO 3.9.0 — balanced bilingual filter button padding. */
.mp-directory-search-button,.mp-directory-reset-button{
  min-height:58px!important;
  height:auto!important;
  padding:10px 20px 11px!important;
  line-height:1.15!important;
}
.mp-directory-search-button .mp-directory-action-en,.mp-directory-reset-button .mp-directory-action-en{line-height:1.1!important}
.mp-directory-search-button .mp-directory-action-ur,.mp-directory-reset-button .mp-directory-action-ur{line-height:1.45!important}
@media(max-width:700px){
  .mp-directory-search-button,.mp-directory-reset-button{min-height:54px!important;padding:8px 10px 9px!important;font-size:12px!important}
}

/* Mat PRO v3.9.1 — symmetric Search/Reset button spacing. */
.mp-directory-search-actions{align-items:stretch!important}
.mp-directory-search-button,.mp-directory-reset-button{padding-block:10px!important;padding-inline:18px!important;min-height:58px!important;height:auto!important}
@media(max-width:700px){.mp-directory-search-button,.mp-directory-reset-button{padding:9px 10px!important;min-height:54px!important}}

/* Mat PRO v3.10.0 — responsive filter bar + Media Library gender-placeholder UX */
.mp-directory-search{
  width:100%!important;
  max-width:none!important;
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.mp-directory-filter-form{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.mp-directory-search-row{
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(0,.82fr) minmax(0,1.25fr) minmax(0,1.05fr)!important;
  gap:12px!important;
  align-items:end!important;
  width:100%!important;
}
.mp-directory-field{min-width:0!important;width:100%!important}
.mp-directory-field label{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.mp-directory-field label>.mp-directory-field-icon{display:inline-flex!important;position:static!important;transform:none!important;width:16px!important;height:16px!important;flex:0 0 16px!important}
.mp-directory-field-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--mp-directory-maroon);
  pointer-events:none;
}
.mp-directory-field-icon svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mp-directory-control{position:relative!important;min-width:0!important;width:100%!important}
.mp-directory-control--icon>.mp-directory-field-icon{
  position:absolute!important;
  z-index:4!important;
  left:13px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:19px!important;
  height:19px!important;
}
.mp-directory-control--icon>input,
.mp-directory-control--icon>select,
.mp-directory-suggest__input-wrap.mp-directory-control--icon>input{
  padding-left:42px!important;
}
.mp-directory-select-wrap.mp-directory-control--icon select{padding-left:42px!important;padding-right:40px!important}
.mp-directory-suggest__input-wrap.mp-directory-control--icon input{padding-right:44px!important}
.mp-directory-search-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  min-width:0!important;
  width:100%!important;
}
.mp-directory-search-button,.mp-directory-reset-button{
  width:100%!important;
  min-width:0!important;
  padding:10px 12px!important;
}
.mp-directory-advanced{margin-top:10px!important}
.mp-directory-advanced-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important}
.mp-directory-field--wide{grid-column:span 2!important}

/* When sticky on mobile, keep the filter controls themselves visible but avoid a heavy panel/background. */
.mp-directory-search.is-stuck{
  max-width:none!important;
  margin:0!important;
  padding:7px 10px 8px!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(248,246,233,.76)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  box-shadow:0 7px 18px rgba(62,0,4,.08)!important;
}
.mp-directory-search.is-stuck .mp-directory-filter-form{max-width:none!important;margin:0!important}

@media (min-width:701px) and (max-width:1100px){
  .mp-directory-search-row{grid-template-columns:minmax(0,1.6fr) minmax(0,.72fr) minmax(0,1.1fr)!important}
  .mp-directory-search-row>.mp-directory-search-actions{grid-column:1/-1!important;max-width:420px!important;justify-self:end!important}
  .mp-directory-advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:700px){
  .mp-directory-search{margin:0 0 10px!important;padding:0!important}
  .mp-directory-search-row{
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
    gap:8px!important;
  }
  .mp-directory-search-row>.mp-directory-field--search{grid-column:1/-1!important}
  .mp-directory-search-row>.mp-directory-field:nth-child(2){grid-column:1!important}
  .mp-directory-search-row>.mp-directory-field:nth-child(3){grid-column:2!important}
  .mp-directory-search-row>.mp-directory-search-actions{grid-column:1/-1!important}

  /* Compact sticky/default filter: the controls already explain themselves, so external headings are hidden. */
  .mp-directory-search-row>.mp-directory-field>label{display:none!important}
  .mp-directory-field input,.mp-directory-field select,.mp-directory-suggest__input-wrap{min-height:43px!important}
  .mp-directory-field input,.mp-directory-field select{height:43px!important;font-size:12.5px!important}
  .mp-directory-control--icon>.mp-directory-field-icon{left:11px!important;width:18px!important;height:18px!important}
  .mp-directory-control--icon>.mp-directory-field-icon svg{width:18px!important;height:18px!important}
  .mp-directory-control--icon>input,.mp-directory-control--icon>select,.mp-directory-suggest__input-wrap.mp-directory-control--icon>input{padding-left:36px!important}
  .mp-directory-search-button,.mp-directory-reset-button{min-height:43px!important;height:43px!important;padding:7px 9px!important;font-size:12px!important}
  .mp-directory-action-en{font-size:12px!important;line-height:1.1!important}
  .mp-directory-action-ur{font-size:13px!important;line-height:1.35!important}
  .mp-directory-advanced{margin-top:7px!important}
  .mp-directory-advanced summary{padding:9px 2px 3px!important}
  .mp-directory-advanced[open]{padding-top:2px!important}
  .mp-directory-advanced-grid{grid-template-columns:1fr!important;gap:9px!important}
  .mp-directory-advanced-grid .mp-directory-field>label{display:flex!important;margin-bottom:5px!important;font-size:12px!important}
  .mp-directory-field--wide{grid-column:auto!important}
  .mp-directory-search.is-stuck{padding:7px 10px 8px!important}
}

/* v3.10.0 icon refinement: one icon per field, inside the control rather than duplicated beside the label. */
.mp-directory-field>label>.mp-directory-field-icon{display:none!important}
.mp-directory-age-range.mp-directory-control--icon{position:relative!important;padding-left:0!important}
.mp-directory-age-range.mp-directory-control--icon>.mp-directory-field-icon{left:12px!important;top:50%!important}
.mp-directory-age-range.mp-directory-control--icon>input:first-of-type{padding-left:40px!important}

/* User-requested frameless filter surface: no panel color, border, side margin or shadow even while sticky. */
.mp-directory-search.is-stuck{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
}


/* Mat PRO v3.10.1 — desktop+mobile sticky discovery bar with parent-container surface. */
.mp-directory-search.is-stuck{
  position:fixed!important;
  top:var(--mp-fixed-top,0px)!important;
  left:var(--mp-sticky-left,0px)!important;
  right:auto!important;
  width:var(--mp-sticky-width,100%)!important;
  max-width:none!important;
  margin:0!important;
  z-index:99990!important;
  box-sizing:border-box!important;
  background-color:var(--mp-sticky-bg-color,#fffdf8)!important;
  background-image:var(--mp-sticky-bg-image,none)!important;
  background-size:var(--mp-sticky-bg-size,auto)!important;
  background-position:var(--mp-sticky-bg-position,0% 0%)!important;
  background-repeat:var(--mp-sticky-bg-repeat,repeat)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 8px 22px rgba(62,0,4,.10)!important;
  padding:9px 10px 10px!important;
}
.mp-directory-search.is-stuck .mp-directory-filter-form{width:100%!important;max-width:none!important;margin:0!important}
@media(min-width:701px){
  .mp-directory-search.is-stuck{padding:10px 12px 11px!important}
}
@media(max-width:700px){
  .mp-directory-search.is-stuck{padding:7px 8px 8px!important}
}
