/* ==========================================================================
   WPCF7 - CONTACT FORM 7 STYLES
   ========================================================================== */

/* --- 1. Elementy techniczne --- */
.wpcf7 .screen-reader-response {
    position: absolute;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    word-wrap: normal !important;
}

.wpcf7 .hidden-fields-container {
    display: none;
}

.wpcf7-form-control-wrap {
    position: relative;
    display: block; /* Poprawa układu */
}

/* --- 2. GŁÓWNY KOMUNIKAT ZWROTNY --- */

/* Baza dymku (Reset starych ramek) */
.wpcf7 form .wpcf7-response-output {
	box-sizing: content-box;
    margin: 24px 0;
    padding: 16px 24px;
    border: 1px solid transparent!important;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    display: flex;
    align-items: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

/* Ukrycie, gdy formularz nie jest używany */
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
    display: none;
}

/* --- 3. KOLORYSTYKA STANÓW --- */

/* A. SUKCES */
.wpcf7 form.sent .wpcf7-response-output {
    background-color: #E8F7F3;
    color: #007F5F;
	border-color: #BEE3DB!important;
}

/* B. BŁĄD */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    background-color: #FFE5E8;
    color: #FF2564;
	border-color: #FFCCD5!important;
}

/* C. SPAM */
.wpcf7 form.spam .wpcf7-response-output {
    background-color: #F0F6FF;
    color: #2765FF;
	border-color: #D6E4FF!important;
}

/* D. WALIDACJA */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    background-color: #FFE5E8;
    color: #FF2564;
	border-color: #FFCCD5!important;
}

/* --- 4. KOMUNIKATY POD POLAMI (Walidacja inputów) --- */

.wpcf7-not-valid-tip {
    color: #FF2564;
    font-size: 13px;
    font-weight: 500;
    display: block;
    margin-top: 6px;
    margin-bottom: 12px;
	margin-left: 16px;
}

.wpcf7-not-valid {
	margin-bottom: 0;
}

/* Floating validation */
.use-floating-validation-tip .wpcf7-not-valid-tip {
    position: relative;
    top: -2ex;
    left: 1em;
    z-index: 100;
    background: #FFE5E8;
    color: #FF2564;
    padding: 0.5em 1em;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* --- 5. SPINNER --- */

.wpcf7-spinner {
    visibility: hidden;
    display: inline-block;
    background-color: #23282d;
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0 24px;
    position: relative;
    vertical-align: middle;
}

form.submitting .wpcf7-spinner {
    visibility: visible;
}

.wpcf7-spinner::before {
    content: '';
    position: absolute;
    background-color: #fbfbfc;
    top: 4px;
    left: 4px;
    width: 6px;
    height: 6px;
    border: none;
    border-radius: 100%;
    transform-origin: 8px 8px;
    animation-name: spin;
    animation-duration: 1000ms;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* --- 6. POZOSTAŁE STYLE ELEMENTÓW --- */

.wpcf7-list-item,
.wpcf7-list-item label {
    margin: 0;
}

.wpcf7-submit {
	margin: 0;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
    content: " ";
}

.wpcf7 [inert] {
    opacity: 0.5;
}

.wpcf7 input[type="file"] {
    cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
    cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
    direction: ltr;
}