/* Originis Pétition — carte de signature. La police est héritée du thème. */
.oripet {
	--oripet-primary: #009fe3;
	--oripet-accent: #e63e24;
	--oripet-texte: #1f2933;
	--oripet-gris: #5f6b7a;
	--oripet-bord: #dfe4ea;
	--oripet-fond: #eef1f5;
	color: var(--oripet-texte);
	margin: 2em 0;
	container-type: inline-size;
}
.oripet *, .oripet *::before, .oripet *::after { box-sizing: border-box; }

.oripet__grille { display: grid; gap: 40px; align-items: start; }
.oripet .oripet__carte { max-width: 560px; width: 100%; margin: 0 auto; }

/* Avec texte : texte 70 % à gauche, carte 30 % à droite, si la zone de contenu est assez large. */
@container (min-width: 760px) {
	.oripet--avec-texte .oripet__grille { grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr); gap: 36px; }
	.oripet--avec-texte .oripet__carte { position: sticky; top: 24px; margin: 0; max-width: none; }
}
.oripet__texte > :first-child { margin-top: 0; }

/* Carte */
.oripet__carte {
	background: #fff;
	border: 1px solid var(--oripet-bord);
	border-top: 6px solid var(--oripet-primary);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(16, 24, 40, .08);
	padding: 26px 26px 24px;
}
.oripet .oripet__titre {
	margin: 0 0 18px;
	padding: 0;
	font-size: 1.35em;
	line-height: 1.25;
	font-weight: 800;
	color: var(--oripet-texte);
}

/* Compteur */
.oripet__stats { margin-bottom: 22px; }
.oripet__compteur { margin: 0 0 8px; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; }
.oripet__nb { font-size: 2em; line-height: 1; font-weight: 800; color: var(--oripet-primary); }
.oripet__nb-label { font-weight: 700; }
.oripet__objectif { color: var(--oripet-gris); font-size: .92em; }
.oripet__objectif strong { color: var(--oripet-texte); }
.oripet__barre { height: 10px; background: var(--oripet-fond); border-radius: 99px; overflow: hidden; }
.oripet__barre span { display: block; height: 100%; min-width: 4px; background: var(--oripet-primary); border-radius: 99px; transition: width .6s ease; }

/* Formulaire */
.oripet__ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@container (max-width: 420px) { .oripet__ligne { grid-template-columns: 1fr; gap: 0; } }
.oripet__champ { margin: 0 0 12px; }
.oripet__champ label { display: block; font-weight: 600; font-size: .9em; margin-bottom: 4px; }
.oripet__champ label span, .oripet__case label span { color: var(--oripet-accent); }
.oripet__champ input {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	font: inherit;
	font-size: 1em;
	color: inherit;
	background: #fff;
	border: 1px solid #c4ccd6;
	border-radius: 6px;
}
.oripet__champ input:focus { outline: 2px solid var(--oripet-primary); outline-offset: 1px; border-color: var(--oripet-primary); }
.oripet__champ--erreur input { border-color: var(--oripet-accent); }

.oripet__case { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 0; font-size: .85em; line-height: 1.45; color: var(--oripet-gris); }
.oripet__case input { margin-top: 2px; width: 18px; height: 18px; flex: 0 0 18px; accent-color: var(--oripet-primary); }
.oripet__case a { color: var(--oripet-primary); }
.oripet__case--erreur label { color: var(--oripet-accent); }

.oripet__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.oripet__erreur {
	margin: 14px 0 0;
	padding: 10px 12px;
	background: #fdecea;
	color: #a1271a;
	border-left: 4px solid var(--oripet-accent);
	border-radius: 4px;
	font-size: .9em;
}

.oripet__bouton {
	display: block;
	width: 100%;
	margin-top: 18px;
	padding: 14px 18px;
	font: inherit;
	font-size: 1.05em;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: #fff;
	background: var(--oripet-accent);
	border: 0;
	border-radius: 6px;
	cursor: pointer;
	transition: filter .15s;
}
.oripet__bouton:hover { filter: brightness(.92); }
.oripet__bouton:disabled { opacity: .6; cursor: wait; }

/* Après signature / pétition close */
.oripet__merci { padding: 18px; background: #eaf7ee; border-left: 4px solid #2e9e55; border-radius: 4px; outline: none; }
.oripet__merci-titre { margin: 0 0 6px; font-weight: 800; color: #1f7a3f; }
.oripet__merci-texte { margin: 0; }
.oripet__close { margin: 0; padding: 14px; background: var(--oripet-fond); border-radius: 4px; font-weight: 600; }

/* Mode compact : carte placée dans une colonne étroite (ex. 30 % d'un article). */
@container (max-width: 300px) {
	.oripet__carte { padding: 18px 16px; border-top-width: 5px; }
	.oripet .oripet__titre { font-size: 1.1em; margin-bottom: 12px; }
	.oripet__nb { font-size: 1.6em; }
	.oripet__objectif { flex-basis: 100%; }
	.oripet__case { font-size: .78em; gap: 8px; }
	.oripet__bouton { font-size: .9em; padding: 12px 10px; text-transform: none; letter-spacing: 0; }
	.oripet__champ label { font-size: .85em; }
}
.oripet__titre, .oripet__case label { overflow-wrap: break-word; hyphens: manual; }

/* Éléments masqués : on force le masquage, certains thèmes / Elementor réécrivent display sur form, p, div. */
.oripet [hidden] { display: none !important; }
