﻿/* Documento legal de lectura, independiente de la maquetación comercial y sin servicios externos. */
.moc-privacy-page {
    margin: 0;
    background: var(--qg-public-color-white);
    color: var(--qg-public-color-black);
    font-family: var(--qg-public-font-body);
    font-size: 1.0625rem;
    line-height: 1.8;
    -webkit-text-size-adjust: 100%;
}
.moc-privacy-document {
    box-sizing: border-box;
    max-width: 56rem;
    margin: 0 auto;
    padding: clamp(1.25rem, 4vw, 3rem);
}
.moc-privacy-header h1 {
    margin: 1.5rem 0 .75rem;
    font-family: var(--qg-public-font-heading);
    font-size: clamp(1.8rem, 4vw, 2.7rem);
    line-height: 1.2;
    text-wrap: balance;
    overflow-wrap: anywhere;
    hyphens: auto;
}
.moc-privacy-page:lang(ja), .moc-privacy-page:lang(zh) { line-break: strict; }
.moc-privacy-page a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: .18em;
    overflow-wrap: anywhere;
}
.moc-privacy-page a:focus-visible {
    outline: .15rem solid currentColor;
    outline-offset: .25rem;
}
.moc-privacy-english-label, .moc-privacy-date { margin: .25rem 0; }
.moc-privacy-english-label { font-weight: 700; }
.moc-privacy-languages {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    margin-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--qg-public-color-black-18);
}
.moc-privacy-languages [aria-current="page"] {
    font-weight: 700;
    text-decoration-thickness: .14em;
}
.moc-privacy-index { margin: 2rem 0 3rem; }
.moc-privacy-index ol { padding-left: 1.5rem; }
.moc-privacy-index li { padding-left: .25rem; }
.moc-privacy-index h2, .moc-privacy-content h2 {
    font-family: var(--qg-public-font-heading);
    font-size: 1.4rem;
    line-height: 1.4;
}
.moc-privacy-content h2 { margin: 2.5rem 0 1rem; scroll-margin-top: 1rem; }
.moc-privacy-content p { margin: 0 0 1.1rem; overflow-wrap: break-word; }
@media (min-width: 46rem) {
    .moc-privacy-index ol { columns: 2; column-gap: 2rem; }
    .moc-privacy-index li { break-inside: avoid; }
}
@media print {
    .moc-privacy-document { max-width: none; padding: 0; }
    .moc-privacy-back, .moc-privacy-languages, .moc-privacy-index { display: none; }
    .moc-privacy-content h2 { break-after: avoid; }
    .moc-privacy-content p { orphans: 3; widows: 3; }
}
