/* ==========================================================
   CDS Journey — Redesign disclaimer (public pages only)
   Namespace: .rd-disclaimer*

   <1024     mobile  — compact row; full copy opens below
   >=1024    desktop/tablet — lead + more continue in the SAME text
               flow (inline), no separate panel block under the bar

   Colors: Olive label/icon, Navy CTA, Gold underline, muted body.
   ========================================================== */

.rd-disclaimer {
    background: var(--rd-surface-default, #F8F9FB);
    border-top: 1px solid var(--rd-border-subtle, #DDE2E6);
    border-bottom: 1px solid var(--rd-border-subtle, #DDE2E6);
}

.rd-disclaimer__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    padding-block: 10px;
}

.rd-disclaimer__brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.rd-disclaimer__icon {
    font-size: 20px;
    line-height: 1;
    color: var(--rd-color-olive, #4B5320);
}

.rd-disclaimer__label {
    font-family: var(--rd-font-body, "Inter", Arial, sans-serif);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--rd-color-olive, #4B5320);
    white-space: nowrap;
}

/* ---- Copy (lead + inline continuation) ---- */
.rd-disclaimer__copy {
    margin: 0;
    min-width: 0;
    font-family: var(--rd-font-body, "Inter", Arial, sans-serif);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--rd-text-secondary, #6C757D);
}

.rd-disclaimer__link {
    color: var(--rd-color-navy, #1A2B4C);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rd-disclaimer__link:link,
.rd-disclaimer__link:visited {
    color: var(--rd-color-navy, #1A2B4C);
}

.rd-disclaimer__link:hover {
    color: var(--rd-color-olive, #4B5320);
    outline: none;
}

.rd-disclaimer__link:focus {
    outline: none;
}

.rd-disclaimer__link:focus-visible {
    outline: 2px solid var(--rd-color-gold, #D4AF37);
    outline-offset: 3px;
}

/* ---- CTA ---- */
.rd-disclaimer__cta {
    position: relative;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    margin-left: auto;
    padding: 2px 0 6px;
    border: 0;
    background: transparent;
    font-family: var(--rd-font-body, "Inter", Arial, sans-serif);
    font-size: 14px;
    font-weight: 600;
    color: var(--rd-color-navy, #1A2B4C);
    white-space: nowrap;
    cursor: pointer;
    transition: color 180ms ease;
}

.rd-disclaimer__cta::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40%;
    height: 2px;
    background: var(--rd-color-gold, #D4AF37);
    transition: width 200ms ease;
}

.rd-disclaimer__cta:hover {
    color: var(--rd-color-olive, #4B5320);
}

.rd-disclaimer__cta:hover::after {
    width: 100%;
}

.rd-disclaimer__cta:active {
    color: var(--rd-color-olive-hover, #3C4319);
}

.rd-disclaimer__cta:focus {
    outline: none;
}

.rd-disclaimer__cta:focus-visible {
    outline: 2px solid var(--rd-color-gold, #D4AF37);
    outline-offset: 3px;
}

.rd-disclaimer__cta-text--open {
    display: none;
}

.rd-disclaimer.is-open .rd-disclaimer__cta-text--closed {
    display: none;
}

.rd-disclaimer.is-open .rd-disclaimer__cta-text--open {
    display: inline;
}

/* ==========================================================
   Mobile <1024 — no preview; copy appears below when open
   ========================================================== */
@media (max-width: 1023px) {
    .rd-disclaimer__copy {
        display: none;
        flex: 1 1 100%;
        order: 3;
        padding-top: 4px;
        padding-bottom: 8px;
        line-height: 1.6;
        overflow-wrap: anywhere;
    }

    .rd-disclaimer.is-open .rd-disclaimer__copy {
        display: block;
    }

    .rd-disclaimer.is-open .rd-disclaimer__more {
        display: inline;
    }

    .rd-disclaimer.is-open .rd-disclaimer__more[hidden] {
        display: inline;
    }
}

/* ==========================================================
   Tablet + Desktop >=1024 — inline continuation (same line/flow)
   ========================================================== */
@media (min-width: 1024px) {
    .rd-disclaimer__bar {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: baseline;
        column-gap: 16px;
        row-gap: 0;
        min-height: 56px;
        max-height: none;
        padding-block: 10px;
    }

    .rd-disclaimer__icon {
        font-size: 22px;
    }

    .rd-disclaimer__brand {
        align-self: center;
        padding-right: 16px;
        border-right: 1px solid var(--rd-border-subtle, #DDE2E6);
    }

    .rd-disclaimer__copy {
        grid-column: 2;
        line-height: 1.4;
    }

    .rd-disclaimer__cta {
        grid-column: 3;
        align-self: center;
        margin-left: 0;
    }

    /* Collapsed: clamp lead preview (tablet up to 2 lines) */
    .rd-disclaimer:not(.is-open) .rd-disclaimer__copy {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }

    /* Expanded: unwrap — lead + more continue as one paragraph */
    .rd-disclaimer.is-open .rd-disclaimer__copy {
        display: block;
        overflow: visible;
        -webkit-line-clamp: unset;
        -webkit-box-orient: unset;
        white-space: normal;
        line-height: 1.55;
    }

    .rd-disclaimer.is-open .rd-disclaimer__more {
        display: inline;
    }

    .rd-disclaimer.is-open .rd-disclaimer__more[hidden] {
        display: inline;
    }
}

/* ==========================================================
   Desktop >=1200 — single-line ellipsis when collapsed
   ========================================================== */
@media (min-width: 1200px) {
    .rd-disclaimer__bar {
        min-height: 52px;
        padding-block: 8px;
    }

    .rd-disclaimer:not(.is-open) .rd-disclaimer__bar {
        height: 54px;
        max-height: 56px;
        align-items: center;
        overflow: hidden;
    }

    .rd-disclaimer:not(.is-open) .rd-disclaimer__copy {
        display: block;
        -webkit-line-clamp: unset;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .rd-disclaimer.is-open .rd-disclaimer__bar {
        height: auto;
        max-height: none;
        align-items: baseline;
        overflow: visible;
        padding-block: 12px 16px;
    }
}
