/* keyword-search-enhancements.css */

/* Styles specific to keyword-search.php */

/* Keyword Search Page Header */
.page-container--search .search-page-header {
    text-align: center;
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-lg);
    border-bottom: 1px solid var(--color-border);
}
.page-container--search .search-page-header__title {
    font-size: var(--font-size-xxl);
    color: var(--color-primary);
    margin-bottom: var(--space-sm);
}
.page-container--search .search-page-header__subtitle { /* Added for potential subtitle */
    font-size: var(--font-size-lg);
    color: var(--color-text-muted);
    margin-top: var(--space-xs);
    margin-bottom: 0;
}


/* Search Form Section */
.page-container--search .search-form-section {
    /* .card-style-content is applied in PHP */
    background-color: var(--color-background-alt); /* Differentiate control panel */
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-subtle);
    padding: var(--space-lg); /* Adjust padding if needed */
    border-radius: var(--border-radius-md);
    margin-bottom: var(--space-xl);
}
html.dark-mode .page-container--search .search-form-section {
    background-color: var(--color-background-alt-dark);
    border-color: var(--color-border-dark);
}

.page-container--search .keyword-search-form {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    align-items: flex-end;
}
.page-container--search .keyword-search-form__group {
    flex-grow: 1;
    min-width: 200px;
}
.page-container--search .keyword-search-form__label {
    /* Uses global label styles */
    font-weight: 500; /* Consistent with other labels */
}
.page-container--search .keyword-search-form__input {
    /* Uses global input styles */
}
.page-container--search .keyword-search-form__submit {
    /* Uses global .button .button--primary styles */
    min-width: 120px;
    /* height: auto; /* Global button should handle this */
    /* line-height: var(--line-height-base); /* Global button should handle this */
}
.page-container--search .keyword-search-form__submit:hover:not(:disabled) {
    /* transform: translateY(-1px); Removed lift */
}
.page-container--search .keyword-search-form__submit:active:not(:disabled) {
    transform: scale(0.98); /* Keep scale */
}
.page-container--search .keyword-search-form__submit i {
    margin-right: var(--space-sm);
}

/* Search Results Section */
.page-container--search .search-results-header {
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--color-border);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-md);
}
.page-container--search .search-results-header__title {
    font-size: var(--font-size-xl);
    color: var(--color-text-headings);
    margin-bottom: 0;
}
.page-container--search .search-results-header__count {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    margin-bottom: 0;
}

.page-container--search .search-results-list {
    list-style: none;
    padding: 0;
}
.page-container--search .search-results-list__item {
    background-color: var(--color-surface);
    padding: var(--space-lg);
    border-radius: var(--border-radius-md);
    margin-bottom: var(--space-lg);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-xs);
    transition: box-shadow var(--transition-base);
}
.page-container--search .search-results-list__item:hover {
    box-shadow: var(--shadow-md);
    /* transform: none; Removed lift */
}

.page-container--search .search-results-list__reference {
    display: block;
    margin-bottom: var(--space-sm);
    font-weight: 600;
    font-size: var(--font-size-base);
}
.page-container--search .search-results-list__reference a {
    color: var(--color-link);
    text-decoration: none;
}
.page-container--search .search-results-list__reference a:hover {
    text-decoration: underline;
    color: var(--color-link-hover);
}
.page-container--search .search-results-list__text {
    font-family: var(--font-family-serif);
    font-size: var(--font-size-base);
    line-height: var(--line-height-prose);
    color: var(--color-text);
    margin-bottom: 0;
}
.page-container--search .search-results-list__text .search-highlight {
    font-weight: 700; /* Bolder for more emphasis */
    background-color: var(--color-accent);
    color: var(--color-primary-contrast-text-light); /* Ensure contrast with accent, assuming accent is light enough */
    padding: 0.1em 0.25em; /* Slightly more padding */
    border-radius: var(--border-radius-xs); /* Smaller radius for inline highlight */
}

