/* Corrections responsive et accessibilité (audit du 2026-10-08 : ai-workspace/rapports/audit-responsive.md).
   Objectifs : zones cliquables d'au moins 44 pixels sur écrans tactiles, textes d'au moins 14 pixels dans les pieds de page,
   focus visible. Ces règles ne changent pas les couleurs ni la mise en page des pôles. */

/* Pied de page : liens et textes lisibles et faciles à toucher */
footer .elementor-icon-list-text,
.elementor-location-footer .elementor-icon-list-text {
	font-size: 14px !important;
}

/* Liens du pied de page : au moins 28 pixels de haut sur ordinateur (critère de taille de cible) */
footer .elementor-icon-list-item > a,
.elementor-location-footer .elementor-icon-list-item > a {
	display: flex;
	align-items: center;
	min-height: 28px;
}

@media (max-width: 1024px) {
	footer .elementor-icon-list-item > a,
	.elementor-location-footer .elementor-icon-list-item > a {
		display: flex;
		align-items: center;
		min-height: 44px;
	}

	/* Boutons, champs et listes */
	.elementor-button,
	a.button,
	button.button,
	.single_add_to_cart_button,
	.wpcf7-submit {
		min-height: 44px;
	}

	.elementor-button-link,
	a.button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	select,
	input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
	textarea {
		min-height: 44px;
	}

	/* Menu, panier, réseaux sociaux */
	.elementor-menu-toggle,
	.elementor-menu-cart__toggle_button {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	a.elementor-icon,
	.elementor-social-icon {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	/* Pastilles des carrousels : zone de toucher élargie sans changer l'aspect */
	.swiper-pagination-bullet {
		position: relative;
	}

	.swiper-pagination-bullet::after {
		content: "";
		position: absolute;
		inset: -16px;
	}

	/* Filtres de galerie et liens « lire la suite » */
	.elementor-gallery-title,
	.elementor-post__read-more {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
}

/* Textes trop petits : nombre d'articles du panier, fil d'Ariane, boutons des cartes produit */
.elementor-button-icon-qty {
	font-size: 12px !important;
}

.elementor-icon-list--layout-inline .elementor-icon-list-text {
	font-size: 13px !important;
}

ul.products .button,
.woocommerce-loop-product__buttons .button {
	font-size: 13px !important;
}

/* Boutons-icônes de l'en-tête (recherche, compte, panier) : largeur tactile minimale */
@media (max-width: 1024px) {
	.elementor-location-header .elementor-button,
	header .elementor-button {
		min-width: 44px;
	}
}

/* Focus clavier visible (accessibilité) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--color-accent, #2563eb);
	outline-offset: 2px;
}

/* Coordonnées : une adresse électronique longue revient à la ligne au lieu de déborder de sa colonne */
.elementor-icon-box-wrapper {
	min-width: 0;
}

.elementor-icon-box-title,
.elementor-icon-box-description {
	overflow-wrap: break-word;
}
