/* ============================================================
   SERVICE TECH VAULT — MEMBERS / ENTER THE VAULT
   ============================================================ */

body.stv-members-vault-page{
    background:
        radial-gradient(
            circle at 50% 7%,
            rgba(255,94,16,.22),
            transparent 28%
        ),
        radial-gradient(
            circle at 13% 48%,
            rgba(149,35,7,.10),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #070504,
            #120a06 34%,
            #070605 100%
        ) !important;
}


/* ============================================================
   MEMBER HERO
   ============================================================ */

#stv-members-hero{
    width:min(
        calc(100% - 28px),
        980px
    );

    margin:
        55px auto
        30px;

    text-align:center;
}

#stv-members-hero .runes{
    color:#c64b17;

    font-family:Georgia,serif;

    font-size:17px;
    letter-spacing:.52em;
}

#stv-members-hero .kicker{
    display:inline-block;

    margin-top:15px;

    padding:
        7px 13px;

    border-radius:999px;

    border:
        1px solid rgba(255,114,26,.25);

    background:
        rgba(255,91,12,.055);

    color:#e8aa71;

    font-size:10px;
    font-weight:900;

    letter-spacing:.23em;

    text-transform:uppercase;
}

#stv-members-hero h1{
    margin:
        18px auto
        10px !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:
        clamp(43px,7vw,80px) !important;

    line-height:.95;

    letter-spacing:-.04em;

    background:
        linear-gradient(
            180deg,
            #fff9ef,
            #ffd09b 40%,
            #ff741e 72%,
            #aa2909
        ) !important;

    background-clip:text !important;
    -webkit-background-clip:text !important;

    color:transparent !important;
}

#stv-members-hero p{
    max-width:720px;

    margin:
        17px auto
        0 !important;

    color:#c1ad98 !important;

    font-size:
        clamp(15px,2vw,19px);

    line-height:1.7;
}

#stv-members-hero .guest-message{
    margin-top:18px;

    color:#ff9a3c;

    font-family:Georgia,serif;

    font-size:
        clamp(17px,2.5vw,22px);

    font-weight:700;
}


/* ============================================================
   VAULT DOOR
   ============================================================ */

#stv-vault-door{
    position:relative;

    width:128px;
    height:128px;

    margin:
        29px auto
        5px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            #24150d 0%,
            #110b07 57%,
            #050403 100%
        );

    border:
        3px solid #74250d;

    box-shadow:
        inset 0 0 32px rgba(255,101,18,.09),
        0 0 28px rgba(255,71,6,.10);
}

#stv-vault-door::before{
    content:"";

    position:absolute;

    inset:13px;

    border-radius:50%;

    border:
        1px solid rgba(255,119,26,.42);
}

#stv-vault-door .cross-h,
#stv-vault-door .cross-v{
    position:absolute;

    left:50%;
    top:50%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,112,25,.52),
            transparent
        );

    transform:
        translate(-50%,-50%);
}

#stv-vault-door .cross-h{
    width:77%;
    height:2px;
}

#stv-vault-door .cross-v{
    width:2px;
    height:77%;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(255,112,25,.52),
            transparent
        );
}

#stv-vault-door .rune{
    position:absolute;

    left:50%;
    top:50%;

    transform:
        translate(-50%,-50%);

    z-index:3;

    width:41px;
    height:41px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#1c0802;

    background:
        linear-gradient(
            180deg,
            #ffa23d,
            #e74a0d
        );

    font-family:Georgia,serif;
    font-size:22px;
    font-weight:900;

    box-shadow:
        0 0 18px rgba(255,78,8,.30);
}


/* ============================================================
   MEMBER SHELL
   ============================================================ */

#stv-member-shell{
    width:min(
        calc(100% - 28px),
        900px
    );

    margin:
        0 auto
        70px;

    padding:5px;

    border-radius:27px;

    background:
        linear-gradient(
            135deg,
            rgba(255,115,28,.62),
            rgba(113,27,7,.13) 48%,
            rgba(255,140,42,.53)
        );

    box-shadow:
        0 25px 85px rgba(0,0,0,.35),
        0 0 31px rgba(255,72,7,.06);
}

#stv-member-shell-inner{
    padding:
        30px;

    border-radius:23px;

    background:
        linear-gradient(
            145deg,
            rgba(25,15,10,.99),
            rgba(7,6,5,.99)
        );
}


/* ============================================================
   EXISTING MEMBER CONTENT
   ============================================================ */

body.stv-members-vault-page .stv-member-enhanced{
    margin:0 !important;

    max-width:none !important;

    color:#fff2df !important;
}

