/* Formulaires (SitesPrestige) : le look des formulaires de boucheriest-louis.com, à la charte de la page Contact
   (10 novembre 2026, demande de Shawn) : Lora pour les questions, comme les titres de la colonne des coordonnées,
   Roboto pour les champs, le bleu foncé #192A3D et le rouge #FF0000 de son guide actuel. Les !important battent les
   réglages par défaut du widget, plus précis. Seulement sur un formulaire qui porte data-frm. */

.elementor-form[data-frm] { margin: 8px 0 24px; --frm-police: Roboto, "Helvetica Neue", Arial, sans-serif; --frm-titre-police: Lora, Georgia, serif; --frm-encre: #192A3D; --frm-doux: #5B6B7C; --frm-accent: #FF0000; --frm-erreur: #C8102E; --frm-fond-champ: #FFFFFF; --frm-bordure: #C9D3DC; --frm-trait: 1px; --frm-trait-choix: 1px; --frm-rayon: 8px; --frm-etiquette-h: 30px; --frm-gouttiere: 20px; }
.elementor-form[data-frm] .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; margin: 0 !important; }
.elementor-form[data-frm] .elementor-field-group { display: block; width: 100%; max-width: 100%; margin: 0 !important; padding: 0 0 22px !important; flex: none; }
.elementor-form[data-frm] .elementor-field-group.elementor-field-type-submit { padding: 0 !important; margin-top: 6px !important; }
.elementor-form[data-frm] .elementor-field-type-honeypot { display: none !important; }

