body .search-results .search-provider-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
}

body .search-results .search-provider-grid.is-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body .search-results .search-provider-grid .search-provider-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 132px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 0 !important;
    min-width: 0 !important;
    min-height: 230px !important;
    overflow: hidden !important;
    padding: 14px !important;
    border: 1px solid #e3e9ec !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(32, 55, 70, .06) !important;
    text-align: right !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body .search-results .search-provider-grid .search-provider-card::after {
    display: none !important;
}

body .search-results .search-provider-grid .search-provider-card:hover {
    transform: translateY(-2px) !important;
    border-color: #b9d2dc !important;
    box-shadow: 0 9px 22px rgba(32, 55, 70, .1) !important;
}

body .search-results .search-provider-grid .search-provider-card.is-affiliate-provider {
    border-color: #e6d8aa !important;
    background: linear-gradient(110deg, #fff 0%, #fffefa 100%) !important;
}

body .search-results .search-provider-grid .search-provider-card.is-premium-provider {
    border-color: #ddd3ef !important;
    background: linear-gradient(110deg, #fff 0%, #fdfcff 100%) !important;
}

body .search-results .search-provider-grid .search-provider-image {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    width: 108px !important;
    height: 108px !important;
    min-width: 108px !important;
    min-height: 108px !important;
    margin: 0 !important;
    overflow: visible !important;
    border: 3px solid #fff !important;
    border-radius: 50% !important;
    background: #edf3f6 !important;
    box-shadow: 0 0 0 1px #d9e4e9, 0 6px 16px rgba(21, 44, 62, .12) !important;
}

body .search-results .search-provider-grid .search-provider-image::before,
body .search-results .search-provider-grid .search-provider-image::after {
    display: none !important;
}

body .search-results .search-provider-grid .search-provider-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: center top !important;
}

body .search-results .search-provider-grid .search-provider-image > span {
    position: absolute !important;
    right: 50% !important;
    bottom: -8px !important;
    width: max-content !important;
    max-width: 130px !important;
    padding: 4px 8px !important;
    border: 1px solid #fff !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    transform: translateX(50%) !important;
}

body .search-results .search-provider-grid .search-provider-content {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 198px !important;
    height: auto !important;
    padding: 3px 12px !important;
}

body .search-results .search-provider-grid .search-provider-name {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    padding: 0 0 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f3 !important;
    text-align: right !important;
}

body .search-results .search-provider-grid .search-provider-name > div:first-child {
    min-width: 0 !important;
    padding-left: 120px !important;
}

body .search-results .search-provider-grid .search-provider-name h3 {
    overflow-wrap: anywhere !important;
    margin: 0 !important;
    color: #243b4c !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

body .search-results .search-provider-grid .search-provider-name h3 i {
    display: inline-grid !important;
    width: 18px !important;
    height: 18px !important;
    place-items: center !important;
    border-radius: 50% !important;
    font-size: 10px !important;
    vertical-align: middle !important;
}

body .search-results .search-provider-grid .search-provider-name p {
    overflow: hidden !important;
    margin: 3px 0 0 !important;
    color: #71808a !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    text-overflow: ellipsis !important;
}

body .search-results .search-provider-grid .search-provider-score-actions {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

body .search-results .search-provider-grid .search-provider-rating {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    padding: 5px 8px !important;
    border: 1px solid #f0e7ca !important;
    border-radius: 999px !important;
    background: #fffaf0 !important;
    color: #875d13 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

body .search-results .search-provider-grid .search-favorite-button {
    position: relative !important;
    inset: auto !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 42px !important;
    height: 32px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 0 7px !important;
    border: 1px solid #e8edf0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: none !important;
}

body .search-results .search-provider-grid .search-favorite-button .material-symbols-rounded {
    font-size: 15px !important;
}

body .search-results .search-provider-grid .search-favorite-count {
    font-size: 9px !important;
}

body .search-results .search-provider-grid .provider-live-status,
body .search-results .search-provider-grid .search-provider-identity {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 5px 0 0 5px !important;
    padding: 4px 7px !important;
    border: 1px solid #e8edef !important;
    border-radius: 999px !important;
    background: #f8fafb !important;
    color: #536876 !important;
    font-size: 9px !important;
    line-height: 1.3 !important;
    vertical-align: middle !important;
}

body .search-results .search-provider-grid .provider-live-status.is-online {
    border-color: #cce9da !important;
    background: #eff9f3 !important;
    color: #27744d !important;
}

body .search-results .search-provider-grid .search-provider-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 14px !important;
    margin: 9px 0 0 !important;
}

body .search-results .search-provider-grid .search-provider-tags span {
    min-width: 0 !important;
    padding: 2px 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #586c78 !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
}

body .search-results .search-provider-grid .search-provider-specialties.compact {
    margin: 6px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body .search-results .search-provider-grid .search-provider-specialties.compact > div {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px !important;
}

body .search-results .search-provider-grid .search-provider-specialties.compact span,
body .search-results .search-provider-grid .search-provider-specialties.compact em {
    display: inline-flex !important;
    min-width: 0 !important;
    min-height: 24px !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 4px 7px !important;
    border: 1px solid #e7edef !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #425c6c !important;
    font-size: 9px !important;
    font-style: normal !important;
    line-height: 1.3 !important;
}

body .search-results .search-provider-grid .search-provider-specialties.compact span i {
    font-size: 14px !important;
}

body .search-results .search-provider-grid .search-provider-card-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 10px !important;
}

body .search-results .search-provider-grid.is-list .search-provider-card-actions {
    max-width: 760px !important;
    margin-left: auto !important;
}

body .search-results .search-provider-grid .search-provider-bottom.profile-only {
    display: block !important;
    flex: 0 0 142px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body .search-results .search-provider-grid .search-provider-profile-link,
body .search-results .search-provider-grid .search-provider-contact > a,
body .search-results .search-provider-grid .search-provider-contact > span {
    display: flex !important;
    min-width: 0 !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 7px !important;
    border: 1px solid #e3e9ec !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

body .search-results .search-provider-grid .search-provider-profile-link {
    width: 100% !important;
    border-color: #dce8ed !important;
    background: #f4f8fa !important;
    color: #31576b !important;
}

body .search-results .search-provider-grid .search-provider-profile-link span,
body .search-results .search-provider-grid .search-provider-profile-link i,
body .search-results .search-provider-grid .search-provider-contact > a > span,
body .search-results .search-provider-grid .search-provider-contact > span > i {
    font-size: 15px !important;
}

body .search-results .search-provider-grid .search-provider-contact {
    position: static !important;
    display: grid !important;
    flex: 1 1 auto !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body .search-results .search-provider-grid .search-provider-contact > a.call {
    border-color: #dce7f7 !important;
    background: #f2f6fc !important;
    color: #31577f !important;
}

body .search-results .search-provider-grid .search-provider-contact > a.whatsapp {
    border-color: #d4ecdf !important;
    background: #eff9f3 !important;
    color: #24734a !important;
}

body .search-results .search-provider-grid .search-provider-contact > a.message {
    border-color: #f1e2d2 !important;
    background: #fff7ef !important;
    color: #98602b !important;
}

body .search-results .search-provider-grid .search-provider-contact b {
    font-size: 10px !important;
    font-weight: 800 !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-card {
    grid-template-columns: 132px minmax(0, 1fr) !important;
    min-height: 270px !important;
    padding: 12px !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-image {
    width: 116px !important;
    height: 116px !important;
    min-width: 116px !important;
    min-height: 116px !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-content {
    min-height: 244px !important;
    padding: 3px 8px !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-name > div:first-child {
    padding-left: 104px !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-name h3 {
    font-size: 15px !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-name p {
    font-size: 10px !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-rating {
    padding: 4px 6px !important;
    font-size: 10px !important;
}

body .search-results .search-provider-grid.is-grid .search-favorite-button {
    min-width: 36px !important;
    height: 29px !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-card-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-bottom.profile-only {
    flex: 0 0 auto !important;
    width: 100% !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-profile-link,
body .search-results .search-provider-grid.is-grid .search-provider-contact > a,
body .search-results .search-provider-grid.is-grid .search-provider-contact > span {
    min-height: 32px !important;
    font-size: 9px !important;
}

body .search-results .search-provider-grid.is-grid .search-provider-contact b {
    font-size: 9px !important;
}

@media (max-width: 900px) {
    body .search-results .search-provider-grid.is-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body .search-results .search-provider-grid .search-provider-card,
    body .search-results .search-provider-grid.is-grid .search-provider-card {
        grid-template-columns: 122px minmax(0, 1fr) !important;
        min-height: 220px !important;
    }

    body .search-results .search-provider-grid .search-provider-image,
    body .search-results .search-provider-grid.is-grid .search-provider-image {
        width: 100px !important;
        height: 100px !important;
        min-width: 100px !important;
        min-height: 100px !important;
    }

    body .search-results .search-provider-grid .search-provider-content,
    body .search-results .search-provider-grid.is-grid .search-provider-content {
        min-height: 188px !important;
    }

    body .search-results .search-provider-grid.is-grid .search-provider-card-actions {
        flex-direction: row !important;
    }

    body .search-results .search-provider-grid.is-grid .search-provider-bottom.profile-only {
        flex: 0 0 142px !important;
        width: auto !important;
    }
}

@media (max-width: 600px) {
    body .search-results .search-provider-grid,
    body .search-results .search-provider-grid.is-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    body .search-results .search-provider-grid .search-provider-card,
    body .search-results .search-provider-grid.is-grid .search-provider-card {
        display: block !important;
        min-height: 0 !important;
        padding: 11px !important;
        border-radius: 14px !important;
    }

    body .search-results .search-provider-grid .search-provider-image,
    body .search-results .search-provider-grid.is-grid .search-provider-image {
        position: absolute !important;
        top: 13px !important;
        right: 13px !important;
        left: auto !important;
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;
    }

    body .search-results .search-provider-grid.is-grid .search-provider-image {
        top: 12px !important;
        right: 12px !important;
        width: 76px !important;
        height: 76px !important;
        min-width: 76px !important;
        min-height: 76px !important;
    }

    body .search-results .search-provider-grid.is-grid .search-provider-image > span {
        max-width: 100px !important;
        padding: 3px 6px !important;
        font-size: 8px !important;
    }

    body .search-results .search-provider-grid .search-provider-content,
    body .search-results .search-provider-grid.is-grid .search-provider-content {
        display: flex !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 2px 72px 10px 2px !important;
    }

    body .search-results .search-provider-grid.is-grid .search-provider-content {
        padding-right: 92px !important;
    }

    body .search-results .search-provider-grid .search-provider-name > div:first-child,
    body .search-results .search-provider-grid.is-grid .search-provider-name > div:first-child {
        padding-left: 0 !important;
    }

    body .search-results .search-provider-grid .search-provider-name h3,
    body .search-results .search-provider-grid.is-grid .search-provider-name h3 {
        font-size: 14px !important;
    }

    body .search-results .search-provider-grid .search-provider-name p,
    body .search-results .search-provider-grid.is-grid .search-provider-name p {
        font-size: 10px !important;
    }

    body .search-results .search-provider-grid .search-provider-score-actions,
    body .search-results .search-provider-grid.is-grid .search-provider-score-actions {
        position: static !important;
        margin-top: 6px !important;
    }

    body .search-results .search-provider-grid .search-provider-tags,
    body .search-results .search-provider-grid.is-grid .search-provider-tags {
        gap: 4px 10px !important;
        margin-top: 7px !important;
    }

    body .search-results .search-provider-grid .search-provider-card-actions,
    body .search-results .search-provider-grid.is-grid .search-provider-card-actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 7px !important;
        max-width: none !important;
        margin-left: 0 !important;
        padding-top: 9px !important;
        border-top: 1px solid #edf1f3 !important;
    }

    body .search-results .search-provider-grid .search-provider-bottom.profile-only,
    body .search-results .search-provider-grid.is-grid .search-provider-bottom.profile-only {
        flex: 0 0 auto !important;
        width: 100% !important;
    }

    body .search-results .search-provider-grid .search-provider-profile-link,
    body .search-results .search-provider-grid .search-provider-contact > a,
    body .search-results .search-provider-grid .search-provider-contact > span {
        min-height: 36px !important;
        height: 36px !important;
        gap: 4px !important;
        padding: 0 4px !important;
        font-size: 9px !important;
    }

    body .search-results .search-provider-grid .search-provider-contact,
    body .search-results .search-provider-grid.is-grid .search-provider-contact {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
        width: 100% !important;
    }

    body .search-results .search-provider-grid .search-provider-contact b,
    body .search-results .search-provider-grid.is-grid .search-provider-contact b {
        font-size: 9px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .search-results .search-provider-grid .search-provider-card {
        transition: none !important;
    }
}
