/* Health Care Providers Search Component Styles */
.hk-provider-search-container {font-family: inherit;color: #000;max-width: 1200px;margin: 0 auto;}
.hk-provider-search-form{padding: 20px 16px;}
.hk-section-title {font-weight: 400 !important;padding-bottom: 0;margin-bottom: 16px;}
.hk-sub-title {font-size: 20px !important;margin: 28px 0 8px;}
.hk-provider-search-form input,
.hk-provider-search-form select:not(.hk-filter-select-km){font-size: 18px;line-height: normal;padding: 12px 38px 12px 20px;color: #000;border: 1px solid #c7c7c7;border-radius: 4px;width: 100%;box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, .2);box-sizing: border-box;}
.hk-provider-search-form input::placeholder{color: #000;}
.hk-provider-search-form input:focus,
.hk-provider-search-form select:not(.hk-filter-select-km):focus {border-color: #0070ba;outline: none;}
.hk-provider-search-form .select2-container--default .select2-selection--multiple{border: 1px solid #c7c7c7;border-radius: 4px;padding: 0;box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, .2);}
.hk-provider-search-form .select2-container--default .select2-selection--multiple:has(textarea:focus) { border-color: #0070ba; border-radius: 4px; }
.hk-provider-search-form .select2-container--default .select2-selection--multiple .select2-search{position: relative;display: block;}
.hk-provider-search-form .select2-container--default .select2-selection--multiple .select2-search::after{content: '';position: absolute;background-image: url(../images/angle-down-bold-black.png);width: 9px;height: 9px;top: calc(50% - 4.5px);right: 10px;background-size: contain;background-position: center;background-repeat: no-repeat;}
.hk-provider-search-form .select2-container--default .select2-search--inline .select2-search__field{font-family: inherit;font-size: 18px;border: 0px;height: 47px;padding: 15px 20px;margin: 0px;box-shadow: none;line-height: 1;}
.hk-provider-search-form .select2-container--default .select2-search--inline .select2-search__field::placeholder{color: #000;}
.hk-provider-search-form .select2-selection__rendered:not(:empty) {display: block;padding: 0 32px 0 12px;}
.hk-provider-search-form .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{line-height: 0.8;height: 100%;}
.hk-provider-search-form .select2-container--default .select2-selection--multiple .select2-selection__choice__display{color: #000;}

/* Main Search Row */
.hk-main-search-row {display: flex;gap: 12px;margin-bottom: 25px;}
.hk-input-wrapper {position: relative;display: flex;align-items: center;width: 100%;}
.hk-main-search-wrapper {flex: 1;}

/* Clear Input 'X' Icon */
.hk-clear-input {position: absolute;display: none;font-size: 20px;line-height: 1;color: #000000b3;background: transparent;border: none;top: 50%;right: 16px;padding: 0 4px;transform: translateY(-50%);cursor: pointer;transition: color 0.15s;z-index: 5;}
.hk-postcode-wrapper .hk-clear-input {right: 85px;}
.hk-clear-input:hover {color: #e53e3e;}
.hk-search-btn {font-size: 18px;font-weight: 800;color: #fff;background-color: #fa091b;border: 2px solid #fa091b;border-radius: 100px;padding: 10px 28px;cursor: pointer;transition: 0.2s ease;white-space: nowrap;}
.hk-search-btn:hover {color: #fa091b;background-color: transparent;}
.hk-search-btn::before{content: '';position: relative;display: inline-block;background-color: #fff;mask-image: url(../images/search-icon-white.png);width: 16px;height: 16px;top: 1px;margin-right: 10px;mask-size: contain;transition: 0.2s ease;}
.hk-search-btn:hover::before{background-color: #fa091b;}

/* Criteria Form Grid */
.hk-criteria-grid {display: grid;grid-template-columns: repeat(3, minmax(0, 100%));gap: 20px 30px;margin-bottom: 20px;}
.hk-form-group {display: flex;flex-direction: column;}

/* Postcode + KM Dropdown */
.hk-postcode-wrapper {position: relative;width: 100%;}
.hk-postcode-wrapper .hk-provider-search-form input{padding-right: 110px;}
.hk-filter-select-km {position: absolute;font-size: 13px;color: #000;background-color: transparent;border: 0;border-left: 1px solid #ccc;border-radius: 0;height: 38px;top: calc(50% - 19px);right: 4px;padding: 0 0 0 10px;cursor: pointer;}

/* Clear Filters Button */
.hk-clear-filters-box {display: flex;align-items: center;justify-content: end;}
.hk-clear-filters-btn {color: #000;background-color: transparent;border: 0;padding: 7px 0;font-size: 14px;cursor: pointer;}

/* Results Header */
.hk-results-header {border-top: 2px solid #fff;padding: 24px 15px 8px;text-align: end;}

/* Provider Cards Container */
.hk-provider-results-list {display: flex;flex-direction: column;gap: 20px;padding: 0 15px;min-height: 100px;}
.hk-provider-card {display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 30px;background-color: #ffffff;border-radius: 0;padding: 15px;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16), 0 2px 10px rgba(0, 0, 0, 0.12);}
.hk-provider-card-details {width: 100%;}
.hk-provider-title {font-size: 25px !important;color: #0070ba;}
.hk-provider-title a:hover{color: #004582;}
.hk-provider-meta {font-size: 13px;margin-bottom: 4px;}
.hk-meta-label {font-weight: 600;margin-right: 4px;}
.hk-meta-label::before{content: '';position: relative;display: inline-block;width: 14px;height: 14px;top: 1px;background-position: center;background-repeat: no-repeat;background-size: contain;}
.hk-provider-org .hk-meta-label::before{background-image: url(../images/hospital-icon-blue.png);width: 15px;height: 15px;}
.hk-provider-phone .hk-meta-label::before{background-image: url(../images/phone-icon-blue.png);}
.hk-provider-languages .hk-meta-label::before{background-image: url(../images/message-icon-blue.png);top: 2px;}
.hk-provider-specialities {display: flex;flex-wrap: wrap;gap: 6px;max-height: 66px;overflow: hidden;width: 100%;}
.hk-speciality-badge {display: inline-block;font-size: 12px;font-weight: 700;line-height: 1.5;color: #000;background-color: #f7f7f8;border-radius: 20px;padding: 6px 10px;flex-shrink: 1;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;min-width: 0;max-width: 100%;}
.hk-provider-card-action {flex: 0 0 auto;}
.hk-view-link-btn {display: inline-block;font-size: 14px;font-weight: 800;text-decoration: none;color: #ffffff;background-color: #0070ba;border: 2px solid #0070ba;border-radius: 100px;padding: 4px 20px;transition: 0.2s ease;}
.hk-view-link-btn:hover {color: #0070ba;background-color: transparent;}
.hk-no-results {font-size: 14px;color: #fff;background-color: #8ab926;padding: 8px 10px;margin-top: 28px;}

/* Loading Spinner */
.hk-provider-loading {position: relative;padding: 40px 0;text-align: center;}
.hk-spinner {display: inline-block;width: 36px;height: 36px;border: 4px solid rgba(49, 130, 206, 0.2);border-radius: 50%;border-top-color: #3182ce;animation: hk-spin 0.8s ease-in-out infinite;}
@keyframes hk-spin {
    to { transform: rotate(360deg); }
}

/* Pagination Styles */
.hk-provider-pagination-wrap {display: flex;justify-content: center;margin-top: 30px;}
.hk-pagination-nav {display: inline-block;}
.hk-pagination-nav .hk-pagination {display: flex;list-style: none;padding: 0 15px 30px;margin: 0;gap: 6px;align-items: center;flex-wrap: wrap;}
.hk-page-item {display: flex;list-style: none;margin: 0;}
.hk-page-link {display: inline-block;font-size: 16px;font-weight: 700;color: #000;padding: 0 4px;text-decoration: none;transition: all 0.2s ease;cursor: pointer;}
.hk-page-item.active .hk-page-link {color: #0070ba;cursor: default;}
.hk-page-item.disabled {display: none;}
.hk-page-item.disabled.hk-page-dots {display: flex;}
.hk-page-dots .hk-page-link {cursor: default;}
.hk-prev-page,
.hk-next-page{font-size: 0;background-image: url(../images/angle-right-black.png);width: 16px;background-position: center;background-repeat: no-repeat;background-size: 7px;}
.hk-prev-page{transform: rotate(180deg);}

/* Support Networks */
.hk-support-network-card-details .hk-provider-meta::before{content: '';position: relative;display: inline-block;width: 14px;height: 14px;top: 1px;margin-right: 7px;background-position: center;background-repeat: no-repeat;background-size: contain;}
.hk-support-network-card-details .hk-support-network-group-type.hk-provider-meta::before{background-image: url(../images/group-blue-icon.png);width: 15px;height: 15px;}
.hk-support-network-card-details .hk-support-network-location.hk-provider-meta::before{background-image: url(../images/location-arrow-blue-icon.png);top: 2px;}
.hk-support-network-card-details .hk-support-network-phone.hk-provider-meta::before{background-image: url(../images/phone-icon-blue.png);}
.hk-provider-meta a{color: #0070ba;}

/* Organisations */
.hk-organisation-card-details .hk-provider-meta::before{content: '';position: relative;display: inline-block;width: 14px;height: 14px;top: 1px;margin-right: 7px;background-position: center;background-repeat: no-repeat;background-size: contain;}
.hk-organisation-card-details .hk-organisation-types.hk-provider-meta::before{background-image: url(../images/stethoscope-blue-icon.png);width: 16px;height: 16px;}
.hk-organisation-card-details .hk-organisation-address.hk-provider-meta::before{background-image: url(../images/hospital-icon-blue.png);width: 15px;height: 15px;}

body.admin-bar .select2-dropdown { top: 33px; }
.hk-page-dots .hk-page-link { color: #7d7d7d; }

@media (min-width: 768px){
	.hk-provider-card-details {flex-shrink: 0;width: 38%;}
	.hk-provider-card{flex-wrap:nowrap}
	.hk-provider-specialities {justify-content: end;width: auto;flex-grow:1; margin-left: auto;}
}
@media (min-width: 981px){
	#hk-support-network-search-form .hk-clear-filters-box,
	#hk-organisation-search-form .hk-clear-filters-box{grid-column: 1 / span 3;}
}
@media (max-width: 980px){
	.hk-criteria-grid{grid-template-columns: repeat(2, minmax(0, 100%));}
}
@media (max-width: 767px) {
	.hk-criteria-grid{grid-template-columns: 100%;margin-bottom: 0;}
    .hk-main-search-row {flex-direction: column;align-items: start;}
	.hk-clear-filters-box{justify-content: start;margin-top: 20px;}
    .hk-provider-card {flex-direction: column;align-items: flex-start;gap: 15px;}
    .hk-provider-card-action {margin: auto;}
	.hk-provider-search-form input,
	.hk-provider-search-form select:not(.hk-filter-select-km),
	.hk-provider-search-form .select2-container--default .select2-search--inline .select2-search__field{padding-left: 16px;}
	.hk-provider-title{font-size: 20px !important;}
}
