/* ==========================================================================
   AgriMassa Moderne — modern skin for your existing Elementor pages
   ========================================================================== */

/* Typography: one consistent, modern type system (replaces Arial/Verdana). */
.am-elementor .elementor-heading-title {
	font-family: var(--am-font-head) !important;
	letter-spacing: -.015em;
	line-height: 1.15;
}
.am-elementor .elementor-widget-text-editor,
.am-elementor .elementor-widget-text-editor *:not(i):not(svg),
.am-elementor .elementor-icon-box-description,
.am-elementor .elementor-icon-list-text,
.am-elementor .elementor-image-box-description {
	font-family: var(--am-font-body) !important;
}
.am-elementor .elementor-widget-text-editor { line-height: 1.75; }
.am-elementor .elementor-icon-box-title,
.am-elementor .elementor-image-box-title { font-family: var(--am-font-head) !important; letter-spacing: -.01em; }

/* Section rhythm: a little more air between top-level blocks. */
.am-elementor > .elementor > .e-con,
.am-elementor > .elementor > .elementor-section { scroll-margin-top: 96px; }

/* Images: soft corners, smooth hover on linked images. */
.am-elementor .elementor-widget-image img { border-radius: var(--am-radius-sm); }
.am-elementor .elementor-widget-image a {
	display: inline-block; max-width: 100%;
	overflow: hidden; border-radius: 18px;
	transition: transform .6s var(--am-ease), box-shadow .6s var(--am-ease);
}
.am-elementor .elementor-widget-image a img { border-radius: 0; transition: transform 1.1s var(--am-ease); }
.am-elementor .elementor-widget-image a:hover { transform: translateY(-6px); box-shadow: var(--am-shadow-lg); }
.am-elementor .elementor-widget-image a:hover img { transform: scale(1.05); }

/* Product cards: any container holding a linked image + a linked heading. */
.am-elementor .e-con:has(> .elementor-widget-image a, > .e-con-inner > .elementor-widget-image a):has(> .elementor-widget-heading a, > .e-con-inner > .elementor-widget-heading a) {
	position: relative;
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--am-shadow-sm), inset 0 0 0 1px var(--am-line);
	padding-block: 18px 20px !important;
	transition: transform .6s var(--am-ease), box-shadow .6s var(--am-ease);
}
.am-elementor .e-con:has(> .elementor-widget-image a, > .e-con-inner > .elementor-widget-image a):has(> .elementor-widget-heading a, > .e-con-inner > .elementor-widget-heading a):hover {
	transform: translateY(-8px);
	box-shadow: var(--am-shadow-lg), inset 0 0 0 1px rgba(var(--am-accent-rgb), .45);
}
.am-elementor .e-con:has(> .elementor-widget-heading a, > .e-con-inner > .elementor-widget-heading a) .elementor-widget-image a:hover { transform: none; box-shadow: none; }
.am-elementor .e-con:has(> .elementor-widget-heading a, > .e-con-inner > .elementor-widget-heading a):hover .elementor-widget-image a img { transform: scale(1.06); }
.am-elementor .elementor-widget-heading a { transition: color .3s; }
.am-elementor .elementor-widget-heading a:hover { color: var(--am-primary) !important; }

/* Buttons. */
.am-elementor .elementor-button,
.am-elementor .elementor-button-link {
	border-radius: 999px !important;
	font-family: var(--am-font-head) !important;
	font-weight: 600 !important;
	letter-spacing: .01em;
	transition: transform .45s var(--am-ease), box-shadow .45s var(--am-ease), filter .3s, background-color .3s, color .3s !important;
}
.am-elementor .elementor-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 34px -14px rgba(var(--am-dark-rgb), .5);
	filter: saturate(1.1) brightness(1.04);
}
.am-elementor .elementor-button .elementor-button-icon { transition: transform .4s var(--am-ease); }
.am-elementor .elementor-button:hover .elementor-button-icon { transform: translateX(3px); }

