/*==========================================================
  CADSAT Admission Popup
  popup.css
==========================================================*/

/*----------------------------------------------------------
ROOT COLORS
----------------------------------------------------------*/

:root{

    --primary:#ff6b35;
    --primary-dark:#f25a22;
    --primary-light:#fff3ee;

    --text:#2d3748;
    --text-light:#718096;

    --border:#e5e7eb;

    --white:#ffffff;

    --shadow:
        0 30px 80px rgba(0,0,0,.25);

}

/*----------------------------------------------------------
OVERLAY
----------------------------------------------------------*/

.payment-popup{

    position:fixed;

    inset:0;

    display:none;

    justify-content:center;

    align-items:center;

    padding:40px 20px;

    background:rgba(0,0,0,.65);

    backdrop-filter:blur(6px);

    z-index:999999;

    overflow:auto;

}

.payment-popup.active{

    display:flex;

    animation:popupFade .35s ease;

}

/*----------------------------------------------------------
DIALOG
----------------------------------------------------------*/

.payment-dialog{

    width:100%;

    max-width:680px;

    height:min(90vh,850px);

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    box-shadow:var(--shadow);

    animation:popupScale .35s ease;

}

/*----------------------------------------------------------
HEADER
----------------------------------------------------------*/

.payment-header{

    flex-shrink:0;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:24px 30px;

    background:linear-gradient(
        135deg,
        var(--primary),
        #ff914d
    );

    color:#fff;

}

.payment-header h2{

    margin:0;

    font-size:28px;

    font-weight:700;

}

.payment-header p{

    margin-top:6px;

    font-size:14px;

    opacity:.95;

}

/*----------------------------------------------------------
CLOSE BUTTON
----------------------------------------------------------*/

.payment-close{

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    color:#fff;

    font-size:30px;

    cursor:pointer;

    transition:.3s;

}

.payment-close:hover{

    background:#fff;

    color:var(--primary);

    transform:rotate(90deg);

}

/*----------------------------------------------------------
SCROLLABLE BODY
----------------------------------------------------------*/

.payment-body{

    flex:1;

    overflow-y:auto;

    overflow-x:hidden;

    padding:32px;

    background:#fff;

}

/*----------------------------------------------------------
FOOTER
----------------------------------------------------------*/

.payment-footer{

    flex-shrink:0;

    background:#fff;

    border-top:1px solid var(--border);

    padding:20px 30px;

    display:flex;

    flex-direction:column;

    gap:18px;

}

/*----------------------------------------------------------
CUSTOM SCROLLBAR
----------------------------------------------------------*/

.payment-body::-webkit-scrollbar{

    width:8px;

}

.payment-body::-webkit-scrollbar-track{

    background:#f3f4f6;

}

.payment-body::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:20px;

}

.payment-body::-webkit-scrollbar-thumb:hover{

    background:var(--primary-dark);

}

/*----------------------------------------------------------
ANIMATIONS
----------------------------------------------------------*/

@keyframes popupFade{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}

@keyframes popupScale{

    from{

        opacity:0;

        transform:translateY(40px) scale(.95);

    }

    to{

        opacity:1;

        transform:translateY(0) scale(1);

    }

}
/*==========================================================
  CADSAT popup.css — Part 2
==========================================================*/
/*==========================================================
FORM
==========================================================*/

#paymentForm{

    display:flex;

    flex-direction:column;

    gap:22px;

}

/*==========================================================
GROUP
==========================================================*/

.payment-group{

    display:flex;

    flex-direction:column;

}

.payment-group label{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-bottom:8px;

    color:var(--text);

    font-size:15px;

    font-weight:600;

}

.payment-group label span{

    color:#dc2626;

    font-size:13px;

}

/*==========================================================
INPUTS
==========================================================*/

.payment-group input,

.payment-group select,

.payment-group textarea{

    width:100%;

    font-size:15px;

    font-family:inherit;

    color:var(--text);

    background:#fafafa;

    border:1px solid var(--border);

    border-radius:14px;

    transition:.25s ease;

    box-sizing:border-box;

}

/*----------------------------------------------------------
INPUT
----------------------------------------------------------*/

.payment-group input,

.payment-group select{

    height:54px;

    padding:0 18px;

}

/*----------------------------------------------------------
TEXTAREA
----------------------------------------------------------*/

.payment-group textarea{

    min-height:120px;

    resize:vertical;

    padding:15px 18px;

}

/*==========================================================
PLACEHOLDER
==========================================================*/

.payment-group input::placeholder,

.payment-group textarea::placeholder{

    color:#9ca3af;

}

/*==========================================================
FOCUS
==========================================================*/

.payment-group input:focus,

.payment-group select:focus,

.payment-group textarea:focus{

    outline:none;

    background:#fff;

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(255,107,53,.15);

}

/*==========================================================
READONLY
==========================================================*/

.payment-group input[readonly]{

    background:var(--primary-light);

    color:var(--primary-dark);

    font-weight:700;

    cursor:default;

}

/*==========================================================
DISABLED
==========================================================*/

.payment-group input:disabled,

.payment-group select:disabled{

    opacity:.65;

    cursor:not-allowed;

}

/*==========================================================
ERROR
==========================================================*/

.payment-group input.error,

.payment-group select.error,

.payment-group textarea.error{

    border-color:#dc2626;

    background:#fff5f5;

}

.payment-error{

    margin-top:6px;

    font-size:13px;

    color:#dc2626;

}

/*==========================================================
SUCCESS
==========================================================*/

.payment-group input.valid,

.payment-group select.valid{

    border-color:#16a34a;

}

