.elementor-427 .elementor-element.elementor-element-7d50bc4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-7a5037c *//* ===== Root ===== */

.gc-wrapper{
    max-width:1200px;
    margin:60px auto;
    padding:0 20px;
    font-family:Inter,Segoe UI,sans-serif;
}

/* ===== Hero ===== */

.gc-hero{
    text-align:center;
    margin-bottom:40px;
}

.gc-hero h1{
    font-size:42px;
    font-weight:700;
    color:#0f172a;
    margin-bottom:10px;
}

.gc-hero p{
    font-size:16px;
    color:#64748b;
    max-width:700px;
    margin:auto;
}

/* ===== Cards ===== */

.gc-card{
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:30px;
    margin-bottom:25px;
    box-shadow:
        0 4px 10px rgba(0,0,0,.03),
        0 10px 30px rgba(0,0,0,.05);
    transition:.3s;
}

.gc-card:hover{
    transform:translateY(-2px);
}

.gc-card-header{
    margin-bottom:25px;
}

.gc-card-header h2{
    font-size:22px;
    font-weight:700;
    color:#111827;
    margin:0;
}

/* ===== Grid ===== */

.gc-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.gc-field{
    display:flex;
    flex-direction:column;
}

.gc-field.full{
    grid-column:1/-1;
}

/* ===== Labels ===== */

.gc-field label{
    font-size:14px;
    font-weight:600;
    color:#374151;
    margin-bottom:8px;
}

/* ===== Inputs ===== */

.gc-field input,
.gc-field select,
.gc-field textarea{

    width:100%;
    height:54px;

    border:1px solid #dbe1e8;
    border-radius:14px;

    padding:0 16px;

    font-size:15px;
    color:#111827;

    background:#fff;

    transition:.25s;

    box-sizing:border-box;
}

.gc-field textarea{
    height:130px;
    padding:14px 16px;
    resize:vertical;
}

.gc-field input:focus,
.gc-field select:focus,
.gc-field textarea:focus{

    border-color:#2563eb;

    box-shadow:
    0 0 0 4px rgba(37,99,235,.12);

    outline:none;
}

/* ===== Placeholder ===== */

.gc-field input::placeholder,
.gc-field textarea::placeholder{
    color:#94a3b8;
}

/* ===== Upload Inputs ===== */

.gc-field input[type="file"]{

    height:auto;
    min-height:130px;

    border:2px dashed #cbd5e1;

    background:#f8fafc;

    padding:30px 20px;

    cursor:pointer;
}

.gc-field input[type="file"]:hover{
    border-color:#2563eb;
}

/* ===== Checkbox ===== */

.gc-checkbox{

    display:flex !important;
    align-items:flex-start;
    gap:12px;

    line-height:1.6;
}

.gc-checkbox input{

    width:20px !important;
    height:20px !important;

    margin-top:2px;
}

/* ===== Submit Button ===== */

.gc-submit-btn{

    width:100%;

    height:60px;

    border:none;

    border-radius:16px;

    background:#2563eb;

    color:#fff;

    font-size:16px;
    font-weight:600;

    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    transition:.25s;
}

.gc-submit-btn:hover{
    background:#1d4ed8;
}

.gc-submit-btn:disabled{

    opacity:.7;
    cursor:not-allowed;
}

/* ===== Spinner ===== */

.gc-spinner{

    display:none;

    width:18px;
    height:18px;

    border:2px solid rgba(255,255,255,.35);
    border-top:2px solid #fff;

    border-radius:50%;

    animation:gc-spin .8s linear infinite;
}

@keyframes gc-spin{
    to{
        transform:rotate(360deg);
    }
}

/* ===== Success & Error ===== */

#statusMessage{

    margin-bottom:20px;

    padding:15px 18px;

    border-radius:12px;

    display:none;

    font-weight:600;
}

.gc-success{

    display:block !important;

    background:#ecfdf5;
    color:#15803d;

    border:1px solid #bbf7d0;
}

.gc-error{

    display:block !important;

    background:#fef2f2;
    color:#dc2626;

    border:1px solid #fecaca;
}

/* ===== Popup ===== */

.gc-popup-overlay{

    position:fixed;
    inset:0;

    background:rgba(0,0,0,.55);

    display:flex;
    justify-content:center;
    align-items:center;

    z-index:999999;
}

.gc-popup{

    background:#fff;

    width:90%;
    max-width:450px;

    padding:35px;

    border-radius:24px;

    text-align:center;

    animation:popupIn .25s ease;
}

@keyframes popupIn{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

.gc-popup-icon{

    width:80px;
    height:80px;

    margin:auto auto 15px;

    border-radius:50%;

    background:#dcfce7;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:36px;
}

.gc-popup h3{

    margin-bottom:10px;

    font-size:24px;

    color:#111827;
}

.gc-popup p{

    color:#64748b;
    margin-bottom:20px;
}

.gc-popup button{

    background:#2563eb;
    color:#fff;

    border:none;

    padding:12px 28px;

    border-radius:12px;

    cursor:pointer;
}

/* ===== Hidden Elector Fields ===== */

.elector-hidden{
    display:none;
}

/* ===== Mobile ===== */

@media(max-width:768px){

    .gc-hero h1{
        font-size:30px;
    }

    .gc-grid{
        grid-template-columns:1fr;
    }

    .gc-card{
        padding:22px;
    }

    .gc-submit-btn{
        height:56px;
    }
}/* End custom CSS */