/* Icon boxes (Composition, Emballage, Dose…): soft cards. */
.am-elementor .elementor-widget-icon-box:has(.elementor-icon-box-description) .elementor-icon-box-wrapper {
	padding: 20px 22px;
	border-radius: 18px;
	background: var(--am-soft);
	box-shadow: inset 0 0 0 1px var(--am-line);
	transition: transform .5s var(--am-ease), box-shadow .5s var(--am-ease), background .3s;
}
.am-elementor .elementor-widget-icon-box:has(.elementor-icon-box-description):hover .elementor-icon-box-wrapper {
	background: #fff;
	transform: translateY(-4px);
	box-shadow: var(--am-shadow), inset 0 0 0 1px rgba(var(--am-accent-rgb), .4);
}
.am-elementor .elementor-widget-icon-box .elementor-icon { transition: transform .5s var(--am-ease); }
.am-elementor .elementor-widget-icon-box:hover .elementor-icon { transform: rotate(-8deg) scale(1.08); }
.am-elementor .elementor-icon-box-description { margin-bottom: 0 !important; }

/* Icons & lists. */
.am-elementor .elementor-icon-list-item a { transition: color .3s, transform .3s var(--am-ease); }
.am-elementor .elementor-icon-list-item a:hover { transform: translateX(3px); }
.am-elementor .elementor-divider-separator { border-radius: 4px; }

/* Social icons. */
.am-elementor .elementor-social-icon { border-radius: 50% !important; transition: transform .4s var(--am-ease), filter .3s !important; }
.am-elementor .elementor-social-icon:hover { transform: translateY(-3px); filter: brightness(1.1); }

/* Gallery / lightbox images. */
.am-elementor .gallery-item img, .am-elementor .elementor-image-gallery img { border-radius: 14px !important; transition: transform .8s var(--am-ease), box-shadow .6s; }
.am-elementor .gallery-item a:hover img { transform: scale(1.03); box-shadow: var(--am-shadow); }

/* Maps. */
.am-elementor .elementor-widget-google_maps iframe,
.am-elementor iframe[src*="google.com/maps"] { border-radius: var(--am-radius); }

/* WPForms inside Elementor pages. */
.am-elementor .wpforms-container input[type="text"],
.am-elementor .wpforms-container input[type="email"],
.am-elementor .wpforms-container input[type="tel"],
.am-elementor .wpforms-container input[type="number"],
.am-elementor .wpforms-container textarea,
.am-elementor .wpforms-container select {
	max-width: 100% !important;
	padding: 14px 16px !important;
	border: 0 !important;
	border-radius: 14px !important;
	background: #fff !important;
	box-shadow: inset 0 0 0 1.5px var(--am-line) !important;
	font-family: var(--am-font-body) !important;
	transition: box-shadow .3s !important;
	height: auto !important;
}
.am-elementor .wpforms-container input:focus,
.am-elementor .wpforms-container textarea:focus,
.am-elementor .wpforms-container select:focus { outline: 0 !important; box-shadow: inset 0 0 0 1.5px var(--am-primary), 0 0 0 4px rgba(var(--am-primary-rgb), .12) !important; }
.am-elementor .wpforms-container .wpforms-field-label { font-family: var(--am-font-head) !important; font-weight: 500 !important; }
.am-elementor .wpforms-container button[type="submit"] {
	height: auto !important;
	padding: 15px 34px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, var(--am-primary), color-mix(in srgb, var(--am-primary) 70%, var(--am-accent))) !important;
	color: #fff !important;
	font-family: var(--am-font-head) !important;
	font-weight: 600 !important;
	transition: transform .4s var(--am-ease), box-shadow .4s var(--am-ease) !important;
}
.am-elementor .wpforms-container button[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -10px rgba(var(--am-primary-rgb), .55); }

/* Old Astra WhatsApp floating icon (the theme has its own now). */
.whatsapp-icon { display: none !important; }
