/* Contact Form */
.cvm-contact { /* padding + font from common.css */ }

.cvm-contact__form { max-width: 560px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }

.cvm-contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

body .cvm-contact__input,
body .cvm-contact__textarea {
    width: 100%; padding: 14px 18px !important;
    background: rgba(255,255,255,0.07) !important;
    border: 1.5px solid rgba(255,255,255,0.12) !important;
    border-radius: var(--cvm-radius-sm) !important; color: #fff !important;
    font-family: var(--cvm-font-body) !important; font-size: 0.9rem !important;
    transition: border-color 0.2s, background 0.2s;
    outline: none;
}
.cvm-contact__input::placeholder,
.cvm-contact__textarea::placeholder { color: rgba(255,255,255,0.35); }
.cvm-contact__input:focus,
.cvm-contact__textarea:focus {
    border-color: var(--cvm-blue-400); background: rgba(255,255,255,0.1);
}
.cvm-contact__textarea { height: 130px; resize: vertical; }

body .cvm-contact__submit {
    background: linear-gradient(90deg, var(--cvm-blue-400), var(--cvm-accent-light)) !important;
    color: var(--cvm-blue-900) !important; border: none !important; border-radius: 50px !important;
    padding: 16px !important; font-size: 0.95rem !important; font-weight: 700 !important;
    cursor: pointer; font-family: var(--cvm-font-body) !important;
    transition: opacity 0.2s, transform 0.2s;
    box-shadow: 0 8px 28px rgba(96,165,250,0.35);
}
.cvm-contact__submit:hover { opacity: 0.92; transform: translateY(-2px); }
.cvm-contact__submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

.cvm-contact__feedback {
    text-align: center; padding: 12px; border-radius: var(--cvm-radius-sm);
    font-size: 0.9rem; font-weight: 600;
}
.cvm-contact__feedback.success { background: rgba(34,197,94,0.15); color: #22c55e; }
.cvm-contact__feedback.error { background: rgba(239,68,68,0.15); color: #ef4444; }

@media (max-width: 600px) {
    .cvm-contact__row { grid-template-columns: 1fr; }
}