/*==========================================================
CHECKBOX
==========================================================*/

.payment-checkbox{

    display:flex;

    align-items:flex-start;

    gap:12px;

    font-size:14px;

    color:var(--text-light);

    line-height:1.6;

}

.payment-checkbox input{

    width:20px;

    height:20px;

    margin-top:2px;

    accent-color:var(--primary);

    cursor:pointer;

}

.payment-checkbox span{

    flex:1;

}

/*==========================================================
BUTTON
==========================================================*/

.payment-submit{

    width:100%;

    height:58px;

    border:none;

    border-radius:14px;

    background:linear-gradient(
        135deg,
        var(--primary),
        #ff914d
    );

    color:#fff;

    font-size:17px;

    font-weight:700;

    cursor:pointer;

    transition:.25s ease;

}

.payment-submit:hover{

    transform:translateY(-2px);

    box-shadow:0 15px 30px rgba(255,107,53,.25);

}

.payment-submit:active{

    transform:scale(.98);

}

.payment-submit:disabled{

    opacity:.6;

    cursor:not-allowed;

    transform:none;

    box-shadow:none;

}

/*==========================================================
SMALL HELP TEXT
==========================================================*/

.payment-help{

    margin-top:6px;

    font-size:13px;

    color:var(--text-light);

}

/*==========================================================
SECTION DIVIDER
==========================================================*/

.payment-divider{

    margin:10px 0;

    border-top:1px solid #ececec;

}

/*==========================================================
FORM TITLE (Optional)
==========================================================*/

.payment-section-title{

    margin-bottom:6px;

    color:var(--primary);

    font-size:18px;

    font-weight:700;

}
/*==========================================================
  CADSAT popup.css — Part 3
==========================================================*/

/*==========================================================
RESPONSIVE - TABLETS
==========================================================*/

@media (max-width:992px){

    .payment-dialog{

        max-width:640px;

    }

}

/*==========================================================
RESPONSIVE - MOBILE
==========================================================*/

@media (max-width:768px){

    .payment-popup{

        padding:12px;

        align-items:flex-end;

    }

    .payment-dialog{

        width:100%;

        height:95vh;

        max-height:none;

        border-radius:22px 22px 0 0;

    }

    .payment-header{

        padding:20px;

    }

    .payment-header h2{

        font-size:24px;

    }

    .payment-header p{

        font-size:13px;

    }

    .payment-body{

        padding:20px;

    }

    .payment-footer{

        padding:18px 20px;

    }

    .payment-submit{

        height:54px;

        font-size:16px;

    }

}

/*==========================================================
SMALL MOBILE
==========================================================*/

@media (max-width:480px){

    .payment-popup{

        padding:0;

    }

    .payment-dialog{

        width:100%;

        height:100vh;

        border-radius:0;

    }

    .payment-header{

        padding:18px;

    }

    .payment-header h2{

        font-size:21px;

    }

    .payment-close{

        width:38px;

        height:38px;

        font-size:26px;

    }

    .payment-body{

        padding:18px;

    }

    .payment-footer{

        padding:16px 18px;

        gap:14px;

    }

    .payment-group input,

    .payment-group select{

        height:50px;

        font-size:15px;

    }

    .payment-submit{

        height:52px;

        font-size:15px;

    }

}

/*==========================================================
LANDSCAPE PHONE
==========================================================*/

@media (max-height:600px){

    .payment-dialog{

        height:100vh;

        border-radius:0;

    }

}

/*==========================================================
BUTTON LOADING
==========================================================*/

.payment-submit.loading{

    pointer-events:none;

    opacity:.85;

}

.payment-submit.loading::after{

    content:"";

    width:18px;

    height:18px;

    margin-left:12px;

    display:inline-block;

    border:2px solid rgba(255,255,255,.4);

    border-top-color:#fff;

    border-radius:50%;

    animation:paymentSpin .8s linear infinite;

    vertical-align:middle;

}

@keyframes paymentSpin{

    to{

        transform:rotate(360deg);

    }

}

/*==========================================================
INPUT AUTOFILL
==========================================================*/

input:-webkit-autofill,

input:-webkit-autofill:hover,

input:-webkit-autofill:focus{

    -webkit-box-shadow:0 0 0 1000px #fff inset;

    -webkit-text-fill-color:var(--text);

    transition:background-color 9999s ease-in-out 0s;

}

/*==========================================================
ACCESSIBILITY
==========================================================*/

.payment-close:focus,

.payment-submit:focus,

.payment-group input:focus,

.payment-group select:focus,

.payment-group textarea:focus{

    outline:none;

}

/*==========================================================
REDUCED MOTION
==========================================================*/

@media (prefers-reduced-motion:reduce){

    *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}

/*==========================================================
UTILITY CLASSES
==========================================================*/

.hidden{

    display:none !important;

}

.text-center{

    text-align:center;

}

.mt-10{

    margin-top:10px;

}

.mt-20{

    margin-top:20px;

}

.mb-20{

    margin-bottom:20px;

}

/*==========================================================
SUCCESS SCREEN
==========================================================*/

.payment-success{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    min-height:400px;

    padding:40px;

}

.payment-success svg{

    width:80px;

    height:80px;

    margin-bottom:25px;

    color:#16a34a;

}

.payment-success h3{

    margin-bottom:10px;

    font-size:28px;

    color:#16a34a;

}

.payment-success p{

    max-width:420px;

    color:var(--text-light);

    line-height:1.8;

}

/*==========================================================
SMOOTH SCROLL
==========================================================*/

.payment-body{

    scroll-behavior:smooth;

}

/*==========================================================
END
==========================================================*/

