/**
 * Chantier 7 : tous les champs de saisie à 16 px minimum.
 *
 * En dessous de 16 px, iOS Safari zoome automatiquement au focus et recadre
 * la page. Sur le tunnel de commande, la cliente perd le fil et doit
 * dézoomer à chaque champ. C'est la seule raison de ce fichier : 16 px n'est
 * pas un choix esthétique, c'est le seuil au-dessous duquel iOS intervient.
 *
 * Chargé sur tout le site.
 */

/* ---------------------------------------------------------------------------
 * 1. Règle générale
 * ------------------------------------------------------------------------ */

input[type="text"],
input[type="search"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"],
input[type="week"],
input:not([type]),
textarea,
select,
.select2-selection__rendered,
.select2-search__field,
.woocommerce-input-wrapper input,
.elementor-field-textual,
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox-control__input,
.dyrs-cart-coupon__form input,
.dyrs-qty input.qty,
.ff-el-form-control,
.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform textarea,
.fluentform select {
	font-size: 16px !important;
	line-height: 1.4;
}

/* ---------------------------------------------------------------------------
 * 2. Placeholders
 * ------------------------------------------------------------------------ */

::placeholder {
	font-size: 16px;
	color: #999999;
	opacity: 1; /* Firefox applique une opacité réduite par défaut. */
}

::-webkit-input-placeholder {
	font-size: 16px;
	color: #999999;
}

::-moz-placeholder {
	font-size: 16px;
	color: #999999;
	opacity: 1;
}

:-ms-input-placeholder {
	font-size: 16px;
	color: #999999;
}

/* ---------------------------------------------------------------------------
 * 3. Hauteurs
 *
 * Passer à 16 px agrandit le contenu des champs : sans reprise des hauteurs,
 * ils ne s'alignent plus avec les boutons voisins.
 * ------------------------------------------------------------------------ */

input[type="text"],
input[type="search"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
select,
.woocommerce-input-wrapper input,
.elementor-field-textual,
.wc-block-components-text-input input,
.ff-el-form-control {
	min-height: 44px;
	padding-top: 10px;
	padding-bottom: 10px;
}

textarea,
.wc-block-components-textarea {
	min-height: 96px;
	padding-top: 12px;
	padding-bottom: 12px;
}

/* Select2 : la hauteur est portée par le conteneur, pas par le champ. */
.select2-container .select2-selection--single {
	min-height: 44px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 44px;
}

.select2-container .select2-selection--single .select2-selection__arrow {
	height: 44px;
}

/* ---------------------------------------------------------------------------
 * 4. Mobile : cibles plus généreuses
 * ------------------------------------------------------------------------ */

@media (max-width: 768px) {

	input[type="text"],
	input[type="search"],
	input[type="email"],
	input[type="tel"],
	input[type="url"],
	input[type="password"],
	select,
	.woocommerce-input-wrapper input,
	.elementor-field-textual,
	.wc-block-components-text-input input,
	.ff-el-form-control {
		min-height: 48px;
	}

	.select2-container .select2-selection--single {
		min-height: 48px;
	}

	.select2-container .select2-selection--single .select2-selection__rendered {
		line-height: 48px;
	}

	.select2-container .select2-selection--single .select2-selection__arrow {
		height: 48px;
	}
}

/* ---------------------------------------------------------------------------
 * 5. Champ quantité
 *
 * Exception de largeur : le champ reste étroit, mais sa police passe à 16 px
 * comme les autres. Sans cela, iOS zoome aussi depuis le panier.
 * ------------------------------------------------------------------------ */

.dyrs-qty input.qty,
.quantity input.qty,
.wc-block-components-quantity-selector__input {
	font-size: 16px !important;
	min-height: 44px;
}

@media (max-width: 768px) {
	.dyrs-qty input.qty,
	.quantity input.qty,
	.wc-block-components-quantity-selector__input {
		min-height: 48px;
	}
}

/* ---------------------------------------------------------------------------
 * 6. Recherche du thème et surcouche de suggestions
 * ------------------------------------------------------------------------ */

.cenes-ajax-search input,
.cenes-search-overlay input,
.dyrs-search input,
form.search-form input.search-field,
input.search-field {
	font-size: 16px !important;
	min-height: 44px;
}

/* ---------------------------------------------------------------------------
 * 7. Cases à cocher et boutons radio
 *
 * Non concernés par le zoom iOS, mais leur libellé doit rester lisible et la
 * cible assez large pour le doigt.
 * ------------------------------------------------------------------------ */

input[type="checkbox"],
input[type="radio"] {
	min-width: 18px;
	min-height: 18px;
}