body.stv-members-vault-page .stv-member-enhanced h1,
body.stv-members-vault-page .stv-member-enhanced h2{
    color:#fff0dc !important;
}

body.stv-members-vault-page .stv-member-enhanced form{
    margin-top:18px !important;
}

body.stv-members-vault-page .stv-member-enhanced label{
    display:block;

    margin:
        13px 0
        6px;

    color:#c5ac92 !important;

    font-size:11px !important;
    font-weight:850;

    letter-spacing:.07em;
}

body.stv-members-vault-page .stv-member-enhanced input[type="email"],
body.stv-members-vault-page .stv-member-enhanced input[type="password"],
body.stv-members-vault-page .stv-member-enhanced input[type="text"]{
    width:100% !important;

    min-height:50px;

    padding:
        0 14px !important;

    border:
        1px solid rgba(255,111,25,.28) !important;

    border-radius:12px !important;

    background:
        rgba(4,4,3,.77) !important;

    color:#fff1df !important;

    font-size:14px !important;
}

body.stv-members-vault-page .stv-member-enhanced input:focus{
    border-color:
        rgba(255,137,42,.78) !important;

    box-shadow:
        0 0 0 3px rgba(255,93,12,.09) !important;
}


/* ============================================================
   PRIMARY ACTIONS
   ============================================================ */

body.stv-members-vault-page
.stv-member-enhanced button,
body.stv-members-vault-page
.stv-member-enhanced input[type="submit"],
body.stv-members-vault-page
.stv-member-enhanced .button,
body.stv-members-vault-page
.stv-member-enhanced .btn{
    min-height:48px;

    padding:
        0 20px !important;

    border-radius:12px !important;

    border:
        1px solid rgba(255,198,117,.63) !important;

    color:#1c0802 !important;

    background:
        linear-gradient(
            180deg,
            #ffa349,
            #ff6819 56%,
            #db400b
        ) !important;

    font-size:13px !important;
    font-weight:950 !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.33),
        0 9px 27px rgba(255,65,5,.19) !important;
}


/* ============================================================
   LINKS
   ============================================================ */

body.stv-members-vault-page
.stv-member-enhanced a{
    color:#ff9b42 !important;
}

body.stv-members-vault-page
.stv-member-enhanced a:hover{
    color:#ffc07b !important;
}


/* ============================================================
   MEMBER CHOICES
   ============================================================ */

#stv-member-options{
    width:min(
        calc(100% - 28px),
        900px
    );

    margin:
        27px auto
        70px;

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:14px;
}

.stv-member-option{
    padding:
        23px 18px;

    text-align:center;

    border:
        1px solid rgba(255,108,24,.23);

    border-radius:19px;

    background:
        linear-gradient(
            145deg,
            rgba(26,16,10,.96),
            rgba(8,7,6,.98)
        );

    box-shadow:
        0 14px 42px rgba(0,0,0,.22);
}

.stv-member-option .icon{
    font-size:27px;
}

.stv-member-option strong{
    display:block;

    margin-top:9px;

    color:#fff0dd;

    font-size:15px;
}

.stv-member-option span{
    display:block;

    margin-top:7px;

    color:#927e69;

    font-size:11px;

    line-height:1.55;
}


/* ============================================================
   GUEST ACCESS PANEL
   ============================================================ */

#stv-guest-access{
    width:min(
        calc(100% - 28px),
        760px
    );

    margin:
        -40px auto
        70px;

    padding:
        22px 24px;

    text-align:center;

    border:
        1px solid rgba(255,111,25,.20);

    border-radius:17px;

    background:
        rgba(255,91,13,.035);
}

#stv-guest-access .shield{
    display:block;

    margin-bottom:8px;

    color:#ff7820;

    font-family:Georgia,serif;

    font-size:22px;
}

#stv-guest-access strong{
    color:#ffd1a1;

    font-size:14px;
}

#stv-guest-access p{
    margin:
        7px 0
        0 !important;

    color:#927d69 !important;

    font-size:12px !important;

    line-height:1.6 !important;
}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:720px){

    #stv-member-shell-inner{
        padding:
            24px 16px;
    }

    #stv-member-options{
        grid-template-columns:1fr;
    }

    #stv-vault-door{
        width:103px;
        height:103px;
    }

}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media(prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{
        animation:none !important;
        transition:none !important;
    }

}


/* STV IRON TIME CARD MEMBER CARDS START */


/* =========================================================
   TECHNICIAN TIME CARD + PRIVATE VAULT
   Forged member-area treatment
   ========================================================= */

