/* IVT Pardubice – stav polí poptávkového formuláře (validace.js): ✓ ověřeno, ! varování, × chyba, kolečko = ověřuji. */
.wpcf7-form-control-wrap.ivt-v { display: block; position: relative; }
.ivt-v-icon { display: none; position: absolute; right: 12px; top: calc(var(--ivt-h, 50px) / 2 - 9px); width: 18px; height: 18px; pointer-events: none; }
.ivt-v[data-ivt-state] .ivt-v-icon { display: block; }
.ivt-v[data-ivt-state] > input { padding-right: 40px !important; }
.ivt-v[data-ivt-state="checking"] .ivt-v-icon { box-sizing: border-box; border: 2px solid #d5d8dc; border-top-color: #0d4da1; border-radius: 50%; animation: ivt-spin .75s linear infinite; }
.ivt-v[data-ivt-state="ok"] .ivt-v-icon,
.ivt-v[data-ivt-state="warn"] .ivt-v-icon,
.ivt-v[data-ivt-state="error"] .ivt-v-icon { -webkit-mask: var(--ivt-icon) center / contain no-repeat; mask: var(--ivt-icon) center / contain no-repeat; }
.ivt-v[data-ivt-state="ok"] .ivt-v-icon { background: #2e7d32; --ivt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17zm4.3 6.2-5.2 5.4-3.4-3.3 1.4-1.4 2 1.9 3.8-4z'/%3E%3C/svg%3E"); }
.ivt-v[data-ivt-state="warn"] .ivt-v-icon { background: #b45309; --ivt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17zM8.9 5h2.2l-.35 6.4h-1.5zM10 13a1.35 1.35 0 1 1 0 2.7 1.35 1.35 0 0 1 0-2.7z'/%3E%3C/svg%3E"); }
.ivt-v[data-ivt-state="error"] .ivt-v-icon { background: #e30614; --ivt-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 1.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17zM6.9 5.5 10 8.6l3.1-3.1 1.4 1.4-3.1 3.1 3.1 3.1-1.4 1.4-3.1-3.1-3.1 3.1-1.4-1.4 3.1-3.1-3.1-3.1z'/%3E%3C/svg%3E"); }
.ivt-v[data-ivt-state="ok"] > input { border-bottom-color: #2e7d32 !important; }
.ivt-v[data-ivt-state="warn"] > input { border-bottom-color: #b45309 !important; }
.ivt-v[data-ivt-state="error"] > input { border-bottom-color: #e30614 !important; }
.ivt-v-msg { display: block; margin: 6px 0 0; font-size: 13px; font-style: normal; font-weight: 500; line-height: 1.4; color: #41484e; }
.ivt-v-msg:empty { display: none; }
.ivt-v[data-ivt-state="ok"] .ivt-v-msg { color: #2e7d32; }
.ivt-v[data-ivt-state="warn"] .ivt-v-msg { color: #8a4b08; }
.ivt-v[data-ivt-state="error"] .ivt-v-msg { color: #c40512; }
.ivt-v-fix { font: inherit; font-weight: 700; color: inherit; background: none; border: 0; padding: 0; margin: 0; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.ivt-v-fix:focus-visible { outline: 2px solid #0d4da1; outline-offset: 2px; }
@keyframes ivt-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ivt-v[data-ivt-state="checking"] .ivt-v-icon { animation-duration: 2.5s; } }
