html.rvg-lock, body.rvg-lock { overflow: hidden !important; }

#rvg-overlay.rvg-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    min-height: 100vh !important;
    background: var(--rvg-overlay-gradient), var(--rvg-overlay-bg) !important;
    color: var(--rvg-primary) !important;
    font-family: var(--rvg-base-font) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 28px !important;
    box-sizing: border-box !important;
    backdrop-filter: blur(var(--rvg-overlay-blur)) !important;
    -webkit-backdrop-filter: blur(var(--rvg-overlay-blur)) !important;
}

#rvg-overlay, #rvg-overlay * {
    box-sizing: border-box !important;
}

#rvg-overlay .rvg-shell {
    width: var(--rvg-card-width) !important;
    text-align: center !important;
    position: relative !important;
    animation: rvgUp .45s ease both !important;
}

#rvg-overlay .rvg-logo-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: var(--rvg-logo-mb) !important;
}

#rvg-overlay .rvg-logo {
    width: var(--rvg-logo-width) !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

#rvg-overlay .rvg-logo-text {
    font-size: 42px !important;
    font-weight: 900 !important;
    letter-spacing: -2px !important;
    line-height: 1 !important;
}

#rvg-overlay .rvg-card {
    background: var(--rvg-card-bg) !important;
    border: 1px solid var(--rvg-card-border) !important;
    box-shadow: var(--rvg-card-shadow) !important;
    border-radius: var(--rvg-card-radius) !important;
    padding: var(--rvg-card-padding) !important;
    text-align: left !important;
}

#rvg-overlay.rvg-glass .rvg-card {
    background: color-mix(in srgb, var(--rvg-card-bg) 88%, transparent) !important;
    backdrop-filter: blur(var(--rvg-card-backdrop)) !important;
    -webkit-backdrop-filter: blur(var(--rvg-card-backdrop)) !important;
}

#rvg-overlay .rvg-card h2 {
    margin: var(--rvg-title-margin) !important;
    padding: 0 !important;
    font-family: var(--rvg-title-font) !important;
    font-size: var(--rvg-title-size) !important;
    line-height: var(--rvg-title-lh) !important;
    font-weight: var(--rvg-title-weight) !important;
    letter-spacing: var(--rvg-title-ls) !important;
    text-transform: var(--rvg-title-transform) !important;
    color: var(--rvg-title-color) !important;
    text-align: var(--rvg-title-align) !important;
}

#rvg-overlay .rvg-desc {
    font-family: var(--rvg-desc-font) !important;
    color: var(--rvg-desc-color) !important;
    font-size: var(--rvg-desc-size) !important;
    line-height: var(--rvg-desc-lh) !important;
    font-weight: var(--rvg-desc-weight) !important;
    letter-spacing: var(--rvg-desc-ls) !important;
    text-transform: var(--rvg-desc-transform) !important;
    margin: var(--rvg-desc-margin) !important;
    text-align: var(--rvg-desc-align) !important;
}

#rvg-overlay .rvg-desc p, #rvg-overlay .rvg-foot p {
    margin: 0 !important;
    padding: 0 !important;
}

#rvg-overlay .rvg-check {
    display: flex !important;
    gap: var(--rvg-check-gap) !important;
    align-items: center !important;
    width: 100% !important;
    border: 1px solid var(--rvg-check-border) !important;
    border-radius: var(--rvg-check-radius) !important;
    padding: var(--rvg-check-padding) !important;
    margin: var(--rvg-check-margin) !important;
    background: var(--rvg-check-bg) !important;
    font-size: var(--rvg-check-fsize) !important;
    line-height: 1.45 !important;
    color: var(--rvg-primary) !important;
    cursor: pointer !important;
    transition: .2s ease !important;
}

#rvg-overlay .rvg-check:hover {
    filter: brightness(0.97) !important;
    transform: translateY(-1px) !important;
}

#rvg-overlay .rvg-check input {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}

#rvg-overlay .rvg-check i {
    width: var(--rvg-check-box-size) !important;
    height: var(--rvg-check-box-size) !important;
    min-width: var(--rvg-check-box-size) !important;
    border-radius: calc(var(--rvg-check-box-size) * 0.25) !important;
    border: 2px solid var(--rvg-check-border) !important;
    background: rgba(255,255,255,.72) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-style: normal !important;
    transition: .18s ease !important;
}

#rvg-overlay .rvg-check input:checked + i {
    background: var(--rvg-check-active) !important;
    border-color: var(--rvg-check-active) !important;
}

