/* Limited to the Log policy routes: preserve full text at large text sizes. */
.log-policy-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    column-gap: 0.45rem;
}

.log-policy-heading i {
    margin-right: 0;
}

.log-policy-heading .text-gradient {
    min-width: 0;
    background: none;
    color: var(--accent-cta);
    -webkit-text-fill-color: currentColor;
}

.log-policy-name,
.log-policy-type {
    display: block;
}

.log-policy-term {
    display: inline-block;
    white-space: nowrap;
}

.legal-card {
    overflow-wrap: break-word;
}

html[lang="ko"] .legal-card {
    word-break: keep-all;
}

html[lang="ja"] .legal-card {
    line-break: strict;
}

/* Keep short Korean table labels intact even at 200% text size. The table
   region itself remains horizontally scrollable for the remaining columns. */
html[lang="ko"] .legal-table-scroll th:first-child,
html[lang="ko"] .legal-table-scroll td:first-child {
    white-space: nowrap;
}

/* English category names may wrap at spaces, never inside a word. */
html[lang="en"] .legal-table-scroll th:first-child,
html[lang="en"] .legal-table-scroll td:first-child {
    overflow-wrap: normal;
    word-break: normal;
}

/* Japanese table categories break only at editorial word boundaries. */
html[lang="ja"] .legal-table-scroll th:first-child,
html[lang="ja"] .legal-table-scroll td:first-child {
    overflow-wrap: normal;
    word-break: keep-all;
}

.legal-revised {
    display: block;
    margin-top: 0.35rem;
}

@media (max-width: 480px) {
    .log-policy-heading {
        display: block;
    }

    .log-policy-heading i {
        display: none;
    }

    .legal-hero .container,
    .legal-page .container {
        padding-inline: 16px;
    }

    .legal-card {
        padding: 16px;
    }
}
