/* ESIN Universal Contact Form
   Easy to override from Elementor/site CSS using the .esin-ucf classes.
*/

.esin-ucf{
    --esin-bg:#0D1014;
    --esin-card:#15191F;
    --esin-input:#0F1318;
    --esin-text:#FFFFFF;
    --esin-muted:#929BA5;
    --esin-line:rgba(255,255,255,.09);
    --esin-accent:#E42A2D;
    --esin-accent-hover:#C91F22;
    --esin-font-heading:"Barlow Condensed",sans-serif;
    --esin-font-body:"Inter",sans-serif;

    width:100%;
    padding:70px 20px;
    background:var(--esin-bg);
    color:var(--esin-text);
}

.esin-ucf--light{
    --esin-bg:#F3F4F5;
    --esin-card:#FFFFFF;
    --esin-input:#F8F9FA;
    --esin-text:#101318;
    --esin-muted:#606872;
    --esin-line:#E1E4E7;
}

.esin-ucf *,
.esin-ucf *::before,
.esin-ucf *::after{
    box-sizing:border-box;
}

.esin-ucf__shell{
    width:100%;
    max-width:900px;
    margin:0 auto;
    padding:38px;
    background:var(--esin-card);
    border:1px solid var(--esin-line);
    border-radius:5px;
}

.esin-ucf__head{
    margin-bottom:28px;
}

.esin-ucf__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:12px;
    font-family:var(--esin-font-body);
    font-size:10px;
    font-weight:700;
    letter-spacing:1.7px;
    text-transform:uppercase;
    color:var(--esin-accent);
}

.esin-ucf__eyebrow::before{
    content:"";
    width:26px;
    height:2px;
    background:var(--esin-accent);
}

.esin-ucf__head h2{
    margin:0 0 12px!important;
    font-family:var(--esin-font-heading);
    font-size:46px;
    font-weight:800;
    line-height:.98;
    text-transform:uppercase;
    color:var(--esin-text);
}

.esin-ucf__head p{
    margin:0!important;
    max-width:650px;
    font-family:var(--esin-font-body);
    font-size:13px;
    line-height:1.7;
    color:var(--esin-muted);
}

.esin-ucf__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.esin-ucf__field{
    margin-bottom:16px;
}

.esin-ucf__grid .esin-ucf__field{
    margin-bottom:0;
}

.esin-ucf__field label{
    display:block;
    margin-bottom:7px;
    font-family:var(--esin-font-body);
    font-size:9px;
    font-weight:700;
    letter-spacing:.65px;
    text-transform:uppercase;
    color:var(--esin-text);
}

.esin-ucf__field label span{
    color:var(--esin-accent);
}

.esin-ucf__field input,
.esin-ucf__field select,
.esin-ucf__field textarea{
    width:100%;
    border:1px solid var(--esin-line);
    border-radius:3px;
    background:var(--esin-input);
    color:var(--esin-text);
    font-family:var(--esin-font-body);
    font-size:12px;
    outline:none;
    box-shadow:none;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.esin-ucf__field input,
.esin-ucf__field select{
    height:50px;
    padding:0 14px;
}

.esin-ucf__field textarea{
    min-height:150px;
    padding:14px;
    resize:vertical;
    line-height:1.6;
}

.esin-ucf__field input::placeholder,
.esin-ucf__field textarea::placeholder{
    color:var(--esin-muted);
    opacity:.75;
}

.esin-ucf__field input:focus,
.esin-ucf__field select:focus,
.esin-ucf__field textarea:focus{
    border-color:var(--esin-accent);
    box-shadow:0 0 0 2px rgba(228,42,45,.08);
}

.esin-ucf__grid + .esin-ucf__field{
    margin-top:16px;
}

.esin-ucf__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.esin-ucf__footer p{
    margin:0!important;
    max-width:470px;
    font-family:var(--esin-font-body);
    font-size:9px;
    line-height:1.55;
    color:var(--esin-muted);
}

.esin-ucf__submit{
    min-width:160px;
    height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 22px;
    border:1px solid var(--esin-accent)!important;
    border-radius:3px!important;
    background:var(--esin-accent)!important;
    color:#fff!important;
    font-family:var(--esin-font-body)!important;
    font-size:9px!important;
    font-weight:700!important;
    letter-spacing:.75px;
    text-transform:uppercase;
    cursor:pointer;
    transition:background-color .2s ease, transform .2s ease;
}

.esin-ucf__submit:hover{
    background:var(--esin-accent-hover)!important;
    transform:translateY(-1px);
}

.esin-ucf__submit:disabled{
    opacity:.65;
    cursor:not-allowed;
    transform:none;
}

.esin-ucf__response{
    display:none;
    margin-top:18px;
    padding:13px 15px;
    border-radius:3px;
    font-family:var(--esin-font-body);
    font-size:11px;
    line-height:1.5;
}

.esin-ucf__response.is-success{
    display:block;
    background:rgba(22,163,106,.10);
    border:1px solid rgba(22,163,106,.28);
    color:#4ed29a;
}

.esin-ucf__response.is-error{
    display:block;
    background:rgba(228,42,45,.10);
    border:1px solid rgba(228,42,45,.28);
    color:#ff7b7d;
}

.esin-ucf__honeypot{
    position:absolute!important;
    left:-99999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}

@media(max-width:767px){
    .esin-ucf{
        padding:55px 15px;
    }

    .esin-ucf__shell{
        padding:26px 20px;
    }

    .esin-ucf__head h2{
        font-size:37px;
    }

    .esin-ucf__grid{
        grid-template-columns:1fr;
        gap:14px;
    }

    .esin-ucf__footer{
        flex-direction:column;
        align-items:stretch;
        gap:16px;
    }

    .esin-ucf__submit{
        width:100%;
    }
}

@media(max-width:420px){
    .esin-ucf{
        padding:48px 12px;
    }

    .esin-ucf__shell{
        padding:23px 16px;
    }

    .esin-ucf__head h2{
        font-size:33px;
    }
}
