/**
 * TITLE: UDS Migrated Content Page Styles
 * FILE: /assets/uds-content.css
 * VERSION: 1.1.0 — September 26, 2026
 * PURPOSE: Navy editorial typography, readable policies, responsive content images.
 * USED BY: content.php; alongside shared uds-site.css.
 */
body {
    margin: 0;
    background: #fff;
}
.uds-content-page {
    max-width: 1100px;
    margin: auto;
    padding: 55px 5% 70px;
    color: #253b4b;
    font: 15px/1.9 'Montserrat', Arial, sans-serif;
}
.uds-content-page a {
    color: #003366;
    text-underline-offset: 4px;
}
.uds-content-intro {
    margin-bottom: 35px;
    padding-bottom: 30px;
    border-bottom: 1px solid #d3dde5;
}
.uds-content-intro > p {
    font-size: 10px;
    letter-spacing: 2px;
    margin-top: 35px;
}
.uds-content-intro h1 {
    font: 600 clamp(38px, 5vw, 64px)/1.15 'Cormorant Garamond', Georgia, serif;
    color: #003366;
    margin: 16px 0 0;
}
.uds-content-body h2 {
    font: 600 34px/1.25 'Cormorant Garamond', Georgia, serif;
    color: #003366;
    margin: 40px 0 18px;
}
.uds-content-body h3, .uds-content-body h4 {
    color: #003366;
    font-size: 18px;
    line-height: 1.5;
    margin-top: 30px;
}
.uds-content-body p {
    margin: 0 0 20px;
}
.uds-content-body img {
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
    max-height: 530px;
    object-fit: contain;
    margin: 18px 12px 24px 0;
}
.uds-content-body table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}
.uds-content-body th, .uds-content-body td {
    border: 1px solid #d3dde5;
    padding: 10px;
}
.uds-content-note {
    background: #f1f5f7;
    border-left: 3px solid #003366;
    padding: 18px;
}
.uds-content-skip:not(:focus) {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}
.uds-content-skip:focus {
    display: block;
    padding: 14px;
}
@media (max-width: 560px) {
    .uds-content-page {
        font-size: 14px;
        padding-top: 30px;
    }
}

/* Catalog library: source-style three-column covers, titles and view buttons.
   Used by content.php?page=catalogs and its content JSON card markup. */
.uds-catalog-page { max-width: 1440px; padding-top: 28px; }
.uds-catalog-page .uds-content-intro { margin-bottom: 20px; padding-bottom: 18px; border-bottom: 2px solid #003366; }
.uds-catalog-page .uds-content-intro > p { display: none; }
.uds-catalog-page .uds-content-intro h1 { font: 600 30px/1.3 'Montserrat', Arial, sans-serif; margin-top: 18px; }
.uds-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 60px 48px; max-width: 1000px; margin: 58px auto 0; }
.uds-catalog-card { text-align: center; display: flex; flex-direction: column; align-items: center; min-width: 0; }
.uds-catalog-cover { display: flex; align-items: center; justify-content: center; height: 280px; width: 100%; }
.uds-catalog-cover img { display: block; margin: 0; width: auto; height: auto; max-height: 280px; max-width: 100%; object-fit: contain; }
.uds-catalog-card h2 { font: 600 17px/1.5 'Montserrat', Arial, sans-serif; margin: 22px 0 26px; }
.uds-catalog-card h2 a { text-decoration: none; }
.uds-catalog-card .uds-catalog-button { display: inline-block; margin-top: auto; padding: 11px 24px; background: #003366; color: white; border-radius: 2px; font: 600 12px/1.5 'Montserrat', Arial, sans-serif; text-transform: uppercase; text-decoration: none; }
.uds-catalog-card .uds-catalog-button:hover { background: #174c78; }
.uds-catalog-card a:focus-visible { outline: 3px solid #4d819b; outline-offset: 5px; }
@media (max-width: 850px) { .uds-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 28px; } }
@media (max-width: 560px) { .uds-catalog-grid { grid-template-columns: 1fr; margin-top: 36px; gap: 44px; } .uds-catalog-card h2 { max-width: 300px; } }