/* Dark Mode specific for keyword search */
html.dark-mode .page-container--search .search-page-header {
    border-bottom-color: var(--color-border-dark);
}
html.dark-mode .page-container--search .search-page-header__title {
    color: var(--color-primary-dark);
}
html.dark-mode .page-container--search .search-page-header__subtitle {
    color: var(--color-text-muted-dark);
}
/* .search-form-section dark mode handled by its new direct styling */

html.dark-mode .page-container--search .search-results-header {
    border-bottom-color: var(--color-border-dark);
}
html.dark-mode .page-container--search .search-results-header__title {
    color: var(--color-text-headings-dark);
}
html.dark-mode .page-container--search .search-results-header__count {
    color: var(--color-text-muted-dark);
}
html.dark-mode .page-container--search .search-results-list__item {
    background-color: var(--color-surface-dark);
    border-color: var(--color-border-dark);
}
/* Text color for reference and text handled by global --color-text-dark */
/* Link colors for reference handled by global --color-link-dark */

html.dark-mode .page-container--search .search-results-list__text .search-highlight {
    background-color: var(--color-accent-dark);
    color: var(--color-primary-contrast-text-dark); /* Ensure contrast, typically dark text on lighter dark accent */
}

/* Responsive adjustments for keyword-search page */
@media (max-width: 767px) {
    .page-container--search .search-form-section {
        padding: var(--space-md);
    }
    .page-container--search .keyword-search-form {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-sm);
    }
    .page-container--search .keyword-search-form__group {
        min-width: 100%;
    }
    .page-container--search .keyword-search-form__submit {
        width: 100%;
        min-width: auto;
        margin-top: var(--space-xs);
    }
    .page-container--search .search-results-list__item {
        padding: var(--space-md);
    }
    .page-container--search .search-results-list__text {
        font-size: var(--font-size-sm);
    }
}
@media (max-width: 480px) {
     .page-container--search .search-page-header__title {
        font-size: var(--font-size-xl);
    }
    .page-container--search .keyword-search-form__input,
    .page-container--search .keyword-search-form__submit {
        font-size: var(--font-size-sm);
    }
    .page-container--search .search-results-list__text {
        font-size: calc(var(--font-size-sm) * 0.95);
    }
}

/* Print styles for keyword search */
@media print {
    .page-container--search .search-page-header {
        border-bottom: 1px solid #666 !important;
        margin-bottom: 12pt !important;
        padding-bottom: 8pt !important;
    }
    .page-container--search .search-page-header__title {
        font-size: 16pt !important;
        color: #000 !important;
    }
     .page-container--search .search-page-header__subtitle {
        display: none !important; /* Hide subtitle in print */
    }
    .page-container--search .search-form-section {
        display: none !important;
    }
    .page-container--search .search-results-header {
        border-bottom: 1px solid #ccc !important;
        margin-bottom: 10pt !important;
        padding-bottom: 6pt !important;
    }
    .page-container--search .search-results-header__title {
        font-size: 14pt !important;
        color: #000 !important;
    }
    .page-container--search .search-results-header__count {
        display: none !important;
    }
    .page-container--search .search-results-list__item {
        page-break-inside: avoid;
        box-shadow: none !important;
        border: 1px solid #ddd !important;
        padding: 8pt !important;
        margin-bottom: 8pt !important;
        background: #fff !important;
    }
    .page-container--search .search-results-list__reference {
        font-size: 11pt !important;
        color: #000 !important;
    }
    .page-container--search .search-results-list__reference a {
        color: #000 !important;
        text-decoration: none !important;
    }
    .page-container--search .search-results-list__text {
        font-size: 10pt !important;
        color: #000 !important;
        line-height: 1.4 !important;
    }
    .page-container--search .search-results-list__text .search-highlight {
        background-color: transparent !important;
        color: #000 !important;
        font-weight: bold !important;
        padding: 0 !important;
        border-radius: 0 !important;
        border: none !important; /* Simpler print: just bold text */
        /* border: 1px dotted #555 !important; /* Previous subtle indication */
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}