/* ==========================================
   Rangotsav Portal V2
   Upload Page
==========================================*/

body{
    background:#f4f6fb;
    font-family:'Segoe UI',sans-serif;
}

/* Main Card */

.upload-card{

    background:#ffffff;

    border-radius:20px;

    padding:35px;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

/* Heading */

.page-title{

    font-size:42px;

    font-weight:700;

    margin-bottom:35px;

    color:#222;

}

/* Labels */

.form-label{

    font-weight:600;

    margin-bottom:8px;

}

/* Inputs */

.form-control,

.form-select{

    height:52px;

    border-radius:10px;

    border:1px solid #d7d7d7;

    font-size:15px;

}

.form-control:focus,

.form-select:focus{

    box-shadow:none;

    border-color:#1f66d1;

}

/* Section */

.upload-heading{

    font-size:28px;

    font-weight:700;

    margin-bottom:20px;

}

/* Upload Box */

.upload-area{

    border:2px dashed #0d6efd;

    border-radius:14px;

    background:#fafcff;

    padding:55px 30px;

    text-align:center;

    transition:.3s;

    cursor:pointer;

}

.upload-area:hover{

    background:#eef5ff;

}

.upload-icon{

    font-size:55px;

    color:#0d6efd;

    margin-bottom:15px;

}

.upload-area h5{

    font-weight:700;

    margin-top:10px;

}

.upload-area p{

    margin:8px 0;

    color:#555;

}

.upload-area small{

    color:#666;

    line-height:24px;

}

/* Buttons */

.choose-btn{

    margin-top:20px;

    padding:10px 28px;

    border-radius:8px;

}

.btn-lg{

    border-radius:10px;

    padding:12px 45px;

}

/* Preview */

#imagePreview{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

}

.preview-card{

    width:170px;

}

.preview-card img{

    width:100%;

    height:140px;

    object-fit:cover;

    border-radius:10px;

    border:1px solid #ddd;

}

.preview-card p{

    margin-top:8px;

    font-size:13px;

    text-align:center;

}

/* Video */

#videoPreview video{

    width:100%;

    max-width:400px;

    border-radius:10px;

    border:1px solid #ddd;

}

/* Badge */

.badge{

    font-size:15px;

    padding:10px 16px;

}

/* Submit */

.text-center{

    margin-top:40px;

}

/* Divider */

hr{

    opacity:.15;

}

/* Required */

.text-danger{

    font-weight:bold;

}

/* Responsive */

@media(max-width:992px){

.page-title{

font-size:34px;

}

.upload-card{

padding:25px;

}

}

@media(max-width:768px){

.page-title{

font-size:28px;

}

.upload-heading{

font-size:22px;

}

.upload-area{

padding:40px 15px;

}

.upload-icon{

font-size:45px;

}

.choose-btn{

width:100%;

}

.btn-lg{

width:100%;

}

.preview-card{

width:100%;

}

}

@media(max-width:576px){

.upload-card{

padding:20px;

}

.form-control,

.form-select{

height:48px;

}

.page-title{

font-size:24px;

margin-bottom:25px;

}

}

/* ===========================
   Progress Bar
===========================*/

.progress{

    border-radius:30px;

    overflow:hidden;

}

.progress-bar{

    font-size:14px;

    font-weight:600;

}

/* ==========================
   Upload Progress
========================== */

#progressSection{

    display:none;

    margin-top:30px;

}

#progressText{

    font-weight:bold;

    color:#0d6efd;

}

.progress{

    border-radius:50px;

    overflow:hidden;

    background:#e9ecef;

}

.progress-bar{

    font-weight:bold;

    font-size:13px;

    transition:width .3s ease;

}