/* Shared fixed-card scrolling shell for Contact, policies and future fillers. */
#card_overlay[data-card-scroll] {
    text-align:left;
    overscroll-behavior:none;
}

:root:has(#card_overlay[data-card-scroll]),
body:has(#card_overlay[data-card-scroll]) {
    overflow:hidden;
}

#card_overlay[data-card-scroll] .card-scroll-filler {
    position:absolute;
    inset:60px -10px 0 0;
    z-index:1;
    display:block;
    min-width:0;
    min-height:0;
    overflow:hidden;
}

#card_overlay:not([data-card-scroll]) .card-scroll-filler,
#card_overlay .card-scroll-filler[hidden] {
    display:none !important;
}

#card_overlay[data-card-scroll] .border-scroll-region {
    position:absolute;
    inset:0;
    box-sizing:border-box;
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-gutter:stable;
    padding:16px var(--card-infill-inline) 24px;
    color:var(--contact-ink, currentColor);
    text-align:left;
    overflow-wrap:anywhere;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}

#card_overlay[data-card-scroll] .border-scroll-region:focus-visible {
    outline:none;
}

@supports not (scrollbar-gutter:stable) {
    #card_overlay[data-card-scroll] .border-scroll-region {
        overflow-y:scroll;
    }
}

#card_overlay .policy-static-close {
    pointer-events:auto;
}

#card_overlay[data-card-scroll][data-view="policy"] #card_contact,
#card_overlay[data-card-scroll][data-view="schedule"] .card-scroll-filler {
    display:none;
}

#card_overlay[data-card-scroll][data-view="contact"] #card_policy {
    display:none;
}

/* Contact's original logo and first content baselines live within its scroller. */
#card_overlay[data-card-scroll] #card_contact .card-contact-scroll-region {
    padding:16px 0 24px;
    text-align:center;
    overflow-wrap:normal;
}

#card_overlay[data-card-scroll] #card_contact .card_logo_container {
    margin-top:-36px;
}

#card_overlay[data-card-scroll] #card_contact #card_content {
    position:relative;
    top:auto;
    margin:-20px 40px 0;
}

#card_overlay[data-card-scroll][data-layout="columns"] #card_contact #card_content {
    margin-top:0;
    margin-left:28px;
    margin-right:28px;
}

@media screen and (max-width:699px) {
    #card_overlay[data-card-scroll] #card_contact #card_content {
        margin-top:30px;
    }
}

@media screen and (min-width:620px) and (max-width:699px) {
    #card_overlay[data-card-scroll][data-layout="columns"] #card_contact .card_logo_container {
        margin-top:-44px;
    }
    #card_overlay[data-card-scroll][data-layout="columns"] #card_contact #card_content {
        margin-top:0;
    }
}

@media screen and (min-width:620px) and (max-height:600px) {
    #card_overlay[data-card-scroll][data-layout="columns"] #card_contact .card_logo_container {
        /* Keep the glyph itself below the shared close-control viewport. */
        margin-top:-32px;
    }
    #card_overlay[data-card-scroll][data-layout="columns"] #card_contact #card_content {
        margin-top:0;
    }
}

/* Reveal the Contact reference off-paint to fit every shared card filler. */
#card_overlay[data-card-measuring] #card_content {
    display: block !important;
}

#card_overlay[data-card-measuring] #card_policy {
    visibility:hidden !important;
}

#card_overlay[data-card-measuring] #card_contact {
    display:block !important;
    visibility:hidden !important;
    overflow:visible !important;
}

#card_overlay[data-card-measuring] .card-contact-scroll-region {
    position:relative !important;
    inset:auto !important;
    height:auto !important;
    overflow:visible !important;
}

#card_overlay[data-card-measuring] .card-scroll-filler {
    overflow:visible !important;
}
