/* AGRI-20 : formulaire Brevo du pied de page, marges négatives d'Elementor annulées sous 1025 px. */
@media (max-width: 1024px) {
	.elementor-322 .elementor-element-3cf3ee2 > .elementor-widget-container { margin-left: 0 !important; margin-right: 0 !important; }
}
.elementor-322 .elementor-element-3cf3ee2 iframe { max-width: 100% !important; }

/* AGRI-58 (20/10/2026) : accueil (FR 1489, EN 4518, ES 4512, même structure Elementor), tuiles bambou, peuplier,
 * miscanthus, paulownia : toute la photo mène à la page, pas seulement le bouton (lien étiré du bouton). */
:is(.elementor-1489, .elementor-4518, .elementor-4512) :is(.elementor-element-27df8ce, .elementor-element-621b84e, .elementor-element-5fa8d46, .elementor-element-38c8d2a) { position: relative; cursor: pointer; }
:is(.elementor-1489, .elementor-4518, .elementor-4512) :is(.elementor-element-35e698b, .elementor-element-6e6d751, .elementor-element-a0cdda7, .elementor-element-356f182) { position: static; }
:is(.elementor-1489, .elementor-4518, .elementor-4512) :is(.elementor-element-35e698b, .elementor-element-6e6d751, .elementor-element-a0cdda7, .elementor-element-356f182) :is(.elementor-widget-container, .elementor-button-wrapper) { position: static; }
:is(.elementor-1489, .elementor-4518, .elementor-4512) :is(.elementor-element-35e698b, .elementor-element-6e6d751, .elementor-element-a0cdda7, .elementor-element-356f182) a.elementor-button::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* AGRI-59 (20/10/2026) : pages de contenu écrites en HTML maison (sections .abx-misca, .abx-paulo…) sur téléphone :
 * les boîtes s'emboîtaient (conteneur Astra + article + enveloppe + carte ≈ 53 px de marge) et le texte était à 13-14 px.
 * Une seule gouttière de 16 px, en-tête de page sans cadre, texte à 16 px. */
