/**
 * Hayashi Database visual integration for Enfold.
 *
 * This file is intentionally loaded late by the child theme. Use it for final
 * site-level presentation decisions, while the plugin keeps data structure and
 * fallback component styles.
 */

body.hayashi-enfold-db-view,
body.hayashi-enfold-db-view #main,
body.hayashi-enfold-db-view .main_color,
body.hayashi-enfold-db-view .container_wrap {
    color: var(--hayashi-text);
}

body.hayashi-enfold-db-view .av-main-hayashi-db,
body.hayashi-enfold-db-view .hayashi-enfold-main {
    width: 100% !important;
    border: 0 !important;
}

body.hayashi-enfold-db-view .container_wrap.av-hayashi-no-sidebar .sidebar {
    display: none !important;
}

body.hayashi-enfold-db-view .hayashi-db-wrap,
body.hayashi-enfold-db-view .hayashi-single,
body.hayashi-enfold-db-view .hayashi-map-page {
    color: var(--hayashi-text);
}

body.hayashi-enfold-db-view .hayashi-term-profile,
body.hayashi-enfold-db-view .hayashi-panel,
body.hayashi-enfold-db-view .hayashi-card,
body.hayashi-enfold-db-view .hayashi-filter-panel,
body.hayashi-enfold-db-view .hayashi-info-group,
body.hayashi-enfold-db-view .hayashi-map-card {
    background: var(--hayashi-paper) !important;
    border-color: var(--hayashi-border) !important;
    border-radius: 6px !important;
    color: var(--hayashi-text) !important;
    box-shadow: none !important;
}

body.hayashi-enfold-db-view .hayashi-db-wrap > header,
body.hayashi-enfold-db-view .hayashi-archive-header,
body.hayashi-enfold-db-view .hayashi-term-profile {
    background: var(--hayashi-paper) !important;
    border: 1px solid var(--hayashi-border) !important;
    border-top: 4px solid var(--hayashi-red) !important;
}

body.hayashi-enfold-db-view .hayashi-db-wrap h1,
body.hayashi-enfold-db-view .hayashi-db-wrap h2,
body.hayashi-enfold-db-view .hayashi-db-wrap h3,
body.hayashi-enfold-db-view .hayashi-single h1,
body.hayashi-enfold-db-view .hayashi-single h2,
body.hayashi-enfold-db-view .hayashi-single h3 {
    color: var(--hayashi-red-dark) !important;
    letter-spacing: 0;
}

body.hayashi-enfold-db-view .hayashi-info-group h2,
body.hayashi-enfold-db-view .hayashi-panel > h2:first-child,
body.hayashi-enfold-db-view .hayashi-term-group-preview > strong,
body.hayashi-enfold-db-view .hayashi-term-related-events > strong,
body.hayashi-enfold-db-view .hayashi-term-related-groups strong {
    display: block;
    padding: 9px 12px;
    border-left: 4px solid var(--hayashi-red);
    border-radius: 5px;
    background: var(--hayashi-cream-alt) !important;
    color: var(--hayashi-red-dark) !important;
}

body.hayashi-enfold-db-view .hayashi-term-summary div,
body.hayashi-enfold-db-view .hayashi-term-facts div,
body.hayashi-enfold-db-view .hayashi-card-facts div,
body.hayashi-enfold-db-view .hayashi-hero-summary div,
body.hayashi-enfold-db-view .hayashi-event-hero-summary div {
    background: var(--hayashi-cream) !important;
    border-color: var(--hayashi-border) !important;
    border-radius: 5px !important;
}

body.hayashi-enfold-db-view .hayashi-term-summary span,
body.hayashi-enfold-db-view .hayashi-term-facts dt,
body.hayashi-enfold-db-view .hayashi-card-facts dt,
body.hayashi-enfold-db-view .hayashi-info-list dt,
body.hayashi-enfold-db-view .hayashi-filter-panel span {
    color: var(--hayashi-red) !important;
}

body.hayashi-enfold-db-view a {
    color: var(--hayashi-red);
}

body.hayashi-enfold-db-view a:hover,
body.hayashi-enfold-db-view a:focus {
    color: var(--hayashi-red-dark);
}

body.hayashi-enfold-db-view .hayashi-button,
body.hayashi-enfold-db-view .hayashi-filter-actions .hayashi-button {
    background: var(--hayashi-red) !important;
    border-color: var(--hayashi-red) !important;
    border-radius: 5px !important;
    color: #fff !important;
}

body.hayashi-enfold-db-view .hayashi-button:hover,
body.hayashi-enfold-db-view .hayashi-button:focus {
    background: var(--hayashi-red-dark) !important;
    border-color: var(--hayashi-red-dark) !important;
    color: #fff !important;
}

body.hayashi-enfold-db-view .hayashi-button-secondary {
    background: var(--hayashi-paper) !important;
    border-color: var(--hayashi-border) !important;
    color: var(--hayashi-red) !important;
}

body.hayashi-enfold-db-view .hayashi-button-secondary:hover,
body.hayashi-enfold-db-view .hayashi-button-secondary:focus {
    background: var(--hayashi-cream-alt) !important;
    border-color: var(--hayashi-red) !important;
    color: var(--hayashi-red-dark) !important;
}

body.hayashi-enfold-db-view .hayashi-tag,
body.hayashi-enfold-db-view .hayashi-term-chip,
body.hayashi-enfold-db-view .hayashi-card-badges span,
body.hayashi-enfold-db-view .hayashi-active-filters a,
body.hayashi-enfold-db-view .hayashi-keyword-matches a {
    background: var(--hayashi-cream-alt) !important;
    border-color: var(--hayashi-border) !important;
    border-radius: 5px !important;
    color: var(--hayashi-red) !important;
}

