/* ==========================================================================
   Arte kamienie – formularze
   Pola WooCommerce (zamówienie, konto), Contact Form 7, formularz zwrotów.
   ========================================================================== */

/* Pola ogólne */
.ak-field input[type="text"],
.ak-field input[type="email"],
.ak-field input[type="tel"],
.ak-field input[type="number"],
.ak-field input[type="password"],
.ak-field input[type="url"],
.ak-field input[type="date"],
.ak-field select,
.ak-field textarea,
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce-page form .form-row .input-text,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="url"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid var(--ak-line-strong);
	border-radius: var(--ak-radius);
	background: var(--ak-surface);
	color: var(--ak-fg);
	font-size: 16px; /* 16 px – iOS nie powiększa strony przy wpisywaniu */
	line-height: 1.4;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.ak-field textarea,
.wpcf7 textarea,
.woocommerce form .form-row textarea { min-height: 140px; resize: vertical; }

.ak-field :is(input, select, textarea):focus,
.woocommerce form .form-row :is(.input-text, select):focus,
.wpcf7 :is(input, select, textarea):focus {
	outline: none;
	border-color: var(--ak-fg);
	box-shadow: 0 0 0 3px rgba(44, 106, 92, 0.18);
}

.ak-field label,
.woocommerce form .form-row label,
.wpcf7 label { display: block; margin-bottom: 6px; font-size: var(--ak-text-sm); font-weight: 600; }

.ak-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.ak-field__hint { font-size: var(--ak-text-xs); color: var(--ak-muted); }
.ak-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
@media (max-width: 560px) { .ak-fields { grid-template-columns: 1fr; } }

/* Checkboxy i radio */
.woocommerce form .form-row input[type="checkbox"],
.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] { width: 18px; height: 18px; accent-color: var(--ak-fg); vertical-align: -3px; margin-right: 8px; }

/* WooCommerce – wiersze formularza */
.woocommerce form .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row .required { color: var(--ak-sale); text-decoration: none; }
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: var(--ak-sale); }
.woocommerce form .form-row.woocommerce-validated .input-text { border-color: var(--ak-line-strong); }
.select2-container .select2-selection--single { height: 48px; border-color: var(--ak-line-strong); border-radius: var(--ak-radius); }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon,
.woocommerce form.lost_reset_password { margin: 0; padding: 0; border: 0; }

/* ==========================================================================
   Contact Form 7
   Zalecany kod formularza (wklej w Kontakt › Formularze):

   <div class="ak-fields">
     <label> Imię [text* your-name autocomplete:name] </label>
     <label> E-mail [email* your-email autocomplete:email] </label>
   </div>
   <label> Numer zamówienia (opcjonalnie) [text order-number] </label>
   <label> Wiadomość [textarea* your-message] </label>
   [acceptance zgoda] Wyrażam zgodę na przetwarzanie danych w celu odpowiedzi. [/acceptance]
   [submit "Wyślij wiadomość"]
   ========================================================================== */

.wpcf7 { max-width: 640px; }
.wpcf7 form > p,
.wpcf7 form > label,
.wpcf7 form .ak-fields > label { margin: 0 0 16px; }
.wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.wpcf7 label { font-weight: 600; }
.wpcf7-list-item { margin: 0 16px 0 0; }
.wpcf7-acceptance .wpcf7-list-item-label,
.wpcf7-list-item-label { font-weight: 400; font-size: var(--ak-text-sm); color: var(--ak-muted); }
.wpcf7 input[type="submit"] { min-width: 200px; margin-top: 8px; }
.wpcf7 .wpcf7-spinner { vertical-align: middle; }

.wpcf7-not-valid-tip { margin-top: 6px; color: var(--ak-sale); font-size: var(--ak-text-xs); font-weight: 600; }
.wpcf7 .wpcf7-not-valid { border-color: var(--ak-sale) !important; }

.wpcf7 form .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 14px 18px;
	border: 0;
	border-left: 3px solid var(--ak-accent);
	border-radius: var(--ak-radius);
	background: var(--ak-accent-soft);
	font-size: 15px;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output { border-left-color: var(--ak-sale); background: var(--ak-sale-soft); }

/* Formularz zwrotów – pola */
.ak-returns .ak-field input[type="file"] { padding: 10px; min-height: 0; }
