/**
 * HPRA Services Directory CSS
 *
 * Styles for the services directory and contact cards.
 */

/* Main container */
.hpra-services-directory {
    font-family: inherit;
    margin: 30px 0;
}

/* Filter section */
.hpra-services-filters {
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

.hpra-search-container {
    flex: 1;
    min-width: 250px;
}

#hpra-search {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
}

.hpra-category-filter {
    flex: 1;
    min-width: 200px;
}

#hpra-category-select {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    background-color: #fff;
}

.hpra-results-count {
    padding: 5px 10px;
    background-color: #f5f5f5;
    border-radius: 4px;
    font-size: 14px;
    color: #555;
}

/* Grid layout */
.hpra-services-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}

/* Responsive grid */
@media (min-width: 576px) {
    .hpra-services-grid[data-columns="2"], 
    .hpra-services-grid[data-columns="3"], 
    .hpra-services-grid[data-columns="4"] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .hpra-services-grid[data-columns="3"], 
    .hpra-services-grid[data-columns="4"] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1200px) {
    .hpra-services-grid[data-columns="4"] {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Service card styling */
.hpra-service-card {
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
    display: flex;
    flex-direction: column;
}

.hpra-service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.hpra-service-header {
    background-color: #f5f7fa;
    padding: 15px;
    border-bottom: 1px solid #eee;
}

.hpra-service-title {
    margin: 0 0 5px 0;
    font-size: 18px;
    color: #333;
}

.hpra-service-category {
    display: inline-block;
    padding: 3px 8px;
    background-color: #e9ecef;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    color: #555;
}

.hpra-service-content {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hpra-service-address,
.hpra-service-phone,
.hpra-service-email,
.hpra-service-url,
.hpra-service-notes {
    font-size: 14px;
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
}

.hpra-service-content i {
    margin-right: 8px;
    color: #666;
    min-width: 16px;
    text-align: center;
}

.hpra-service-notes {
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px dashed #eee;
    font-style: italic;
    color: #666;
}

.hpra-service-content a {
    color: #0066cc;
    text-decoration: none;
}

.hpra-service-content a:hover {
    text-decoration: underline;
}

/* No results message */
#hpra-no-results {
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 6px;
    text-align: center;
    color: #6c757d;
    margin-top: 20px;
}

/* Font Awesome fallbacks if the theme doesn't include it */
@font-face {
    font-family: 'FontAwesome';
    src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

.hpra-service-content i.fa-map-marker:before {
    content: "\f041";
    font-family: 'FontAwesome';
}

.hpra-service-content i.fa-phone:before {
    content: "\f095";
    font-family: 'FontAwesome';
}

.hpra-service-content i.fa-envelope:before {
    content: "\f0e0";
    font-family: 'FontAwesome';
}

.hpra-service-content i.fa-globe:before {
    content: "\f0ac";
    font-family: 'FontAwesome';
}

.hpra-service-content i.fa-info-circle:before {
    content: "\f05a";
    font-family: 'FontAwesome';
}