/* ric_eopla — styles du formulaire unifié (préfixe .eopla- : pas de collision thème) */
.eopla-formulaire{
	--eopla-jaune:#f8eb3e;--eopla-jaune-pale:#FFF6C8;--eopla-encre:#17150F;
	--eopla-blanc:#fff;--eopla-rouge:#E0533C;--eopla-vert:#2E9E63;
	--eopla-bord:2px solid var(--eopla-encre);--eopla-r:18px;
	--eopla-ombre:5px 6px 0 rgba(23,21,15,.16);
	font-family:inherit;color:var(--eopla-encre);
}
.eopla-formulaire *{box-sizing:border-box}

.eopla-coquille{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}
@media(max-width:880px){.eopla-coquille{grid-template-columns:1fr}}

.eopla-carte{
	background:var(--eopla-blanc);border:var(--eopla-bord);border-radius:var(--eopla-r);
	box-shadow:var(--eopla-ombre);padding:22px clamp(14px,3vw,26px);margin-bottom:22px;
}
.eopla-carte h2{display:flex;align-items:center;gap:11px;font-size:1.12rem;margin:0 0 6px}
.eopla-num{
	flex:none;width:32px;height:32px;border-radius:50%;background:var(--eopla-jaune);
	border:var(--eopla-bord);display:grid;place-items:center;font-weight:700;transform:rotate(-6deg);
	line-height: 32px;
}
.eopla-sous{font-size:.88rem;opacity:.72;margin:0 0 16px}

/* chips services — propriétés verrouillées : les thèmes stylent agressivement
   les <button> (texte blanc, uppercase, fonds…), d'où les !important ciblés. */
.eopla-chips{display:flex;flex-wrap:wrap;gap:11px}
.eopla-formulaire .eopla-chip{
	font-family:inherit;font-weight:700 !important;font-size:.92rem !important;
	color:var(--eopla-encre) !important;background:var(--eopla-blanc) !important;
	border:var(--eopla-bord) !important;border-radius:999px !important;
	padding:10px 18px !important;cursor:pointer;transition:.18s;
	text-transform:none !important;letter-spacing:normal !important;
	line-height:1.3 !important;box-shadow:none !important;margin:0 !important;
	text-decoration:none !important;
}
.eopla-formulaire .eopla-chip:hover{transform:translateY(-2px);background:var(--eopla-jaune-pale) !important}
.eopla-chip .eopla-coche{display:none;margin-right:6px}
.eopla-chip[aria-pressed="true"] .eopla-coche{display:inline}
.eopla-formulaire .eopla-chip[aria-pressed="true"]{background:var(--chip-couleur,var(--eopla-jaune)) !important}

/* volumes */
.eopla-volumes{display:flex;flex-direction:column;gap:16px}
.eopla-vol{border:var(--eopla-bord);border-radius:14px;padding:15px 16px;background:var(--vol-fond,var(--eopla-blanc))}
.eopla-vol .eopla-titre{font-weight:700;margin-bottom:3px}
.eopla-vol .eopla-unite{font-size:.8rem;opacity:.7;margin-bottom:11px}
.eopla-ligne-slider{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.eopla-valeur{
	flex:none;width:50px;height:42px;border:var(--eopla-bord);border-radius:10px;
	background:var(--eopla-blanc);display:grid;place-items:center;font-weight:700;font-size:1.05rem;
}
.eopla-formulaire input[type=range]{flex:1;accent-color:var(--eopla-encre);height:6px;cursor:pointer}
.eopla-mini-total{font-size:.82rem;font-weight:600;opacity:.8}
.eopla-info{font-size:.9rem;line-height:1.5;margin:0}

/* planning */
.eopla-peintres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}
.eopla-formulaire .eopla-peintre{
	font-family:inherit;font-weight:700 !important;font-size:.78rem !important;
	color:var(--eopla-encre) !important;background:var(--peintre-couleur,var(--eopla-blanc)) !important;
	border:var(--eopla-bord) !important;border-radius:999px !important;
	padding:6px 13px !important;cursor:pointer;transition:.15s;
	text-transform:none !important;letter-spacing:normal !important;
	line-height:1.3 !important;box-shadow:none !important;margin:0 !important;
}
.eopla-peintre[aria-pressed="true"]{outline:3px solid var(--eopla-encre);outline-offset:2px}
.eopla-grille-scroll{overflow-x:auto;padding-bottom:5px}
.eopla-planning{border-collapse:separate;border-spacing:5px;width:100%;min-width:420px}
.eopla-planning th{
	font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;padding:6px 5px;
	background:var(--eopla-jaune-pale);border:var(--eopla-bord);border-radius:9px;
	font-weight:700;color:var(--eopla-encre);
}
.eopla-planning th.eopla-ligne-th{background:var(--eopla-jaune)}
.eopla-planning td{
	height:44px;min-width:48px;border:var(--eopla-bord);border-radius:9px;
	background:var(--eopla-blanc);cursor:pointer;text-align:center;vertical-align:middle;
	transition:.12s;user-select:none;color:var(--eopla-encre);padding:3px 2px;
}
.eopla-planning td .eopla-point{
	display:inline-block;width:11px;height:11px;border-radius:50%;
	background:var(--point-couleur,var(--eopla-jaune));
	border:1.5px solid var(--eopla-encre);margin:1px;vertical-align:middle;
}
.eopla-planning td:hover{transform:scale(1.05)}
.eopla-legende{font-size:.8rem;opacity:.7;margin:9px 0 0}

