input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="search"], input[type="number"], input[type="url"], select, textarea,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .woocommerce-page form .form-row input.input-text {
  width: 100%; min-height: var(--tpc-touch-target); padding: .6rem .85rem;
  border: 1px solid var(--tpc-control-border-color); border-radius: var(--tpc-border-radius);
  background: var(--tpc-background-color); color: var(--tpc-text-color); line-height: 1.4;
}
textarea, .woocommerce form .form-row textarea { min-height: 7rem; }
input:focus, select:focus, textarea:focus { border-color: var(--tpc-primary-color); }
input[type="checkbox"], input[type="radio"] { width: 1.15rem; height: 1.15rem; accent-color: var(--tpc-primary-color); vertical-align: middle; }

.tpc-field, .woocommerce form .form-row { margin: 0 0 var(--tpc-space-4); padding: 0; }
.tpc-field__label, .woocommerce form .form-row label { display: block; margin-bottom: .35rem; font-weight: 600; line-height: 1.4; }
.woocommerce form .form-row label.checkbox, .woocommerce form .form-row label.woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: .5rem; font-weight: 400; }
.tpc-field__required, .woocommerce form .form-row .required { color: var(--tpc-error-color); text-decoration: none; }
.tpc-field__description { margin: .35rem 0 0; font-size: var(--tpc-text-sm); color: var(--tpc-muted-color); }
.tpc-field__error { margin: .35rem 0 0; font-size: var(--tpc-text-sm); color: var(--tpc-error-color); }
.tpc-field--error .tpc-field__control, .woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: var(--tpc-error-color); }

.quantity .qty { width: 4.5rem; text-align: center; }

/* Sélecteur pays / région de WooCommerce (selectWoo). */
.select2-container .select2-selection--single { height: var(--tpc-touch-target); border: 1px solid var(--tpc-control-border-color); border-radius: var(--tpc-border-radius); }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: calc(var(--tpc-touch-target) - 2px); padding-inline: .85rem; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: calc(var(--tpc-touch-target) - 2px); }
