/* ── News Article Screenshot v2 ── */
.nsp-wrap {
    margin: 20px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Notice for admins */
.nsp-notice {
    width: 100%;
    padding: 10px 14px;
    border-radius: 5px;
    font-size: 13px;
}
.nsp-notice--warn {
    background: #fff8e1;
    border-left: 4px solid #f0b429;
    color: #4a3800;
}

/* ── Button ── */
.nsp-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 24px;
    border: none;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .01em;
    cursor: pointer;
    transition: background .18s, transform .1s, box-shadow .18s;
    background: #1a73e8;
    color: #fff;
    box-shadow: 0 2px 8px rgba(26,115,232,.3);
}
.nsp-btn:hover:not(:disabled) {
    background: #1456b5;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(26,115,232,.4);
}
.nsp-btn:active:not(:disabled) { transform: translateY(0); }

.nsp-btn:disabled,
.nsp-btn--waiting {
    background: #93baf5;
    cursor: not-allowed;
    box-shadow: none;
}
.nsp-btn--capturing {
    background: #d97706;
    cursor: not-allowed;
}

/* Spinner */
.nsp-spinner {
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: nsp-spin .7s linear infinite;
    flex-shrink: 0;
}
.nsp-btn--ready .nsp-spinner,
.nsp-btn--done  .nsp-spinner { display: none; }

@keyframes nsp-spin { to { transform: rotate(360deg); } }

/* Status message */
.nsp-msg {
    width: 100%;
    margin: 0;
    font-size: 13px;
    color: #555;
    min-height: 18px;
}
.nsp-msg--error { color: #c0392b; font-weight: 600; }
.nsp-msg--ok    { color: #1a7a3c; font-weight: 600; }
.nsp-msg--warn  { color: #996600; }

/* Links row */
.nsp-links {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.nsp-links[hidden] { display: none; }

.nsp-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 9px 18px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: opacity .2s, transform .1s;
}
.nsp-link:hover { opacity: .85; text-decoration: none; transform: translateY(-1px); }
.nsp-link--view { background: #1a7a3c; color: #fff; }
.nsp-link--dl   { background: #2c3e50; color: #fff; }
.nsp-link--pdf  { background: #c0392b; color: #fff; }
