/* SRWD Protection – Front-end styles */

.srwd-pw-sentinel{display:none !important;}

.srwd-pw-locked {
    border: 2px dashed #ccc;
    padding: 30px;
    border-radius: 0.5rem;
    margin: 30px 0;
    text-align: center;
}

.srwd-pw-locked i{
    font-size: 3rem;
    margin-bottom: 20px;
}

.srwd-pw-note {
    text-align: center;
    margin-bottom: 12px;
}

.srwd-pw-note h3 {

}

.srwd-pw-sub p {
    margin: 0.25em 0 0;
}

.srwd-pw-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.srwd-pw-actions .button,
.srwd-pw-actions .button-primary {
    text-decoration: none;
    padding: .5em 1em;
}

.srwd-pw-actions .btn-purchase,
.srwd-pw-actions .btn-view-cart{
    margin-top: 20px;
}

.srwd-pw-actions .srwd-pw-hint{
    margin: 30px 0 10px 0;
}

.srwd-pw-teaser {
    margin: 0 0 12px;
    opacity: .95;
}

.srwd-help-btn{
    margin-top:20px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    line-height:1;
}
.srwd-help-btn i{
    font-size: 1rem;
    margin: 0;
}

.srwd-instructions-panel{
    display: block;
    text-align: initial;
    margin-top:10px;
    padding:12px;
    border:1px solid #ccc;
    border-radius:0.5rem;
}

/* Ensure teaser placeholder takes no space when empty/hidden */
.srwd-pw-teaser.srwd-pw-empty[hidden] {
    display: none !important;
}

/* Optional: small admin-only badge (when bypassing) */
.srwd-pw-bypass {
    border: 1px dashed #e0bb88;
    padding: .5em;
    margin: 1em 0;
    opacity: .75;
    font-size: .9em;
}


.srwd-pw-teaser .wp-video{
    margin: auto;
    width: 500px !important;
    max-width: 100%;
}


/* content lock */
.srwd-site-lock-fragment{
    width: 600px;
    max-width: 100%;
    margin:100px auto;
}
.srwd-site-lock-card{
    padding: 15px;
}
.srwd-site-lock-card .msg{
    text-align: center;
}
.srwd-site-lock-form{
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
}
.srwd-site-lock-form .field{
    margin: 16px 0;
    display: flex;
    width: 100%;
    max-width: 250px;
}

.srwd-membership-levels-heading{
    font-weight: bold;
}
.srwd-membership-levels-list{
    list-style: none;
    padding: 0;
    display: flex;
    gap: 20px;
}
.srwd-membership-levels-list li{
    position: relative;
}
.srwd-membership-levels-list li:after{
    content:'|';
    position: relative;
    right: -10px;
}
.srwd-membership-levels-list li:last-of-type:after{
    content: '';
}



/* Membership Levels Shortcode */
.srwd-memberships-list{
    
}
.srwd-memberships-list .srwd-membership-card {
    border:1px solid #e2e8f0;
    border-radius:10px;
    padding:15px;
    margin:0 auto 15px auto;
    text-align: center;
    width: 600px;
    max-width: 100%;

}
.srwd-memberships-grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    gap:15px;
}
.srwd-memberships-grid .srwd-membership-card {
    width:calc((100% / 3) - 10px);
    max-width: 100%;
    border:1px solid #e2e8f0;
    border-radius:10px;
    padding:15px;
    text-align: center;
}

@media (max-width: 1000px) {
    .srwd-memberships-grid .srwd-membership-card {
        width:calc((100% / 2) - 10px);
    }
}

@media (max-width: 700px) {
    .srwd-memberships-grid .srwd-membership-card {
        width:100%;
    }
}

.srwd-membership-title {
    
}
.srwd-membership-price {
    
}
.srwd-membership-btn {
    margin-top: 10px;
}
.srwd-membership-btn:hover {
    
}
.srwd-membership-in-cart {

}



/* WooCommerce Fixes */
#srwd-membership-products-table .form-table th{
    padding: 20px 10px 20px 10px;
}




/* Modal Login */
#srwd-login-modal{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    z-index:99999;
}
.srwd-login-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.5);
}
.srwd-login-dialog{
    position:relative;
    background:var(--site-bg-image-overlay-colour, var(--site-bg-colour));
    color:var(--main-content-font-colour, var(--site-font-colour));
    border-radius:10px;
    max-width:420px;
    width:100%;
    margin:15px;
    padding:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.srwd-login-dialog-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.srwd-login-dialog-header h2{
    margin:0;
}
.srwd-login-dialog-header button{
    margin:0;
}
#srwd-login-err{
    display:none;
    margin-top:10px;
    padding:8px;
    border-radius:6px;
    background:#7f1d1d;
    color:#fecaca;
    border:1px solid #dc2626;
}
#srwd-login-form{
    margin-top:12px;
}
#srwd-login-form label{
    display:block;
    margin:.5rem 0 .25rem;
}
#srwd-login-form input{
    padding:10px;
}
.srwd-login-buttons-wrapper{
    display:flex;
    gap:.5rem;
    justify-content:flex-end;
    margin-top:1rem;
}

/* Modal Join */
#srwd-join-modal{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    z-index:99999;
}
.srwd-join-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.5);
}
.srwd-join-dialog{
    position:relative;
    background:var(--site-bg-image-overlay-colour, var(--site-bg-colour));color:var(--main-content-font-colour, var(--site-font-colour));
    border-radius:10px;
    max-width:520px;
    width:100%;
    margin:15px;
    padding:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.srwd-join-dialog-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.srwd-join-dialog-header h2{
    margin:0;
}
.srwd-join-dialog-header button{
    margin:0;
}
.srwd-join-intro{
    margin-top:10px;
}
#srwd-join-err{
    display:none;
    margin-top:10px;
    padding:8px;
    border-radius:6px;
    background:#7f1d1d;
    color:#fecaca;
    border:1px solid #dc2626;
}
#srwd-join-ok{
    display:none;
    margin-top:10px;
    padding:8px;
    border-radius:6px;
    background:#064e3b;
    color:#d1fae5;
    border:1px solid #065f46;
}
#srwd-join-form{
    margin-top:12px;
}
.srwd-join-buttons-wrapper{
    display:flex;
    gap:.5rem;
    justify-content:flex-end;
    margin-top:1rem;
}

#srwd-join-form input{
    padding:10px;
}







