/*
 * Bloom Documents presentation profile
 * Profile: Legal Policy
 * Template version: 1.2.0
 * Source module version: 0.14.7
 * Primary selector: .bloom-document--legal_policy
 * Runtime mode: validated, content-addressed CSS generated under WordPress uploads.
 * CSS Logistics handoff: optional and never overwritten by this module.
 */

/* Shared Bloom Document presentation foundation. */
.bloom-document {
    --bdoc-profile-bg: var(--b-color-bg, #ffffff);
    --bdoc-profile-surface: var(--b-color-surface, #ffffff);
    --bdoc-profile-soft: var(--b-color-surface-soft, #f8fafc);
    --bdoc-profile-text: var(--b-color-text, #111827);
    --bdoc-profile-muted: var(--b-color-text-muted, #4b5563);
    --bdoc-profile-border: var(--b-color-border, #e5e7eb);
    --bdoc-profile-primary: var(--b-color-primary, #6366f1);
    --bdoc-profile-primary-hover: var(--b-color-primary-hover, #4f46e5);
    --bdoc-profile-radius: var(--b-radius-l, 1rem);
    --bdoc-profile-radius-small: var(--b-radius-s, .5rem);
    --bdoc-profile-shadow: var(--b-shadow-s, 0 1px 2px rgba(15, 23, 42, .08));
    color: var(--bdoc-profile-text);
    font-family: var(--b-font-body, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    line-height: var(--b-line-height-body, 1.7);
    padding-block: clamp(1.5rem, 4vw, 4rem);
}

.bloom-document :where(a) {
    color: var(--bdoc-profile-primary);
    text-underline-offset: .18em;
}

.bloom-document :where(a:hover, a:focus-visible) {
    color: var(--bdoc-profile-primary-hover);
}

.bloom-document__header,
.bloom-document__summary,
.bloom-document__introduction,
.bloom-document__navigation,
.bloom-document__section,
.bloom-document__version {
    box-sizing: border-box;
}

.bloom-document__type,
.bloom-document__eyebrow {
    margin: 0 0 .5rem;
    color: var(--bdoc-profile-primary);
}

.bloom-document__title {
    margin: 0;
    color: var(--bdoc-profile-text);
    font-family: var(--b-font-heading, inherit);
    font-size: var(--b-font-size-h1, clamp(2.2rem, 1.7vw + 1.8rem, 3rem));
    line-height: 1.05;
}

.bloom-document__summary,
.bloom-document__introduction,
.bloom-document__navigation {
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid var(--bdoc-profile-border);
    border-radius: var(--bdoc-profile-radius);
    background: var(--bdoc-profile-surface);
    box-shadow: var(--bdoc-profile-shadow);
}

.bloom-document__summary-title,
.bloom-document__introduction-title,
.bloom-document__toc-title {
    margin: 0 0 .75rem;
    color: var(--bdoc-profile-text);
}

.bloom-document__summary-list,
.bloom-document__metadata {
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}

.bloom-document__toc-list {
    margin: 0;
}

.bloom-document__toc-list--sections {
    list-style: none;
    padding-inline-start: 0;
}

.bloom-document__toc-link {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: start;
    gap: .45rem;
    padding-block: .18rem;
}

.bloom-document__toc-number {
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.bloom-document__toc-list--nested {
    padding-inline-start: 1.35rem;
}

.bloom-document__toc-list--nested .bloom-document__toc-entry a {
    display: inline-block;
    padding-block: .18rem;
}

.bloom-document__disclosure-controls button,
.bloom-document [data-bloom-document-action="print"] {
    border: 1px solid var(--bdoc-profile-primary);
    border-radius: var(--bdoc-profile-radius-small);
    background: var(--bdoc-profile-primary);
    color: #fff;
    font-weight: 700;
    transition: transform 160ms ease, background 160ms ease;
}

.bloom-document__disclosure-controls button:hover,
.bloom-document__disclosure-controls button:focus-visible,
.bloom-document [data-bloom-document-action="print"]:hover,
.bloom-document [data-bloom-document-action="print"]:focus-visible {
    background: var(--bdoc-profile-primary-hover);
    transform: translateY(-1px);
}

.bloom-document__section-header {
    margin-bottom: 1rem;
}

.bloom-document__section-summary {
    color: var(--bdoc-profile-text);
}

.bloom-document__section-summary:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--bdoc-profile-primary) 55%, transparent);
    outline-offset: 4px;
}

.bloom-document__section-summary-marker {
    color: var(--bdoc-profile-primary);
    border-color: color-mix(in srgb, var(--bdoc-profile-primary) 40%, var(--bdoc-profile-border));
    background: var(--bdoc-profile-soft);
}

.bloom-document__section-disclosure[open] > .bloom-document__section-summary {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--bdoc-profile-border);
}

.bloom-document .is-hash-target {
    outline-color: var(--bdoc-profile-primary);
}

.bloom-document__section-title {
    margin: 0;
    color: var(--bdoc-profile-text);
    font-family: var(--b-font-heading, inherit);
    line-height: 1.15;
}

.bloom-document__section-number {
    color: var(--bdoc-profile-primary);
}

.bloom-document__section-lead,
.bloom-document__disclosure-subtitle,
.bloom-document__version {
    color: var(--bdoc-profile-muted);
}

.bloom-document__block-title {
    margin-bottom: .65rem;
    color: var(--bdoc-profile-text);
}

.bloom-document__rich-text :where(p, ul, ol) + :where(p, ul, ol) {
    margin-block-start: .85rem;
}

.bloom-document__rich-text li + li {
    margin-block-start: .32rem;
}

.bloom-document__notice,
.bloom-document__note {
    border-color: var(--bdoc-profile-primary);
    border-radius: var(--bdoc-profile-radius-small);
    background: var(--bdoc-profile-soft);
}

.bloom-document__disclosure {
    border: 1px solid var(--bdoc-profile-border);
    border-radius: var(--bdoc-profile-radius-small);
    background: var(--bdoc-profile-surface);
}

.bloom-document__disclosure-summary {
    padding: 1rem;
}

.bloom-document__disclosure-panel {
    padding: 0 1rem 1rem;
}

.bloom-document__table {
    border: 1px solid var(--bdoc-profile-border);
}

.bloom-document__table :where(th, td) {
    border-bottom: 1px solid var(--bdoc-profile-border);
}

.bloom-document__table th {
    background: var(--bdoc-profile-soft);
}

@media (max-width: 760px) {
    .bloom-document {
        padding-inline: 1rem;
    }
}

@media print {
    .bloom-document {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        color: #000 !important;
        background: #fff !important;
        font-size: 10pt;
    }

    .bloom-document__header,
    .bloom-document__summary,
    .bloom-document__introduction,
    .bloom-document__navigation,
    .bloom-document__section,
    .bloom-document__section-disclosure {
        margin: 0 0 1.2rem !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .bloom-document__navigation {
        position: static !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

/* Legal policy profile. */
.bloom-document--legal_policy {
    width: min(100%, var(--b-container-m, 64rem));
}

.bloom-document--legal_policy .bloom-document__section {
    padding-block: 1.5rem;
    border-top: 1px solid var(--bdoc-profile-border);
}

.bloom-document--legal_policy .bloom-document__section:first-child {
    border-top: 0;
}
