/* Extracted from ecosystem/prop-firms/prop-firm-rule-topic.php. Keep page-specific rules scoped to the prop cluster. */
    .rule-topic-page .rule-topic-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin-top: 22px;
    }

    .rule-topic-card,
    .rule-topic-note,
    .rule-topic-panel {
        padding: 18px;
        border: 1px solid rgba(255, 255, 255, 0.10);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.045);
    }

    .rule-topic-card strong {
        display: block;
        color: #FFFFFF;
        font-size: 20px;
        line-height: 1.22;
    }

    .rule-topic-card span,
    .rule-topic-card p,
    .rule-topic-note,
    .rule-topic-panel p,
    .rule-topic-panel li {
        color: rgba(255, 255, 255, 0.66);
        font-size: 13px;
        line-height: 1.62;
    }

    .rule-topic-card span {
        display: block;
        margin-bottom: 8px;
        color: rgba(255, 255, 255, 0.46);
        font-weight: 850;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .rule-topic-split {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.55fr);
        gap: 14px;
        margin-top: 22px;
    }

    .rule-topic-panel h2,
    .rule-topic-panel h3 {
        margin: 0 0 12px;
        color: #FFFFFF;
    }

    .rule-topic-panel ul {
        margin: 0;
        padding-left: 18px;
    }

    .rule-topic-table-wrap {
        margin-top: 22px;
        overflow-x: auto;
        border: 1px solid rgba(255, 255, 255, 0.10);
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.035);
    }

    .rule-topic-table {
        width: 100%;
        min-width: 1280px;
        border-collapse: collapse;
    }

    .rule-topic-table th,
    .rule-topic-table td {
        padding: 14px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        text-align: left;
        vertical-align: top;
    }

    .rule-topic-table th {
        color: rgba(255, 255, 255, 0.48);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .rule-topic-table td {
        color: rgba(255, 255, 255, 0.70);
        font-size: 13px;
        line-height: 1.55;
    }

    .rule-topic-table tr:last-child td {
        border-bottom: 0;
    }

    .rule-topic-firm {
        color: #FFFFFF;
        font-weight: 850;
    }

    .rule-topic-source-date {
        display: block;
        margin-top: 5px;
        color: rgba(255, 255, 255, 0.46);
        font-size: 12px;
    }

    .rule-topic-faq {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 18px;
    }

    .rule-topic-path-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
        margin-top: 18px;
    }

    .rule-topic-path-card {
        display: flex;
        min-height: 150px;
        padding: 18px;
        border: 1px solid rgba(255, 255, 255, 0.10);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.045);
        color: rgba(255, 255, 255, 0.70);
        text-decoration: none;
        flex-direction: column;
        justify-content: space-between;
        gap: 12px;
    }

    .rule-topic-path-card strong {
        color: #FFFFFF;
        font-size: 16px;
        line-height: 1.28;
    }

    .rule-topic-path-card span {
        color: rgba(255, 255, 255, 0.58);
        font-size: 12px;
        line-height: 1.55;
    }

    .rule-topic-path-card em {
        color: #C7F45D;
        font-size: 12px;
        font-style: normal;
        font-weight: 850;
    }

    @media (max-width: 860px) {
        .rule-topic-page .rule-topic-grid,
        .rule-topic-split,
        .rule-topic-faq,
        .rule-topic-path-grid {
            grid-template-columns: 1fr;
        }
    }
