/* ==========================================================
   Patra Patri Plugin
   File: forgot-password.css
   Purpose: Forgot Password page (templates/forgot-password.php)
========================================================== */

.pp-auth-page{
    background:#fdf3f6;
    min-height:70vh;
}

.pp-auth-page,
.pp-auth-page *,
.pp-auth-page *::before,
.pp-auth-page *::after{
    box-sizing:border-box;
}

/* ===================================
   Wrapper / Centering
=================================== */

.pp-auth-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:50px 15px;
    perspective:1000px;
}

/* ===================================
   Card
=================================== */

.pp-auth-card{
    width:100%;
    max-width:540px;
    background:#fff;
    border-radius:22px;
    padding:48px 44px;
    margin-left:-40px;
    position:relative;
    z-index:2;
    box-shadow:
        0 2px 4px rgba(0,0,0,.05),
        0 14px 24px rgba(255,75,125,.10),
        0 34px 54px -18px rgba(255,75,125,.28);
    text-align:center;
    transform-style:preserve-3d;
    transition:transform .35s ease, box-shadow .35s ease;
}

.pp-auth-card:hover{
    transform:translateY(-4px) rotateX(2deg) rotateY(-2deg);
    box-shadow:
        0 4px 8px rgba(0,0,0,.06),
        0 20px 34px rgba(255,75,125,.14),
        0 44px 64px -18px rgba(255,75,125,.34);
}

