/**
 * DOMATEN Course Enrollment
 * Frontend Styles
 */

/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/

:root{

    --dce-primary:#C89B3C;

    --dce-primary-hover:#B98928;

    --dce-dark:#222222;

    --dce-text:#555555;

    --dce-border:#E8E8E8;

    --dce-bg:#F7F8FA;

    --dce-white:#FFFFFF;

    --dce-success:#16A34A;

    --dce-warning:#F59E0B;

    --dce-danger:#DC2626;

    --dce-radius:14px;

    --dce-shadow:0 10px 35px rgba(0,0,0,.06);

}

/*--------------------------------------------------------------
# Container
--------------------------------------------------------------*/

.dce-container{

    max-width:760px;

    margin:60px auto;

    padding:0 20px;

}

.dce-card{

    background:#fff;

    border:1px solid var(--dce-border);

    border-radius:var(--dce-radius);

    box-shadow:var(--dce-shadow);

    padding:40px;

}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

.dce-header{

    text-align:center;

    margin-bottom:35px;

}

.dce-pill{

    display:inline-block;

    background:#FFF8EA;

    color:var(--dce-primary);

    padding:7px 16px;

    border-radius:999px;

    font-size:13px;

    font-weight:600;

    margin-bottom:18px;

}

.dce-header h2{

    margin:0;

    font-size:32px;

    color:var(--dce-dark);

}

.dce-header p{

    margin-top:12px;

    color:var(--dce-text);

    line-height:1.7;

}

/*--------------------------------------------------------------
# Form
--------------------------------------------------------------*/

.dce-form-group{

    margin-bottom:22px;

}

.dce-form-group label{

    display:block;

    font-weight:600;

    margin-bottom:8px;

    color:var(--dce-dark);

}

.dce-form-group input,

.dce-form-group select,

.dce-form-group textarea{

    width:100%;

    padding:14px 16px;

    border:1px solid var(--dce-border);

    border-radius:10px;

    background:#fff;

    transition:.25s;

    font-size:15px;

}

.dce-form-group input:focus,

.dce-form-group select:focus,

.dce-form-group textarea:focus{

    outline:none;

    border-color:var(--dce-primary);

    box-shadow:0 0 0 4px rgba(200,155,60,.12);

}

/*--------------------------------------------------------------
# Checkbox
--------------------------------------------------------------*/

.dce-checkbox{

    margin:28px 0;

    font-size:15px;

    line-height:1.7;

}

.dce-checkbox a{

    color:var(--dce-primary);

    text-decoration:none;

}

.dce-checkbox a:hover{

    text-decoration:underline;

}

/*--------------------------------------------------------------
# Button
--------------------------------------------------------------*/

.dce-button{

    width:100%;

    border:none;

    background:var(--dce-primary);

    color:#fff;

    border-radius:12px;

    padding:16px;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.dce-button:hover{

    background:var(--dce-primary-hover);

}

/*--------------------------------------------------------------
# Alerts
--------------------------------------------------------------*/

.dce-alert{

    border-radius:12px;

    padding:18px;

    margin-bottom:25px;

}

.dce-alert-error{

    background:#FEF2F2;

    color:#991B1B;

}

/*--------------------------------------------------------------
# Thank You
--------------------------------------------------------------*/

.dce-thank-you{

    max-width:720px;

    margin:60px auto;

    background:#fff;

    border-radius:16px;

    padding:45px;

    box-shadow:var(--dce-shadow);

    text-align:center;

}

.dce-success-icon{

    width:90px;

    height:90px;

    border-radius:50%;

    margin:auto;

    background:#ECFDF3;

    color:var(--dce-success);

    font-size:42px;

    line-height:90px;

    font-weight:bold;

}

.dce-error-icon{

    width:90px;

    height:90px;

    border-radius:50%;

    margin:auto;

    background:#FEF2F2;

    color:var(--dce-danger);

    font-size:42px;

    line-height:90px;

    font-weight:bold;

}

.dce-summary{

    margin:35px 0;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

.dce-summary div{

    background:#FAFAFA;

    border-radius:12px;

    padding:20px;

}

/*--------------------------------------------------------------
# Responsive
--------------------------------------------------------------*/

@media(max-width:768px){

    .dce-card{

        padding:28px;

    }

    .dce-summary{

        grid-template-columns:1fr;

    }

    .dce-header h2{

        font-size:26px;

    }

}

/* Validation */

.dce-valid{

    border-color:#16A34A !important;

}

.dce-invalid{

    border-color:#DC2626 !important;

}

/* Loading Button */

.dce-loading{

    opacity:.85;

    cursor:not-allowed;

}

/* Spinner */

.dce-spinner{

    display:inline-block;

    width:18px;

    height:18px;

    margin-right:10px;

    border:2px solid rgba(255,255,255,.4);

    border-top-color:#fff;

    border-radius:50%;

    animation:dce-spin .7s linear infinite;

    vertical-align:middle;

}

@keyframes dce-spin{

    to{

        transform:rotate(360deg);

    }

}