.registration-section{
    padding:80px 0;
}

.registration-header{
    text-align:center;
    margin-bottom:40px;
}

.registration-header h2{
    color:#0D3311;
    font-weight:700;
    margin-bottom:20px;
}

.active-period{
    display:inline-block;
    background:#fff;
    padding:20px 35px;
    border-radius:15px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.badge-active{
    display:inline-block;
    background:#0D3311;
    color:#fff;
    padding:8px 18px;
    border-radius:50px;
    font-size:12px;
    font-weight:600;
    margin-bottom:10px;
}

.registration-table-wrapper{
    overflow-x:auto;
}

.registration-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.registration-table th{
    padding:25px;
    text-align:center;
    color:#fff;
}

.registration-table th span{
    display:block;
    font-size:14px;
    margin-top:8px;
    font-weight:400;
}

.registration-table th:first-child{
    background:#08240b;
}

.active-col{
    background:linear-gradient(135deg,#0D3311,#23813b);
}

.disabled-col{
    background:#d8d8d8;
    color:#555 !important;
}

.registration-table td{
    padding:20px;
    border-bottom:1px solid #ececec;
    text-align:center;
}

.registration-table tbody tr:hover{
    background:#f8fdf9;
}

.registration-table tbody tr.selected{
    background:#eef9f0;
    border-left:5px solid #0D3311;
}

.active-price{
    font-size:22px;
    font-weight:700;
    color:#0D3311;
}

.disabled-price{
    opacity:.4;
    color:#777;
}

.selected-package{
    margin-top:40px;
    text-align:center;
}

.selection-box{
    max-width:500px;
    margin:auto;
    background:#fff;
    border-radius:15px;
    padding:25px;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.selection-box p{
    margin-bottom:12px;
}

.register-now-btn{
    margin-top:25px;
    background:#0D3311;
    color:#fff;
    border:none;
    padding:15px 40px;
    border-radius:50px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.register-now-btn:hover{
    transform:translateY(-3px);
}

.register-now-btn:disabled{
    background:#bfbfbf;
    cursor:not-allowed;
}

input[type="radio"]{
    transform:scale(1.3);
    margin-right:10px;
}

@media(max-width:768px){

    .registration-table{
        min-width:800px;
    }

}

.category-cell{
    text-align:left !important;
    padding-left:70px !important;
}

.category-option{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:18px;
}

.category-option input[type="radio"]{
    width:22px;
    height:22px;
    accent-color:#0D3311;
}

.category-option span{
    font-size:22px;
    font-weight:500;
}


.additional-presentation{
    margin-top:25px;
    padding:20px;
    background:#f8fdf9;
    border:1px solid #d7eadb;
    border-radius:12px;
    text-align:left;
    margin-bottom: 25px;
}

.additional-checkbox{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:18px;
    font-weight:600;
    color:#0D3311;
    cursor:pointer;
}

.additional-checkbox input{
    width:22px;
    height:22px;
    accent-color:#0D3311;
}

.additional-presentation small{
    display:block;
    margin-top:8px;
    color:#666;
}

.refund-policy-box{
    text-align:center;
    margin-top:30px;
}

.refund-policy-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;

    background:#0D3311;
    color:#fff;

    padding:14px 35px;
    border-radius:8px;

    text-decoration:none;
    font-size:16px;
    font-weight:600;

    transition:all .3s ease;
}

.refund-policy-btn:hover{
    background:#16551c;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(0,0,0,.15);
}
.includes-card{
    background:#fff;
    padding:40px;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    margin:50px 0;
}

.includes-title{
    text-align:center;
    font-size:36px;
    font-weight:700;
    color:#0D3311;
    margin-bottom:40px;
}

.includes-grid{
    display:flex;
    justify-content:space-between;
    gap:30px;
    flex-wrap:wrap;
}

.include-box{
    flex:1;
    min-width:350px;
    background:#f8fdf9;
    border:1px solid #d7eadb;
    border-radius:12px;
    padding:30px;
}

.include-box h3{
    color:#0D3311;
    font-size:24px;
    margin-bottom:20px;
    text-align:center;
}

.include-box ul{
    list-style:none;
    padding:0;
    margin:0;
}

.include-box ul li{
    margin-bottom:15px;
    font-size:17px;
    color:#2a2a2a;
    display:flex;
    align-items:center;
}

.include-box ul li i{
    color:#0D3311;
    margin-right:10px;
}

@media(max-width:768px){
    .includes-grid{
        flex-direction:column;
    }

    .include-box{
        min-width:100%;
    }
}