.pp-auth-icon{
    width:64px;
    height:64px;
    margin:0 auto 16px;
    border-radius:50%;
    background:linear-gradient(135deg,#ff4b7d,#ff8a5b);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    box-shadow:0 8px 20px rgba(255,75,125,.35);
}

.pp-auth-card h2{
    margin:0 0 6px;
    font-size:24px;
    font-weight:800;
    color:#1e1e2e;
}

.pp-auth-sub{
    margin:0 0 24px;
    font-size:13.5px;
    color:#888;
}

/* ===================================
   Alert
=================================== */

.pp-auth-alert{
    padding:11px 16px;
    border-radius:10px;
    font-size:13px;
    font-weight:600;
    margin-bottom:20px;
    text-align:left;
}

.pp-auth-alert-error{
    background:#fdecec;
    color:#dc2626;
}

.pp-auth-alert-success{
    background:#e7f7ec;
    color:#16a34a;
}

/* ===================================
   Form
=================================== */

.pp-auth-form{
    text-align:left;
}

.pp-auth-field{
    margin-bottom:12px;
}

.pp-auth-field label{
    display:block;
    font-size:12.5px;
    font-weight:700;
    color:#444;
    margin-bottom:5px;
}

.pp-auth-input-wrap{
    position:relative;
    display:flex;
    align-items:center;
}

.pp-auth-input-icon{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    width:18px;
    height:18px;
    color:#ff4b7d;
    pointer-events:none;
    display:flex;
    align-items:center;
    justify-content:center;
}

.pp-auth-input-icon svg{
    width:100%;
    height:100%;
}

.pp-auth-input-wrap input{
    width:100%;
    padding:14px 16px 14px 44px;
    border:1px solid #ffd7e2;
    border-radius:10px;
    font-size:15px;
    color:#222;
    background:#fff5f8;
    transition:.2s ease;
}

.pp-auth-input-wrap input:focus{
    outline:none;
    border-color:#ff4b7d;
    background:#fff;
    box-shadow:0 0 0 3px rgba(255,75,125,.12);
}

.pp-auth-input-wrap input::placeholder{
    color:#c9a5ae;
}

/* ===================================
   Submit Button
=================================== */

.pp-auth-submit{
    width:100%;
    padding:13px;
    border:none;
    border-radius:10px;
    background:linear-gradient(135deg,#ff4b7d,#ff8a5b);
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 10px 20px rgba(255,75,125,.3);
    transition:transform .2s ease, box-shadow .2s ease;
    margin-top:6px;
}

.pp-auth-submit:hover{
    background:linear-gradient(135deg,#e03d6c,#ff7a4a);
    box-shadow:0 14px 26px rgba(255,75,125,.4);
}

/* ===================================
   Switch Link
=================================== */

.pp-auth-switch{
    margin:22px 0 0;
    font-size:13.5px;
    color:#666;
    text-align:center;
}

.pp-auth-switch a{
    color:#ff4b7d;
    font-weight:700;
    text-decoration:none;
}

.pp-auth-switch a:hover{
    text-decoration:underline;
}

/* ===================================
   Two-Column Split (Register page only)
=================================== */

.pp-auth-wrap-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:50px;
    max-width:1280px;
    margin:0 auto;
    padding:0 15px;
}

.pp-auth-info{
    padding:0;
    border-radius:20px;
    overflow:hidden;
    position:relative;
    min-height:640px;
    display:flex;
    align-items:flex-end;
    background:#ffe4ec;
    background-size:cover;
    background-position:center;
    align-self:stretch;
}

.pp-auth-info-has-image .pp-auth-info-overlay{
    background:linear-gradient(180deg, rgba(30,10,20,.05) 0%, rgba(30,10,20,.55) 55%, rgba(30,10,20,.85) 100%);
    color:#fff;
}

.pp-auth-info-overlay{
    width:100%;
    padding:32px;
}

.pp-auth-info-has-image .pp-auth-info h3,
.pp-auth-info-has-image .pp-auth-step strong{
    color:#fff;
}

.pp-auth-info-has-image .pp-auth-info-checklist li,
.pp-auth-info-has-image .pp-auth-info-badge,
.pp-auth-info-has-image .pp-auth-step p{
    color:#f1e3e7;
}

.pp-auth-info h3{
    font-size:26px;
    font-weight:800;
    color:#1e1e2e;
    margin:0 0 18px;
}

.pp-auth-info-checklist{
    list-style:none;
    margin:0 0 24px;
    padding:0;
}

.pp-auth-info-checklist li{
    font-size:14.5px;
    color:#555;
    margin-bottom:10px;
    transition:transform .2s ease, color .2s ease;
}

.pp-auth-info-checklist li:hover{
    transform:translateX(4px);
    color:#1e1e2e;
}

.pp-auth-info-badges{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-bottom:30px;
}

.pp-auth-info-badge{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:600;
    color:#444;
    transition:transform .2s ease;
}

.pp-auth-info-badge:hover{
    transform:translateY(-2px);
}

.pp-auth-info-badge-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    border-radius:50%;
    background:#ffe4ec;
    color:#ff4b7d;
    font-size:13px;
    transition:background .2s ease, transform .2s ease;
}

.pp-auth-info-badge:hover .pp-auth-info-badge-icon{
    background:#ff4b7d;
    color:#fff;
    transform:scale(1.1);
}

.pp-auth-steps{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.pp-auth-step{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:8px;
    border-radius:12px;
    transition:background .2s ease, transform .2s ease;
}

.pp-auth-step:hover{
    background:#ff4b7d;
    transform:translateX(4px);
    box-shadow:0 4px 14px rgba(255,75,125,.35);
}

.pp-auth-info-has-image .pp-auth-step:hover strong,
.pp-auth-info-has-image .pp-auth-step:hover p{
    color:#fff;
}

.pp-auth-step-num{
    flex-shrink:0;
    width:34px;
    height:34px;
    border-radius:50%;
    background:linear-gradient(135deg,#ff4b7d,#ff8a5b);
    color:#fff;
    font-weight:800;
    font-size:15px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .2s ease;
}

.pp-auth-step:hover .pp-auth-step-num{
    transform:scale(1.12) rotate(8deg);
}

.pp-auth-step strong{
    display:block;
    font-size:15px;
    color:#1e1e2e;
    margin-bottom:2px;
}

.pp-auth-step p{
    margin:0;
    font-size:13px;
    color:#888;
}

/* ===================================
   Responsive
=================================== */

@media(max-width:900px){

    .pp-auth-wrap-split{
        grid-template-columns:1fr;
        gap:20px;
    }

    .pp-auth-info{
        text-align:center;
        padding:0;
        min-height:420px;
    }

    .pp-auth-info-overlay{
        padding:22px;
    }

    .pp-auth-info-badges{
        justify-content:center;
    }

    .pp-auth-card{
        margin-left:0;
    }

    .pp-auth-step{
        text-align:left;
    }

}

@media(max-width:480px){

    .pp-auth-wrap{
        padding:30px 12px;
    }

    .pp-auth-card{
        padding:30px 22px;
        border-radius:16px;
    }

    .pp-auth-card h2{
        font-size:21px;
    }

}

/* ===================================
   Success State
=================================== */

.pp-auth-success{
    padding:10px 0;
}

.pp-auth-success-icon{
    width:76px;
    height:76px;
    margin:0 auto 20px;
    border-radius:50%;
    background:linear-gradient(135deg,#16a34a,#4ade80);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 10px 26px rgba(22,163,74,.35);
    animation:pp-success-pop .5s cubic-bezier(.25,.9,.3,1.3);
}

.pp-auth-success-icon svg{
    width:36px;
    height:36px;
    color:#fff;
}

.pp-auth-success h2{
    font-size:24px;
    font-weight:800;
    color:#1e1e2e;
    margin:0 0 10px;
}

.pp-auth-success .pp-auth-sub{
    margin-bottom:28px;
}

.pp-auth-success-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

@keyframes pp-success-pop{
    0%   { opacity:0; transform:scale(.4); }
    60%  { opacity:1; transform:scale(1.12); }
    100% { opacity:1; transform:scale(1); }
}

/* ===================================
   OTP Verification State
=================================== */

.pp-auth-otp-icon{
    width:64px;
    height:64px;
    margin:0 auto 16px;
    border-radius:50%;
    background:linear-gradient(135deg,#ff4b7d,#ff8a5b);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    box-shadow:0 8px 20px rgba(255,75,125,.35);
}

.pp-auth-otp-form .pp-auth-field{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.pp-auth-otp-form label{
    text-align:center;
}

.pp-auth-otp-input{
    width:100%;
    max-width:260px;
    padding:16px;
    text-align:center;
    font-size:28px;
    font-weight:800;
    letter-spacing:14px;
    color:#ff4b7d;
    border:1px solid #ffd7e2;
    border-radius:12px;
    background:#fff5f8;
    transition:.2s ease;
}

.pp-auth-otp-input:focus{
    outline:none;
    border-color:#ff4b7d;
    background:#fff;
    box-shadow:0 0 0 3px rgba(255,75,125,.14);
}

.pp-auth-otp-input::placeholder{
    letter-spacing:10px;
    color:#f0c3d0;
}

.pp-auth-resend-form{
    margin-top:16px;
}

.pp-auth-resend-btn{
    background:none;
    border:none;
    color:#ff4b7d;
    font-size:13.5px;
    font-weight:700;
    cursor:pointer;
    text-decoration:underline;
    padding:6px;
}

.pp-auth-resend-btn:hover{
    color:#e03d6c;
}

