/**
 * Fiers — système typographique
 * Échelle modulaire 1,25 (tierce majeure), base fluide.
 * Pont avec Blocksy : --theme-font-size / --theme-line-height sur :root et titres.
 * WooCommerce (panier, checkout, compte, mini-panier) : échelle resserrée 1,125.
 */

:root {
	--fiers-type-ratio: 1.25;

	/* Corps : ~15px → ~17.5px */
	--fiers-text-base: clamp(0.9375rem, 0.88rem + 0.22vw, 1.09375rem);

	--fiers-step--2: calc(var(--fiers-text-base) / var(--fiers-type-ratio) / var(--fiers-type-ratio));
	--fiers-step--1: calc(var(--fiers-text-base) / var(--fiers-type-ratio));
	--fiers-step-0: var(--fiers-text-base);
	--fiers-step-1: calc(var(--fiers-step-0) * var(--fiers-type-ratio));
	--fiers-step-2: calc(var(--fiers-step-1) * var(--fiers-type-ratio));
	--fiers-step-3: calc(var(--fiers-step-2) * var(--fiers-type-ratio));
	--fiers-step-4: calc(var(--fiers-step-3) * var(--fiers-type-ratio));
	--fiers-step-5: calc(var(--fiers-step-4) * var(--fiers-type-ratio));
	--fiers-step-6: calc(var(--fiers-step-5) * var(--fiers-type-ratio));

	/* Blocksy — corps */
	--theme-font-size: var(--fiers-step-0);
	--theme-line-height: 1.55;
}

/* Titres (priorité après les styles dynamiques Blocksy grâce à l’ordre d’enqueue) */
h1 {
	--theme-font-size: clamp(var(--fiers-step-3), 0.35rem + 5.5vw, var(--fiers-step-5));
	font-size: var(--theme-font-size);
	line-height: 1.15;
	letter-spacing: -0.02em;
}

h2 {
	--theme-font-size: clamp(var(--fiers-step-3), 0.5rem + 3.2vw, var(--fiers-step-4));
	font-size: var(--theme-font-size);
	line-height: 1.2;
	letter-spacing: -0.015em;
}

h3 {
	--theme-font-size: clamp(var(--fiers-step-2), 0.45rem + 2.2vw, var(--fiers-step-3));
	font-size: var(--theme-font-size);
	line-height: 1.25;
}

h4 {
	--theme-font-size: clamp(var(--fiers-step-1), 0.4rem + 1.5vw, var(--fiers-step-2));
	font-size: var(--theme-font-size);
	line-height: 1.3;
}

h5 {
	--theme-font-size: clamp(var(--fiers-step-0), 0.35rem + 1vw, var(--fiers-step-1));
	font-size: var(--theme-font-size);
	line-height: 1.35;
}

h6 {
	--theme-font-size: clamp(var(--fiers-step--1), 0.82rem + 0.2vw, var(--fiers-step-0));
	font-size: var(--theme-font-size);
	line-height: 1.4;
}

/* Fil d’Ariane & titres de widgets : rester sur l’échelle globale */
.ct-breadcrumbs {
	--theme-font-size: var(--fiers-step--2);
	font-size: var(--theme-font-size);
}

.ct-sidebar .widget-title {
	--theme-font-size: clamp(var(--fiers-step-1), 0.45rem + 1.1vw, var(--fiers-step-2));
	font-size: var(--theme-font-size);
	line-height: 1.25;
}

/* Formulaires / plugins fréquents : alignés sur le corps */
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-sublabel {
	font-size: var(--fiers-step-0);
}

.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea {
	font-size: max(var(--fiers-step-0), 16px);
}

/* -------------------------------------------------------------------------
   WooCommerce & interfaces denses : ratio 1,125 (hérité par les descendants)
   ------------------------------------------------------------------------- */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-order-received,
body.woocommerce-account,
.ct-cart-content,
.ct-woocommerce-cart-form,
.ct-woocommerce-checkout {
	--fiers-woo-ratio: 1.125;
	--fiers-woo-base: clamp(0.8125rem, 0.78rem + 0.14vw, 0.875rem);
	--fiers-woo--1: calc(var(--fiers-woo-base) / var(--fiers-woo-ratio));
	--fiers-woo-0: var(--fiers-woo-base);
	--fiers-woo-1: calc(var(--fiers-woo-base) * var(--fiers-woo-ratio));
	--fiers-woo-2: calc(var(--fiers-woo-1) * var(--fiers-woo-ratio));
	--fiers-woo-3: calc(var(--fiers-woo-2) * var(--fiers-woo-ratio));
}

.woocommerce table.shop_table,
.woocommerce-checkout #payment .payment_box,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title,
.woocommerce-account table.shop_table {
	font-size: var(--fiers-woo-0);
	line-height: 1.45;
}

.woocommerce table.shop_table th,
.woocommerce-checkout-review-order-table th {
	font-size: var(--fiers-woo--1);
}

.woocommerce-cart table.shop_table .product-name a,
.woocommerce-checkout-review-order-table .product-name {
	font-size: var(--fiers-woo-1);
	line-height: 1.35;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
	font-size: var(--fiers-woo-0);
}

.woocommerce-checkout .select2-container,
.woocommerce-checkout .select2-results__option {
	font-size: var(--fiers-woo-0);
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	font-size: var(--fiers-step-0);
	line-height: 1.45;
}

.ct-cart-content .woocommerce-mini-cart,
.ct-cart-content .woocommerce-mini-cart__buttons {
	font-size: var(--fiers-woo-0);
}

.ct-cart-content .product_list_widget .product-title {
	font-size: var(--fiers-woo-1);
}

.ct-cart-content p.woocommerce-mini-cart__total .woocommerce-Price-amount bdi {
	font-size: var(--fiers-woo-3);
	line-height: 1.2;
}

/* Grille produits : corps global, pas la micro-échelle panier */
.woocommerce ul.products li.product {
	font-size: var(--fiers-step-0);
	line-height: 1.45;
}

.woo-listing-top .woocommerce-result-count,
.woo-listing-top .woocommerce-ordering select {
	font-size: var(--fiers-woo-0);
}
