/* =====================================================
   MASJID360 REGISTRATION
===================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Segoe UI',sans-serif;
    background:
        linear-gradient(
            rgba(245,247,250,.92),
            rgba(245,247,250,.92)
        ),
        url('../assets/images/skill.png');

    background-size:cover;
    background-position:center;
    background-attachment:fixed;

    color:#222;
}

/* =====================================================
   MAIN WRAPPER
===================================================== */

.register-wrapper{
    display:flex;
    min-height:100vh;
}

/* =====================================================
   SIDEBAR
===================================================== */

.left-panel{

    width:320px;
    min-width:320px;

    background:
        linear-gradient(
            rgba(0,70,40,.90),
            rgba(0,40,25,.95)
        ),
        url('../assets/images/waqf_bg.png');

    background-size:cover;
    background-position:center;

    color:#fff;

    padding:20px;

    position:sticky;
    top:0;

    height:100vh;
    overflow-y:auto;
}

.branding{
    text-align:center;
    margin-bottom:25px;
}

.brand-logo{
    width:130px;
    margin-bottom:15px;
}

.branding h1{
    font-size:52px;
    font-weight:800;
    margin-bottom:15px;
}

.tagline{
    font-size:18px;
    line-height:1.8;
}

/* =====================================================
   FEATURES
===================================================== */

.feature-list{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.feature-item{

    display:flex;
    align-items:center;
    gap:15px;

    padding:12px;

    border-radius:14px;

    background:
    rgba(255,255,255,.08);

    border:
    1px solid rgba(255,255,255,.10);
}

.feature-item i{
    font-size:24px;
    color:#ffd166;
}

.feature-item h6{
    margin:0;
    font-size:17px;
    font-weight:700;
}

.feature-item span{
    font-size:13px;
    opacity:.9;
}

/* =====================================================
   PRIVACY BOX
===================================================== */

.privacy-box{

    margin-top:25px;

    padding:16px;

    border-radius:18px;

    background:
    rgba(255,255,255,.08);

    display:flex;
    gap:12px;
}

.privacy-box i{
    font-size:28px;
    color:#ffd166;
}

/* =====================================================
   RIGHT PANEL
===================================================== */

.right-panel{
    flex:1;
    padding:10px 25px;
}

/* =====================================================
   STEPPER
===================================================== */

.stepper-wrapper{

    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-bottom:15px;

    padding:10px 20px;

    background:#fff;

    border-radius:18px;

    box-shadow:
    0 3px 12px rgba(0,0,0,.05);
}

.step{
    text-align:center;
    flex:1;
    position:relative;
}

.step span{

    width:40px;
    height:40px;

    border-radius:50%;

    border:2px solid #d5dce4;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:auto auto 8px;

    background:#fff;

    font-weight:700;
}

.step.active span{
    background:#0f6a3f;
    color:#fff;
    border:none;
}

.step small{
    font-size:12px;
    font-weight:600;
}

/* =====================================================
   SECTION CARD
===================================================== */

.section-card{

    background:#fff;

    border-radius:14px;

    padding:18px;

    margin-bottom:12px;

    box-shadow:
    0 3px 12px rgba(0,0,0,.05);
}

.section-card h3{

    font-size:18px;

    font-weight:700;

    color:#0f6a3f;

    margin-bottom:18px;
}

.section-card h3 i{
    margin-right:10px;
}

/* =====================================================
   LABELS
===================================================== */

label{

    font-size:12px;

    font-weight:600;

    margin-bottom:5px;

    display:block;
}

/* =====================================================
   FORM CONTROLS
===================================================== */

.form-control,
.form-select{

    height:38px;

    border-radius:10px;

    border:1px solid #d8dee7;

    font-size:12px;
}

textarea.form-control{

    min-height:90px;

    height:auto;
}

/* =====================================================
   PASSWORD
===================================================== */

.password-wrapper{
    position:relative;
}

.toggle-password{

    position:absolute;

    right:15px;

    top:50%;

    transform:translateY(-50%);

    cursor:pointer;
}

/* =====================================================
   FREE MODULES
===================================================== */

.free-modules-grid{

    display:grid;

    grid-template-columns:
    repeat(2,1fr);

    gap:10px;
}

.free-module-item{

    background:#f4faf6;

    border:1px solid #d8eadc;

    border-radius:8px;

    padding:10px;

    font-size:13px;
}

/* =====================================================
   PREMIUM MODULES
===================================================== */

.premium-module-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:12px;

    margin-top:15px;
}

.premium-module-card{

    border:1px solid #e6c76b;

    border-radius:12px;

    padding:12px;

    display:flex;

    align-items:center;

    gap:12px;

    cursor:pointer;

    background:#fff;
}

.premium-module-card:hover{
    background:#fffdf6;
}

.module-icon{

    width:42px;
    height:42px;

    border-radius:10px;

    background:#fff8e1;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#b47b00;
}

.premium-module-card h5{
    font-size:15px;
    margin-bottom:3px;
}

.premium-module-card span{
    font-size:12px;
}

/* =====================================================
   SUMMARY BAR
===================================================== */

.subscription-summary{

    margin-top:15px;

    padding:12px 18px;

    background:#fff8e1;

    border:1px solid #f0d68f;

    border-radius:10px;

    display:flex;
    justify-content:space-between;

    font-size:14px;
}

/* =====================================================
   DECLARATION
===================================================== */

.declaration-label{

    display:flex;

    align-items:flex-start;

    gap:10px;

    font-size:13px;

    line-height:1.6;
}

/* =====================================================
   REGISTER BUTTON
===================================================== */

.register-action{
    text-align:center;
}

.register-btn{

    background:#0f6a3f;

    color:#fff;

    border:none;

    border-radius:10px;

    padding:12px 50px;

    font-size:16px;

    font-weight:700;
}

.register-btn:hover{
    background:#0c5633;
}

/* =====================================================
   LOGIN LINK
===================================================== */

.login-section{

    text-align:center;

    margin-top:15px;

    margin-bottom:20px;

    font-size:14px;
}

.login-section a{
    color:#0f6a3f;
    font-weight:700;
}

/* =====================================================
   MOBILE
===================================================== */

@media(max-width:991px){

    .register-wrapper{
        flex-direction:column;
    }

    .left-panel{
        width:100%;
        min-width:100%;
        height:auto;
        position:relative;
    }

    .premium-module-grid{
        grid-template-columns:1fr;
    }

    .free-modules-grid{
        grid-template-columns:1fr;
    }

}