/* ===== CMS / Document Pages ===== */

.cms-page-container {
    max-width: 1430px;
    margin: 0 auto;
    padding: 0 15px 40px;
}

.cms-page-title {
    font-size: 24px;
    font-weight: 600;
    margin: 16px 0 24px;
    padding: 0 0 15px;
    border-bottom: 1px solid #e5e5e5;
}

.cms-page-container .page-content.page-cms {
    line-height: 1.7;
}

.cms-page-container .page-content.page-cms img {
    max-width: 100%;
    height: auto;
}

.cms-page-container .page-content.page-cms h2,
.cms-page-container .page-content.page-cms h3 {
    margin-top: 24px;
    margin-bottom: 12px;
}

.cms-page-container .page-content.page-cms table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1rem;
}

.cms-page-container .page-content.page-cms table th,
.cms-page-container .page-content.page-cms table td {
    padding: 8px 12px;
    border: 1px solid #e5e5e5;
}

/* Legacy grid system (from old app2.css) – used in CMS content stored in DB */
.page-content.page-cms .col-main {
    position: relative;
    float: left;
    box-sizing: border-box;
}

.page-content.page-cms .grid12-3  { width: 25%; }
.page-content.page-cms .grid12-4  { width: 33.333%; }
.page-content.page-cms .grid12-6  { width: 50%; }
.page-content.page-cms .grid12-8  { width: 66.667%; }
.page-content.page-cms .grid12-12,
.page-content.page-cms .grid-full { width: 100%; }

/* Clearfix for float-based grid */
.page-content.page-cms .main.container::after {
    content: "";
    display: table;
    clear: both;
}

/* Remove duplicate h1 from CMS content (template already shows title) */
.page-content.page-cms .main.container > h1 {
    display: none;
}

@media (max-width: 991px) {
    .page-content.page-cms .col-main.grid12-4 {
        width: 50%;
    }
}

@media (max-width: 575px) {
    .page-content.page-cms .col-main.grid12-3,
    .page-content.page-cms .col-main.grid12-4,
    .page-content.page-cms .col-main.grid12-6,
    .page-content.page-cms .col-main.grid12-8 {
        width: 100%;
        float: none;
        margin-bottom: 24px;
    }
}
