/* Login button - top right */
#rbvg-login-btn{
    position:fixed;
    top:20px; right:28px;
    z-index:99999;
    background:rgba(12,12,10,0.72);
    color:#f5f1ea;
    border:1px solid rgba(245,241,234,0.35);
    font-family:'Jost',sans-serif;
    font-size:10px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    font-weight:300;
    padding:10px 20px;
    cursor:pointer;
    backdrop-filter:blur(8px);
    transition:background .25s,border-color .25s;
}
#rbvg-login-btn:hover{
    background:rgba(12,12,10,0.92);
    border-color:#f5f1ea;
}

/* Modal */
.rbvg-modal{
    position:fixed; inset:0;
    background:rgba(4,4,2,0.72);
    backdrop-filter:blur(4px);
    display:flex; align-items:center; justify-content:center;
    z-index:100000;
    opacity:0; pointer-events:none;
    transition:opacity .3s ease;
}
.rbvg-modal.open{opacity:1; pointer-events:auto;}

.rbvg-modal-inner{
    position:relative;
    background:#f5f1e8;
    padding:44px 38px 34px;
    width:90%;
    max-width:400px;
    text-align:center;
    box-shadow:0 30px 80px rgba(0,0,0,0.5);
    transform:translateY(10px);
    transition:transform .3s ease;
}
.rbvg-modal.open .rbvg-modal-inner{transform:translateY(0);}

.rbvg-modal-inner h3{
    font-family:'Cormorant Garamond',serif;
    font-weight:400;
    font-size:26px;
    color:#2c2c26;
    margin-bottom:22px;
    letter-spacing:0.02em;
}

#rbvg-password{
    width:100%;
    padding:12px 16px;
    border:1px solid #cfc8ba;
    background:#fff;
    font-family:'Jost',sans-serif;
    font-size:14px;
    letter-spacing:0.08em;
    color:#2c2c26;
    outline:none;
    margin-bottom:14px;
    transition:border-color .2s;
}
#rbvg-password:focus{border-color:#2c4a2c;}

#rbvg-submit{
    width:100%;
    padding:12px 20px;
    background:#2c4a2c;
    color:#fff;
    border:none;
    font-family:'Jost',sans-serif;
    font-size:10px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    font-weight:400;
    cursor:pointer;
    transition:background .25s;
}
#rbvg-submit:hover{background:#1f3a1f;}
#rbvg-submit:disabled{opacity:0.6; cursor:not-allowed;}

.rbvg-error{
    color:#a33;
    font-size:12px;
    margin-top:12px;
    min-height:16px;
    font-family:'Jost',sans-serif;
    letter-spacing:0.04em;
}

.rbvg-close{
    position:absolute;
    top:0; right:0;
    width:44px; height:44px;
    background:#2c4a2c;
    color:#fff;
    border:none;
    cursor:pointer;
    font-size:15px;
    display:flex; align-items:center; justify-content:center;
    z-index:2;
}
.rbvg-close:hover{background:#1f3a1f;}

/* Video overlay */
.rbvg-video-overlay{
    position:fixed; inset:0;
    background:#000;
    z-index:100001;
    display:flex; align-items:center; justify-content:center;
    opacity:0; pointer-events:none;
    transition:opacity .35s ease;
}
.rbvg-video-overlay.open{opacity:1; pointer-events:auto;}

.rbvg-video-close{
    top:20px !important; right:24px !important;
    width:48px !important; height:48px !important;
    position:absolute;
}

#rbvg-video-container{
    width:100%;
    height:100%;
    display:flex; align-items:center; justify-content:center;
}
#rbvg-video-container video,
#rbvg-video-container iframe{
    width:100%;
    height:100%;
    max-width:100vw;
    max-height:100vh;
    border:none;
    display:block;
}
#rbvg-video-container video{
    object-fit:contain;
    background:#000;
}


/* Access button wrap (Login / View) */
#rbvg-access-wrap{
    position:fixed;
    top:20px; right:28px;
    z-index:99999;
    display:flex;
    gap:8px;
    align-items:center;
}

#rbvg-access-btn{
    background:rgba(12,12,10,0.72);
    color:#f5f1ea;
    border:1px solid rgba(245,241,234,0.35);
    font-family:'Jost',sans-serif;
    font-size:10px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    font-weight:300;
    padding:10px 20px;
    cursor:pointer;
    backdrop-filter:blur(8px);
    transition:background .25s,border-color .25s;
}
#rbvg-access-btn:hover{
    background:rgba(12,12,10,0.92);
    border-color:#f5f1ea;
}
#rbvg-access-wrap[data-state="view"] #rbvg-access-btn{
    background:rgba(44,74,44,0.85);
    border-color:rgba(245,241,234,0.5);
}
#rbvg-access-wrap[data-state="view"] #rbvg-access-btn:hover{
    background:rgba(31,58,31,0.95);
}

#rbvg-logout-btn{
    background:rgba(12,12,10,0.55);
    color:rgba(245,241,234,0.75);
    border:1px solid rgba(245,241,234,0.25);
    font-family:'Jost',sans-serif;
    font-size:9px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:300;
    padding:8px 12px;
    cursor:pointer;
    backdrop-filter:blur(8px);
    transition:all .25s;
}
#rbvg-logout-btn:hover{
    background:rgba(163,51,51,0.85);
    color:#fff;
    border-color:rgba(163,51,51,0.85);
}

@media (max-width:600px){
    #rbvg-access-wrap{top:14px; right:14px;}
    #rbvg-access-btn{padding:8px 14px; font-size:9px;}
    #rbvg-logout-btn{padding:6px 9px; font-size:8px;}
}

/* Mobile */
@media (max-width:600px){
    #rbvg-login-btn{top:14px; right:14px; padding:8px 14px; font-size:9px;}
    .rbvg-modal-inner{padding:36px 22px 26px;}
    .rbvg-modal-inner h3{font-size:20px; margin-bottom:16px;}
    .rbvg-video-close{top:12px !important; right:14px !important; width:40px !important; height:40px !important;}
}