/* ==================================================
   FINNMIN - verify.css
   Email Verification Page
================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --primary:#1E5CCB;
    --primary-dark:#184ca8;
    --secondary:#4C8DFF;
    --accent:#F59E0B;
    --bg:#F5F9FF;
    --white:#FFFFFF;
    --text:#1F2937;
    --muted:#6B7280;
    --border:#DCE7F8;
    --success:#22C55E;
    --error:#EF4444;
    --shadow:0 12px 40px rgba(30,92,203,.12);
}

body{
    font-family:"Poppins",sans-serif;
    background:var(--bg);
    color:var(--text);
    min-height:100vh;
    overflow-x:hidden;
    position:relative;
}

/* Background */

.background-shape{
    position:fixed;
    border-radius:50%;
    background:rgba(30,92,203,.08);
    z-index:-1;
}

.shape1{width:280px;height:280px;top:-70px;left:-70px;}
.shape2{width:180px;height:180px;bottom:80px;left:120px;}
.shape3{width:240px;height:240px;right:-80px;top:180px;}

/* Layout */

.verify-section{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:60px 20px;
}

.verify-card{
    width:100%;
    max-width:650px;
    background:#fff;
    border-radius:28px;
    box-shadow:var(--shadow);
    padding:50px;
    text-align:center;
    animation:fadeUp .6s ease;
}

@keyframes fadeUp{
    from{opacity:0;transform:translateY(30px);}
    to{opacity:1;transform:translateY(0);}
}

/* Logo */

.logo{
    width:180px;
    margin-bottom:30px;
}

/* Icon */

.icon-box{
    width:95px;
    height:95px;
    margin:0 auto 25px;
    border-radius:50%;
    background:#EAF2FF;
    display:flex;
    justify-content:center;
    align-items:center;
    border:3px solid var(--primary);
}

.icon-box i{
    font-size:42px;
    color:var(--primary);
}

/* Typography */

h1{
    color:var(--primary);
    font-size:2.2rem;
    margin-bottom:12px;
}

.subtitle{
    color:var(--muted);
    margin-bottom:10px;
}

#userEmail{
    color:var(--primary-dark);
    margin-bottom:35px;
    font-size:1.05rem;
    word-break:break-all;
}

/* OTP */

.otp-container{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-bottom:35px;
}

.otp-input{
    width:58px;
    height:65px;
    border:2px solid var(--border);
    border-radius:14px;
    text-align:center;
    font-size:1.5rem;
    font-weight:600;
    outline:none;
    transition:.25s;
}

.otp-input:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 4px rgba(30,92,203,.12);
}

/* Buttons */

.verify-btn,
.resend-btn{
    width:100%;
    border:none;
    border-radius:50px;
    padding:16px;
    font-size:1rem;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.verify-btn{
    color:#fff;
    background:linear-gradient(90deg,var(--primary),var(--secondary));
    margin-bottom:20px;
}

.verify-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(30,92,203,.25);
}

.timer{
    margin-bottom:18px;
    color:var(--muted);
    font-size:.95rem;
}

#countdown{
    color:var(--primary);
    font-weight:700;
}

.resend-btn{
    background:#fff;
    border:2px solid var(--primary);
    color:var(--primary);
}

.resend-btn:hover{
    background:var(--primary);
    color:#fff;
}

.resend-btn:disabled{
    opacity:.5;
    cursor:not-allowed;
}

/* Status */

.status-message{
    margin-top:20px;
    min-height:24px;
    font-weight:600;
}

.status-success{color:var(--success);}
.status-error{color:var(--error);}

/* Back */

.back-link{
    display:inline-block;
    margin-top:35px;
    text-decoration:none;
    color:var(--primary);
    font-weight:600;
}

.back-link:hover{
    color:var(--primary-dark);
}

.back-link i{
    margin-right:8px;
}

/* Responsive */

@media(max-width:768px){

.verify-card{
    padding:35px 25px;
}

.logo{
    width:150px;
}

h1{
    font-size:1.8rem;
}

.otp-container{
    gap:8px;
}

.otp-input{
    width:46px;
    height:56px;
    font-size:1.25rem;
}

}

@media(max-width:420px){

.otp-input{
    width:42px;
    height:52px;
}

}
