.blc-search { margin: 2rem 0; }
.blc-search__controls {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 1rem;
    align-items: end;
}
.blc-search label { display: grid; gap: .4rem; font-weight: 700; }
.blc-search input,
.blc-search select,
.blc-search button {
    min-height: 44px;
    padding: .75rem;
    border: 1px solid #bbb;
    border-radius: .5rem;
}
.blc-search button,
.blc-print-button {
    cursor: pointer;
    background: #7a1f2b;
    color: #fff;
    border: 0;
}
.blc-results-grid,
.blc-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}
.blc-card,
.blc-related-card {
    background: #fff;
    border: 1px solid #e4ded4;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.blc-card__image img { width: 100%; height: auto; display: block; }
.blc-card__body,
.blc-related-card { padding: 1.25rem; }
.blc-reading-time { font-size: .9rem; opacity: .75; }
.blc-learning-path__steps { padding-left: 1.5rem; }
.blc-related { margin-top: 3rem; }
.blc-print-button { padding: .75rem 1rem; border-radius: .5rem; }

@media (max-width: 900px) {
    .blc-search__controls,
    .blc-results-grid,
    .blc-related-grid {
        grid-template-columns: 1fr;
    }
}

@media print {
    header, footer, nav, .blc-search, .blc-related, .blc-print-button { display: none !important; }
    body { background: #fff; color: #000; font-size: 12pt; }
    a { color: #000; text-decoration: none; }
}