/* la question : en Lora gras, comme « Localisation » et « Téléphone » à côté ; l'astérisque en rouge */
.elementor-form[data-frm] .elementor-field-group .elementor-field-label { display: block; margin: 0 0 8px; padding: 0; font-family: Lora, Georgia, serif; font-weight: 700; font-size: 17px; line-height: 22px; letter-spacing: normal; text-transform: none; color: #192A3D; }
.elementor-form[data-frm] .elementor-mark-required .elementor-field-label:after { content: " *"; padding: 0; color: #FF0000; }

/* les champs : pleine largeur de la colonne, coins de 8 px, le contour en rouge quand on écrit */
.elementor-form[data-frm] .elementor-field-group .elementor-field.elementor-field-textual { display: block; width: 100%; height: 48px; min-height: 0; margin: 0; padding: 0 16px; box-sizing: border-box; font-family: Roboto, "Helvetica Neue", Arial, sans-serif; font-weight: 400; font-size: 16px; line-height: 20px; color: #192A3D !important; background: #FFFFFF !important; background-clip: padding-box !important; border: 1px solid #C9D3DC; border-radius: 8px; box-shadow: none; outline: 0; transition: border-color .15s, box-shadow .15s; }
.elementor-form[data-frm] .elementor-field-group textarea.elementor-field.elementor-field-textual { height: 132px; padding: 13px 16px; line-height: 22px; resize: vertical; }
.elementor-form[data-frm] .elementor-field-group .elementor-field.elementor-field-textual:hover { border-color: #9DAAB7; }
.elementor-form[data-frm] .elementor-field-group .elementor-field.elementor-field-textual:focus { border-color: #FF0000; box-shadow: 0 0 0 3px rgba(255, 0, 0, .12); outline: 0; }
.elementor-form[data-frm] .elementor-field-group .elementor-field.frm-invalide { border-color: #C8102E; }
.elementor-form[data-frm] .elementor-field-group .elementor-field.frm-invalide:focus { border-color: #C8102E; box-shadow: 0 0 0 3px rgba(200, 16, 46, .14); }

/* sous la zone de texte : l'aide, puis le compteur de mots, puis l'erreur */
.elementor-form[data-frm] .elementor-field-group.elementor-field-type-textarea { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
.elementor-form[data-frm] .elementor-field-group.elementor-field-type-textarea > * { flex: none; max-width: 100%; }
.elementor-form[data-frm] .elementor-field-type-textarea .frm-aide { order: 1; }
.elementor-form[data-frm] .elementor-field-type-textarea .frm-compteur { order: 2; }
.elementor-form[data-frm] .elementor-field-type-textarea .frm-erreur { order: 3; }
.elementor-form[data-frm] .frm-aide { margin: 8px 0 0; font-family: Roboto, "Helvetica Neue", Arial, sans-serif; font-weight: 400; font-size: 14px; line-height: 20px; letter-spacing: normal; color: #5B6B7C; }
.elementor-form[data-frm] .frm-compteur { margin: 4px 0 0; font-family: Roboto, "Helvetica Neue", Arial, sans-serif; font-weight: 400; font-size: 13px; line-height: 18px; letter-spacing: normal; color: #8794A1; }

/* les cases à cocher : 20 px, cochées en rouge plein */
.elementor-form[data-frm] .elementor-field-subgroup { gap: 12px; }
.elementor-form[data-frm] .elementor-field-subgroup .elementor-field-option { align-items: center; gap: 12px; }
.elementor-form[data-frm] .elementor-field-option input[type=checkbox],
.elementor-form[data-frm] .elementor-field-option input[type=radio] { width: 20px; height: 20px; box-sizing: border-box; margin: 0 !important; background: #FFFFFF; border: 1px solid #9DAAB7; border-radius: 5px; }
.elementor-form[data-frm] .elementor-field-option input[type=radio] { border-radius: 50%; }
.elementor-form[data-frm] .elementor-field-option input:checked { background: #FF0000; border-color: #FF0000; box-shadow: none; }
.elementor-form[data-frm] .elementor-field-option input[type=checkbox]:checked::after { inset: 4px; background: #FFFFFF; }
.elementor-form[data-frm] .elementor-field-option input[type=radio]:checked { box-shadow: inset 0 0 0 4px #FFFFFF; }
.elementor-form[data-frm] .elementor-field-option label { font-family: Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: 22px; color: #3A4F66; }

/* les erreurs : sous le champ, en rouge, avec un petit triangle */
.elementor-form[data-frm] .frm-erreur,
.elementor-form[data-frm] .elementor-message.elementor-help-inline { display: block; position: relative; margin: 8px 0 0; padding: 0 0 0 5px; font: normal 400 14px/18px Roboto, "Helvetica Neue", Arial, sans-serif; color: #C8102E; }
.elementor-form[data-frm] .frm-erreur:before,
.elementor-form[data-frm] .elementor-message.elementor-help-inline:before { content: ""; display: inline-block; position: relative; left: -5px; top: 1.5px; width: 16px; height: 14px; margin: 0; background-color: currentColor; -webkit-mask-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2217%22%20height%3D%2215%22%20viewBox%3D%220%200%2017%2015%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.0264%2012.3086L9.46387%200.90625C8.97168%200.0585938%207.68652%200.03125%207.19434%200.90625L0.631836%2012.3086C0.139648%2013.1562%200.768555%2014.25%201.78027%2014.25H14.8779C15.8896%2014.25%2016.5186%2013.1836%2016.0264%2012.3086ZM8.34277%209.92969C9.02637%209.92969%209.60059%2010.5039%209.60059%2011.1875C9.60059%2011.8984%209.02637%2012.4453%208.34277%2012.4453C7.63184%2012.4453%207.08496%2011.8984%207.08496%2011.1875C7.08496%2010.5039%207.63184%209.92969%208.34277%209.92969ZM7.13965%205.41797C7.1123%205.22656%207.27637%205.0625%207.46777%205.0625H9.19043C9.38184%205.0625%209.5459%205.22656%209.51855%205.41797L9.32715%209.13672C9.2998%209.32812%209.16309%209.4375%208.99902%209.4375H7.65918C7.49512%209.4375%207.3584%209.32812%207.33105%209.13672L7.13965%205.41797Z%22%20fill%3D%22currentColor%22%2F%3E%0A%3C%2Fsvg%3E%0A"); mask-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2217%22%20height%3D%2215%22%20viewBox%3D%220%200%2017%2015%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.0264%2012.3086L9.46387%200.90625C8.97168%200.0585938%207.68652%200.03125%207.19434%200.90625L0.631836%2012.3086C0.139648%2013.1562%200.768555%2014.25%201.78027%2014.25H14.8779C15.8896%2014.25%2016.5186%2013.1836%2016.0264%2012.3086ZM8.34277%209.92969C9.02637%209.92969%209.60059%2010.5039%209.60059%2011.1875C9.60059%2011.8984%209.02637%2012.4453%208.34277%2012.4453C7.63184%2012.4453%207.08496%2011.8984%207.08496%2011.1875C7.08496%2010.5039%207.63184%209.92969%208.34277%209.92969ZM7.13965%205.41797C7.1123%205.22656%207.27637%205.0625%207.46777%205.0625H9.19043C9.38184%205.0625%209.5459%205.22656%209.51855%205.41797L9.32715%209.13672C9.2998%209.32812%209.16309%209.4375%208.99902%209.4375H7.65918C7.49512%209.4375%207.3584%209.32812%207.33105%209.13672L7.13965%205.41797Z%22%20fill%3D%22currentColor%22%2F%3E%0A%3C%2Fsvg%3E%0A"); }

/* le bouton : le rouge de la Boucherie, en Roboto gras, le bleu foncé au survol */
.elementor-form[data-frm] .elementor-field-group .elementor-button { display: inline-block; width: auto; height: 48px; min-height: 0; margin: 0; padding: 0 32px; box-sizing: border-box; font-family: Roboto, "Helvetica Neue", Arial, sans-serif; font-weight: 700; font-size: 16px; line-height: 16px; letter-spacing: .02em; text-transform: none; color: #FFFFFF !important; background: #FF0000 !important; border: 0; border-radius: 8px; box-shadow: none; cursor: pointer; transition: background-color .2s; }
.elementor-form[data-frm] .elementor-field-group .elementor-button:hover,
.elementor-form[data-frm] .elementor-field-group .elementor-button:focus-visible { background: #192A3D !important; color: #FFFFFF !important; }
@media only screen and (max-width: 600px) {
	.elementor-form[data-frm] .elementor-field-group .elementor-button { width: 100%; }
}

/* après l'envoi : un encadré au fond gris bleuté de la charte */
div.frm-confirmation { margin: 8px 0 24px; padding: 20px 22px; overflow-wrap: break-word; font-family: Lora, Georgia, serif; font-size: 18px; line-height: 26px; color: #192A3D; background: #E1E8ED; border: 0; border-radius: 8px; }
div.frm-confirmation p { margin: 0; color: #192A3D; }
.elementor-form[data-frm] .elementor-message-danger:not(.elementor-help-inline) { margin: 12px 0 0; font-family: Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 14px; color: #C8102E; }
