/* Espace client Emotta (shortcodes) */
.emotta-cp {
	max-width: 40rem;
	margin: 0 auto;
	padding: 1.5rem 0;
}
.emotta-cp-head {
	margin-bottom: 1.5rem;
}
.emotta-cp-title {
	font-size: 1.5rem;
	font-weight: 600;
	color: #f8fafc;
	margin: 0 0 0.25rem 0;
}
.emotta-cp-sub {
	color: #94a3b8;
	margin: 0;
	font-size: 0.875rem;
}
.emotta-cp-section {
	margin-bottom: 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}
.emotta-cp-section:last-of-type {
	border-bottom: 0;
}
.emotta-cp-section h3 {
	font-size: 1.1rem;
	margin: 0 0 1rem 0;
	color: #e2e8f0;
}
.emotta-cp-ok { color: #86efac; }
.emotta-cp-error { color: #fca5a5; }
.emotta-cp-note { color: #cbd5e1; }
.emotta-cp-warn { color: #fde68a; }
.emotta-cp-warn--small { font-size: 0.875rem; }
.emotta-cp-quota { color: #94a3b8; }
.emotta-cp-button {
	display: inline-block;
	padding: 0.5rem 1rem;
	border-radius: 0.5rem;
	background: rgba(124, 58, 237, 0.25);
	color: #e9d5ff;
	text-decoration: none;
	font-weight: 500;
	font-size: 0.9rem;
	border: 1px solid rgba(167, 139, 250, 0.35);
	transition: background 0.2s, border-color 0.2s;
}
.emotta-cp-button:hover {
	background: rgba(124, 58, 237, 0.4);
	color: #fff;
}
.emotta-cp-button--primary {
	background: linear-gradient(135deg, #7c3aed, #4f46e5);
	border-color: transparent;
	color: #fff;
}
.emotta-cp-textarea,
.emotta-cp-input {
	width: 100%;
	max-width: 100%;
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	border: 1px solid rgba(148, 163, 184, 0.25);
	background: rgba(15, 23, 42, 0.6);
	color: #f1f5f9;
	font: inherit;
	resize: vertical;
	min-height: 8rem;
}
/* Limite de lecture sur le portail sombre ; pas sur les champs « épurés » (pleine largeur carte auth). */
.emotta-cp-input:not(.emotta-cp-input--epure) {
	min-height: 0;
	max-width: 24rem;
}
.emotta-cp-input.emotta-cp-input--epure {
	min-height: 0;
	max-width: 100%;
}
.emotta-cp--setpass .emotta-cp-title--setpass { margin-top: 0; }
.emotta-cp-form--setpass { margin-top: 1.25rem; }
.emotta-cp-label {
	display: block;
	margin-bottom: 0.5rem;
	color: #e2e8f0;
	font-size: 0.9rem;
}
.emotta-cp-reqlist {
	margin: 0.75rem 0 0 0;
	padding-left: 1.1rem;
	color: #cbd5e1;
}
.emotta-cp-badge {
	display: inline-block;
	margin-left: 0.25rem;
	padding: 0.1rem 0.35rem;
	font-size: 0.7rem;
	border-radius: 0.25rem;
	background: rgba(234, 179, 8, 0.2);
	color: #fde68a;
}
.emotta-cp-h4 { font-size: 1rem; color: #e2e8f0; margin: 1rem 0 0.5rem 0; }
.emotta-cp-out a { color: #94a3b8; font-size: 0.875rem; }
.emotta-cp--guest { text-align: center; }

.emotta .emotta-cp a.emotta-cp-button,
body .emotta-cp a.emotta-cp-button {
	color: #fff;
}
.emotta .emotta-cp a.emotta-cp-button:not(.emotta-cp-button--primary) {
	color: #e9d5ff;
}
.emotta .emotta-cp a.emotta-cp-button:not(.emotta-cp-button--primary):hover {
	color: #fff;
}

/* Première visite : parcours abonnement → Stripe */
.emotta-cp--onboarding {
	max-width: 36rem;
}
.emotta-cp-onboarding__head {
	margin-bottom: 1.25rem;
}
.emotta-cp-onboarding__steps {
	margin: 0 0 1.5rem 0;
	padding-left: 1.25rem;
	color: #cbd5e1;
	line-height: 1.5;
}
.emotta-cp-onboarding__step {
	margin-bottom: 0.75rem;
}
.emotta-cp-onboarding__step strong {
	color: #e2e8f0;
}
.emotta-cp-onboarding__cta {
	margin: 1.25rem 0;
}
.emotta-cp-onboarding__btn {
	font-size: 1rem;
	padding: 0.65rem 1.15rem;
}
.emotta-cp-stripe-err__detail {
	display: block;
	margin-top: 0.4rem;
	font-size: 0.85em;
	font-weight: normal;
	color: #fecaca;
}
.emotta-cp--onboarding .emotta-cp-stripe-err__detail {
	color: #fca5a5;
}
