/* Senego Account — Landing d'adhésion (page /abonnement).
 * Chargé UNIQUEMENT sur les pages contenant le shortcode [senego_abonnement].
 */

.senego-abo {
	font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--senego-color-text);
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 18px 60px;
	line-height: 1.55;
}

.senego-abo h1, .senego-abo h2, .senego-abo h3 { font-weight: 700; }
.senego-abo h2 { font-size: 28px; margin: 0 0 8px; }
.senego-abo h3 { font-size: 17px; margin: 0 0 6px; }
.senego-abo .abo-section-sub { color: var(--senego-color-meta); margin: 0 0 28px; font-size: 14.5px; }

/* ─── Boutons communs ─────────────────────────── */
.senego-abo .abo-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 13px 24px; border-radius: 8px;
	font-size: 14.5px; font-weight: 600;
	text-decoration: none; border: 1px solid transparent;
	transition: all .18s ease;
	cursor: pointer; font-family: inherit;
}
/* Audit 2026-05-27 : CTA hero en orange Senego (texte NOIR sur fond ORANGE = 10.5:1 contraste AAA),
 * cohérent avec le CTA final + identité visuelle Senego.
 * Le bouton :active scale 97% = micro-feedback tap mobile. */
.senego-abo .abo-btn-primary { background: var(--senego-color-primary); color: var(--senego-color-text); box-shadow: 0 6px 18px rgba(255,153,0,.28); transition: background .18s, transform .12s, box-shadow .18s; }
.senego-abo .abo-btn-primary:hover { background: #ffaa20; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(255,153,0,.34); }
.senego-abo .abo-btn-primary:active:not([disabled]) { transform: scale(.97); }
.senego-abo .abo-btn-ghost { background: transparent; color: var(--senego-color-text); border-color: #ddd; }
.senego-abo .abo-btn-ghost:hover { border-color: var(--senego-color-text); background: var(--senego-color-surface-subtle); }
.senego-abo .abo-btn-line { background: #fff; color: var(--senego-color-text); border-color: var(--senego-color-border-line); }
.senego-abo .abo-btn-large { padding: 16px 32px; font-size: 15.5px; }

/* ─── 1. Hero ─────────────────────────────────── */
.senego-abo .abo-hero {
	text-align: center;
	padding: 56px 18px 44px;
	background: linear-gradient(180deg, var(--senego-color-premium-bg) 0%, #fff 100%);
	border-radius: var(--soft-radius);
	margin-top: 24px;
}
.senego-abo .abo-eyebrow {
	display: inline-block; padding: 5px 14px;
	background: #fff; border: 1px solid #ead8ab;
	color: #7a5400; font-weight: 600; font-size: 12.5px;
	border-radius: 999px; margin-bottom: 18px;
	text-transform: uppercase; letter-spacing: 0.04em;
}
.senego-abo .abo-hero h1 {
	font-size: 40px; line-height: 1.15;
	margin: 0 0 18px; color: var(--senego-color-text);
}
.senego-abo .abo-accent { color: var(--senego-color-primary); }
.senego-abo .abo-lead {
	max-width: 640px; margin: 0 auto 28px;
	font-size: 17px; color: #444; line-height: 1.55;
}
/* Badge essai 7j en hero (audit 2026-05-27). */
.senego-abo .abo-hero-trial {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 9px 18px; margin: 0 0 18px;
	background: #f0f9f2; border: 1.5px solid #bfe2c4;
	border-radius: 999px; font-size: 14px; color: #1d7a3a;
}
.senego-abo .abo-hero-trial strong { color: #145a2b; }

.senego-abo .abo-hero-cta {
	display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;
	margin-bottom: 16px;
}
.senego-abo .abo-social-proof {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 10px 18px; background: #fff;
	border: 1px solid #ead8ab; border-radius: 999px;
	font-size: 13px; color: #7a5400; box-shadow: 0 4px 12px rgba(0,0,0,.04);
}

/* ─── 2. Piliers ─────────────────────────────── */
.senego-abo .abo-pillars { margin-top: 60px; }
.senego-abo .abo-pillars h2 { text-align: center; margin-bottom: 36px; }
.senego-abo .abo-pillars-grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px;
}
.senego-abo .abo-pillar {
	background: #fff; border: 1px solid #f0f0f0;
	border-radius: 14px; padding: 28px 22px;
	transition: border-color .18s, transform .18s, box-shadow .18s;
}
.senego-abo .abo-pillar:hover {
	border-color: #ead8ab; transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(0,0,0,.05);
}
.senego-abo .abo-pillar-ico {
	width: 44px; height: 44px; border-radius: 12px;
	background: var(--senego-color-premium-bg); color: var(--senego-color-premium);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 16px;
}
.senego-abo .abo-pillar p { color: #555; font-size: 14px; margin: 0; line-height: 1.55; }

/* ─── 3. Témoignages ─────────────────────────── */
.senego-abo .abo-testimonials { margin-top: 64px; }
.senego-abo .abo-testimonials > h2 { text-align: center; }
.senego-abo .abo-testimonials > .abo-section-sub { text-align: center; }
.senego-abo .abo-testimonials-grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 22px;
}
.senego-abo .abo-testimonial {
	background: var(--senego-color-surface-subtle); border: 1px solid #f0f0f0;
	border-radius: var(--soft-radius); padding: 26px 24px; margin: 0;
}
.senego-abo .abo-testimonial blockquote {
	margin: 0 0 18px; font-size: 14.5px; color: var(--senego-color-text); line-height: 1.6;
	font-style: italic; quotes: none;
}
.senego-abo .abo-testimonial figcaption {
	display: flex; align-items: center; gap: 12px;
}
.senego-abo .abo-tm-avatar {
	width: 38px; height: 38px; border-radius: 50%;
	color: #fff; font-weight: 700; font-size: 13px;
	display: inline-flex; align-items: center; justify-content: center;
}
.senego-abo .abo-tm-name { display: flex; flex-direction: column; font-weight: 600; font-size: 14px; }
.senego-abo .abo-tm-name small { font-weight: 400; color: #888; font-size: 12px; }

/* ─── 4. Comparaison ─────────────────────────── */
.senego-abo .abo-compare { margin-top: 64px; }
.senego-abo .abo-compare > h2 { text-align: center; }
.senego-abo .abo-compare > .abo-section-sub { text-align: center; }
.senego-abo .abo-compare-wrap {
	background: #fff; border: 1px solid var(--senego-color-border-line);
	border-radius: var(--soft-radius); overflow: hidden;
	box-shadow: 0 6px 18px rgba(0,0,0,.04);
}
.senego-abo .abo-compare-table {
	width: 100%; border-collapse: collapse; font-size: 14px;
}
.senego-abo .abo-compare-table th, .senego-abo .abo-compare-table td {
	padding: 14px 18px; text-align: left;
	border-bottom: 1px solid #f4f4f4;
}
.senego-abo .abo-compare-table thead th {
	background: var(--senego-color-surface-subtle); color: var(--senego-color-meta); font-size: 12.5px;
	font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;
}
.senego-abo .abo-compare-table tbody th { color: var(--senego-color-text); font-weight: 500; }
.senego-abo .abo-compare-table .abo-col-free { width: 120px; text-align: center; color: #888; }
.senego-abo .abo-compare-table .abo-col-premium {
	width: 140px; text-align: center;
	background: linear-gradient(180deg, var(--senego-color-premium-bg) 0%, #fffaf0 100%);
	color: #7a5400; border-left: 1px solid #ead8ab;
}
.senego-abo .abo-compare-table td:nth-child(2),
.senego-abo .abo-compare-table td:nth-child(3) { text-align: center; }
.senego-abo .abo-compare-table td:nth-child(3) {
	background: #fffaf0; border-left: 1px solid #f0e0c0;
}
.senego-abo .abo-compare-table tbody tr:last-child th,
.senego-abo .abo-compare-table tbody tr:last-child td { border-bottom: 0; }

/* ─── 5. Tarifs ──────────────────────────────── */
.senego-abo .abo-pricing { margin-top: 64px; padding-top: 8px; }
.senego-abo .abo-pricing > h2 { text-align: center; }
.senego-abo .abo-pricing > .abo-section-sub { text-align: center; }
.senego-abo .abo-pricing-grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 22px; margin-bottom: 32px;
}
.senego-abo .abo-plan {
	display: block; background: #fff;
	border: 2px solid var(--senego-color-border-line); border-radius: var(--soft-radius);
	padding: 32px 28px; text-decoration: none; color: inherit;
	position: relative; transition: border-color .18s, transform .18s, box-shadow .18s;
}
.senego-abo .abo-plan:hover {
	border-color: var(--senego-color-text); transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(0,0,0,.08);
}
.senego-abo .abo-plan-feature {
	border-color: var(--senego-color-premium);
	background: linear-gradient(180deg, #fffaf0 0%, #fff 60%);
}
.senego-abo .abo-plan-feature:hover { border-color: var(--senego-color-premium); }
.senego-abo .abo-plan-ribbon {
	position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
	background: var(--senego-color-premium); color: #fff;
	padding: 5px 14px; border-radius: 999px;
	font-size: 11.5px; font-weight: 600;
	text-transform: uppercase; letter-spacing: 0.04em;
	white-space: nowrap;
}
.senego-abo .abo-plan-name {
	font-size: 18px; font-weight: 700; margin-bottom: 8px;
}
.senego-abo .abo-plan-price {
	font-size: 14px; color: var(--senego-color-meta); margin-bottom: 4px;
}
.senego-abo .abo-plan-price strong {
	font-size: 40px; color: var(--senego-color-text); font-weight: 800; line-height: 1;
}
.senego-abo .abo-plan-price small { font-weight: 400; }
.senego-abo .abo-plan-desc {
	color: var(--senego-color-meta); font-size: 13.5px; margin: 0 0 22px;
	line-height: 1.5;
}
/* Ligne d'équivalence (« Facturé X F CFA par an » ou « Soit X F CFA sur un an »).
   Volontairement discrète : c'est le contexte du prix mensuel affiché plus haut. */
.senego-abo .abo-plan-equiv {
	color: var(--senego-color-meta); font-size: 13px; margin: 0 0 18px; line-height: 1.4;
}
.senego-abo .abo-plan-equiv strong { color: var(--senego-color-text); font-weight: 700; }

/* Badge de réduction (annuel uniquement) — coin haut-droit de la carte.
   Vert = avantage, jamais rouge (rouge = perte / alerte). */
.senego-abo .abo-plan-badge-save {
	position: absolute; top: 16px; right: 16px;
	background: #2d8a3e; color: #fff;
	padding: 5px 11px; border-radius: 8px;
	font-size: 13px; font-weight: 800;
	letter-spacing: -0.01em; line-height: 1;
	box-shadow: 0 4px 10px rgba(45,138,62,.25);
}

/* Liste des bénéfices, avec pastille verte ✓. Lisible, pas tape-à-l'œil. */
.senego-abo .abo-plan-benefits {
	list-style: none; padding: 0; margin: 0 0 22px;
}
.senego-abo .abo-plan-benefits li {
	position: relative; padding: 6px 0 6px 28px;
	color: #333; font-size: 14px; line-height: 1.5;
}
.senego-abo .abo-plan-benefits li::before {
	content: ""; position: absolute; left: 0; top: 9px;
	width: 18px; height: 18px; border-radius: 50%;
	background-color: #2d8a3e;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
	background-size: 12px 12px; background-position: center; background-repeat: no-repeat;
}
.senego-abo .abo-plan-benefits li strong { color: var(--senego-color-text); font-weight: 700; }

.senego-abo .abo-plan .abo-btn { width: 100%; }

/* ─── Carte d'état « changement de plan programmé » (remplace les cartes pricing) ─── */
.senego-abo .abo-scheduled-card {
	background: linear-gradient(180deg, #fff8e8 0%, #ffffff 50%);
	border: 1.5px solid #ffd591;
	border-radius: var(--soft-radius);
	padding: 36px 32px;
	margin: 0 0 28px;
	text-align: center;
	box-shadow: 0 6px 18px rgba(201, 138, 23, .06);
}
.senego-abo .abo-scheduled-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 64px; height: 64px; border-radius: 50%;
	background: var(--senego-color-premium-bg); border: 2px solid #ffd591;
	margin: 0 auto 18px;
}
.senego-abo .abo-scheduled-card h2 {
	font-size: 22px; margin: 0 0 10px; color: var(--senego-color-text);
}
.senego-abo .abo-scheduled-lead {
	color: #555; font-size: 14.5px; line-height: 1.6; max-width: 620px; margin: 0 auto 28px;
}
.senego-abo .abo-scheduled-grid {
	display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px;
	align-items: stretch; max-width: 720px; margin: 0 auto 28px;
}
.senego-abo .abo-scheduled-block {
	background: #fff; border: 1.5px solid var(--senego-color-border-line); border-radius: var(--soft-radius);
	padding: 18px 16px; text-align: left;
}
.senego-abo .abo-scheduled-block.abo-scheduled-future {
	background: #f0f9f2; border-color: #c8e6cf;
}
.senego-abo .abo-scheduled-label {
	font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
	color: var(--senego-color-premium); margin-bottom: 6px;
}
.senego-abo .abo-scheduled-future .abo-scheduled-label { color: #2d8a3e; }
.senego-abo .abo-scheduled-plan {
	font-size: 24px; font-weight: 800; color: var(--senego-color-text); margin-bottom: 6px;
}
.senego-abo .abo-scheduled-meta {
	font-size: 12.5px; color: var(--senego-color-meta); line-height: 1.45;
}
.senego-abo .abo-scheduled-arrow {
	display: flex; align-items: center; justify-content: center;
	color: var(--senego-color-premium);
}
.senego-abo .abo-scheduled-actions {
	display: inline-flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-bottom: 16px;
}
.senego-abo .abo-scheduled-foot {
	font-size: 12.5px; color: #8a4b00; max-width: 560px; margin: 0 auto;
	background: var(--senego-color-premium-bg); border-radius: 8px; padding: 10px 14px; line-height: 1.55;
}
@media (max-width: 640px) {
	.senego-abo .abo-scheduled-grid { grid-template-columns: 1fr; }
	.senego-abo .abo-scheduled-arrow { transform: rotate(90deg); padding: 4px; }
}

/* ─── Mode « membre Premium » : bandeau d'état + carte de formule actuelle ─── */
/* Bandeau visible en haut de la section TARIFS quand l'utilisateur est déjà abonné.
   Reprend les codes Senego (vert principal #2d8a3e) sans cris ni surcharge. */
.senego-abo .abo-current-banner {
	display: flex; align-items: center; gap: 14px;
	padding: 16px 18px; margin: 0 0 28px;
	background: #f0f9f2; border: 1.5px solid #c8e6cf; border-radius: var(--soft-radius);
	flex-wrap: wrap;
}
.senego-abo .abo-current-banner svg { flex: 0 0 20px; }
.senego-abo .abo-current-text { flex: 1; min-width: 240px; font-size: 14.5px; line-height: 1.5; color: #1f4a2a; }
.senego-abo .abo-current-text strong { color: var(--senego-color-text); font-weight: 700; }
.senego-abo .abo-btn-sm { padding: 9px 16px; font-size: 13.5px; }

/* Ruban « ✓ Votre formule » — vert (statut, pas promo) */
.senego-abo .abo-plan-ribbon-current {
	background: #2d8a3e !important;
	color: #fff !important;
}

/* Carte de la formule actuelle : visuellement « cochée » mais non cliquable */
.senego-abo .abo-plan-current {
	cursor: default !important;
	border-color: #2d8a3e !important;
	background: linear-gradient(180deg, #f0f9f2 0%, #fff 60%) !important;
	pointer-events: none; /* empêche tout clic résiduel sur l'élément ou ses enfants */
}
.senego-abo .abo-plan-current:hover {
	border-color: #2d8a3e !important;
	transform: none !important;
	box-shadow: none !important;
}

/* Bouton désactivé (formule actuelle) — visuel inactif, jamais hover */
.senego-abo .abo-btn-disabled {
	background: #e8f0ea; color: #2d8a3e; border-color: #c8e6cf;
	cursor: default; pointer-events: none;
}
.senego-abo .abo-btn-disabled:hover {
	background: #e8f0ea; color: #2d8a3e; border-color: #c8e6cf;
	transform: none; box-shadow: none;
}

/* Trust */
.senego-abo .abo-trust {
	text-align: center;
	background: var(--senego-color-surface-subtle); border-radius: var(--soft-radius);
	padding: 22px 18px;
}
.senego-abo .abo-trust-line {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 13.5px; color: var(--senego-color-text); margin-bottom: 14px;
}
/* Trust badges — icônes officielles (httpdocs/assets/icons), alignées horizontalement.
 * Tailles compactes pour ne pas saturer la page, surtout sur mobile. */
.senego-abo .abo-pay-logos {
	display: flex; justify-content: center; align-items: center;
	gap: 14px; flex-wrap: wrap; margin-bottom: 12px;
}
.senego-abo .abo-pay-logos img {
	height: 26px; width: auto; max-width: 70px;
	object-fit: contain; display: block;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,.04));
}
.senego-abo .abo-trust-foot { font-size: 11.5px; color: #888; margin: 0; }

/* ─── 6. Histoire / mission ───────────────────── */
.senego-abo .abo-story {
	margin-top: 64px;
	max-width: 720px; margin-left: auto; margin-right: auto;
	background: var(--senego-color-surface-subtle); border-radius: var(--soft-radius);
	padding: 36px 32px; text-align: left;
}
.senego-abo .abo-story h2 { margin-bottom: 18px; }
.senego-abo .abo-story p { color: #444; font-size: 15px; margin: 0 0 14px; line-height: 1.65; }
.senego-abo .abo-story p:last-child { margin-bottom: 0; }

/* ─── 7. FAQ ──────────────────────────────────── */
.senego-abo .abo-faq { margin-top: 64px; max-width: 720px; margin-left: auto; margin-right: auto; }
.senego-abo .abo-faq h2 { text-align: center; margin-bottom: 28px; }
.senego-abo .abo-faq details {
	background: #fff; border: 1px solid var(--senego-color-border-line); border-radius: var(--soft-radius);
	padding: 16px 20px; margin-bottom: 10px;
	transition: border-color .15s;
}
.senego-abo .abo-faq details[open] { border-color: var(--senego-color-premium); }
.senego-abo .abo-faq summary {
	cursor: pointer; font-weight: 600; font-size: 14.5px;
	color: var(--senego-color-text); list-style: none; outline: none;
	display: flex; justify-content: space-between; align-items: center;
}
.senego-abo .abo-faq summary::-webkit-details-marker { display: none; }
.senego-abo .abo-faq summary::after {
	content: '+'; color: var(--senego-color-premium); font-weight: 700; font-size: 20px;
	transition: transform .15s;
}
.senego-abo .abo-faq details[open] summary::after { content: '−'; }
.senego-abo .abo-faq p {
	margin: 12px 0 0; color: #555; font-size: 14px; line-height: 1.6;
}

/* ─── 8. CTA final ────────────────────────────── */
.senego-abo .abo-final {
	margin-top: 64px; text-align: center;
	background: linear-gradient(135deg, var(--senego-color-text) 0%, #2a1f00 100%);
	color: #fff; border-radius: var(--soft-radius);
	padding: 50px 28px;
}
.senego-abo .abo-final h2 { color: #fff; margin-bottom: 14px; }
.senego-abo .abo-final p { color: #ccc; max-width: 540px; margin: 0 auto 24px; font-size: 15.5px; }
.senego-abo .abo-final .abo-btn-primary { background: var(--senego-color-primary); color: var(--senego-color-text); }
.senego-abo .abo-final .abo-btn-primary:hover { background: #ffaa20; }
.senego-abo .abo-final-foot { font-size: 13px; color: #999; margin-top: 18px; margin-bottom: 0; }
.senego-abo .abo-final-foot a { color: var(--senego-color-primary); text-decoration: underline; }

/* ─── Responsive ──────────────────────────────── */
@media (max-width: 700px) {
	.senego-abo h2 { font-size: 22px; }
	.senego-abo .abo-hero { padding: 36px 18px 32px; }
	.senego-abo .abo-hero h1 { font-size: 28px; line-height: 1.2; }
	.senego-abo .abo-lead { font-size: 15px; }
	.senego-abo .abo-pillars { margin-top: 44px; }
	.senego-abo .abo-testimonials, .senego-abo .abo-compare, .senego-abo .abo-pricing, .senego-abo .abo-story, .senego-abo .abo-faq, .senego-abo .abo-final { margin-top: 44px; }
	.senego-abo .abo-final { padding: 36px 22px; }
	.senego-abo .abo-final h2 { font-size: 22px; }
	.senego-abo .abo-compare-table th, .senego-abo .abo-compare-table td { padding: 12px 10px; font-size: 13px; }
	/* Icônes de paiement plus compactes sur mobile pour rester sur une seule ligne */
	.senego-abo .abo-pay-logos { gap: 10px; }
	.senego-abo .abo-pay-logos img { height: 22px; max-width: 60px; }
}

/* ====== Page offre — ajouts 2026-06 (logos paiement hero, prix/jour, CTA fixe mobile) ====== */
.senego-abo .abo-hero-pay { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 14px; }
.senego-abo .abo-hero-pay img { height: 26px; width: auto; }

.senego-abo .abo-plan-perday {
	font-size: 13px; font-weight: 700;
	color: var(--senego-color-premium, #c98a17);
	margin: 2px 0 4px;
}

.senego-abo .abo-sticky-cta { display: none; }
@media (max-width: 767px) {
	.senego-abo .abo-hero-pay img { height: 22px; }
	.senego-abo .abo-sticky-cta {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		display: flex; align-items: center; gap: 12px;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
		background: #fff;
		border-top: 1px solid var(--senego-color-border-line, #e8e8e8);
		box-shadow: 0 -4px 16px rgba(0, 0, 0, .10);
	}
	.senego-abo .abo-sticky-cta__txt { display: flex; flex-direction: column; line-height: 1.2; flex: 1 1 auto; }
	.senego-abo .abo-sticky-cta__price { font-size: 15px; color: var(--senego-color-text, #1a1a1a); }
	.senego-abo .abo-sticky-cta__price strong { color: var(--senego-color-primary, #ff9900); }
	.senego-abo .abo-sticky-cta__sub { font-size: 11px; color: #666; }
	.senego-abo .abo-sticky-cta .abo-btn { flex: 0 0 auto; padding: 0 24px; height: 44px; display: inline-flex; align-items: center; }
	/* Réserve l'espace du CTA fixe pour ne pas masquer le bas de page. */
	.senego-abo { padding-bottom: 76px; }
}

/* ── Vague 3 : palier « Ami » (ancre haute) + bloc « Don ponctuel » ── */
.abo-plan-ami { border-color: var(--senego-color-premium, #c98a17); }
.abo-plan-ami .abo-plan-ribbon-ami {
  background: var(--senego-color-premium, #c98a17);
  color: #fff;
}
.abo-don {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  margin: 18px 0 0; padding: 16px 18px;
  background: var(--senego-color-premium-bg, #fff7e6);
  border: 1px solid #ffd591; border-radius: var(--senego-radius-lg, 12px);
}
.abo-don-txt { flex: 1 1 240px; font-size: 14px; line-height: 1.5; color: var(--senego-color-text, #1a1a1a); }
.abo-don-txt strong { display: block; margin-bottom: 2px; }
.abo-don-txt span { color: var(--senego-color-muted, #6b7280); }
.abo-don-btn { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 560px) { .abo-don-btn { width: 100%; text-align: center; } }

/* Badge « Bientôt » (avantages Premium pas encore livrés — honnêteté) */
.senego-abo .abo-soon {
  display: inline-block; font-size: 11px; font-weight: 700;
  padding: 2px 9px; border-radius: 999px;
  background: var(--senego-color-surface-muted, #f8f9fa);
  color: var(--senego-color-muted, #6b7280);
  border: 1px solid var(--senego-color-border, #e0e0e0);
}
