/* ====================================
   GLOBAL
==================================== */

#gicp-app{
    max-width:900px;
    margin:20px auto;
    padding:15px;
    box-sizing:border-box;
    font-family:inherit;
}

#gicp-app *{
    box-sizing:border-box;
}

/* ====================================
   CARD
==================================== */

#gicp-upload-section,
#gicp-loading,
#gicp-results{
    background:#fff;
    border-radius:18px;
    padding:20px;
    box-shadow:
    0 4px 20px rgba(0,0,0,.08);
}

/* ====================================
   DROPZONE
==================================== */

#gicp-dropzone{

    border:2px dashed #cfcfcf;

    border-radius:18px;

    padding:30px 20px;

    text-align:center;

    cursor:pointer;

    transition:.3s;

}

#gicp-dropzone:hover{

    border-color:#6d5dfc;

}

.gicp-upload-icon{

    font-size:50px;

    margin-bottom:10px;

}

#gicp-dropzone h2{

    margin:0;

    font-size:24px;

}

#gicp-dropzone p{

    margin:10px 0;

    color:#666;

}

/* ====================================
   BROWSE BUTTON
==================================== */

.gicp-upload-btn{

    display:inline-block;

    background:#6d5dfc;

    color:#fff;

    padding:12px 22px;

    border-radius:10px;

    font-weight:600;

    cursor:pointer;

}

/* ====================================
   STATS
==================================== */

#gicp-stats{

    display:flex;

    gap:12px;

    margin-top:20px;

}

.gicp-stat-box{

    flex:1;

    background:#f7f7f7;

    padding:12px;

    border-radius:12px;

    text-align:center;

    font-weight:600;

}

/* ====================================
   PREVIEW AREA
==================================== */

 /* #gicp-preview-area{

    margin-top:20px;

    display:grid;

    grid-template-columns:
    repeat(auto-fill,minmax(140px,1fr));

    gap:15px;

}

.gicp-preview-card{

    position:relative;

    background:#fff;

    border-radius:14px;

    overflow:hidden;

    box-shadow:
    0 2px 12px rgba(0,0,0,.08);

} */

#gicp-preview-area{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-start;
    gap:20px;
    width:100%;
    margin:20px auto;
}

.gicp-preview-card{
    position:relative;
    width:160px;
    flex:0 0 auto;
}

@media (max-width:768px){

    .gicp-preview-card{
        width:calc(50% - 10px);
        max-width:170px;
    }

}

.gicp-preview-card img{

    width:100%;

    height:120px;

    object-fit:cover;

    display:block;

}

.gicp-file-name{

    padding:10px;

    font-size:13px;

    word-break:break-word;

}

.gicp-file-size{

    padding:0 10px 10px;

    color:#666;

    font-size:12px;

}

/*.gicp-remove{

    position:absolute;

    top:10px;
    right:10px;

    width:32px;
    height:32px;

    border:none;
    border-radius:50%;

    background:#ff4d4f;
    color:#fff;

    font-size:22px;
    font-weight:700;

    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:center;

    line-height:1;

    padding:0;

    box-shadow:0 3px 8px rgba(0,0,0,.15);

    transition:.2s;
    
    z-index:9999;
    pointer-events:auto;
} */

.gicp-remove{
    position:absolute;

    top:-7px;
    right:-7px;

    width:28px;
    height:28px;

    border:none;
    border-radius:50%;

    background:#ff4d4f;
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;
    z-index:9999;
}

.gicp-remove:hover{

    background:#d9363e;

    transform:scale(1.08);
}

/* ====================================
   ADD MORE
==================================== */

#gicp-add-more-wrap{

    text-align:center;

    margin-top:20px;

}

#gicp-add-more-btn{

    display:inline-block;

    background:#f1f1f1;

    padding:10px 18px;

    border-radius:10px;

    cursor:pointer;

    font-weight:600;

}



/* ====================================
   COMPRESSION BOX
==================================== */

#gicp-compression-box{

    margin-top:25px;

}

#gicp-compression-box h3{

    margin-bottom:12px;

    font-size:18px;

}

/* ====================================
   MODE BUTTONS
==================================== */
#gicp-mode-buttons{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.gicp-mode-btn{
    flex:1;
    min-width:120px;

    background:#f5f5f5;
    color:#2c3e50;

    border:2px solid #d6dce5;

    border-radius:12px;

    padding:14px 20px;

    font-size:16px;
    font-weight:600;

    cursor:pointer;

    transition:all .25s ease;
}

