/* ESG28 page-specific styles. Shared colors and spacing live in ../esg-theme.css. */
.esg28-page .esg28-figure-image {
    display: block;
    width: 100%;
    height: auto;
}

.esg28-page .esg28-management-table {
    --esg-management-border-color: var(--esg-color-purple);
}

.esg28-page .table-wrap {
    border: 1px solid var(--esg-color-purple);
}

.esg28-page .esg-table th {
    background: var(--esg-color-purple);
    border: 1px solid var(--esg-color-purple);
}

.esg28-page .esg-table td {
    border: 1px solid var(--esg-color-purple);
}

.esg28-page .esg28-incident-panel,
.esg28-page .esg28-measure-panel {
    border: 1px solid var(--esg-color-purple);
}

.esg28-page .esg28-incident-panel h5,
.esg28-page .esg28-measure-panel h5 {
    margin: 0 0 16px 0;
    color: var(--esg-color-heading);
    font-size: 20px;
    text-align: center;
}

.esg28-page .esg28-incident-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.esg28-page .esg28-incident-card {
    min-height: 132px;
    padding: 18px 14px;
    border: 1px solid var(--esg-color-purple);
    background: var(--esg-bg-soft);
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.esg28-page .esg28-incident-card .label {
    margin: 0 0 10px 0;
    color: var(--esg-color-heading);
    font-size: 16px;
    line-height: 1.6;
    text-indent: 0;
}

.esg28-page .esg28-incident-card .value {
    margin: 0;
    color: var(--esg-color-purple);
    font-size: 44px;
    line-height: 1;
    font-weight: 800;
    text-indent: 0;
    text-align: center;
}

.esg28-page .esg28-note-list {
    margin: 0;
    text-align: left;
}

.esg28-page .esg28-transport-table tbody tr:nth-child(even) td {
    background: var(--esg-bg-table-alt);
}

.esg28-page .esg28-measure-list {
    margin: 0;
    padding-left: 1.2em;
}

.esg28-page .esg28-measure-list li {
    margin-bottom: 8px;
    line-height: 1.85;
    text-indent: 0;
}

@media (max-width: 900px) {
}

@media (max-width: 768px) {
    .esg28-page .esg28-incident-grid {
        grid-template-columns: 1fr;
    }

    .esg28-page .esg28-incident-card {
        min-height: auto;
    }

    .esg28-page .esg28-incident-panel,
    .esg28-page .esg28-measure-panel {
        padding: 20px 18px;
    }

    .esg28-page .esg28-incident-panel h5,
    .esg28-page .esg28-measure-panel h5 {
        font-size: 18px;
    }

    .esg28-page .esg28-incident-card .value {
        font-size: 38px;
    }
}
