/* ================= GLOBAL ================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter',sans-serif;
background:#f7f8fc;
overflow-x:hidden;
}

/* ================= UPLOAD ================= */

.crop-upload{

min-height:100vh;

display:flex;
align-items:center;
justify-content:center;

padding:120px 20px;

background:
linear-gradient(
135deg,
#071133,
#1b1464,
#6d28d9
);
}

.crop-box{

width:100%;
max-width:720px;

background:
rgba(255,255,255,0.08);

border:
1px solid rgba(255,255,255,0.1);

backdrop-filter:blur(18px);

padding:60px;

border-radius:35px;

text-align:center;

box-shadow:
0 25px 60px rgba(0,0,0,0.25);
}

/* ICON */

.crop-icon{

width:120px;
height:120px;

margin:auto auto 30px;

border-radius:30px;

background:
rgba(255,255,255,0.1);

display:flex;
align-items:center;
justify-content:center;

font-size:50px;

color:white;
}

/* TEXT */

.crop-box h1{

font-size:58px;
font-weight:800;

color:white;

margin-bottom:20px;
}

.crop-box p{

font-size:20px;

color:
rgba(255,255,255,0.8);

margin-bottom:40px;
}

/* BUTTON */

.upload-btn{

display:inline-flex;
align-items:center;
gap:12px;

padding:20px 34px;

border-radius:18px;

background:white;

color:#4f46e5;

font-size:18px;
font-weight:700;

cursor:pointer;

transition:0.3s;
}

.upload-btn:hover{

transform:translateY(-3px);

box-shadow:
0 15px 40px rgba(255,255,255,0.15);
}

/* FEATURES */

.upload-features{

display:flex;
justify-content:center;
gap:30px;

margin-top:35px;

flex-wrap:wrap;
}

.upload-features span{

display:flex;
align-items:center;
gap:10px;

color:white;

font-size:15px;
}

/* LIGHT MODE FEATURES */

body:not(.dark-mode) .upload-features span{

color:#475569;
}

body:not(.dark-mode) .upload-features i{

color:#7c3aed;
}

.upload-features i{
color:#8b5cf6;
}

/* ================= LOADING ================= */

.loading-screen{

display:none;

min-height:100vh;

align-items:center;
justify-content:center;

background:
linear-gradient(
135deg,
#071133,
#1b1464,
#6d28d9
);
}

.loading-box{

width:100%;
max-width:600px;

padding:50px;

border-radius:30px;

background:
rgba(255,255,255,0.08);

backdrop-filter:blur(18px);

text-align:center;
}

.loading-box h2{

font-size:42px;

color:white;

margin-bottom:35px;
}

/* PROGRESS */

.progress-bar{

width:100%;
height:24px;

background:
rgba(255,255,255,0.12);

border-radius:30px;

overflow:hidden;
}

.progress-fill{

width:0%;
height:100%;

background:
linear-gradient(
135deg,
#22c55e,
#16a34a
);

transition:0.3s;
}

#progressText{

margin-top:18px;

font-size:28px;
font-weight:700;

color:white;
}

/* ================= EDITOR ================= */

.crop-editor{

display:none;

min-height:100vh;

padding:
130px 30px 60px;

background:#f7f8fc;

gap:30px;
}

/* SIDEBAR */

.crop-sidebar{

width:380px;

background:white;

border-radius:28px;

padding:35px;

box-shadow:
0 15px 40px rgba(0,0,0,0.06);

height:fit-content;
}

.crop-sidebar h2{

font-size:34px;
margin-bottom:30px;
}

/* INPUT */

.input-group{
margin-bottom:28px;
}

.input-group label{

display:block;

margin-bottom:12px;

font-size:16px;
font-weight:600;
}

.input-group select{

width:100%;

height:60px;

border:none;

background:#f3f4f6;

border-radius:16px;

padding:0 20px;

font-size:17px;

outline:none;
}

/* TOOL BUTTONS */

.tool-buttons{

display:flex;
gap:14px;
}

.tool-buttons button{

flex:1;

height:56px;

border:none;

border-radius:16px;

background:#f3f4f6;

font-size:16px;
font-weight:600;

cursor:pointer;

transition:0.3s;
}

.tool-buttons button:hover{

background:#ede9fe;

color:#6d28d9;
}

/* ACTION BUTTON */

#cropBtn{

width:100%;
height:62px;

border:none;

border-radius:18px;

background:
linear-gradient(
135deg,
#4f46e5,
#7c3aed
);

color:white;

font-size:18px;
font-weight:700;