.stv-iron-time-card{
    position:relative;

    display:flex !important;
    align-items:center;

    gap:16px;

    min-height:122px;

    padding:
        18px 18px !important;

    overflow:hidden;

    border:
        1px solid rgba(255,118,31,.42) !important;

    border-radius:
        16px !important;

    background:
        radial-gradient(
            circle at 12% 20%,
            rgba(255,105,22,.12),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            rgba(35,22,15,.98),
            rgba(10,8,6,.99) 55%,
            rgba(22,13,9,.98)
        ) !important;

    box-shadow:
        inset 0 0 0 1px rgba(255,187,106,.035),
        inset 0 -15px 28px rgba(0,0,0,.30),
        0 8px 25px rgba(0,0,0,.24),
        0 0 18px rgba(255,75,7,.045);

    text-decoration:none !important;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}


.stv-iron-time-card::before{
    content:"";

    position:absolute;

    inset:5px;

    pointer-events:none;

    border:
        1px solid rgba(183,78,27,.18);

    border-radius:12px;
}


.stv-iron-time-card::after{
    content:"";

    position:absolute;

    left:18%;
    right:18%;
    top:0;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,141,54,.65),
            transparent
        );

    opacity:.55;
}


.stv-iron-time-card:hover{
    transform:
        translateY(-2px);

    border-color:
        rgba(255,137,48,.72) !important;

    box-shadow:
        inset 0 0 0 1px rgba(255,187,106,.05),
        inset 0 -15px 28px rgba(0,0,0,.32),
        0 12px 31px rgba(0,0,0,.30),
        0 0 24px rgba(255,75,7,.10);
}


.stv-iron-rune{
    position:relative;

    z-index:2;

    flex:
        0 0 64px;

    width:64px;
    height:64px;

    display:grid;

    place-items:center;

    border-radius:50%;

    border:
        2px solid #74250d;

    background:
        radial-gradient(
            circle,
            #2c180e 0%,
            #130b07 58%,
            #060403 100%
        );

    color:#ff7a24;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:31px;
    font-weight:900;

    text-shadow:
        0 0 8px rgba(255,91,17,.72),
        0 0 18px rgba(255,61,0,.26);

    box-shadow:
        inset 0 0 18px rgba(255,91,17,.10),
        0 0 15px rgba(255,71,6,.09);
}


.stv-iron-rune::before{
    content:"";

    position:absolute;

    inset:7px;

    border-radius:50%;

    border:
        1px solid rgba(255,127,36,.30);
}


.stv-iron-card-copy{
    position:relative;

    z-index:2;

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    min-width:0;

    text-align:left;
}


.stv-iron-card-copy strong{
    display:block;

    margin:0 0 6px;

    color:#ffd3a1 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(18px,2.5vw,22px);

    line-height:1.1;

    letter-spacing:.01em;
}


.stv-iron-card-copy span{
    display:block;

    color:#bba996 !important;

    font-size:13px;

    line-height:1.48;
}


.stv-iron-card-copy em{
    display:block;

    margin-top:9px;

    color:#ed7225;

    font-size:10px;

    font-style:normal;

    font-weight:900;

    letter-spacing:.16em;
}


/* =========================================================
   PRIVATE VAULT — slightly deeper iron
   ========================================================= */

.stv-private-vault-card{
    background:
        radial-gradient(
            circle at 12% 20%,
            rgba(255,79,8,.11),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            rgba(29,18,12,.99),
            rgba(6,5,4,.99) 58%,
            rgba(17,10,7,.99)
        ) !important;
}


.stv-private-vault-card .stv-vault-rune{
    border-color:#8b2c0c;

    box-shadow:
        inset 0 0 22px rgba(255,92,17,.12),
        0 0 19px rgba(255,66,4,.12);
}


/* =========================================================
   MOBILE — iPHONE
   ========================================================= */

@media(max-width:520px){

    .stv-iron-time-card{
        min-height:108px;

        gap:12px;

        padding:
            14px 13px !important;
    }


    .stv-iron-rune{
        flex-basis:54px;

        width:54px;
        height:54px;

        font-size:27px;
    }


    .stv-iron-card-copy strong{
        font-size:17px;
    }


    .stv-iron-card-copy span{
        font-size:12px;

        line-height:1.4;
    }


    .stv-iron-card-copy em{
        margin-top:7px;

        font-size:9px;

        letter-spacing:.12em;
    }

}


/* STV IRON TIME CARD MEMBER CARDS END */