/* champs */
.eopla-grille-champs{display:grid;grid-template-columns:1fr 1fr;gap:15px}
@media(max-width:620px){.eopla-grille-champs{grid-template-columns:1fr}}
.eopla-duo{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}
.eopla-champ label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.86rem}
.eopla-large{grid-column:1/-1}
.eopla-req{color:var(--eopla-rouge)}
.eopla-champ input,.eopla-champ select,.eopla-champ textarea{
	font-family:inherit;font-size:.93rem;border:var(--eopla-bord);border-radius:11px;
	padding:10px 13px;background:var(--eopla-blanc) !important;width:100%;font-weight:400;
	color:var(--eopla-encre) !important;
}
.eopla-champ textarea{min-height:100px;resize:vertical}
.eopla-champ input:focus,.eopla-champ select:focus,.eopla-champ textarea:focus{
	outline:none;box-shadow:0 0 0 4px rgba(255,222,20,.55);
}
.eopla-champ.eopla-erreur input{border-color:var(--eopla-rouge);box-shadow:0 0 0 4px rgba(224,83,60,.18)}
.eopla-msg-err{display:none;font-size:.76rem;color:var(--eopla-rouge);font-weight:600;margin-top:4px}
.eopla-champ.eopla-erreur .eopla-msg-err{display:block}
.eopla-honeypot{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.eopla-erreur-globale{color:var(--eopla-rouge);font-weight:700;text-align:center}

/* pastilles multi-choix du rappel (jours / créneaux) */
.eopla-etiquette{display:block;font-weight:700;font-size:.86rem;margin-bottom:8px}
.eopla-pilules{display:flex;flex-wrap:wrap;gap:8px}
.eopla-formulaire .eopla-pilule{
	font-family:inherit;font-weight:700 !important;font-size:.82rem !important;
	color:var(--eopla-encre) !important;background:var(--eopla-blanc) !important;
	border:var(--eopla-bord) !important;border-radius:999px !important;
	padding:7px 15px !important;cursor:pointer;transition:.15s;
	text-transform:none !important;letter-spacing:normal !important;
	line-height:1.3 !important;box-shadow:none !important;margin:0 !important;
}
.eopla-formulaire .eopla-pilule:hover{background:var(--eopla-jaune-pale) !important;transform:translateY(-1px)}
.eopla-formulaire .eopla-pilule[aria-pressed="true"]{background:var(--eopla-jaune) !important}

/* bouton */
.eopla-btn{
	font-family:inherit;font-weight:700 !important;font-size:1rem !important;
	background:var(--eopla-jaune,#f8eb3e) !important;color:var(--eopla-encre,#17150F) !important;
	border:2px solid var(--eopla-encre,#17150F) !important;border-radius:999px !important;
	padding:14px 32px !important;cursor:pointer;
	box-shadow:5px 6px 0 rgba(23,21,15,.16) !important;
	transition:transform .15s,box-shadow .15s;
	text-transform:none !important;letter-spacing:normal !important;
	line-height:1.3 !important;text-decoration:none !important;
}
.eopla-btn:hover{transform:translate(-2px,-2px);box-shadow:7px 8px 0 rgba(23,21,15,.18) !important}
.eopla-btn[disabled]{opacity:.6;cursor:wait;transform:none}
.eopla-zone-envoi{text-align:center;padding:4px 0 8px}

/* récap — le décalage --eopla-decalage est calculé en JS d'après la hauteur
   du header fixe du thème (#header-wrapper), pour ne pas passer dessous. */
.eopla-recap{
	position:sticky;top:calc(var(--eopla-decalage,0px) + 20px);
	transition:top .18s ease;
	background:var(--eopla-jaune);border:var(--eopla-bord);
	border-radius:var(--eopla-r);box-shadow:var(--eopla-ombre);padding:20px;transform:rotate(.6deg);
}
@media(max-width:880px){.eopla-recap{position:static;transform:none}}
.eopla-recap h3{margin:0 0 10px;font-size:1.2rem}
.eopla-recap-lignes{display:flex;flex-direction:column;gap:6px;margin-bottom:13px;min-height:24px}
.eopla-recap .eopla-ligne{display:flex;justify-content:space-between;gap:10px;font-size:.86rem}
.eopla-recap .eopla-v{font-weight:700;white-space:nowrap}
.eopla-vide{font-size:.86rem;opacity:.75;font-style:italic}
.eopla-recap-total{border-top:2px dashed var(--eopla-encre);padding-top:11px;display:flex;flex-direction:column;gap:7px}
.eopla-recap-total .eopla-apres .eopla-v{font-size:1.25rem}
.eopla-mention{font-size:.7rem;line-height:1.45;opacity:.78;margin:11px 0 0}
.eopla-badge-pdf{
	margin-top:13px;background:var(--eopla-encre);color:var(--eopla-jaune);border-radius:11px;
	padding:9px 12px;font-size:.78rem;font-weight:600;display:flex;gap:8px;align-items:center;
}

/* confirmation */
.eopla-confirmation{grid-column:1/-1;text-align:center;padding:36px 18px}
.eopla-rond{
	width:80px;height:80px;border-radius:50%;background:var(--eopla-vert);color:#fff;
	display:grid;place-items:center;font-size:2.2rem;margin:0 auto 16px;border:var(--eopla-bord);
}
.eopla-confirmation h2{margin:0 0 8px}
.eopla-confirmation p{max-width:460px;margin:0 auto 6px;font-size:.93rem;line-height:1.6}
.eopla-ref-devis{font-weight:700;background:var(--eopla-jaune-pale);padding:2px 9px;border-radius:8px}

/* modale (mode bouton) */
.eopla-modale-fond{
	position:fixed;inset:0;background:rgba(23,21,15,.55);backdrop-filter:blur(3px);
	display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;
	padding:40px 16px;z-index:99999;
}
.eopla-modale-boite{
	background:#FBF7EE;border-radius:24px;border:2px solid #17150F;
	max-width:1020px;width:100%;padding:52px clamp(14px,3vw,32px) 36px;position:relative;
	animation:eopla-pop .28s cubic-bezier(.2,1.4,.4,1);
}
@keyframes eopla-pop{from{transform:translateY(26px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.eopla-modale-fermer{
	position:absolute;top:13px;right:13px;width:40px;height:40px;border-radius:50%;
	border:2px solid #17150F;background:#fff;font-size:1.15rem;font-weight:700;cursor:pointer;
}
.eopla-modale-fermer:hover{background:#f8eb3e}
.eopla-chargement{text-align:center;padding:30px;font-weight:700}

/* injection inline (mode bouton) : fondu + léger glissement */
.eopla-injection{
	opacity:0;transform:translateY(14px);
	transition:opacity .38s ease,transform .38s ease;
	margin-top:22px;
}
.eopla-injection.eopla-visible{opacity:1;transform:none}
.eopla-bloc-declencheur .eopla-declencheur{cursor:pointer}
