/* ==========================================================
   CONTACT
========================================================== */

#contact{
    scroll-margin-top:var(--section-scroll-offset);
}

.contact-wrapper{
    width:100%;
    max-width:1300px;
    margin:60px auto 0;
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:40px;
}

.contact-card{
    background:var(--card-color);
    border:1px solid var(--border);
    border-radius:24px;
    backdrop-filter:blur(18px);
    padding:40px;
    box-shadow:var(--shadow);
}

.contact-card h3{
    margin-bottom:35px;
    font-size:1.6rem;
    color:var(--text);
}

.contact-info{
    display:flex;
    flex-direction:column;
    gap:28px;
}

.contact-item{
    display:flex;
    align-items:flex-start;
    gap:18px;
}

.contact-item i{
    width:46px;
    height:46px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.1rem;
    background:rgba(0,229,255,.12);
    color:var(--primary);
}

.contact-item strong{
    display:block;
    margin-bottom:6px;
    color:var(--text);
}

.contact-item span{
    color:var(--text-soft);
    line-height:1.6;
}

#contactForm{
    display:flex;
    flex-direction:column;
    gap:22px;
}

#contactForm input,
#contactForm textarea{
    width:100%;
    padding:16px 18px;
    border-radius:14px;
    border:1px solid var(--border);
    background:rgba(255,255,255,.03);
    color:var(--text);
    font-size:1rem;
    font-family:inherit;
    box-sizing:border-box;
    transition:.3s;
}

#contactForm input::placeholder,
#contactForm textarea::placeholder{
    color:var(--text-soft);
}

#contactForm input:focus,
#contactForm textarea:focus{
    outline:none;
    border-color:var(--primary);
}

#contactForm textarea{
    min-height:180px;
    resize:vertical;
}

#contactForm button{
    align-self:center;
    min-width:220px;
    margin-top:50px;
}

.contact-intro{
    margin-bottom:30px;
    color:var(--text-soft);
    line-height:1.8;
}

.contact-service-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.contact-service{
    display:flex;
    align-items:center;
    gap:15px;
    padding:12px 0;
}

.contact-service i{
    color:var(--primary);
    font-size:1.1rem;
}

.contact-service span{
    color:var(--text);
    font-weight:500;
}

.contact-note{
    margin-top:40px;
    padding-top:25px;
    border-top:1px solid var(--border);
}

.contact-note strong{
    display:block;
    margin-bottom:8px;
    color:var(--text);
}

.contact-note span{
    color:var(--text-soft);
}

#contact .section-title{
    margin-bottom:20px;
}

.contact-form-status {
    min-height:24px;
    margin:16px 0 0;
    font-size:.9rem;
    line-height:1.5;
    text-align:center;
}

.contact-form-status.success {
    color:var(--icon-accent,currentColor);
}

.contact-form-status.error {
    color:#dc3545;
}

#contactSubmitButton:disabled {
    opacity:.6;
    cursor:not-allowed;
}
