.contact-form-wrap{width:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:2rem}
.form-success{text-align:center;padding:2rem 1rem}
.form-success svg{margin-bottom:0.75rem}
.form-success p{color:var(--text-secondary);margin-bottom:0.5rem;font-size:0.93rem}
.form-error-msg{background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.25);border-radius:var(--radius-sm);padding:0.75rem 1rem;margin-bottom:1.5rem;color:#fca5a5;font-size:0.9rem}
.form-row{display:grid;gap:1rem;margin-bottom:0}
@media (min-width:480px){.form-row{grid-template-columns:1fr 1fr}}
.form-group{margin-bottom:1.15rem}
.form-group label{display:block;margin-bottom:0.35rem;font-size:0.85rem;font-weight:600;color:var(--text-secondary)}
.required{color:var(--accent-light)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-size:0.93rem;transition:border-color var(--transition-base);outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.form-group textarea{resize:vertical;min-height:120px}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23b0aca4' fill='none' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.75rem center;background-size:14px;padding-right:2.5rem}
.form-error{display:block;color:#fca5a5;font-size:0.78rem;margin-top:0.3rem;min-height:1.2em}
.char-counter{display:block;text-align:right;font-size:0.75rem;color:#9ca3af;margin-top:0.25rem}
.hp-wrap{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.form-rodo{margin-bottom:1.5rem}
.form-group .checkbox-label{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:0.75rem;margin-bottom:0;cursor:pointer;font-size:0.85rem;color:var(--text-secondary);line-height:1.55}
.checkbox-label input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0}
.checkmark{width:22px;height:22px;border:2px solid var(--border-color);border-radius:5px;position:relative;margin-top:0.05rem;background:var(--bg-secondary);transition:all var(--transition-base)}
.checkbox-text{display:block;min-width:0}
.checkbox-text a{color:var(--accent-light);font-weight:600}
.checkbox-text a:hover{text-decoration:underline}
.checkbox-label input:checked~.checkmark{background:var(--accent);border-color:var(--accent)}
.checkbox-label input:checked~.checkmark::after{content:'';position:absolute;top:2px;left:5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.checkbox-label input:focus-visible~.checkmark{box-shadow:0 0 0 3px var(--accent-glow)}
.contact-form.is-loading{pointer-events:none;opacity:0.6;transition:opacity var(--transition-base)}
.contact-form.is-loading button[type="submit"]{display:flex;align-items:center;justify-content:center;gap:0.6rem}
.contact-form.is-loading button[type="submit"]::after{content:'';width:18px;height:18px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.contact-form.is-loading .form-group input,.contact-form.is-loading .form-group select,.contact-form.is-loading .form-group textarea{pointer-events:none}
.form-ajax-result{text-align:center;padding:2.5rem 1rem;animation:fadeUp .45s cubic-bezier(0.4,0,0.2,1) both}
.form-ajax-result svg{margin-bottom:0.75rem}
.form-ajax-result p{color:var(--text-secondary);margin-bottom:0.5rem;font-size:0.93rem}
.form-ajax-result p strong{color:var(--text-primary);font-size:1.05rem}
.form-ajax-error p strong{color:#f87171}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
