/* ===== PAGES DU LOT 2 ===== */
.only-m { display: none; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.cols--even { grid-template-columns: 1fr 1fr; margin-top: 28px; }
.textarea, .form-textarea { min-height: 84px; padding: 10px 12px; resize: vertical; line-height: 1.45; }
.loadmore { display: flex; justify-content: center; margin: 28px 0 8px; }
.danger-text { color: var(--color-negative); }

/* Annuaire */
.finder--dir { grid-template-columns: 1fr 1fr 1.2fr auto; align-items: end; padding: 18px 22px; margin-bottom: 8px; }
.field--end { display: flex; align-items: center; min-height: 42px; margin-bottom: 0; }
.suggest--dir { grid-template-columns: repeat(3, 1fr); margin-top: 8px; }

/* Cartes de choix en liste (drawer) */
.choice--stack { grid-template-columns: 1fr; }
.choice__card--row { flex-direction: row; align-items: center; gap: 12px; }
.choice__card--row small { display: block; }
.choice__card--row.is-off { opacity: 0.45; }

/* Canaux du profil */
.chlist { display: grid; }
.chrow { display: flex; align-items: flex-start; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--color-divider); }
.chrow:last-child { border-bottom: 0; }
.chrow__main { flex: 1; min-width: 0; }
.chrow__input { margin-top: 10px; max-width: 340px; }
.chrow .switch { flex-shrink: 0; margin-top: 2px; }
.avatar-edit { display: flex; align-items: center; gap: 12px; margin: 18px 0 12px; }
.avatar--lg { width: 52px; height: 52px; font-size: 16px; }

