/* Floating contact v2.2 */
.mdfcv22-wrap{ position: fixed; right: 20px; bottom: 20px; z-index: 99999; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
.mdfcv22-btn{ width: 46px; height: 46px; border-radius: 9999px; border: none; color: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.2); display: grid; place-content: center; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; background:#2563eb; }
.mdfcv22-btn:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.25); }
.mdfcv22-modal{ position: fixed; inset: 0; background: rgba(0,0,0,.35); display: flex; align-items: flex-end; justify-content: flex-end; padding: 20px; opacity: 0; visibility: hidden; transition: opacity .18s ease; }
.mdfcv22-modal.mdfcv22-show{ opacity: 1; visibility: visible; }
.mdfcv22-card{ width: 340px; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,.3); animation: mdfcv22In .18s ease-out; }
@keyframes mdfcv22In{ from{ transform: translateY(10px); opacity: .6 } to{ transform: translateY(0); opacity: 1 } }
.mdfcv22-header{ display:flex; align-items:center; justify-content: space-between; padding: 12px 14px; background:#2563eb; color:#fff; }
.mdfcv22-header h3{ margin:0; font-size: 15px; letter-spacing: .3px; }
.mdfcv22-close{ background: transparent; border: none; font-size: 22px; line-height: 1; cursor:pointer; color:#fff; }
.mdfcv22-form{ padding: 14px 16px 16px; }
.mdfcv22-field{ margin-bottom: 10px; }
.mdfcv22-field label{ display:block; margin-bottom: 4px; font-size: 12px; color:#111; font-weight:700; letter-spacing:.3px; }
.mdfcv22-field input{ width: 100%; border:1px solid #d7dce1; border-radius: 10px; padding: 10px 12px; font-size: 14px; outline: none; }
.mdfcv22-field input:focus{ border-color:#2563eb; box-shadow: 0 0 0 4px rgba(37,99,235,.12); }
.mdfcv22-submit{ width: 100%; border:none; border-radius: 10px; padding: 10px 12px; font-weight: 700; color: #fff; background:#2563eb; cursor:pointer; }
.mdfcv22-submit[disabled]{ opacity:.75; cursor:not-allowed; }
.mdfcv22-feedback{ font-size: 12px; margin-top: 8px; text-align:center; }
.mdfcv22-ok{ color: #15803d; }
.mdfcv22-err{ color: #b91c1c; }
@media (max-width: 480px){ .mdfcv22-card{ width: 100%; } }
