 .magazine-archive { width: 100%; }
.magazine-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 24px; }
.magazine-search-input { flex: 1 1 260px; min-width: 180px; max-width: 520px; padding: 12px 14px; border: 1px solid #c9cdd2; border-radius: 3px; background: #fff; font: inherit; }
.magazine-category-select { flex: 0 1 240px; min-width: 180px; padding: 7px 14px; border: 1px solid #c9cdd2; border-radius: 3px; background: #fff; font: inherit; }
.magazine-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 18px; }
.magazine-columns-1 { grid-template-columns: 1fr; }
.magazine-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.magazine-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.magazine-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.magazine-card { min-width: 0; text-align: center; background: #fff; border: 1px solid #000; border-radius: 10px; overflow: hidden; }
.magazine-card-link { display: block; height: 100%; color: inherit; text-decoration: none; cursor: pointer; }
.magazine-card-link:hover .magazine-article-title, .magazine-card-link:focus .magazine-article-title { text-decoration: underline; }
.magazine-card-image { width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #f0f1f2; }
.magazine-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.magazine-card-link:hover .magazine-card-image img { transform: scale(1.025); }
.magazine-no-image { height: 100%; display: grid; place-items: center; color: #737980; font-size: 14px; }
.magazine-card-content { padding: 10px 8px 14px; }
.magazine-engineer-name { color: #153a9a; font-family: Georgia, serif; font-size: 20px; line-height: 1.25; margin-bottom: 3px; }
.magazine-article-description { color: #333; font-family: Georgia, serif; font-size: 15px; line-height: 1.4; margin: 3px 0 5px; white-space: pre-line; }
.magazine-article-title { color: #171717; font-family: Georgia, serif; font-size: 18px; line-height: 1.3; font-weight: 400; margin: 0 0 4px; }
.magazine-article-date { display: block; color: #222; font-family: Georgia, serif; font-size: 17px; }
.magazine-no-results { padding: 22px 12px; text-align: center; background: #f7f7f7; }
.magazine-results.is-loading { opacity: .55; pointer-events: none; }
@media (max-width: 760px) {
    .magazine-grid, .magazine-columns-3, .magazine-columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
    .magazine-engineer-name { font-size: 18px; }
    .magazine-article-title { font-size: 16px; }
}
@media (max-width: 480px) {
    .magazine-grid, .magazine-columns-2, .magazine-columns-3, .magazine-columns-4 { grid-template-columns: 1fr; }
    .magazine-card-image { aspect-ratio: 4 / 3; }
    .magazine-toolbar > * { flex-basis: 100%; max-width: none; }
}