#rvg-overlay .rvg-check input:checked + i:before {
    content: "" !important;
    width: calc(var(--rvg-check-box-size) * 0.5) !important;
    height: calc(var(--rvg-check-box-size) * 0.28) !important;
    border-left: calc(var(--rvg-check-box-size) * 0.1) solid #fff !important;
    border-bottom: calc(var(--rvg-check-box-size) * 0.1) solid #fff !important;
    transform: rotate(-45deg) translate(1px, -1px) !important;
    display: block !important;
}

#rvg-overlay .rvg-check span {
    display: block !important;
    min-width: 0 !important;
    font-family: var(--rvg-check-font) !important;
    font-weight: var(--rvg-check-weight) !important;
    letter-spacing: var(--rvg-check-ls) !important;
    text-transform: var(--rvg-check-transform) !important;
}

#rvg-overlay .rvg-enter {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    width: var(--rvg-btn-width) !important;
    margin: var(--rvg-btn-margin) !important;
    border: var(--rvg-btn-border) !important;
    border-radius: var(--rvg-btn-radius) !important;
    height: var(--rvg-btn-height) !important;
    padding: var(--rvg-btn-padding) !important;
    background: var(--rvg-btn-bg) !important;
    color: var(--rvg-btn-color) !important;
    font-family: var(--rvg-btn-font) !important;
    font-size: var(--rvg-btn-size) !important;
    font-weight: var(--rvg-btn-weight) !important;
    letter-spacing: var(--rvg-btn-ls) !important;
    text-transform: var(--rvg-btn-transform) !important;
    cursor: pointer !important;
    transition: .22s ease !important;
    box-shadow: var(--rvg-btn-shadow) !important;
    text-align: center !important;
}

#rvg-overlay .rvg-enter:not(:disabled):hover {
    background: var(--rvg-btn-hover-bg) !important;
    color: var(--rvg-btn-hover-color) !important;
    transform: translateY(-2px) !important;
}

#rvg-overlay .rvg-enter:disabled {
    opacity: .6 !important;
    cursor: not-allowed !important;
}

#rvg-overlay .rvg-foot {
    font-family: var(--rvg-footer-font) !important;
    font-size: var(--rvg-footer-size) !important;
    line-height: var(--rvg-footer-lh) !important;
    font-weight: var(--rvg-footer-weight) !important;
    letter-spacing: var(--rvg-footer-ls) !important;
    text-transform: var(--rvg-footer-transform) !important;
    color: var(--rvg-footer-color) !important;
    text-align: var(--rvg-footer-align) !important;
}

#rvg-overlay .rvg-exit {
    display: block !important;
    margin-top: var(--rvg-exit-mt) !important;
    color: var(--rvg-exit-color) !important;
    font-family: var(--rvg-exit-font) !important;
    font-size: var(--rvg-exit-size) !important;
    font-weight: var(--rvg-exit-weight) !important;
    letter-spacing: var(--rvg-exit-ls) !important;
    text-transform: var(--rvg-exit-transform) !important;
    text-align: var(--rvg-exit-align) !important;
    text-decoration: none !important;
    opacity: .78 !important;
}

#rvg-overlay .rvg-exit:hover {
    text-decoration: underline !important;
    opacity: 1 !important;
}

#rvg-overlay .rvg-floating {
    position: absolute !important;
    z-index: 1 !important;
    object-fit: contain !important;
    filter: drop-shadow(0 16px 20px rgba(0,0,0,.15)) !important;
    pointer-events: none !important;
}

#rvg-overlay .rvg-left {
    left: calc(50% - 560px) !important;
    top: calc(50% - 360px) !important;
    width: min(170px, 18vw) !important;
}

#rvg-overlay .rvg-right {
    right: calc(50% - 555px) !important;
    top: calc(50% - 330px) !important;
    width: min(92px, 10vw) !important;
    transform: rotate(-18deg) !important;
}

@keyframes rvgUp {
    from { opacity: 0; transform: translateY(18px) scale(.985); }
    to { opacity: 1; transform: none; }
}

@media (max-width: 991px) {
    #rvg-overlay.rvg-overlay {
        padding: 24px !important;
        align-items: flex-start !important;
        overflow: auto !important;
    }
    #rvg-overlay .rvg-shell {
        margin: 40px auto !important;
    }
}

@media (max-width: 767px) {
    #rvg-overlay.rvg-overlay {
        padding: 16px !important;
    }
    #rvg-overlay .rvg-shell {
        margin: 20px auto !important;
    }
    #rvg-overlay .rvg-floating {
        opacity: .18 !important;
    }
    #rvg-overlay .rvg-left {
        left: -34px !important;
        top: 50px !important;
        width: 120px !important;
    }
    #rvg-overlay .rvg-right {
        right: -18px !important;
        top: 40px !important;
        width: 66px !important;
    }
}
