/* GOOGLE FONTS IMPORT */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/* ===== BASE TYPOGRAPHY ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    color: #333;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    line-height: 1.6;
}

/* Footer typography */
.footer,
.footer p,
.footer a,
.footer li {
    font-family: 'Roboto', sans-serif !important;
}

/* Navigation typography */
.main-navigation,
.main-navigation a,
.main-navigation li {
    font-family: 'Roboto', sans-serif;
}

/* Button typography */
button,
input[type="button"],
input[type="submit"],
.cta-button,
.wp-block-button__link {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
}

/* Form typography */
input,
textarea,
select {
    font-family: 'Roboto', sans-serif;
}

/* ===== FACETED BROWSE SIDEBAR STYLING ===== */
.faceted-browse-page #section-sidebar,
.block-facetedBrowsePreview #section-sidebar {
    width: 30%;
}

.faceted-browse-page #section-sidebar .field,
.faceted-browse-page #section-sidebar fieldset,
.block-facetedBrowsePreview #section-sidebar .field,
.block-facetedBrowsePreview #section-sidebar fieldset {
    box-shadow: none;
    background-color: #cae4fa;
}

.facet label {
    display: inline-flex;
}

.faceted-browse-page .categories-container legend,
.faceted-browse-page .facets-container legend,
.block-facetedBrowsePreview .categories-container legend,
.block-facetedBrowsePreview .facets-container legend {
    color: #00274c;
    font-weight: 700;
    line-height: 1.2;
}

/* ===== GRID STYLING FOR BOTH FACETED BROWSE AND SEARCH RESULTS ===== */

/* Hide empty thead elements */
.faceted-browse-page .faceted-results thead,
.block-facetedBrowsePreview .faceted-results thead,
body.search .results thead,
.items.search .results thead {
    display: none !important;
}

/* Reset table structure for faceted browse */
.faceted-browse-page .faceted-results table,
.block-facetedBrowsePreview .faceted-results table {
    display: block !important;
    border: none !important;
    margin: 0 !important;
}

.faceted-browse-page .faceted-results tbody,
.faceted-browse-page .faceted-results tr,
.faceted-browse-page .faceted-results td,
.block-facetedBrowsePreview .faceted-results tbody,
.block-facetedBrowsePreview .faceted-results tr,
.block-facetedBrowsePreview .faceted-results td,
body.search .results tbody,
body.search .results tr,
body.search .results td,
.items.search .results tbody,
.items.search .results tr,
.items.search .results td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
}

/* Create unified grid for ALL result types */
.faceted-browse-page .faceted-results tbody,
.block-facetedBrowsePreview .faceted-results tbody,
body.search .results .resource-list,
.items.search .results .resource-list,
.results .resource-list,
[class*="search"] .resource-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 25px !important;
    padding: 20px 0 !important;
    list-style: none !important;
    margin-left: 0 !important;
    width: 100% !important;
}

/* Unified card styling for ALL result items */
.faceted-browse-page .faceted-results tr,
.block-facetedBrowsePreview .faceted-results tr,
body.search .results .resource-list .resource,
.items.search .results .resource-list .resource,
.results .resource-list .resource,
[class*="search"] .resource-list .resource,
.resource-grid .resource,
.resource-list .resource {
    background-color: #F9FBFD !important;
    border: 1px solid #007cba !important;
    border-radius: 20px 0 !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    width: 100% !important;
    position: relative !important;
    box-shadow: none !important;
    float: none !important;
    clear: none !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
}

/* Unified hover effects */
.faceted-browse-page .faceted-results tr:hover,
.block-facetedBrowsePreview .faceted-results tr:hover,
body.search .results .resource-list .resource:hover,
.items.search .results .resource-list .resource:hover,
.resource-grid .resource:hover,
.resource-list .resource:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
    transform: translateY(-2px) !important;
    border: 1px dashed #007cba !important;
}

/* Unified resource link container */
.faceted-browse-page .faceted-results td .resource-link,
.block-facetedBrowsePreview .faceted-results td .resource-link,
body.search .results .resource-list .resource .resource-link,
.items.search .results .resource-list .resource .resource-link,
.resource-grid .resource .resource-link,
.resource-list .resource .resource-link {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    padding: 20px 20px 0 20px !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* Unified image styling - 3:4 portrait ratio */
.faceted-browse-page .faceted-results img,
.block-facetedBrowsePreview .faceted-results img,
body.search .results .resource-list .resource img,
.items.search .results .resource-list .resource img,
.resource-grid .resource img,
.resource-list .resource img {
    max-height: none !important;
    max-width: 100% !important;
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    object-fit: cover !important;
    border-radius: 10px 0 !important;
    margin: 0 0 15px 0 !important;
    display: block !important;
    height: auto !important;
}

/* Unified title styling */
.faceted-browse-page .faceted-results .resource-name,
.block-facetedBrowsePreview .faceted-results .resource-name,
body.search .results .resource-list .resource .resource-name,
.items.search .results .resource-list .resource .resource-name,
body.search .results .resource-list .resource .title,
.items.search .results .resource-list .resource .title,
.resource-grid .resource .resource-name,
.resource-list .resource .resource-name,
.resource-grid .resource .title,
.resource-list .resource .title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #00274c !important;
    margin: 10px 0 0 0 !important;
    padding: 0 10px 20px 10px !important;
    display: block !important;
    line-height: 1.2 !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
}

/* Hide extra metadata in search results and grid views */
body.search .results .resource-list .resource .description,
.items.search .results .resource-list .resource .description,
.resource-grid .resource .description,
.resource-list .resource .description,
body.search .results .resource-list .resource .resource__meta,
.items.search .results .resource-list .resource .resource__meta,
.resource-grid .resource .resource__meta,
.resource-list .resource .resource__meta {
    display: none !important;
}

/* Fix thumbnail order */
.faceted-browse-page .faceted-results td .resource-link img,
.block-facetedBrowsePreview .faceted-results td .resource-link img,
body.search .results .resource-list .resource .resource__thumbnail img,
.items.search .results .resource-list .resource .resource__thumbnail img,
.resource-grid .resource .resource__thumbnail img,
.resource-list .resource .resource__thumbnail img {
    order: 2 !important;
}

.faceted-browse-page .faceted-results .resource-name,
.block-facetedBrowsePreview .faceted-results .resource-name,
body.search .results .resource-list .resource .resource__content,
.items.search .results .resource-list .resource .resource__content,
.resource-grid .resource .resource__content,
.resource-list .resource .resource__content {
    order: 1 !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
}

/* Remove any conflicting positioning */
.resource-grid .resource,
.resource-list .resource {
    position: relative !important;
    margin-bottom: 0 !important;
}

/* Responsive grid */
@media (max-width: 768px) {
    .faceted-browse-page .faceted-results tbody,
    .block-facetedBrowsePreview .faceted-results tbody,
    body.search .results .resource-list,
    items.search .results .resource-list,
    .results .resource-list,
    [class*="search"] .resource-list {
        grid-template-columns: 1fr !important;
    }
}

/* Remove any duplicate/conflicting styles from theme */
.resource-grid::before,
.resource-list::before,
.resource-grid::after,
.resource-list::after {
    content: none !important;
}

/* Ensure no list markers appear */
.resource-grid li::before,
.resource-list li::before,
.results .resource-list li::before {
    content: none !important;
    display: none !important;
}