/* Plans */
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.plan { padding: 26px; display: flex; flex-direction: column; gap: 12px; position: relative; }
.plan__name { font-family: var(--font-title); font-size: 18px; font-weight: 600; }
.plan__price { font-family: var(--font-title); font-size: 36px; font-weight: 700; line-height: 1; }
.plan__price small { font-size: 14px; font-weight: 500; color: var(--color-text-muted); }
.plan__list { display: grid; gap: 10px; margin: 8px 0 18px; flex: 1; }
.plan__list li { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.plan__list li .i { color: var(--color-primary); flex-shrink: 0; }
.plan__list li.is-off { color: var(--color-text-muted); }
.plan__list li.is-off .i { color: var(--color-text-faint); }
.plan--main { background: var(--color-primary-dark); color: #FFFFFF; border-radius: var(--radius); }
.plan--main p { color: rgba(255, 255, 255, 0.82); }
.plan--main .plan__price small { color: rgba(255, 255, 255, 0.75); }
.plan--main .plan__list li .i { color: #FFFFFF; }
.plan__cta { background: #FFFFFF; color: var(--color-primary-dark); border-color: #FFFFFF; }
.plan__tag { position: absolute; top: 18px; right: 18px; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; background: rgba(255, 255, 255, 0.16); padding: 3px 8px; border-radius: 4px; }
.recap { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; margin-bottom: 20px; background: rgba(var(--color-primary-rgb), 0.06); border-radius: var(--radius); }
.recap b { font-family: var(--font-title); font-size: 18px; }
.opt-ico--mtn, .opt-ico--moov, .opt-ico--cel { font-size: 9px; font-weight: 700; width: 34px; letter-spacing: 0; }
.opt-ico--mtn { background: #FEF3C7; color: #92400E; }
.opt-ico--moov { background: #DBEAFE; color: #1E3A8A; }
.opt-ico--cel { background: #D5F5EC; color: #065F46; }

@media (max-width: 1099px) {
	.finder--dir { grid-template-columns: 1fr 1fr; }
	.suggest--dir { grid-template-columns: 1fr 1fr; }
	.plans { grid-template-columns: 1fr; }
	.cols--even { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.only-d { display: none; }
	.only-m { display: inline-flex; }
	.grid2 { grid-template-columns: 1fr; }
	.suggest--dir { grid-template-columns: 1fr; }
	.chrow { flex-wrap: wrap; }
	.chrow__input { max-width: none; }
	.plan { padding: 22px; }
	.hero__actions { width: 100%; }
}

.swrow { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font-size: 14px; }
.swrow__label { color: var(--color-text); }
.chrow .swrow { flex-direction: row-reverse; }
.field__label { display: block; }

/* Paiement : attente dans le drawer */
.pay-wait { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding-top: 36px; }
.pay-wait h3 { font-size: 20px; }
.pay-wait p { color: var(--color-text-2); max-width: 340px; }
.pay-wait__ico { width: 72px; height: 72px; border-radius: 50%; background: rgba(var(--color-primary-rgb), 0.1); display: grid; place-items: center; }
.spinner-lg { width: 30px; height: 30px; border: 3px solid rgba(var(--color-primary-rgb), 0.25); border-top-color: var(--color-primary); border-radius: 50%; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.pay-wait__timer { font-size: 13px; color: var(--color-text-muted); background: var(--color-divider); padding: 4px 12px; border-radius: var(--radius-pill); }
.pay-steps { display: grid; gap: 12px; margin-top: 8px; text-align: left; font-size: 14px; }
.pay-steps li { display: flex; align-items: center; gap: 10px; color: var(--color-text-muted); }
.pay-steps li.is-done { color: var(--pastel-done-fg); }
.pay-steps li.is-done .i { color: var(--color-positive); }
.pay-steps li.is-now { color: var(--color-text); font-weight: 500; }
.pay-steps .dotc { width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid var(--color-border-strong); }
.dotpulse { width: 14px; height: 14px; border-radius: 50%; background: var(--color-primary); animation: pulse 1.2s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: 0.35; transform: scale(0.8); } }
.pay-wait[hidden], #payForm[hidden] { display: none !important; }

/* Page de confirmation */
.confirm { max-width: 560px; margin: 24px auto 0; text-align: center; }
.confirm__ico { width: 84px; height: 84px; border-radius: 50%; background: var(--pastel-done-bg); color: var(--pastel-done-fg); display: grid; place-items: center; margin: 0 auto 20px; }
.confirm h1 { font-size: 28px; margin-bottom: 8px; }
.receipt { text-align: left; margin: 28px 0 24px; }
.receipt dl { display: grid; grid-template-columns: auto 1fr; gap: 12px 24px; }
.receipt dt { color: var(--color-text-muted); }
.receipt dd { text-align: right; font-weight: 500; }
.confirm__actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

/* Vérification d'identité */
.docs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.steps-help { display: grid; gap: 14px; counter-reset: s; }
.steps-help li { display: flex; gap: 12px; font-size: 14px; counter-increment: s; }
.steps-help li::before { content: counter(s); width: 24px; height: 24px; border-radius: 50%; background: rgba(var(--color-primary-rgb), 0.1); color: var(--color-primary); display: grid; place-items: center; font-size: 12px; font-weight: 600; flex-shrink: 0; }
@media (max-width: 767px) { .docs { grid-template-columns: 1fr; } .receipt dl { gap: 10px 16px; } }

/* ===== ADMIN ===== */
.admin-tag { font-size: 11px; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; background: var(--color-primary-dark); color: #FFFFFF; padding: 3px 8px; border-radius: 4px; margin-left: 8px; }
.akpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 28px; }
.akpi { padding: 20px; }
.akpi--alert .kpi__ico { background: var(--pastel-fail-bg); color: var(--pastel-fail-fg); }
.score { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-family: var(--font-title); }
.score i { display: block; width: 56px; height: 6px; background: var(--color-divider); border-radius: 3px; overflow: hidden; }
.score i b { display: block; height: 100%; background: var(--color-primary); }
.score--high i b { background: var(--color-negative); }
.rule-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rule { padding: 18px; display: grid; gap: 10px; }
.rule__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.audit li { display: flex; gap: 14px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--color-divider); font-size: 13px; }
.audit li:last-child { border-bottom: 0; }
.audit code { background: var(--color-divider); padding: 1px 6px; border-radius: 4px; font-size: 12px; }
.search-bar { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; margin-bottom: 8px; align-items: end; }
.search-bar .field { margin: 0; }
@media (max-width: 1099px) { .akpis { grid-template-columns: 1fr 1fr; } .rule-grid { grid-template-columns: 1fr; } .search-bar { grid-template-columns: 1fr; } }

/* ===== Reçu de paiement imprimable ===== */
.rcpt { max-width: 640px; margin: 0 auto; padding: 40px 20px; }
.rcpt__head { display: flex; flex-direction: column; gap: 20px; margin-bottom: 8px; }
.rcpt__actions { margin-top: 24px; }
@media print { .rcpt { padding: 0; } .rcpt__actions { display: none; } }
