/* Dynamic Industry News & Trade Monitor - preserves the existing news-card geometry. */
.news-loading {
    grid-column: 1 / -1;
    min-height: 120px;
    display: grid;
    place-items: center;
    color: var(--text-muted);
    font-size: .95rem;
}
.news-card-dynamic {
    display: flex;
    flex-direction: column;
}
.news-card-dynamic h3 { margin-bottom: .55rem; }
.news-card-dynamic .news-description-preview {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin-bottom: .65rem;
}
.news-more {
    align-self: flex-start;
    margin-top: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--primary-color);
    font-weight: 700;
    font-size: .85rem;
    cursor: pointer;
}
.news-more:hover,.news-more:focus { color: var(--primary-hover); text-decoration: underline; }
.news-modal {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}
.news-modal.active { display: flex; }
.news-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(9,40,70,.62);
    backdrop-filter: blur(2px);
}
.news-modal-content {
    position: relative;
    z-index: 1;
    width: min(680px, 100%);
    max-height: min(80vh, 720px);
    overflow-y: auto;
    background: var(--white);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 24px 70px rgba(0,0,0,.25);
    padding: 1.75rem;
}
.news-modal-content h3 { color: var(--primary-color); margin: .55rem 0 .5rem; }
.news-modal-description { color: var(--text-color); white-space: pre-line; line-height: 1.75; }
.news-modal-close {
    position: absolute;
    top: .65rem;
    right: .8rem;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: var(--secondary-color);
    color: var(--primary-color);
    font-size: 1.55rem;
    line-height: 1;
    cursor: pointer;
}
.news-modal-close:hover { background: var(--border-color); }
body.news-modal-open { overflow: hidden; }