.gicp-mode-btn:hover{
    background:#e8f1ff;
    border-color:#4a90e2;
    color:#1d4ed8;

    transform:translateY(-2px);
}

.gicp-mode-btn.active{
    background:linear-gradient(
        135deg,
        #4f46e5,
        #7c3aed
    );

    color:#fff;

    border-color:#4f46e5;

    box-shadow:
        0 8px 20px rgba(79,70,229,.25);
}

/* ====================================
   CUSTOM SIZE BOX
==================================== */

#gicp-custom-size-box{

    margin-top:20px;

    background:#f8f8f8;

    padding:15px;

    border-radius:14px;

}

#gicp-custom-size-box label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

}

#gicp-custom-kb{

    width:100%;

    height:48px;

    border:1px solid #ddd;

    border-radius:10px;

    padding:0 15px;

    font-size:16px;

    margin-bottom:15px;

}

/* ====================================
   SLIDER
==================================== */

#gicp-slider{

    width:100%;

    cursor:pointer;

}

#gicp-slider-value{

    text-align:center;

    margin-top:10px;

    font-weight:700;

    color:#6d5dfc;

}

/* ====================================
   COMPRESS BUTTON
==================================== */

#gicp-compress-btn{

    width:100%;

    height:60px;

    border:none;

    border-radius:14px;

    margin-top:25px;

    cursor:pointer;

    font-size:18px;

    font-weight:700;

    color:#fff;

    background:
    linear-gradient(
    135deg,
    #6d5dfc,
    #4b3df5
    );

    box-shadow:
    0 8px 24px
    rgba(109,93,252,.35);

}

#gicp-compress-btn:hover{

    transform:translateY(-2px);

}

#gicp-compress-btn:disabled{

    opacity:.5;

    cursor:not-allowed;

}

/* ====================================
   LOADING
==================================== */

#gicp-loading{

    text-align:center;

}

.gicp-spinner{

    width:60px;

    height:60px;

    border:4px solid #eee;

    border-top:
    4px solid #6d5dfc;

    border-radius:50%;

    margin:0 auto 15px;

    animation:
    gicp-spin 1s linear infinite;

}

@keyframes gicp-spin{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}

#gicp-progress{

    font-size:22px;

    font-weight:700;

    color:#6d5dfc;

}

/* ====================================
   RESULTS
==================================== */

.gicp-result-card{

    background:#fff;

    border-radius:16px;

    padding:18px;

    margin-bottom:20px;

    box-shadow:
    0 2px 12px rgba(0,0,0,.08);

}

.gicp-result-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:10px;

    margin-top:15px;

}

.gicp-result-box{

    background:#f8f8f8;

    border-radius:12px;

    padding:12px;

    text-align:center;

    font-size:14px;

}

/* ====================================
   DOWNLOAD BUTTON
==================================== */

.gicp-download-btn{

    display:block;

    width:100%;

    text-align:center;

    margin-top:15px;

    padding:14px;

    border-radius:12px;

    background:#16a34a;

    color:#fff;

    text-decoration:none;

    font-weight:700;

}

/* ====================================
   EXTRA ACTION BUTTONS
==================================== */

.gicp-action-btn{

    display:block;

    width:100%;

    margin-top:12px;

    padding:14px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    font-weight:700;

}

.gicp-try-btn{

    background:#f59e0b;

    color:#fff;

}

.gicp-new-btn{

    background:#111827;

    color:#fff;

}

/* ====================================
   MOBILE
==================================== */

@media(max-width:768px){

    #gicp-mode-buttons{

        grid-template-columns:
        repeat(4,1fr);

        gap:6px;

    }

    .gicp-mode-btn{

        font-size:12px;

        padding:10px 4px;

    }

    .gicp-result-grid{

        grid-template-columns:
        repeat(2,1fr);

    }

    #gicp-compress-btn{

        font-size:16px;

    }

}



/* ====================================
  ADD CSS (UI PREMIUM LOOK)
==================================== */



.gicp-before-after{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
margin-bottom:15px;
}

.gicp-box{
flex:1;
text-align:center;
background:#f9f9f9;
padding:10px;
border-radius:12px;
}

.gicp-box img{
width:100%;
max-height:120px;
object-fit:contain;
}

.gicp-arrow{
font-size:22px;
font-weight:bold;
}

.gicp-meta{
text-align:center;
margin:10px 0;
font-weight:600;
color:#444;
}