body.hayashi-enfold-db-view .hayashi-card,
body.hayashi-enfold-db-view article.hayashi-card {
    border-top: 4px solid var(--hayashi-red) !important;
}

body.hayashi-enfold-db-view .hayashi-term-group-preview a,
body.hayashi-enfold-db-view .hayashi-term-related-events a,
body.hayashi-enfold-db-view .hayashi-term-related-groups a,
body.hayashi-enfold-db-view .hayashi-related-card {
    background: var(--hayashi-paper) !important;
    border-color: var(--hayashi-border) !important;
    border-radius: 5px !important;
    color: var(--hayashi-text) !important;
}

body.hayashi-enfold-db-view .hayashi-term-group-preview a:hover,
body.hayashi-enfold-db-view .hayashi-term-related-events a:hover,
body.hayashi-enfold-db-view .hayashi-term-related-groups a:hover,
body.hayashi-enfold-db-view .hayashi-related-card:hover {
    background: var(--hayashi-cream-alt) !important;
    border-color: var(--hayashi-red) !important;
}

body.hayashi-enfold-db-view .hayashi-term-group-preview b,
body.hayashi-enfold-db-view .hayashi-related-card span {
    color: var(--hayashi-text) !important;
}

body.hayashi-enfold-db-view .hayashi-embed-section,
.hayashi-embed-section {
    margin: 28px 0;
    padding: 20px;
    background: var(--hayashi-paper);
    border: 1px solid var(--hayashi-border);
    border-top: 4px solid var(--hayashi-red);
    border-radius: 6px;
    color: var(--hayashi-text);
}

body.hayashi-enfold-db-view .hayashi-embed-section > h2,
.hayashi-embed-section > h2 {
    margin: 0 0 16px;
    padding: 10px 12px;
    background: var(--hayashi-cream-alt);
    border-left: 4px solid var(--hayashi-red);
    border-radius: 5px;
    color: var(--hayashi-red-dark);
    font-size: 1.2rem;
    line-height: 1.45;
}

body.hayashi-enfold-db-view .hayashi-embed-card-grid,
.hayashi-embed-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

body.hayashi-enfold-db-view .hayashi-embed-card,
.hayashi-embed-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
}

body.hayashi-enfold-db-view .hayashi-embed-card img,
.hayashi-embed-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--hayashi-cream-alt);
}

body.hayashi-enfold-db-view .hayashi-embed-card .hayashi-card-body,
.hayashi-embed-card .hayashi-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
}

body.hayashi-enfold-db-view .hayashi-embed-card h3,
.hayashi-embed-card h3 {
    margin: 0;
    font-size: 1.03rem;
    line-height: 1.55;
}

body.hayashi-enfold-db-view .hayashi-embed-card .hayashi-card-excerpt,
.hayashi-embed-card .hayashi-card-excerpt {
    margin: 0;
    color: var(--hayashi-text);
    font-size: 0.94rem;
    line-height: 1.75;
}

body.hayashi-enfold-db-view .hayashi-embed-card .hayashi-button,
.hayashi-embed-card .hayashi-button {
    align-self: flex-start;
    margin-top: auto;
}

body.hayashi-enfold-db-view .hayashi-home-db,
.hayashi-home-db {
    display: grid;
    gap: 30px;
}

body.hayashi-enfold-db-view .hayashi-home-term-sections,
.hayashi-home-term-sections {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

body.hayashi-enfold-db-view .hayashi-term-directory-grid,
.hayashi-term-directory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body.hayashi-enfold-db-view .hayashi-term-directory-card a,
.hayashi-term-directory-card a {
    display: grid;
    gap: 7px;
    min-height: 100%;
    padding: 14px;
    border: 1px solid var(--hayashi-border);
    border-top: 3px solid var(--hayashi-red);
    border-radius: 5px;
    background: var(--hayashi-paper);
    color: var(--hayashi-text);
    text-decoration: none;
}

body.hayashi-enfold-db-view .hayashi-term-directory-card strong,
.hayashi-term-directory-card strong {
    color: var(--hayashi-red-dark);
    font-size: 1rem;
    line-height: 1.55;
}

body.hayashi-enfold-db-view .hayashi-term-directory-card span,
.hayashi-term-directory-card span {
    width: max-content;
    padding: 2px 8px;
    border: 1px solid var(--hayashi-border);
    border-radius: 5px;
    background: var(--hayashi-cream-alt);
    color: var(--hayashi-red);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

body.hayashi-enfold-db-view .hayashi-term-directory-card em,
.hayashi-term-directory-card em {
    color: var(--hayashi-text);
    font-size: 0.92rem;
    font-style: normal;
    line-height: 1.7;
}

body.hayashi-enfold-db-view .hayashi-term-directory-card a:hover,
.hayashi-term-directory-card a:hover {
    border-color: var(--hayashi-red);
    background: var(--hayashi-cream-alt);
}

@media (max-width: 780px) {
    body.hayashi-enfold-db-view .hayashi-db-wrap,
    body.hayashi-enfold-db-view .hayashi-single-layout,
    body.hayashi-enfold-db-view .hayashi-section-nav {
        padding-left: 14px;
        padding-right: 14px;
    }

    body.hayashi-enfold-db-view .hayashi-embed-card-grid,
    .hayashi-embed-card-grid {
        grid-template-columns: 1fr;
    }

    body.hayashi-enfold-db-view .hayashi-home-term-sections,
    body.hayashi-enfold-db-view .hayashi-term-directory-grid,
    .hayashi-home-term-sections,
    .hayashi-term-directory-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 781px) and (max-width: 1024px) {
    body.hayashi-enfold-db-view .hayashi-embed-card-grid,
    .hayashi-embed-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
