/*
 * Privacy policy and general terms: table of contents beside the policy (layout of longwang.vn / khen.vn), in the GMaster
 * colours: soft black page, gold numbers and titles, light text. No scroll-reveal: every article is visible at once.
 */
html { scroll-behavior: smooth; }

.terms-page.gmaster-legal {
    background-color: var(--gmaster-black, #0a0a0a);
    color: #e8e1d8;
    font-family: var(--font-primary, 'SVN-Helves', Arial, sans-serif);
    padding: 56px 0 120px;
}
.gmaster-legal .container { max-width: 1240px; }

.gmaster-legal__layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 64px;
    align-items: start;
}
.gmaster-legal__layout--single { grid-template-columns: minmax(0, 1fr); }

/* Table of contents */
.gmaster-legal__toc {
    position: sticky;
    top: 24px;
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-width: thin;
    scrollbar-color: rgba(242, 190, 131, 0.4) transparent;
}
.gmaster-legal__toc > p {
    margin: 0 0 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(242, 190, 131, 0.35);
    color: var(--gmaster-gold, #f2be83);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: uppercase;
}
.gmaster-legal__toc ol,
.gmaster-legal__mobile-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: gm-toc; }
.gmaster-legal__toc li,
.gmaster-legal__mobile-toc li { counter-increment: gm-toc; }
.gmaster-legal__toc a,
.gmaster-legal__mobile-toc a {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 8px;
    padding: 7px 0;
    color: #cfc7bd;
    font-size: 15px;
    line-height: 1.45;
    text-decoration: none;
    transition: color 0.2s ease;
}
.gmaster-legal__toc a::before,
.gmaster-legal__mobile-toc a::before {
    content: counter(gm-toc, decimal-leading-zero);
    color: var(--gmaster-gold, #f2be83);
    font-size: 15px;
}
.gmaster-legal__toc a:hover,
.gmaster-legal__mobile-toc a:hover { color: #fff; }

.gmaster-legal__mobile-toc {
    display: none;
    margin-bottom: 28px;
    border: 1px solid rgba(242, 190, 131, 0.35);
    border-radius: 8px;
    background: rgba(242, 190, 131, 0.06);
}
.gmaster-legal__mobile-toc summary {
    padding: 14px 16px;
    color: var(--gmaster-gold, #f2be83);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: uppercase;
    cursor: pointer;
}
.gmaster-legal__mobile-toc ol { padding: 0 16px 12px; }

/* Content */
.gmaster-legal__content { min-width: 0; font-size: 16px; line-height: 1.75; }
/* Running text and labels use the brand fonts only (SVN-Helves regular and bold): the hierarchy comes from size, colour and case. */
.gmaster-legal__content p,
.gmaster-legal__content li,
.gmaster-legal__content td,
.gmaster-legal__content th,
.gmaster-legal__toc a,
.gmaster-legal__mobile-toc a { font-family: var(--font-text, 'SVN-Helves', Arial, sans-serif); font-weight: 400; }
.gmaster-legal__content p,
.gmaster-legal__content li,
.gmaster-legal__content td { color: #d8d1c7; font-size: 16px; line-height: 1.8; }
.gmaster-legal__toc a,
.gmaster-legal__mobile-toc a { color: #cfc7bd; }
.gmaster-legal__content th { font-weight: 600; }
.gmaster-legal__content strong { color: #fff; font-weight: 600; }
.gmaster-legal__content th { color: var(--gmaster-gold, #f2be83); }
.gmaster-legal__content p { margin: 0 0 16px; }
.gmaster-legal__content a { color: var(--gmaster-gold, #f2be83); text-underline-offset: 3px; }
.gmaster-legal__content a:hover { color: #fff; }

.gmaster-legal__intro { margin-bottom: 40px; }
.gmaster-legal__intro p:nth-of-type(1) {
    font-family: var(--font-primary, 'SVN-Helves', Arial, sans-serif);
    font-weight: 600;
    margin-bottom: 14px;
    color: var(--gmaster-gold, #f2be83);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
}
.gmaster-legal__intro p:nth-of-type(2) {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 28px;
    margin-bottom: 20px;
    padding: 12px 0;
    border-top: 1px solid rgba(242, 190, 131, 0.25);
    border-bottom: 1px solid rgba(242, 190, 131, 0.25);
    color: #a89f94;
    font-size: 15px;
}
.gmaster-legal__intro p:nth-of-type(3) { font-size: 16px; line-height: 1.7; }

.gmaster-legal__content h2 {
    margin: 48px 0 18px;
    padding: 0 0 14px 16px;
    border-left: 3px solid var(--gmaster-red, #a31f1c);
    border-bottom: 1px solid rgba(242, 190, 131, 0.25);
    color: var(--gmaster-gold, #f2be83);
    font-family: var(--font-primary, 'SVN-Helves', Arial, sans-serif);
    font-size: 24px;
    line-height: 1.3;
    font-weight: 600;
    scroll-margin-top: 24px;
}
.gmaster-legal__content h2:first-of-type { margin-top: 0; }
.gmaster-legal__content h3 { margin: 28px 0 12px; color: #fff; font-size: 18px; }
.gmaster-legal__content ul,
.gmaster-legal__content ol { margin: 0 0 18px; padding-left: 22px; }
.gmaster-legal__content li { margin-bottom: 8px; }
.gmaster-legal__content li::marker { color: var(--gmaster-gold, #f2be83); }

.gmaster-legal__content table {
    width: 100%;
    margin: 0 0 24px;
    border-collapse: collapse;
    font-size: 16px;
}
.gmaster-legal__content th,
.gmaster-legal__content td {
    padding: 12px 14px;
    border: 1px solid rgba(242, 190, 131, 0.25);
    text-align: left;
    vertical-align: top;
}
.gmaster-legal__content th { background: rgba(242, 190, 131, 0.1); color: var(--gmaster-gold, #f2be83); }
.gmaster-legal__content tr:nth-child(even) td { background: rgba(255, 255, 255, 0.025); }

@media (max-width: 991px) {
    .gmaster-legal__layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .gmaster-legal__toc { display: none; }
    .gmaster-legal__mobile-toc { display: block; }
    .terms-page.gmaster-legal { padding: 32px 0 72px; }
    .gmaster-legal__content h2 { font-size: 20px; margin-top: 36px; }
    .gmaster-legal__intro p:nth-of-type(3) { font-size: 16px; }
    .gmaster-legal__content table { display: block; overflow-x: auto; }
}
