/*
 * MonExpression (enfant) — intégration de WPForms dans la carte de contact du thème,
 * et conteneur des pages Elementor. Aucune règle ne modifie le design existant.
 */

/* --- Formulaire WPForms dans la carte de contact --------------------------- */
.mxpc-form-card .elementor-widget-container,
.mxpc-form-card .e-con,
.mxpc-form-card .e-con-inner { padding: 0; }

.mxpc-form-card div.wpforms-container,
.mxpc-form-card div.wpforms-container-full { margin: 0; }

.mxpc-form-card div.wpforms-container .wpforms-form .wpforms-field { padding: 0 0 1rem; }

.mxpc-form-card div.wpforms-container .wpforms-form .wpforms-field-label,
.mxpc-form-card div.wpforms-container .wpforms-form .wpforms-field-sublabel {
	font-family: inherit;
	color: var(--mxp-ink);
}
.mxpc-form-card div.wpforms-container .wpforms-form .wpforms-field-label {
	margin: 0 0 .35rem;
	font-size: var(--mxp-step--2);
	font-weight: 650;
	line-height: 1.4;
}
.mxpc-form-card div.wpforms-container .wpforms-form .wpforms-field-sublabel {
	font-size: var(--mxp-step--2);
	font-weight: 500;
	color: var(--mxp-muted);
}
.mxpc-form-card div.wpforms-container .wpforms-form .wpforms-required-label { color: var(--mxp-accent); }

.mxpc-form-card div.wpforms-container .wpforms-form input[type="text"],
.mxpc-form-card div.wpforms-container .wpforms-form input[type="email"],
.mxpc-form-card div.wpforms-container .wpforms-form input[type="tel"],
.mxpc-form-card div.wpforms-container .wpforms-form input[type="url"],
.mxpc-form-card div.wpforms-container .wpforms-form input[type="number"],
.mxpc-form-card div.wpforms-container .wpforms-form select,
.mxpc-form-card div.wpforms-container .wpforms-form textarea {
	width: 100%;
	max-width: 100%;
	min-height: 42px;
	height: auto;
	padding: .5rem .75rem;
	border: 1px solid var(--mxp-line);
	border-radius: var(--mxp-radius-sm);
	background: #fff;
	box-shadow: none;
	font-family: inherit;
	font-size: var(--mxp-step--1);
	color: var(--mxp-ink);
	transition: border-color var(--mxp-dur-fast) var(--mxp-ease), box-shadow var(--mxp-dur-fast) var(--mxp-ease);
}
.mxpc-form-card div.wpforms-container .wpforms-form textarea { min-height: 120px; resize: vertical; }

.mxpc-form-card div.wpforms-container .wpforms-form input:focus,
.mxpc-form-card div.wpforms-container .wpforms-form select:focus,
.mxpc-form-card div.wpforms-container .wpforms-form textarea:focus {
	outline: none;
	border-color: var(--mxp-ink);
	box-shadow: 0 0 0 3px var(--mxp-accent-soft);
}

.mxpc-form-card div.wpforms-container .wpforms-form .wpforms-submit-container { padding: 0; margin: .25rem 0 0; }

.mxpc-form-card div.wpforms-container .wpforms-form .wpforms-recaptcha-container { padding: 0 0 1rem; }

.mxpc-form-card div.wpforms-container .wpforms-form .wpforms-field-row { max-width: 100%; }

