/* ==================================================
NAGAR TRIATHLON REGISTRATION
================================================== */

.ntr-container{
max-width:900px;
margin:40px auto;
padding:0 15px;
}

.ntr-form{
background:#ffffff;
padding:35px;
border-radius:15px;
box-shadow:0 5px 25px rgba(0,0,0,0.08);
}

.ntr-header{
text-align:center;
margin-bottom:30px;
}

.ntr-header h2{
font-size:36px;
font-weight:700;
margin-bottom:10px;
color:#111827;
}

.ntr-header p{
color:#6b7280;
}

/* ==================================
2 COLUMN LAYOUT
================================== */

.ntr-row{
display:flex;
gap:20px;
margin-bottom:20px;
}

.ntr-col{
flex:1;
}

/* ==================================
FORM FIELDS
================================== */

.ntr-form-group{
margin-bottom:20px;
}

.ntr-form-group label{
display:block;
font-weight:600;
margin-bottom:8px;
color:#111827;
}

.ntr-form-group span{
color:red;
}

.ntr-form input[type="text"],
.ntr-form input[type="email"],
.ntr-form input[type="tel"],
.ntr-form input[type="date"],
.ntr-form textarea{


width:100% !important;

border:1px solid #d1d5db !important;
border-radius:10px !important;

padding:12px 15px !important;
padding-left:15px !important;

text-indent:0 !important;

background-image:none !important;

font-size:16px !important;

transition:all .3s ease;


}

.ntr-form input[type="text"],
.ntr-form input[type="email"],
.ntr-form input[type="tel"],
.ntr-form input[type="date"]{


height:50px !important;
min-height:50px !important;


}

.ntr-form textarea{
min-height:120px !important;
resize:vertical;
margin-bottom:15px;
}

.ntr-form input:focus,
.ntr-form textarea:focus{
outline:none;
border-color:#e63946 !important;
box-shadow:0 0 0 3px rgba(230,57,70,.15);
}

/* ==================================
SECTION TITLE
================================== */

.ntr-section-title{
margin-top:30px;
margin-bottom:15px;
}

.ntr-section-title h3{
font-size:24px;
font-weight:700;
color:#111827;
}

/* ==================================
PROGRAM CARDS
================================== */

.ntr-package-wrapper{
display:flex;
gap:20px;
margin-top:15px;
}

.ntr-package-card{
flex:1;
min-height:120px;


border:2px solid #e5e7eb;
border-radius:12px;

padding:20px;

cursor:pointer;

transition:.3s;

display:flex;
align-items:flex-start;
gap:10px;


}

.ntr-package-card:hover

.ntr-package-card:has(input[type="radio"]:checked){
border:2px solid #e63946;
background:#fff5f5;
}

.ntr-package-content{
flex:1;
}

.ntr-package-content strong{
display:block;
margin-bottom:8px;
font-size:18px;
}

.ntr-package-content p{
margin:0;
color:#4b5563;
}

/* ==================================
TIME SLOT
================================== */

.ntr-slot-wrapper{
display:flex;
gap:30px;
align-items:center;
flex-wrap:wrap;
}

.ntr-radio-option{
display:flex;
align-items:center;
gap:8px;
font-weight:600;
}

/* ==================================
TRAINING INFO
================================== */

.ntr-training-info{
margin-top:30px;
background:#f8fafc;
border-left:5px solid #e63946;
padding:22px 25px;
border-radius:10px;
}

.ntr-training-info h4{
margin-top:0;
margin-bottom:18px;
font-size:24px;
}

.ntr-training-info ul{
margin:0;
padding-left:22px;
}

.ntr-training-info ul li{
line-height:1.8;
margin-bottom:5px;
}

/* ==================================
BUTTON
================================== */

.ntr-submit-area{
margin-top:30px;
text-align:center;
}

#ntr-submit-btn{
background:#e63946;
color:#fff;
border:none;
padding:15px 40px;
font-size:18px;
font-weight:700;
border-radius:10px;
cursor:pointer;
transition:.3s;
}

#ntr-submit-btn:hover

#ntr-submit-btn:disabled{
opacity:.7;
cursor:not-allowed;
}

/* ==================================
SUCCESS MESSAGE
================================== */

.ntr-success-message{
background:#ecfdf5;
border:1px solid #10b981;
padding:25px;
border-radius:12px;
margin-top:25px;
text-align:center;
}

.ntr-success-message h3{
color:#059669;
margin-bottom:10px;
}

/* Blood Group Select */

.ntr-select{

    width:100% !important;

    height:50px !important;

    border:1px solid #d1d5db !important;

    border-radius:10px !important;

    padding:0 15px !important;

    background:#fff !important;

    font-size:16px !important;

    appearance:auto !important;

    -webkit-appearance:auto !important;

    -moz-appearance:auto !important;
}

.ntr-select:focus{

    outline:none;

    border-color:#e63946 !important;

    box-shadow:0 0 0 3px rgba(230,57,70,.15);
}

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

@media(max-width:768px){

    .ntr-container{
        padding:0 10px;
    }

    .ntr-form{
        padding:20px 15px;
    }

    .ntr-header h2{
        font-size:24px;
        line-height:1.3;
    }

    .ntr-header p{
        font-size:15px;
    }

    /* Make all rows single column */

    .ntr-row{
        display:block;
        margin-bottom:0;
    }

    .ntr-col{
        width:100%;
        margin-bottom:15px;
    }

    /* Full width fields */

    .ntr-form input[type="text"],
    .ntr-form input[type="email"],
    .ntr-form input[type="tel"],
    .ntr-form input[type="date"],
    .ntr-form textarea{
        width:100% !important;
        font-size:16px !important;
    }

    /* Program cards */

    .ntr-package-wrapper{
        flex-direction:column;
        gap:15px;
    }

    .ntr-package-card{
        min-height:auto;
        padding:15px;
    }

    .ntr-package-content strong{
        font-size:16px;
    }

    .ntr-package-content p{
        font-size:14px;
    }

    /* Time slot */

    .ntr-slot-wrapper{
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }

    /* Training box */

    .ntr-training-info{
        padding:18px;
    }

    .ntr-training-info h4{
        font-size:20px;
    }

    .ntr-training-info ul li{
        font-size:14px;
        line-height:1.7;
    }

    /* Button */

    #ntr-submit-btn{
        width:100%;
        padding:15px;
        font-size:16px;
    }

}
