/* Shared content styles — used by the public site and injected into the <uni-editor> shadow root.
 * Scope every rule under .page-content so the editor and the rendered page look identical.
 */

.page-content { color: #1a1a1a; line-height: 1.7; word-wrap: break-word; }
.page-content > *:first-child { margin-top: 0; }

.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4 {
    font-family: 'Open Sans', Arial, Helvetica, sans-serif;
    color: #00457d;
}

.page-content h1 { font-size: 1.9em; line-height: 1.2; font-weight: 700; margin: 1em 0 0.5em; }
.page-content h2 { font-size: 1.4em; line-height: 1.3; font-weight: 700; margin: 1.4em 0 0.4em; }
.page-content h3 { font-size: 1.1em; line-height: 1.3; font-weight: 700; margin: 1.2em 0 0.35em; }
.page-content h4 {
    font-size: 0.82em; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.07em;
    margin: 1em 0 0.3em;
}

.page-content p { margin: 0 0 0.85em; }
.page-content p:last-child { margin-bottom: 0; }
.page-content strong { font-weight: 700; }
.page-content em { font-style: italic; }

.page-content a { color: #195889; text-decoration: underline; }
.page-content a:hover { color: #00457d; }

.page-content img {
    max-width: 100%; height: auto; display: block;
    margin: 1em 0;
    border: 1px solid #cccccc; border-radius: 4px;
}

.page-content ul, .page-content ol {
    padding-left: 1.5em;
    margin: 0 0 0.85em;
}
.page-content ul { list-style: disc; }
.page-content ol { list-style: decimal; }
.page-content li { margin-bottom: 0.3em; }
.page-content li p { margin-bottom: 0.2em; }

.page-gate {
    max-width: 360px;
    margin: 2rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.page-gate label { font-weight: 700; font-size: 0.9rem; color: #00457d; }
.page-gate input[type=password] {
    padding: 0.55rem 0.7rem;
    border: 1px solid #ccdae5;
    border-radius: 4px;
    font: inherit;
}
.page-gate button {
    align-self: flex-start;
    background: #00457d;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 0.55rem 1.1rem;
    font-size: 0.95rem;
    cursor: pointer;
    margin-top: 0.25rem;
}
.page-gate button:hover { background: #336a97; }
.page-gate__error {
    background: #fdf2f0;
    border: 1px solid #f3b6bf;
    color: #b00020;
    padding: 0.4rem 0.7rem;
    border-radius: 4px;
    margin: 0;
}

.page-content table {
    width: 100%; border-collapse: collapse;
    font-size: 0.93em;
    margin: 1.1em 0;
}
.page-content th {
    background: #e6ecf2; color: #195889;
    font-size: 0.78em; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase;
    padding: 9px 13px; text-align: left;
    border: 1px solid #cccccc;
}
.page-content td {
    padding: 9px 13px;
    border: 1px solid #cccccc;
    vertical-align: top;
}
