/*==================================
 Registration Hero Section
==================================*/

.reg-page-hero{
    background:linear-gradient(135deg,#007a42 0%,#00994d 100%);
    padding:10px 0;
    position:relative;
    overflow:hidden;
    border-bottom:5px solid #F88421;
}

.reg-page-hero::before{
    content:"";
    position:absolute;
    top:-80px;
    right:-80px;
    width:220px;
    height:220px;
    background:rgba(255,255,255,.06);
    border-radius:50%;
}

.reg-page-hero::after{
    content:"";
    position:absolute;
    bottom:-60px;
    left:-60px;
    width:180px;
    height:180px;
    background:rgba(255,255,255,.05);
    border-radius:50%;
}

.reg-page-hero .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    position:relative;
    z-index:2;
}

/* Left Content */

.reg-page-hero-text{
    flex:1;
}

.reg-page-hero-text h1{
    color:#fff;
    font-size:24px;
    line-height:1.4;
    font-weight:700;
    margin:0 0 12px;
}

.reg-page-hero-text h1 i{
    color:#FFD54A;
    margin-right:8px;
}

.reg-page-hero-text p{
    color:rgba(255,255,255,.9);
    font-size:16px;
    line-height:1.8;
    margin:0;
}

/* Right Badge */

.reg-page-hero-badge{
    width:320px;
    background:#fff;
    border-radius:10px;
    padding:5px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.reg-page-hero-badge strong{
    display:block;
    margin-top:0px;
    font-size:30px;
    color:#F88421;
    font-weight:700;
}

.reg-page-hero-badge small{
    display:block;
    margin-top:0px;
    font-size:14px;
    color:#555;
    line-height:1.6;
}

/*==============================
Tablet
==============================*/

@media(max-width:992px){

.reg-page-hero .container{
    flex-direction:column;
    text-align:center;
}

.reg-page-hero-badge{
    width:100%;
    max-width:380px;
}

.reg-page-hero-text h1{
    font-size:28px;
}

}

/*==============================
Mobile
==============================*/

@media(max-width:768px){

.reg-page-hero{
    padding:30px 0;
}

.reg-page-hero-text h1{
    font-size:22px;
}

.reg-page-hero-text p{
    font-size:14px;
}

.reg-page-hero-badge{
    padding:18px;
}

.reg-page-hero-badge strong{
    font-size:28px;
}

.reg-page-hero-badge small{
    font-size:13px;
}

}

@media(max-width:480px){

.reg-page-hero{
    padding:25px 0;
}

.reg-page-hero-text h1{
    font-size:19px;
}

.reg-page-hero-text p{
    font-size:13px;
}

.reg-page-hero-badge{
    width:100%;
    padding:15px;
}

.reg-page-hero-badge strong{
    font-size:24px;
}

}

/*==============================
Registration Page
==============================*/

.reg-page-body{
    background:#f5f5f5;
    padding:40px 0 60px;
}

.reg-page-grid{
    display:grid;
    grid-template-columns:65% 35%;
    gap:30px;
    align-items:start;
}

/*==============================
Form
==============================*/

.reg-form-box{
    width:100%;
    background:#fff;
    border:1px solid #ddd;
    border-top:4px solid #007a42;
    border-radius:6px;
    overflow:hidden;
}

.reg-form-box-header{
    background:#007a42;
    color:#fff;
    padding:15px 20px;
    font-size:16px;
    font-weight:700;
}

.reg-form-box-body{
    padding:25px;
}

/*==============================
Steps
==============================*/

.reg-steps-box{
    width:100%;
    background:#fff;
    border:1px solid #ddd;
    border-top:4px solid #F88421;
    border-radius:6px;
    overflow:hidden;
}

.reg-steps-box-header{
    background:#F7F7F7;
    color:#007a42;
    padding:15px 20px;
    font-size:15px;
    font-weight:700;
    border-bottom:1px solid #eee;
}

.reg-steps-box-body{
    padding:20px;
}

.reg-step{
    display:flex;
    gap:12px;
    margin-bottom:18px;
}

.reg-step:last-child{
    margin-bottom:0;
}

.reg-step-num{
    width:28px;
    height:28px;
    background:#007a42;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:700;
    flex-shrink:0;
}

.reg-step-text{
    font-size:14px;
    line-height:1.6;
    color:#555;
}

.reg-disclaimer-box{
    margin:20px;
    background:#FFF8E7;
    border-left:4px solid #F88421;
    padding:15px;
    font-size:13px;
    line-height:1.7;
}

/*==============================
Section Title
==============================*/

.form-section-title{
    font-size:13px;
    font-weight:700;
    color:#007a42;
    text-transform:uppercase;
    border-bottom:2px solid #F88421;
    padding-bottom:8px;
    margin:20px 0 15px;
}

.form-section-title:first-child{
    margin-top:0;
}

/*==============================
Form Rows
==============================*/

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.form-group{
    margin-bottom:18px;
}

.form-group label{
    display:block;
    font-size:13px;
    font-weight:600;
    margin-bottom:6px;
    color:#333;
}

.form-group input,
.form-group select,
.form-group textarea{
    width:100%;
    padding:12px;
    border:1px solid #ccc;
    border-radius:5px;
    font-size:14px;
    transition:.3s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
    border-color:#007a42;
    outline:none;
    box-shadow:0 0 5px rgba(0,122,66,.2);
}

/*==============================
Mobile
==============================*/

@media(max-width:991px){

.reg-page-grid{
    display:flex;
    flex-direction:column;
}

.reg-form-box{
    order:1;
}

.reg-steps-box{
    order:2;
}

}

@media(max-width:768px){

.reg-form-box-body{
    padding:18px;
}

.form-row{
    grid-template-columns:1fr;
}

.reg-step{
    gap:10px;
}

.reg-page-body{
    padding:25px 0;
}

}

@media(max-width:576px){

.reg-form-box-header,
.reg-steps-box-header{
    font-size:14px;
    padding:14px;
}

.reg-form-box-body{
    padding:15px;
}

.reg-disclaimer-box{
    margin:15px;
}

}