.jzl-pricing-viewer-root .minus .value:before,
.jzl-pricing-viewer-root .minus .nested_value:before,
.jzl-pricing-viewer-root .value.minus:before,
.jzl-pricing-viewer-root .nested_value.minus:before {
    content: '-';
}

.jzl-pricing-viewer-root .disclaimer-root.disclaimer-touch {
    cursor: pointer;
}

.jzl-pricing-viewer-root .disclaimer-root .disclaimer-popup {
    display: none;
}

/*
 * Pricing-viewer disclaimer modal — scoped under the lightbox modifier so
 * other jzl-simple-lightbox callers keep the generic 70vh / dark-overlay look.
 * Layout mirrors Pricing Hub Pricing Preview (compact ~480px dialog).
 */
.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-simple-lightbox-overlay {
    background-color: rgba(33, 33, 33, 0.46);
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-simple-lightbox-wrap {
    width: calc(100vw - 32px);
    max-width: 480px;
    height: auto;
    max-height: 90vh;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-simple-lightbox-content {
    height: auto;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    padding: 0;
    border-radius: 4px;
    box-shadow:
        0 11px 15px -7px rgba(0, 0, 0, 0.2),
        0 24px 38px 3px rgba(0, 0, 0, 0.14),
        0 9px 46px 8px rgba(0, 0, 0, 0.12);
    overflow: hidden;
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-simple-lightbox-content-body {
    height: auto;
    max-height: 90vh;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-simple-lightbox-content-body > .disclaimer-popup {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 90vh;
    overflow: hidden;
    flex: 1 1 auto;
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-simple-lightbox-close {
    top: 12px;
    right: 12px;
    z-index: 2;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: rgba(0, 0, 0, 0.54);
    font-size: 18px;
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-simple-lightbox-close:hover {
    background-color: rgba(0, 0, 0, 0.04);
    color: rgba(0, 0, 0, 0.87);
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 90vh;
    overflow: hidden;
    background: #fff;
    color: rgba(0, 0, 0, 0.87);
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__title {
    flex: 0 0 auto;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    padding: 20px 48px 12px 24px;
    word-break: break-word;
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__body {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    padding: 0 24px 8px;
    overflow-x: hidden;
    overflow-y: auto;
    font-size: 0.875rem;
    line-height: 1.5;
    white-space: pre-line;
    word-break: break-word;
    color: rgba(0, 0, 0, 0.87);
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__advisory {
    flex: 0 0 auto;
    margin: 8px 24px 0;
    padding: 10px 0 0;
    font-size: 11px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.4;
    color: #5c5c5c;
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__advisory > div + div {
    margin-top: 0.25em;
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__footer {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 4px;
    padding: 8px 16px 12px;
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__close-btn {
    appearance: none;
    border: 0;
    background: transparent;
    color: #1976d2;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: none;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 4px;
    line-height: 1.25;
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__close-btn:hover {
    background-color: rgba(25, 118, 210, 0.08);
}

.jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__close-btn:focus-visible {
    outline: 2px solid rgba(25, 118, 210, 0.45);
    outline-offset: 2px;
}

@media (max-width: 600px) {
    .jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-simple-lightbox-wrap {
        width: calc(100vw - 24px);
    }

    .jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__title {
        padding: 16px 44px 10px 16px;
        font-size: 1.05rem;
    }

    .jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__body {
        padding: 0 16px 8px;
    }

    .jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__advisory {
        margin: 8px 16px 0;
    }

    .jzl-simple-lightbox-background.jzl-simple-lightbox--pricing-disclaimer .jzl-pricing-disclaimer-modal__footer {
        padding: 4px 8px 10px;
    }
}
