.elementor-78 .elementor-element.elementor-element-2314f7b5{--display:flex;}/* Start custom CSS for shortcode, class: .elementor-element-403c59ef */=====================================================
    THE DEFINITIVE A+++ DENTIST CARD (FINAL)
=====================================================
*/

/* --- Main Card Container --- */
.directorist-listing-single.directorist-listing-list {
    background-color: #ffffff;
    border: 1px solid #eef0f2;
    border-radius: 20px;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.04);
    display: flex;
    align-items: center;
    margin-bottom: 35px;
    overflow: hidden;
    padding: 24px;
    position: relative;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.directorist-listing-single.directorist-listing-list:hover {
    transform: translateY(-6px);
    border-color: #24847C;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
}

/* --- Image Container --- */
.directorist-listing-single__thumb {
    flex: 0 0 220px;
    height: 220px;
    margin-right: 24px;
    border-radius: 12px;
    overflow: hidden;
}

.directorist-listing-single__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* --- Main Content Area --- */
.directorist-listing-single__content {
    padding: 0;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    width: 100%;
}

.directorist-listing-single__info {
    flex-grow: 1;
}

/* --- Typography --- */
.directorist-listing-title {
    font-size: 1.85rem !important;
    font-weight: 800 !important;
    margin-bottom: 16px !important;
}

.directorist-listing-title a {
    color: #1a1a1a !important;
    text-decoration: none;
}

.directorist-rating-meta {
    margin-bottom: 16px !important;
}

.directorist-rating-meta i {
    font-size: 1.25rem !important;
    color: #d8d8d8;
}

/* --- THE DEFINITIVE HIERARCHY & ALIGNMENT FIX --- */
.directorist-listing-single__info__list {
    padding: 0 !important;
    margin: 0 !important;
}

.directorist-listing-single__info__list li {
    display: grid !important;
    grid-template-columns: 10px 1fr; /* Fixed 20px icon column | Remaining space */
    align-items: flex-start !important;
    column-gap: 14px !important;
    margin-bottom: 12px !important;
    
}

.directorist-listing-single__info__list li i {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.2rem;
    color: #24847C;
    margin-top: -2px !important;
}

.directorist-listing-card-text,
.directorist-listing-card-address {
    margin: 0 !important; /* THE CONFLICT RESET */
    padding: 0 !important; /* THE CONFLICT RESET */
}

.directorist-listing-card-text {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: #333333 !important;
    line-height: 1.4 !important;
}

.directorist-listing-card-address {
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #666666 !important;
}

/* --- Clickable Card Functionality --- */
.directorist-listing-title a::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

/*
=====================================================
    MOBILE STYLES (BELOW 767px)
=====================================================
*/
@media (max-width: 767px) {
    .directorist-listing-single.directorist-listing-list {
        flex-direction: column;
        padding: 16px;
    }

    .directorist-listing-single__thumb {
        flex-basis: auto;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        margin-right: 0;
        margin-bottom: 20px;
    }

    .directorist-listing-title {
        font-size: 4rem !important;
    }

    .directorist-listing-card-text {
        font-size: 1rem
        !important;
        font-weight:300;
    }

    .directorist-listing-card-address {
        font-size:1rem !important;
    }
}

.directorist-listing-single__meta {
    border-top: none !important; /* REMOVED the distracting line */
    padding-top: 16px; /* Creates space without a line */
    margin-top: 0; /* Resetting all margins and paddings for precision */
    padding-bottom: 0;
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/*
=====================================================
A+++ STYLING: FILTER SIDEBAR
=====================================================
*/

/* 1. HIDE UNWANTED FILTER FIELDS
   We use "display: none;" to completely remove them from the page layout.
-----------------------------------------------------*/

/* Hides the "Post Code" field container */
.directorist-advanced-filter__advanced__element.directorist-search-field-zip {
    display: none;
}

/* Hides the "Search by name" field container */
.directorist-advanced-filter__advanced__element.directorist-search-field-title {
    display: none;
}
/* Hides the "Registered Specialist" field container */
.directorist-advanced-filter__advanced__element.directorist-search-field-select {
    display: none;
}
/*
=====================================================
A+++ STYLING: TOP SEARCH BAR CLEANUP
=====================================================
*/

/* 1. HIDE THE SMALL TEXT LABELS
   This targets the <label> tag above each search field.
-----------------------------------------------------*/
.listing-with-sidebar__searchform .directorist-search-field__label {
    display: none;
}


/* 2. HIDE THE EXTRA DROPDOWN ARROW
   The Directorist HTML has two arrows. One is a background image,
   and the other is an extra element. We will hide the extra one.
   This also targets the 'X' that can appear to clear the field.
-----------------------------------------------------*/
.listing-with-sidebar__searchform .select2-selection__arrow,
.listing-with-sidebar__searchform .directorist-search-field__btn--clear {
    display: none !important;
}


/* 3. REMOVE THE GREEN UNDERLINE ON FOCUS
   The Select2 library adds a green box-shadow to indicate focus.
   We will override this to remove it completely.
-----------------------------------------------------*/
.listing-with-sidebar__searchform .select2-container--default.select2-container--open .select2-selection--single,
.listing-with-sidebar__searchform .select2-container--default .select2-selection--single:focus {
    box-shadow: none !important;
    border-color: #e0e0e0 !important; /* Keeps the border color consistent */
}
/*

/*
=====================================================
    MOBILE STYLES (BELOW 767px) - v3 (HEADSHOT FIX)
=====================================================
*/
@media (max-width: 767px) {
    /* 1. Main Card Becomes a Vertical Stack */
    .directorist-listing-single.directorist-listing-list {
        flex-direction: column;
        padding: 16px;
        align-items: center;
    }

    /* 2. Image Container is Full-Width */
    .directorist-listing-single__thumb {
        flex-basis: auto;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        margin-right: 0;
        margin-bottom: 20px;
    }

    /* --- THE KEY FIX FOR HEADSHOTS --- */
    .directorist-listing-single__thumb img {
        /* This tells the browser to keep the top of the image in view,
           preventing faces from being cut off. */
        object-position: top center !important; 
    }
    /* --- END OF FIX --- */

    /* 3. Center All Text Content */
    .directorist-listing-single__content {
        text-align: center;
    }

    /* 4. Adjust Typography for Mobile */
    .directorist-listing-title {
        font-size: 1.75rem !important;
    }

    .directorist-listing-card-text,
    .directorist-listing-card-address {
        font-size: 1rem !important;
        line-height: 1.5 !important;
    }

    /* 5. Override the Desktop Grid Layout */
    .directorist-listing-single__info__list li {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        column-gap: 8px !important;
        grid-template-columns: none;
    }
    
    .directorist-listing-single__info__list li i {
        margin-top: 0 !important;
    }
    
    .directorist-rating-meta {
        justify-content: center;
    }
}/* End custom CSS */