/* AGNES — privacy policy mobile fix 1.0.0 */

/*
 * The whole policy is a single, very tall `.reveal` element. On mobile the
 * previous 8% IntersectionObserver threshold can be impossible to reach, so
 * the document remains transparent. Keep the legal content visible at all
 * viewport sizes.
 */
.privacy-policy-page .legal-content.reveal,
.privacy-policy-page .legal-content.reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}

.privacy-policy-page,
.privacy-policy-page .container--narrow,
.privacy-policy-page .legal-content,
.privacy-policy-page .legal-content * {
    box-sizing: border-box;
    min-width: 0;
}

.privacy-policy-page {
    overflow-x: clip;
}

.privacy-policy-page .container--narrow {
    max-width: 920px;
    margin-right: auto;
    margin-left: auto;
}

.privacy-policy-page .legal-content {
    width: 100%;
    max-width: 920px;
    overflow: visible;
}

.privacy-policy-page .legal-content a,
.privacy-policy-page .legal-content address,
.privacy-policy-page .legal-content li,
.privacy-policy-page .legal-content p,
.privacy-policy-page .legal-content h2,
.privacy-policy-page .legal-content h3 {
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

.privacy-policy-page .privacy-purpose-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 782px) {
    .privacy-policy-page.section {
        padding: 36px 0 52px !important;
    }

    .privacy-policy-page .container--narrow {
        width: calc(100% - 20px) !important;
        max-width: none !important;
        padding: 0 !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .privacy-policy-page .legal-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 22px 16px !important;
        border-radius: 15px !important;
    }

    .privacy-policy-page .legal-content > p:first-child {
        margin-bottom: 18px;
        font-size: 0.9rem;
        line-height: 1.5;
    }

    .privacy-policy-page .legal-content h2 {
        margin-top: 2rem;
        margin-bottom: 0.9rem;
        font-size: clamp(1.42rem, 6vw, 1.78rem) !important;
        line-height: 1.2;
        letter-spacing: -0.015em;
    }

    .privacy-policy-page .legal-content h3 {
        margin-bottom: 0.65rem;
        font-size: 1.12rem !important;
        line-height: 1.28;
    }

    .privacy-policy-page .legal-content p,
    .privacy-policy-page .legal-content li,
    .privacy-policy-page .privacy-address {
        font-size: 0.98rem;
        line-height: 1.68;
    }

    .privacy-policy-page .legal-content ul,
    .privacy-policy-page .legal-content ol {
        padding-left: 1.22rem;
        margin-bottom: 1.4rem;
    }

    .privacy-policy-page .legal-content li + li {
        margin-top: 0.48rem;
    }

    .privacy-policy-page .privacy-summary {
        width: 100%;
        margin: 22px 0 28px !important;
        padding: 18px 16px !important;
        border-radius: 14px !important;
    }

    .privacy-policy-page .privacy-summary h2 {
        margin-top: 0 !important;
        margin-bottom: 12px;
        font-size: 1.35rem !important;
    }

    .privacy-policy-page .privacy-summary ul {
        padding-left: 1.1rem;
    }

    .privacy-policy-page .privacy-details-list {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        padding: 16px 13px 16px 32px !important;
        border-left-width: 3px;
    }

    .privacy-policy-page .privacy-purpose-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        width: 100%;
        margin: 18px 0 28px !important;
    }

    .privacy-policy-page .privacy-purpose-grid article,
    .privacy-policy-page .privacy-purpose-grid article:last-child:nth-child(odd) {
        grid-column: auto !important;
        width: 100%;
        padding: 17px 15px !important;
        border-radius: 12px !important;
    }

    .privacy-policy-page .privacy-address {
        width: 100%;
        margin: 16px 0;
        padding: 16px 14px !important;
        border-left-width: 3px;
    }

    .privacy-policy-page .text-accent {
        display: inline;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

@media (max-width: 420px) {
    .privacy-policy-page .container--narrow {
        width: calc(100% - 14px) !important;
    }

    .privacy-policy-page .legal-content {
        padding: 20px 14px !important;
        border-radius: 13px !important;
    }

    .privacy-policy-page .legal-content h2 {
        font-size: 1.42rem !important;
    }

    .privacy-policy-page .legal-content p,
    .privacy-policy-page .legal-content li,
    .privacy-policy-page .privacy-address {
        font-size: 0.95rem;
    }
}