/* Bouton d'envoi : mêmes valeurs que .mxp-btn--accent.mxp-btn--lg.mxp-btn--block du thème. */
.mxpc-form-card div.wpforms-container .wpforms-form button[type="submit"].mxp-btn {
	width: 100%;
	height: auto;
	min-height: 58px;
	padding: 1.1rem 2.1rem;
	border: 1px solid var(--mxp-accent);
	border-radius: var(--mxp-radius-xs);
	background: var(--mxp-accent);
	color: var(--mxp-on-accent);
	box-shadow: 0 2px 10px rgba(232, 64, 42, .22);
	font-family: var(--mxp-font-body);
	font-size: var(--mxp-step--1);
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	line-height: 1;
}
.mxpc-form-card div.wpforms-container .wpforms-form button[type="submit"].mxp-btn:hover,
.mxpc-form-card div.wpforms-container .wpforms-form button[type="submit"].mxp-btn:focus {
	border-color: var(--mxp-ink);
	background: var(--mxp-accent);
	color: var(--mxp-white);
}

/* --- Pages Elementor (pleine largeur) --------------------------------------- */
.mxpc-elementor-page { width: 100%; }

/* Dans l'éditeur Elementor, un bloc rechargé après modification doit rester visible
   (l'animation d'apparition du thème ne se relance pas sur un contenu remplacé). */
.elementor-editor-active .mxp-reveal { opacity: 1 !important; transform: none !important; }

/* --- Accroche : rotation des petites images (fondu) --------------------------- */
.mxp-hero__tile img.mxpc-fade { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity .9s var(--mxp-ease, ease), transform 1.1s var(--mxp-ease-lux, ease); }
.mxp-hero__tile img.mxpc-fade.is-in { opacity: 1; }

/* mxpc-compat-start
 * Elementor applique « .elementor a { box-shadow:none; text-decoration:none } » à tous les liens de son contenu.
 * Les règles ci-dessous (générées depuis la feuille du thème parent) redonnent aux éléments du thème placés
 * dans Elementor leurs ombres et soulignements d'origine. */