cursor:pointer;

transition:0.3s;
}

#cropBtn:hover{

transform:translateY(-2px);
}

/* DOWNLOAD */

#downloadBtn{

display:none;

width:100%;
height:62px;

margin-top:18px;

border-radius:18px;

background:#22c55e;

color:white;

text-decoration:none;

font-size:18px;
font-weight:700;

align-items:center;
justify-content:center;

gap:10px;
}

/* PREVIEW */

.crop-preview{
flex:1;
}

.preview-card{

background:white;

border-radius:30px;

padding:30px;

min-height:700px;

display:flex;
align-items:center;
justify-content:center;

box-shadow:
0 15px 40px rgba(0,0,0,0.06);

overflow:hidden;
}

#previewImage{

max-width:100%;
display:block;
}

/* CROPPER */

.cropper-view-box{
border-radius:12px;
}

.cropper-face{
background:rgba(109,40,217,0.12);
}

/* ================= MOBILE ================= */

@media(max-width:992px){

.crop-editor{
flex-direction:column;
}

.crop-sidebar{
width:100%;
}

.preview-card{
min-height:500px;
}

}

@media(max-width:768px){

.crop-box{
padding:40px 25px;
}

.crop-box h1{
font-size:40px;
}

.crop-box p{
font-size:17px;
}

.crop-icon{
width:90px;
height:90px;
font-size:38px;
}

.crop-editor{
padding:120px 20px 40px;
}

.loading-box{
padding:40px 25px;
}

.loading-box h2{
font-size:32px;
}

}

@media(max-width:500px){

.upload-btn{
width:100%;
justify-content:center;
}

.upload-features{
gap:18px;
}

.crop-sidebar{
padding:25px;
}

.crop-sidebar h2{
font-size:28px;
}

.preview-card{
padding:18px;
}

.tool-buttons{
flex-direction:column;
}

}

/* LIGHT MODE */

/* ================= THEME ================= */

/* LIGHT MODE */

body:not(.dark-mode) .crop-upload{

background:
linear-gradient(
135deg,
#f8fafc,
#eef2ff,
#ddd6fe
);
}

body:not(.dark-mode) .crop-box{

background:white;

border:
1px solid #e5e7eb;
border:none;

backdrop-filter:none;

box-shadow:
0 25px 60px rgba(0,0,0,0.08);
}

body:not(.dark-mode) .crop-box h1{
color:#111827;
}

body:not(.dark-mode) .crop-box p{
color:#6b7280;
}

body:not(.dark-mode) .crop-icon{

background:#ede9fe;

color:#6d28d9;
}

/* DARK MODE */

body.dark-mode .crop-upload{

background:
linear-gradient(
135deg,
#071133,
#1b1464,
#6d28d9
);
}

body.dark-mode .crop-editor{

background:#020617;
}

body.dark-mode .crop-sidebar{

background:#111827;

color:white;
}

body.dark-mode .crop-sidebar h2,
body.dark-mode .input-group label{

color:white;
}

body.dark-mode .input-group select{

background:#1e293b;

color:white;
}

body.dark-mode .tool-buttons button{

background:#1e293b;

color:white;
}

body.dark-mode .preview-card{

background:#111827;
}

body:not(.dark-mode) .upload-btn{

background:
linear-gradient(
135deg,
#4f46e5,
#7c3aed
);

color:white;

box-shadow:
0 10px 30px rgba(124,58,237,.25);
}

.back-btn{

display:flex;
align-items:center;
gap:10px;

margin-bottom:25px;

text-decoration:none;

color:#64748b;

font-size:16px;
font-weight:600;
}

.back-btn:hover{
color:#7c3aed;
}

/**/

.faq-section{

max-width:1000px;

margin:80px auto;

padding:0 20px;

}

.faq-section h2{

font-size:40px;

margin-bottom:30px;

text-align:center;

}

.faq-item{

background:white;

padding:25px;

border-radius:20px;

margin-bottom:20px;

box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.faq-item h3{

margin-bottom:10px;

color:#111827;

}

.faq-item p{

color:#64748b;

line-height:1.8;

}

body:not(.dark-mode){
background:#f8fafc;
}

body:not(.dark-mode) .converter-editor{
background:#f8fafc;
}

/* DARK MODE */

body.dark-mode .faq-item{

background:#111827;

border:1px solid rgba(255,255,255,.08);

}

body.dark-mode .faq-item h3{
color:white;
}

body.dark-mode .faq-section h2{
color:white;
}

body.dark-mode .faq-item p{

color:#cbd5e1;

}
