/* Inline offer terms and complete, untruncated disclosures. */
#main .oc-compact-cta .oc-cta-offer .oc-terms-hover {
    position: relative !important; z-index: 4; display: inline-block;
    width: auto; margin-left: 6px; vertical-align: baseline;
    font: 500 12px/1.5 var(--oc-body-font, sans-serif); letter-spacing: 0;
    color: #356c55; text-decoration: underline; text-underline-offset: 3px;
    text-decoration-thickness: 1px; cursor: pointer;
}
#main .oc-compact-cta .oc-terms-hover > button,
#main #top-picks .oc-terms-hover > button {
    all: unset; display: inline; font: inherit; color: inherit; cursor: pointer;
    text-decoration: underline; text-underline-offset: 3px;
}
#main #top-picks .oc-terms-hover > button { font-size: 12px; font-weight: 500; color: #fff; }
#main :is(.oc-compact-cta,#top-picks) .oc-terms-hover > button:focus-visible {
    outline: 2px solid #8572ba; outline-offset: 4px; border-radius: 2px;
}
#main .oc-compact-cta .oc-terms-hover small,
body.home #top-picks.oc-top-picks--compact .oc-terms-hover small {
    box-sizing: border-box; max-height: none !important; height: auto !important;
    overflow: visible !important; white-space: normal; overflow-wrap: anywhere;
    font-size: 13px; font-weight: 400; line-height: 1.6; text-align: left;
}
/* The top layer avoids clipping by the card, container or sticky header. */
.oc-card-terms-panel[popover],
#main :is(#top-picks, .oc-compact-cta) .oc-terms-hover small.oc-card-terms-panel[popover] {
    position: fixed !important; inset: auto !important; margin: 0 !important;
    left: var(--terms-left) !important; top: var(--terms-top) !important;
    width: var(--terms-width) !important; min-width: 0 !important;
    max-width: calc(100vw - 24px) !important; max-height: none !important;
    height: auto !important; overflow: visible !important; box-sizing: border-box !important;
    transform: none !important; opacity: 1 !important; pointer-events: auto !important;
    padding: 15px 17px !important; border: 1px solid #dbe1ed !important;
    border-radius: 8px !important; background: #fff !important; color: #344054 !important;
    font: 400 13px/1.6 var(--oc-body-font, sans-serif) !important;
    text-align: left !important; white-space: normal !important; overflow-wrap: anywhere !important;
    box-shadow: 0 12px 32px #18214324 !important;
}
.oc-card-terms-panel[popover]:not(:popover-open) { display: none !important; }
.oc-card-terms-panel[popover]::backdrop { background: transparent; pointer-events: none; }
/* Progressive fallback if the Popover API is unavailable. */
body.home #top-picks.oc-top-picks--compact .oc-terms-hover small:not([popover]) {
    width: calc(100% - 24px); left: 12px; bottom: 12px; transform: none;
}
#main .oc-compact-cta .oc-terms-hover small:not([popover]) { width: min(460px, calc(100vw - 40px)); }
@media (pointer: coarse) {
    #main .oc-compact-cta .oc-terms-hover > button { padding-block: 8px; }
}