.elementor a{text-decoration:none}.elementor .mxp-prose a{text-decoration:underline;text-decoration-thickness:1px}.elementor .mxp-btn{text-decoration:none}.elementor .mxp-btn--accent{box-shadow:0 2px 10px rgba(232,64,42,0.22)}.elementor .mxp-btn--accent:hover{box-shadow:0 6px 20px rgba(232,64,42,0.28)}.elementor .mxp-btn--light:hover{box-shadow:var(--mxp-shadow-2)}.elementor .mxp-announce a{text-decoration:underline}.elementor .mxp-header.is-stuck{box-shadow:0 4px 24px rgba(20,21,25,0.05)}.elementor .mxp-mega{box-shadow:var(--mxp-shadow-3)}.elementor .mxp-search-panel{box-shadow:var(--mxp-shadow-3)}.elementor .mxp-drawer{box-shadow:var(--mxp-shadow-3)}.elementor .mxp-cart-line__remove{text-decoration:underline}.elementor .mxp-hero__tile{box-shadow:var(--mxp-shadow-1)}.elementor .mxp-price del{text-decoration-thickness:1px}.elementor .mxp-price ins{text-decoration:none}.elementor .mxp-card__swatch{box-shadow:inset 0 0 0 1.5px #fff}.elementor .mxp-swatch-filter__item input:checked + .mxp-swatch-filter__dot{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--mxp-accent)}.elementor .mxp-input:focus{box-shadow:0 0 0 3px var(--mxp-accent-soft)}.elementor .mxp-filter-clear{text-decoration:underline}.elementor .mxp-gallery__nav{box-shadow:var(--mxp-shadow-1)}.elementor .mxp-summary__price ins{text-decoration:none}.elementor .mxp-variation-group__helper{text-decoration:underline;text-decoration-thickness:1px}.elementor .mxp-option input:checked + .mxp-option__color{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--mxp-ink)}.elementor .mxp-stock::before{box-shadow:0 0 0 3px var(--mxp-success-soft)}.elementor .mxp-stock--out::before{box-shadow:0 0 0 3px var(--mxp-warning-soft)}.elementor .mxp-modal__box{box-shadow:var(--mxp-shadow-3)}.elementor .mxp-form-row input:focus,.elementor .mxp-form-row select:focus,.elementor .mxp-form-row textarea:focus{box-shadow:0 0 0 3px var(--mxp-accent-soft)}.elementor .mxp-backtotop{box-shadow:var(--mxp-shadow-2)}.elementor .mxp-post:hover{box-shadow:var(--mxp-shadow-2)}.elementor .mxp-accordion__content a{text-decoration:underline}.elementor .mxp-split__badge{box-shadow:var(--mxp-shadow-1)}.elementor .mxp-quote:hover{box-shadow:var(--mxp-shadow-2)}.elementor .mxp-occasion:hover{box-shadow:var(--mxp-shadow-1)}.elementor .mxp-toast{box-shadow:var(--mxp-shadow-3)}.elementor .mxp-header__account{text-decoration:none}.elementor .mxp-cart-main .product-remove a.remove{text-decoration:none}.elementor .mxp-faq.is-open{box-shadow:0 8px 26px rgba(20,21,25,.06)}.elementor a{text-decoration-thickness:1px}.elementor .mxp-btn--ghost{text-decoration:underline;text-decoration-thickness:1px}.elementor .mxp-header{box-shadow:none}.elementor .mxp-card__swatch{box-shadow:inset 0 0 0 1px rgba(22,19,15,0.16)}.elementor .mxp-card__quick{box-shadow:0 10px 24px -12px rgba(22,19,15,0.5)}.elementor .mxp-split__badge{box-shadow:none}.elementor .mxp-prose a{text-decoration:underline;text-decoration-color:var(--mxp-accent)}.elementor .mxp-option__color{box-shadow:inset 0 0 0 1px rgba(22,19,15,0.14)}.elementor .mxp-option.is-selected .mxp-option__color{box-shadow:inset 0 0 0 2px var(--mxp-white),0 0 0 1.5px var(--mxp-accent)}.elementor .mxp-gallery__nav{box-shadow:var(--mxp-shadow-1)}.elementor .mxp-faq.is-open{box-shadow:none}.elementor .mxp-toast{box-shadow:var(--mxp-shadow-3)}.elementor .mxp-mega{box-shadow:var(--mxp-shadow-2)}

/* mxpc-compat-img
 * Elementor applique aussi « .elementor img { height:auto; max-width:100%; border:none; border-radius:0; box-shadow:none } ».
 * Même principe : les images du thème placées dans Elementor retrouvent leurs dimensions d'origine. */
.elementor .mxp-logo img{height:34px;max-width:190px}.elementor .mxp-header.is-stuck .mxp-logo img{height:28px}.elementor .mxp-mega__feature img{height:100%}.elementor .mxp-suggest__thumb img{height:100%}.elementor .mxp-cart-line__thumb img{height:100%}.elementor .mxp-mobile-nav__cat img{height:100%}.elementor .mxp-hero__tile img{height:100%}.elementor .mxp-cat__media img{height:100%}.elementor .mxp-card__media img{height:100%}.elementor .mxp-gallery__slide img{height:100%}.elementor .mxp-gallery__thumb img{height:100%}.elementor .mxp-lightbox img{max-width:min(1100px,92vw);max-height:86vh;height:auto;border-radius:var(--mxp-radius-sm)}.elementor .mxp-cart-row__thumb img{height:100%}.elementor .mxp-order-line__thumb img{height:100%}.elementor .mxp-footer__logo img{height:34px}.elementor .mxp-post__media img{height:100%}.elementor .mxp-article__cover img{height:100%}.elementor .mxp-split__media img{height:100%}.elementor .mxp-cart-main .product-thumbnail img{border-radius:10px}.elementor .mxp-checkout-main .wc_payment_method img{max-height:24px}.elementor .mxp-gallery__img{height:100%}.elementor .mxp-hero__tile img{height:100%}.elementor .mxp-card__media img{height:100%}.elementor .mxp-cat__media img{height:100%}.elementor .mxp-split__media img{height:auto}
/* mxpc-compat-end */