@media (max-width: 600px) {
	/* (AGRI-152) la gouttière est portée par le conteneur de page : voir charte.css */
	body.page:has(section[class^="abx-"]) article.page { padding: 0 !important; margin: 0 !important; }
	body section[class^="abx-"] .wrap { padding-left: 0 !important; padding-right: 0 !important; }
	body section[class^="abx-"] :is(.hero, .hero-inner) { padding-left: 0 !important; padding-right: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
	body section[class^="abx-"] :is(p, li, .lead, .sub, .meta) { font-size: var(--ab-taille-texte) !important; line-height: 1.6 !important; }
	body section[class^="abx-"] :is(.card, .encadre) { padding: var(--ab-carte-pad) !important; }
}

/* AGRI-70 (20/10/2026, PROVISOIRE, décision expresse d'Édouard) : bandeau WPML « This site is registered on wpml.org as a
 * development site » masqué, faute d'accès au compte wpml.org pour passer la clé en production. À retirer dès que la clé
 * est régularisée, ou avec le remplacement de WPML (AGRI-30). */
.otgs-development-site-front-end { display: none !important; }

/* AGRI-86 (20/10/2026) : pages au HTML maison (section.abx-*) : un tableau comparatif de 672 px élargissait la page
 * « Les cultures » à 703 px sur téléphone. Les tableaux défilent dans leur cadre ; boutons principaux en dégradé
 * (vert-turquoise / bleu) ramenés au bouton principal de la charte. */
body section[class^="abx-"] table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body section[class^="abx-"] :is(a, button):is([class*="btn" i], [class*="button" i]):is([class*="primary" i], [class*="principal" i]) { background: var(--ab-vert) !important; border-color: var(--ab-vert) !important; color: var(--ab-encre) !important; box-shadow: none !important; }

/* AGRI-136 (UXE-04) : polices hors charte posées par Elementor (Roboto global, Poppins de widgets) et par le gabarit
 * d'articles « abx » (Helvetica en style intégré) ramenées à Lexend / Inter. */
.elementor-widget-heading .elementor-heading-title, .elementor-image-box-title, .elementor-icon-box-title { font-family: var(--ab-police-titre) !important; }
.elementor-widget-text-editor, .elementor-image-box-description, .elementor-icon-box-description { font-family: var(--ab-police-texte) !important; }
body.single, body.single .abx-wrap { font-family: var(--ab-police-texte) !important; }
body.single .abx-wrap :is(h1, h2, h3, h4) { font-family: var(--ab-police-titre) !important; }
/* AGRI-136 (UXE-08, UXE-10, UXE-14) : cibles tactiles de 44-48 px — boutons des grilles produits d'Astra (accueil), liens
 * des tuiles d'accueil (22 px), liens des cartes et de « lire la suite », fil d'Ariane. Texte inchangé. */
.woocommerce ul.products li.product .button, .astra-shop-summary-wrap .button { min-height: var(--ab-cible) !important; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 18px !important; }
.astra-shop-summary-wrap .ast-loop-product__link { display: block; padding-block: 6px; }
.elementor-button-wrapper a.elementor-button.elementor-size-sm { min-height: var(--ab-cible); display: inline-flex !important; align-items: center; }
:is(.abx-misca, .abx-paulo, .abx-cultures) .links > a, a.elementor-post__read-more, nav.ab-fil > a { display: inline-block; padding-block: 11px; }
nav.toc a.chip { min-height: 44px; display: inline-flex; align-items: center; }

/* AGRI-136 (UXE-03) : bandeau de cookies sur téléphone à 456 px (54-58 % de l'écran, 80 px de vide en tête) → au plus 60 %
 * de la hauteur, en-tête et marges réduits, boutons de 48 px. « Accepter » et « Refuser » gardent le même poids visuel :
 * exigence de la CNIL (refuser aussi simplement qu'accepter). */
@media (max-width: 480px) {
	.cmplz-cookiebanner { max-height: 60vh; overflow: auto; padding-block: 12px !important; }
	.cmplz-cookiebanner .cmplz-header { min-height: 0 !important; margin: 0 !important; }
	.cmplz-cookiebanner .cmplz-message { font-size: 14px !important; line-height: 1.45 !important; margin-block: 0 8px !important; }
	.cmplz-cookiebanner .cmplz-buttons { gap: 8px !important; }
	.cmplz-cookiebanner .cmplz-btn { min-height: var(--ab-cible) !important; }
}

/* AGRI-137 (UXF-01) : fiche, panier et paiement décalés de 55 px par rapport au logo — Astra Pro pose padding-left:50px sur
 * #primary (mise en page « séparée ») ; le contenu s'aligne sur la barre d'en-tête. */
:is(.single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account) #primary { padding-left: 0 !important; padding-right: 0 !important; }

/* AGRI-145 (UXE-03) : bandeau de cookies sur téléphone, 454 px → environ 300 px. « Accepter » et « Refuser » côte à côte,
 * même taille et même couleur (CNIL : refuser aussi simplement qu'accepter) ; « Voir les préférences » en lien. */
@media (max-width: 480px) {
	.cmplz-cookiebanner { gap: 6px !important; padding: 10px 14px 12px !important; }
	.cmplz-cookiebanner .cmplz-header { min-height: 0 !important; height: 28px !important; }
	.cmplz-cookiebanner .cmplz-body { margin: 0 !important; }
	.cmplz-cookiebanner .cmplz-message, .cmplz-cookiebanner .cmplz-message p { font-size: 13.5px !important; line-height: 1.4 !important; margin: 0 !important; }
	.cmplz-cookiebanner .cmplz-buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; }
	.cmplz-cookiebanner .cmplz-buttons .cmplz-btn { width: 100% !important; min-height: var(--ab-cible) !important; margin: 0 !important; }
	.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences, .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences { grid-column: 1 / -1; min-height: 36px !important; background: none !important; border: 0 !important; color: var(--ab-vert-fonce) !important; text-decoration: underline; font-weight: 600 !important; }
	.cmplz-cookiebanner .cmplz-documents { margin: 0 !important; min-height: 0 !important; }
	.cmplz-cookiebanner .cmplz-documents a { display: inline-block; padding-block: 6px; font-size: 13px; }
}
/* AGRI-145 : prix « dès … le rhizome » d'une carte en mosaïque : il peut revenir à la ligne (il sortait de la carte). */
.ab-carte .ab-prix-unite :is(.ab-px__ttc, .ab-px__ht) { white-space: normal; }
/* AGRI-145 (UXH-06) : astérisques des champs obligatoires en rouge vif #FF0000 → couleur d'alerte de la charte. */
.woocommerce :is(.required, abbr.required) { color: var(--ab-alerte) !important; text-decoration: none; }
/* AGRI-145 (UXG-11, UXG-12) : liens de titre des cartes et liens du pied de page à 44 px de zone tactile. */
.ab-carte__titre a.ab-carte__lien { display: inline-block; padding-block: 10px; margin-block: -10px; }
.ab-pied a:not(.ab-btn) { display: inline-block; padding-block: 12px; }

/* AGRI-152 (21/10/2026) : pages légales écrites avec leur propre feuille (.legal-page-container : mentions légales,
   informacion-legal, terms-of-use) : marge de 66 px sur téléphone, police Helvetica, titre en double (H1 de la page
   + H1 du texte). Ramenées à la gouttière commune, polices de la charte, H1 du texte masqué. */
.legal-page-container { max-width: none !important; padding: 0 !important; font-family: var(--ab-police-texte) !important; color: var(--ab-texte) !important; }
.legal-page-container :is(h1, h2, h3) { font-family: var(--ab-police-titre) !important; }
.legal-header h1 { display: none !important; }
.legal-header { text-align: left !important; margin-bottom: var(--ab-espace-2, 24px) !important; }
.legal-section { padding: var(--ab-carte-pad) !important; border-left-width: 4px !important; }
.legal-section h2 { color: var(--ab-vert-fonce) !important; font-size: 1.25em !important; }
.legal-section strong { color: var(--ab-encre) !important; }
