/* ===================================
   Security Policy Page Specific Styles
   Extends the shared legal-page layout (impressum-style.css) with the
   elements the Coordinated Vulnerability Disclosure Policy needs:
   a document meta line, a milestone table and a definition-style contact list.

   Selectors are scoped with .legal-content where impressum-style.css already
   styles the same element (e.g. `.legal-content ul`), so they win on specificity
   rather than on stylesheet order.
   =================================== */

/* Title sits tight above the version / effective date line */
.legal-content h1.policy-title {
    margin-bottom: var(--spacing-xs);
}

/* Version / effective date line directly under the page title */
.legal-content .policy-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--spacing-xs) var(--spacing-sm);
    margin-bottom: var(--spacing-xl);
    padding-bottom: var(--spacing-sm);
    border-bottom: 2px solid var(--color-light-blue);
    color: var(--color-text-light);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.policy-meta .policy-meta-item {
    white-space: nowrap;
}

.policy-meta .policy-meta-item strong {
    color: var(--color-dark-blue);
    font-weight: 600;
}

.policy-meta .policy-meta-separator {
    color: var(--color-medium-blue);
    opacity: 0.4;
    user-select: none;
}

/* Contact details rendered as label / value pairs inside a .contact-box */
.legal-content .contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.legal-content .contact-list li {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: var(--spacing-xs);
}

.legal-content .contact-list li:last-child {
    margin-bottom: 0;
}

.contact-list .contact-label {
    display: inline-block;
    min-width: 9.5rem;
    font-weight: 600;
    color: var(--color-dark-blue);
}

/* Milestone table - horizontally scrollable on narrow screens */
.table-scroll {
    overflow-x: auto;
    margin: var(--spacing-md) 0;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.policy-table {
    width: 100%;
    min-width: 30rem;
    border-collapse: collapse;
    background-color: var(--color-white);
    font-size: 1rem;
}

.policy-table th,
.policy-table td {
    padding: var(--spacing-xs) var(--spacing-sm);
    text-align: left;
    line-height: 1.6;
    border-bottom: 1px solid var(--color-light-blue);
}

.policy-table thead th {
    background-color: var(--color-dark-blue);
    color: var(--color-white);
    font-weight: 600;
    border-bottom: none;
}

.policy-table tbody th {
    font-weight: 500;
    color: var(--color-text);
}

.policy-table tbody tr:nth-child(even) {
    background-color: var(--color-bg-light);
}

.policy-table tbody tr:last-child th,
.policy-table tbody tr:last-child td {
    border-bottom: none;
}

.policy-table td {
    white-space: nowrap;
    color: var(--color-dark-blue);
    font-weight: 600;
}

/* Break long URLs instead of forcing the content column to scroll */
.legal-content a {
    overflow-wrap: break-word;
}

@media (max-width: 768px) {
    .contact-list .contact-label {
        display: block;
        min-width: 0;
    }

    .policy-table {
        min-width: 22rem;
        font-size: 0.9375rem;
    }

    .policy-table td {
        white-space: normal;
    }
}
