/**
 * CF7 Validation Fix Styles
 * ZABRÁNIT spuštění spinnerů při nevalidovaných polích
 */

/* ÚPLNÉ ZABLOKOVÁNÍ spinnerů při validation-blocked */
.wpcf7-form.validation-blocked .wpcf7-spinner {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Zablokování při prázdných required polích */
.wpcf7-form:has([aria-required="true"]:invalid) .wpcf7-spinner,
.wpcf7-form:has([aria-required="true"][value=""]) .wpcf7-spinner {
    display: none !important;
    visibility: hidden !important;
}

/* Skrytí spinneru při invalid stavu */
.wpcf7-form.invalid .wpcf7-spinner {
    display: none !important;
    visibility: hidden !important;
}

/* Skrytí spinneru při validation failed */
.wpcf7-form[data-status="invalid"] .wpcf7-spinner,
.wpcf7-form[data-status="validation_failed"] .wpcf7-spinner {
    display: none !important;
    visibility: hidden !important;
}

/* Zajištění že tlačítko není disabled při chybě */
.wpcf7-form.invalid .wpcf7-submit,
.wpcf7-form.validation-blocked .wpcf7-submit {
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    background: var(--button-bg) !important;
}

/* Okamžité skrytí při chybových třídách */
.wpcf7-not-valid-tip ~ .wpcf7-spinner {
    display: none !important;
}

/* DŮLEŽITÉ: Vždy zobrazit submit tlačítko */
.wpcf7-submit {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Zajištění správného stylu při kliknutí a hoveru */
.wpcf7-submit:hover {
    background-color: #005a87 !important;
    color: white !important;
    transition: background-color 0.2s;
}

.wpcf7-submit:active,
.wpcf7-submit:focus {
    background-color: #007cba !important;
    color: white !important;
    transform: translateY(1px);
}

/* Zajištění funkčního stylu tlačítka */
input[type="submit"].wpcf7-submit {
    background-color: #007cba !important;
    color: white !important;
    border: none !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
}

/* EXTRA VYSOKÁ PRIORITA pro modrou barvu při kliknutí */
input[type="submit"].wpcf7-submit:active,
input[type="submit"].wpcf7-submit:focus,
.wpcf7-submit:active,
.wpcf7-submit:focus {
    background-color: #0073aa !important;
    background: #0073aa !important;
    color: white !important;
    outline: none !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.3) !important;
}

/* Ještě specifičtější pro hover */
input[type="submit"].wpcf7-submit:hover,
.wpcf7-submit:hover {
    background-color: #005a87 !important;
    background: #005a87 !important;
    color: white !important;
}

/* Při zobrazení validation errors skrýt spinner */
.wpcf7-response-output:not(:empty) ~ * .wpcf7-spinner,
.wpcf7-form:has(.wpcf7-not-valid) .wpcf7-spinner {
    display: none !important;
    visibility: hidden !important;
}

/* PREVENCE - spinner se nesmí spustit když jsou pole prázdná */
.wpcf7-form .wpcf7-spinner {
    transition: none !important;
}

/* Okamžité skrytí při jakýchkoli chybách */
.wpcf7-form.wpcf7-spam .wpcf7-spinner,
.wpcf7-form.wpcf7-mail-sent-ng .wpcf7-spinner {
    display: none !important;
    visibility: hidden !important;
}