/* ==========================================================
   SNMB Conference Registration
   style.css
========================================================== */

.snmb-registration{
    max-width:900px;
    margin:40px auto;
    background:#fff;
    padding:35px;
    border:1px solid #ddd;
    border-radius:8px;
    box-sizing:border-box;
}

.snmb-registration h2{
    margin:0 0 25px;
    text-align:center;
    font-size:32px;
    color:#0b5cad;
}

.snmb-registration h3{
    margin:35px 0 15px;
    padding-bottom:8px;
    border-bottom:2px solid #0b5cad;
    color:#0b5cad;
}

.snmb-registration h4{
    margin:20px 0 15px;
    color:#333;
}

.snmb-registration label{
    display:block;
    margin:15px 0 6px;
    font-weight:600;
}

.snmb-registration input[type=text],
.snmb-registration input[type=email],
.snmb-registration input[type=tel],
.snmb-registration input[type=date],
.snmb-registration select,
.snmb-registration textarea{

    width:100%;
    padding:12px;
    border:1px solid #ccc;
    border-radius:4px;
    box-sizing:border-box;
    font-size:15px;
}

.snmb-registration textarea{
    resize:vertical;
    min-height:100px;
}

.snmb-registration input:focus,
.snmb-registration select:focus,
.snmb-registration textarea:focus{

    outline:none;
    border-color:#0b5cad;
    box-shadow:0 0 5px rgba(11,92,173,.25);
}

.snmb-person{

    margin-top:20px;
    padding:20px;
    background:#fafafa;
    border:1px solid #ddd;
    border-radius:6px;
}

.snmb-person hr{
    display:none;
}

#snmb-add-person{

    background:#0b5cad;
    color:#fff;
    border:none;
    padding:10px 18px;
    border-radius:4px;
    cursor:pointer;
    font-size:15px;
}

#snmb-add-person:hover{

    background:#084b8f;
}

.remove-person{

    margin-top:15px;
    background:#dc3545;
    color:#fff;
    border:none;
    padding:10px 16px;
    border-radius:4px;
    cursor:pointer;
}

.remove-person:hover{

    background:#b02a37;
}

.snmb-fee-table{

    width:100%;
    border-collapse:collapse;
    margin-top:20px;
}

.snmb-fee-table th,
.snmb-fee-table td{

    border:1px solid #ddd;
    padding:14px;
    text-align:left;
}

.snmb-fee-table th{

    width:35%;
    background:#f4f4f4;
}

#total-fee{

    font-size:30px;
    color:#198754;
    font-weight:bold;
}

.snmb-button{

    width:100%;
    padding:16px;
    margin-top:25px;
    font-size:18px;
    background:#198754;
    color:#fff;
    border:none;
    border-radius:5px;
    cursor:pointer;
    transition:.2s;
}

.snmb-button:hover{

    background:#157347;
}

.snmb-button:disabled{

    opacity:.6;
    cursor:not-allowed;
}

/* ==========================================================
   Messages
========================================================== */

#snmb-message{

    display:none;
    padding:15px 18px;
    margin-bottom:25px;
    border-radius:5px;
    font-size:15px;
    line-height:1.6;
}

.snmb-success{

    background:#d1e7dd;
    border:1px solid #badbcc;
    color:#0f5132;
}

.snmb-error{

    background:#f8d7da;
    border:1px solid #f5c2c7;
    color:#842029;
}

/* ==========================================================
   Responsive
========================================================== */

@media(max-width:768px){

    .snmb-registration{

        padding:20px;
        margin:20px 10px;
    }

    .snmb-registration h2{

        font-size:26px;
    }

    .snmb-registration h3{

        font-size:20px;
    }

    #total-fee{

        font-size:24px;
    }

    .snmb-button{

        font-size:16px;
    }
}