/* ==========================
   Project Enquiry Form
========================== */

.pef-card{
    position:relative;
    width:100%;
    max-width:420px;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(12px);
    border-radius:24px;
    padding:30px;
    box-shadow:
        0 20px 60px rgba(0,0,0,.12);
    overflow:hidden;
    animation:none;
}

.pef-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(
        90deg,
        #d4af37,
        #f7d774
    );
}

.pef-header{
    text-align:center;
    margin-bottom:24px;
}

.pef-badge{
    display:inline-block;
    padding:8px 14px;
    border-radius:50px;
    background:#fff8e1;
    color:#9a7200;
    font-size:13px;
    font-weight:600;
    margin-bottom:12px;
}

.pef-header h3{
    margin:0 0 10px;
    font-size:28px;
    line-height:1.3;
    color:#111827;
}

.pef-header p{
    margin:0;
    color:#6b7280;
    font-size:14px;
}

/* ==========================
   Fields
========================== */

.pef-field{
    margin-bottom:16px;
}

.pef-field input,
.pef-field select,
.pef-field textarea{

    width:100%;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:15px 18px;
    font-size:15px;
    background:#fff;

    transition:.3s ease;
}

.pef-field input:focus,
.pef-field select:focus,
.pef-field textarea:focus{

    outline:none;

    border-color:#d4af37;

    box-shadow:
        0 0 0 4px rgba(212,175,55,.15);
}

.pef-field textarea{
    resize:vertical;
    min-height:110px;
}

/* ==========================
   Privacy
========================== */

.pef-privacy{
    text-align:center;
    font-size:13px;
    color:#6b7280;
    margin:15px 0;
}

/* ==========================
   Button
========================== */

.pef-submit-btn{

    width:100%;
    border:none;
    border-radius:14px;

    background:
        linear-gradient(
            135deg,
            #d4af37,
            #f7d774
        );

    color:#111827;
    font-size:16px;
    font-weight:700;

    padding:16px;

    cursor:pointer;
    position:relative;

    transition:.3s ease;
}

.pef-submit-btn:hover{

    transform:translateY(-2px);

    box-shadow:
        0 12px 30px rgba(212,175,55,.35);
}

.pef-submit-btn.loading{
    opacity:.8;
    pointer-events:none;
}

/* ==========================
   Errors
========================== */

.pef-response{
    margin-top:14px;
    text-align:center;
    font-size:14px;
    font-weight:600;
    color:#dc2626;
}

/* ==========================
   Success Modal
========================== */

.pef-success-overlay{

    position:fixed;
    inset:0;

    background:rgba(0,0,0,.55);

    backdrop-filter:blur(8px);

    display:flex;
    align-items:center;
    justify-content:center;

    opacity:0;
    visibility:hidden;

    z-index:99999;

    transition:.35s ease;
}

.pef-success-overlay.active{
    opacity:1;
    visibility:visible;
}

.pef-success-modal{

    width:92%;
    max-width:480px;

    background:#fff;

    border-radius:28px;

    padding:35px;

    text-align:center;

    box-shadow:
        0 30px 80px rgba(0,0,0,.20);

    transform:scale(.85);

    transition:.35s ease;
}

.pef-success-overlay.active .pef-success-modal{
    transform:scale(1);
}

.pef-success-icon{

    width:90px;
    height:90px;

    margin:0 auto 20px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #d4af37,
            #f7d774
        );

    color:#111827;

    font-size:40px;
    font-weight:700;

    animation:pefBounce 1.6s infinite;
}

.pef-success-modal h3{
    margin:0 0 10px;
    color:#111827;
    font-size:30px;
}

.pef-success-modal p{
    color:#6b7280;
    line-height:1.6;
}

.pef-success-modal ul{
    list-style:none;
    padding:0;
    margin:22px 0;
}

.pef-success-modal li{
    padding:6px 0;
    color:#374151;
}

.singleProjecFirst{
    position:relative;
}



.pef-card{
    position:relative;
}

.pef-close-btn{

    position:absolute;

    top:12px;
    right:12px;

    width:34px;
    height:34px;

    border:none;

    border-radius:50%;

    background:#f3f4f6;

    cursor:pointer;

    font-size:22px;

    line-height:1;
}

/* ==========================
   Progress
========================== */

.pef-progress{

    height:6px;
    background:#eee;

    border-radius:50px;
    overflow:hidden;
}

.pef-progress span{

    display:block;

    width:0%;
    height:100%;

    background:
        linear-gradient(
            90deg,
            #d4af37,
            #f7d774
        );

    animation:pefProgress 3s linear forwards;
}

/* ==========================
   Hidden Honeypot
========================== */

.pef-honeypot{
    display:none !important;
}

/* ==========================
   Animations
========================== */

@keyframes pefFloat{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-8px);
    }

    100%{
        transform:translateY(0);
    }
}

@keyframes pefBounce{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-10px);
    }
}

@keyframes pefProgress{

    from{
        width:0;
    }

    to{
        width:100%;
    }
}

/* ==========================
   Tablet
========================== */

@media (max-width:991px){

    .pef-card{
        max-width:100%;
        padding:25px;
    }

    .pef-header h3{
        font-size:24px;
    }
}

/* ==========================
   Mobile
========================== */

@media (max-width:767px){

    .pef-card{

        padding:22px;
        border-radius:20px;
    }

    .pef-header h3{
        font-size:22px;
    }

    .pef-success-modal{
        padding:25px;
    }

    .pef-success-modal h3{
        font-size:24px;
    }

    .pef-success-icon{
        width:75px;
        height:75px;
        font-size:34px;
    }
}

/* ==========================
   Small Mobile
========================== */

@media (max-width:480px){

    .pef-card{
        padding:18px;
    }

    .pef-field input,
    .pef-field select,
    .pef-field textarea{

        font-size:16px;
    }

    .pef-submit-btn{
        padding:15px;
    }
}

/* ==========================================
   Sticky Sidebar Form
========================================== */

.project-sticky-form{

    position:sticky;

    top:40px;

    z-index:100;
}

.project-sticky-form .pef-card{

    max-width:300px;
    padding:15px;

    width:100%;

    margin-left:auto;

    padding:18px;

    border-radius:18px;

    animation:none;
}

.project-sticky-form .pef-header{

    margin-bottom:18px;
}

.project-sticky-form .pef-header h3{

    font-size:22px;

    margin-bottom:6px;
}

.project-sticky-form .pef-header p{

      font-size:12px;
    line-height:1.4;
}

.project-sticky-form .pef-field{

    margin-bottom:10px;
}

.project-sticky-form .pef-field input,
.project-sticky-form .pef-field select{

  padding:9px 12px;
    height:44px;
}

.project-sticky-form .pef-field textarea{

    min-height:70px;
    padding:10px 12px;

    font-size:14px;
}

.project-sticky-form .pef-submit-btn{

    padding:13px;

    font-size:15px;
}

/* ==========================================
   Tablet
========================================== */

@media(max-width:991px){

    .project-sticky-form{

        position:static;

        margin-top:30px;
    }

    .project-sticky-form .pef-card{

        max-width:100%;
    }
}

/* ==========================================
   Mobile
========================================== */

@media(max-width:767px){

    .project-sticky-form .pef-card{

        padding:18px;
    }

    .project-sticky-form .pef-header h3{

        font-size:20px;
    }

    .project-sticky-form .pef-field input,
    .project-sticky-form .pef-field select,
    .project-sticky-form .pef-field textarea{

        font-size:16px;
    }
}