/**
 * AFTPVA Membership — styles front + back.
 *
 * Utilise les variables CSS Elementor Pro :
 *   --e-global-color-primary    (#3C3C3C)
 *   --e-global-color-secondary  (#46B0D7)
 *   --e-global-color-text       (#3C3C3C)
 *   --e-global-color-accent     (#40BA85)
 *
 * Fallback fournis pour les pages sans Elementor (admin WP).
 */

/* ---------- Badges de statut adhésion + paiement ---------- */
.aftpva-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
}

.aftpva-badge--active        { background: #d4edda; color: #155724; }
.aftpva-badge--expired       { background: #fff3cd; color: #856404; }
.aftpva-badge--suspended     { background: #f8d7da; color: #721c24; }
.aftpva-badge--none          { background: #e9ecef; color: #6c757d; }
.aftpva-badge--unknown       { background: #e9ecef; color: #495057; }

.aftpva-badge--pay-paid      { background: #d4edda; color: #155724; }
.aftpva-badge--pay-pending   { background: #fff3cd; color: #856404; }
.aftpva-badge--pay-failed    { background: #f8d7da; color: #721c24; }
.aftpva-badge--pay-unknown   { background: #e9ecef; color: #6c757d; }

/* États composites (NUA × adhésion × paiement). */
.aftpva-badge--state-up-to-date       { background: #d4edda; color: #155724; }
.aftpva-badge--state-pending-approval { background: #cfe2ff; color: #084298; }
.aftpva-badge--state-pending-payment  { background: #fff3cd; color: #856404; }
.aftpva-badge--state-expired          { background: #fff3cd; color: #856404; }
.aftpva-badge--state-suspended        { background: #f8d7da; color: #721c24; }
.aftpva-badge--state-denied           { background: #f8d7da; color: #721c24; }
.aftpva-badge--state-no-membership    { background: #e9ecef; color: #6c757d; }

/* ---------- Carte "Mon profil" sur le dashboard adhérent ---------- */
.aftpva-profile-card {
	padding: 20px 24px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-left: 4px solid var(--e-global-color-secondary, #46B0D7);
	border-radius: 6px;
}
.aftpva-profile-card h3 {
	margin: 0 0 8px;
	font-size: 18px;
	color: var(--e-global-color-primary, #3C3C3C);
}
.aftpva-profile-card p {
	margin: 0 0 14px;
	color: var(--e-global-color-text, #3C3C3C);
}
/* Bouton outline : bordure colorée, fond transparent → rempli au hover.
   !important nécessaire pour battre les styles thème qui ciblent .aftpva-profile-card a (cf. Hello Elementor). */
.aftpva-profile-card a.aftpva-btn {
	display: inline-block;
	padding: 8px 18px;
	background: transparent !important;
	color: var(--e-global-color-secondary, #46B0D7) !important;
	border: 2px solid var(--e-global-color-secondary, #46B0D7);
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.4;
	transition: background 0.15s ease-in-out, color 0.15s ease-in-out;
}
.aftpva-profile-card a.aftpva-btn:hover,
.aftpva-profile-card a.aftpva-btn:focus {
	background: var(--e-global-color-secondary, #46B0D7) !important;
	color: #fff !important;
}

/* ---------- Carte d'état d'adhésion (dashboard adhérent) ---------- */
.aftpva-membership-status {
	padding: 18px 22px;
	margin: 0 0 24px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-left: 4px solid var(--e-global-color-secondary, #46B0D7);
	border-radius: 6px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.aftpva-membership-status__title {
	margin: 0 0 6px;
	font-size: 18px;
	color: var(--e-global-color-primary, #3C3C3C);
}
.aftpva-membership-status__message {
	margin: 0;
	color: var(--e-global-color-text, #3C3C3C);
	line-height: 1.5;
}

/* Variantes par état (couleur de la bordure gauche + fond léger). */
.aftpva-membership-status--up-to-date {
	border-left-color: var(--e-global-color-accent, #40BA85);
	background: rgba(64, 186, 133, 0.05);
}
.aftpva-membership-status--up-to-date .aftpva-membership-status__title {
	color: var(--e-global-color-accent, #40BA85);
}

.aftpva-membership-status--pending-approval {
	border-left-color: var(--e-global-color-secondary, #46B0D7);
	background: rgba(70, 176, 215, 0.06);
}
.aftpva-membership-status--pending-approval .aftpva-membership-status__title {
	color: var(--e-global-color-secondary, #46B0D7);
}

.aftpva-membership-status--pending-payment {
	border-left-color: #f0ad4e;
	background: rgba(255, 193, 7, 0.06);
}
.aftpva-membership-status--pending-payment .aftpva-membership-status__title {
	color: #856404;
}

.aftpva-membership-status--expired,
.aftpva-membership-status--suspended,
.aftpva-membership-status--denied {
	border-left-color: #d92651;
	background: rgba(217, 38, 81, 0.04);
}
.aftpva-membership-status--expired .aftpva-membership-status__title,
.aftpva-membership-status--suspended .aftpva-membership-status__title,
.aftpva-membership-status--denied .aftpva-membership-status__title {
	color: #d92651;
}

/* ---------- Bandeau "déjà à jour" / "paiement en attente" (forms 1358 / 7165) ---------- */
.aftpva-already-member-notice {
	padding: 20px 24px;
	margin: 0 0 24px;
	border-radius: 4px;
	border-left: 4px solid;
}
.aftpva-already-member-notice h3 {
	margin: 0 0 8px;
	font-size: 18px;
}
.aftpva-already-member-notice p {
	margin: 0 0 14px;
	color: var(--e-global-color-text, #3C3C3C);
}

/* Variante "à jour" (paiement confirmé) — bleu secondaire Elementor. */
.aftpva-already-member-notice--paid {
	background: rgba(70, 176, 215, 0.08);
	border-color: var(--e-global-color-secondary, #46B0D7);
}
.aftpva-already-member-notice--paid h3 {
	color: var(--e-global-color-secondary, #46B0D7);
}

/* Variante "paiement en attente" — ambre pour signaler une action en cours. */
.aftpva-already-member-notice--pending {
	background: rgba(255, 193, 7, 0.10);
	border-color: #f0ad4e;
}
.aftpva-already-member-notice--pending h3 {
	color: #856404;
}

.aftpva-already-member-notice a.aftpva-btn {
	display: inline-block;
	padding: 10px 20px;
	background: var(--e-global-color-secondary, #46B0D7) !important;
	color: #fff !important;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
	transition: background 0.15s ease-in-out;
}
.aftpva-already-member-notice a.aftpva-btn:hover {
	background: var(--e-global-color-primary, #3C3C3C) !important;
	color: #fff !important;
}
/* En version "pending", le bouton garde le style secondaire pour ne pas surcharger l'attention. */

/* ---------- Bandeau d'invitation à la connexion ---------- */
.aftpva-prefill-notice {
	padding: 16px 20px;
	background: rgba(70, 176, 215, 0.06);
	border-left: 4px solid var(--e-global-color-secondary, #46B0D7);
	margin: 0 0 20px;
	border-radius: 4px;
}
.aftpva-prefill-notice p {
	margin: 0 0 10px;
	color: var(--e-global-color-text, #3C3C3C);
}
.aftpva-prefill-notice a.aftpva-btn {
	display: inline-block;
	padding: 8px 16px;
	background: var(--e-global-color-secondary, #46B0D7) !important;
	color: #fff !important;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
	transition: background 0.15s ease-in-out;
}
.aftpva-prefill-notice a.aftpva-btn:hover {
	background: var(--e-global-color-primary, #3C3C3C) !important;
	color: #fff !important;
}

/* ---------- Gate d'accès au form 7165 (invitation requise) ---------- */
.aftpva-invite-gate {
	max-width: 640px;
	margin: 40px auto;
	padding: 32px 28px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-left: 4px solid var(--e-global-color-secondary, #46B0D7);
	border-radius: 6px;
	text-align: center;
}
.aftpva-invite-gate__title {
	margin: 0 0 12px;
	font-size: 22px;
	color: var(--e-global-color-primary, #3C3C3C);
}
.aftpva-invite-gate__message {
	margin: 0 0 24px;
	color: var(--e-global-color-text, #3C3C3C);
	line-height: 1.5;
}
.aftpva-invite-gate__actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}
.aftpva-invite-gate .aftpva-btn {
	display: inline-block;
	padding: 10px 22px;
	background: var(--e-global-color-secondary, #46B0D7);
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
	transition: background 0.15s ease-in-out;
}
.aftpva-invite-gate .aftpva-btn:hover {
	background: var(--e-global-color-primary, #3C3C3C);
	color: #fff;
}
.aftpva-invite-gate .aftpva-btn--secondary {
	background: transparent;
	color: var(--e-global-color-secondary, #46B0D7);
	border: 2px solid var(--e-global-color-secondary, #46B0D7);
	padding: 8px 20px;
}
.aftpva-invite-gate .aftpva-btn--secondary:hover {
	background: var(--e-global-color-secondary, #46B0D7);
	color: #fff;
}

/* ---------- Message d'erreur vérification email ---------- */
.aftpva-email-check-message {
	margin-top: 6px;
	padding: 8px 12px;
	background: #fff3cd;
	border-left: 3px solid #f0ad4e;
	color: #856404;
	font-size: 14px;
}
