/* ============================================================
   BlueWari — interface client simplifiée (novembre 2026)
   Une seule promesse : envoyer de l'argent entre le Ghana et l'Afrique
   francophone. Une carte, de grands chiffres, un seul bouton principal.
   S'appuie sur shared/styles.css (modales, formulaires, pied de page) et
   remplace son en-tête sombre et ses boutons « flottants ».
   ============================================================ */
:root{
  --cx-bg:#F4F7F8;
  --cx-card:#FFFFFF;
  --cx-ink:#0F1E26;
  --cx-muted:#5E717B;
  --cx-line:#E2E9EB;
  --cx-field:#F4F7F8;
  --cx-primary:#0A7F94;
  --cx-primary-press:#086B7D;
  --cx-soft:#E9F4F6;
  --cx-good:#1E7A46;
  --cx-good-bg:#E7F6EE;
  --cx-warn:#8A5A00;
  --cx-warn-bg:#FFF4DB;
  --cx-bad:#9B3A2E;
  --cx-bad-bg:#FDECEA;
  --cx-radius:22px;
  --cx-shadow:0 1px 2px rgba(15,30,38,0.04), 0 10px 30px rgba(15,30,38,0.06);
}

body{ background:var(--cx-bg); color:var(--cx-ink); -webkit-font-smoothing:antialiased; }
.cx-main{ max-width:1080px; margin:0 auto; padding:28px 16px 64px; width:100%; flex:1 0 auto; }

/* Remise à zéro des boutons « style » quand on veut un lien ou une icône */
.cx-country-btn, .cx-swap, .cx-back, .cx-request-link, .cx-see-all, .cx-row-link, .cx-chip,
.cx-sheet-item, .cx-list-item, .cx-saved-item, .cx-quote-link, .cx-tabbar a, .cx-head-btn{
  font-family:'Inter',system-ui,sans-serif; transform:none; box-shadow:none;
}
.cx-country-btn:hover, .cx-swap:hover, .cx-back:hover, .cx-request-link:hover, .cx-see-all:hover,
.cx-row-link:hover, .cx-chip:hover, .cx-sheet-item:hover, .cx-list-item:hover, .cx-saved-item:hover,
.cx-quote-link:hover, .cx-head-btn:hover{ transform:none; box-shadow:none; }

/* ---------- En-tête clair ---------- */
header.cx-header{ background:rgba(255,255,255,0.92); color:var(--cx-ink); border-bottom:1px solid var(--cx-line);
  position:sticky; top:0; z-index:40; backdrop-filter:saturate(180%) blur(12px); -webkit-backdrop-filter:saturate(180%) blur(12px); }
.cx-header-inner{ max-width:1080px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:60px; }
.cx-brand{ color:var(--cx-ink); font-size:20px; }
.cx-brand .accent{ color:#D39722; }
.cx-header-right{ display:flex; align-items:center; gap:10px; }
.cx-head-link{ font-size:14px; font-weight:600; color:var(--cx-muted); padding:8px 10px; border-radius:10px; }
.cx-head-link:hover, .cx-head-link.active{ color:var(--cx-ink); background:var(--cx-field); }
.cx-lang{ display:inline-flex; background:var(--cx-field); border:1px solid var(--cx-line); border-radius:10px; padding:2px; gap:2px; }
.cx-lang button{ background:none; border:none; color:var(--cx-muted); font-size:12px; font-weight:700; padding:6px 9px; border-radius:8px; cursor:pointer; transform:none; box-shadow:none; }
.cx-lang button:hover{ background:none; transform:none; box-shadow:none; color:var(--cx-ink); }
.cx-lang button.active{ background:#fff; color:var(--cx-ink); box-shadow:0 1px 2px rgba(15,30,38,0.08); }
#nav-auth{ display:flex; align-items:center; gap:8px; opacity:1; }
.cx-head-btn{ background:var(--cx-ink); color:#fff; border-radius:999px; padding:9px 16px; font-size:14px; font-weight:600; border:none; cursor:pointer; }
.cx-head-btn:hover{ background:#22343D; }
.cx-head-btn.light{ background:var(--cx-field); color:var(--cx-ink); border:1px solid var(--cx-line); }
.cx-head-btn.light:hover{ background:#EAF0F2; }
.cx-avatar{ width:34px; height:34px; border-radius:50%; background:var(--cx-soft); color:var(--cx-primary); display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; }
.cx-menu-wrap{ position:relative; }
.cx-menu{ position:absolute; right:0; top:calc(100% + 8px); background:#fff; border:1px solid var(--cx-line); border-radius:14px; box-shadow:0 16px 40px rgba(15,30,38,0.14); padding:6px; min-width:220px; z-index:50; }
.cx-menu a, .cx-menu button{ display:block; width:100%; text-align:left; padding:10px 12px; border-radius:9px; font-size:14px; font-weight:500; color:var(--cx-ink); background:none; border:none; cursor:pointer; transform:none; box-shadow:none; }
.cx-menu a:hover, .cx-menu button:hover{ background:var(--cx-field); transform:none; box-shadow:none; }
.cx-menu .cx-menu-sep{ height:1px; background:var(--cx-line); margin:6px 4px; }
.cx-menu .cx-danger{ color:var(--cx-bad); }

/* ---------- Accueil ---------- */
.cx-hero{ text-align:center; max-width:560px; margin:16px auto 22px; }
.cx-hero h1{ font-family:'Poppins',sans-serif; font-size:34px; line-height:1.15; font-weight:700; letter-spacing:-0.02em; margin:0 auto 10px; max-width:none; }
.cx-hero-sub{ font-size:16px; color:var(--cx-muted); margin:0; line-height:1.5; }

.cx-card{ background:var(--cx-card); border-radius:var(--cx-radius); box-shadow:var(--cx-shadow); border:1px solid var(--cx-line);
  max-width:480px; margin:0 auto; padding:22px; position:relative; overflow:hidden; }
.cx-progress{ position:absolute; top:0; left:0; right:0; height:3px; background:var(--cx-line); }
.cx-progress span{ display:block; height:100%; width:33%; background:var(--cx-primary); transition:width 0.3s ease; }

.cx-field{ margin-bottom:14px; }
.cx-field label, .cx-label{ display:block; text-transform:none; letter-spacing:0; font-size:13.5px; font-weight:600; color:var(--cx-muted); margin:0 0 7px; }
.cx-amount-row{ display:flex; align-items:center; gap:10px; background:var(--cx-field); border:1.5px solid transparent; border-radius:16px; padding:8px 8px 8px 16px; transition:border-color 0.15s, background 0.15s; }
.cx-amount-row:focus-within{ border-color:var(--cx-primary); background:#fff; }
.cx-amount{ flex:1; min-width:0; border:none !important; background:transparent !important; box-shadow:none !important; padding:6px 0 !important; min-height:0 !important;
  font-size:30px; font-weight:600; letter-spacing:-0.01em; font-variant-numeric:tabular-nums; color:var(--cx-ink); }
.cx-amount::placeholder{ color:#A9B7BD; }
.cx-country-btn{ display:inline-flex; align-items:center; gap:7px; background:#fff; color:var(--cx-ink); border:1px solid var(--cx-line); border-radius:999px;
  padding:9px 12px 9px 10px; font-size:15px; font-weight:600; white-space:nowrap; flex-shrink:0; }
.cx-country-btn:hover{ background:#fff; border-color:#C9D6DA; }
.cx-country-btn .cx-flag{ font-size:20px; line-height:1; }
.cx-country-btn .cx-chev{ width:14px; height:14px; color:var(--cx-muted); }
.cx-country-btn[disabled]{ background:#fff; color:var(--cx-ink); cursor:default; opacity:1; }
.cx-country-btn[disabled] .cx-chev{ display:none; }

.cx-swap-row{ display:flex; justify-content:center; margin:-4px 0 4px; position:relative; z-index:2; }
.cx-swap{ width:40px; height:40px; border-radius:50%; background:#fff; color:var(--cx-primary); border:1px solid var(--cx-line); padding:0; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 2px 6px rgba(15,30,38,0.08); }
.cx-swap:hover{ background:var(--cx-soft); box-shadow:0 2px 6px rgba(15,30,38,0.08); }
.cx-swap svg{ width:18px; height:18px; }
.cx-swap.spin svg{ animation:cxspin 0.35s ease; }
@keyframes cxspin{ from{ transform:rotate(0); } to{ transform:rotate(180deg); } }

.cx-quote{ font-size:14px; color:var(--cx-muted); margin:6px 2px 16px; min-height:68px; }
.cx-quote-row{ display:flex; justify-content:space-between; gap:12px; padding:3px 0; }
.cx-quote-row strong{ color:var(--cx-ink); font-weight:600; font-variant-numeric:tabular-nums; text-align:right; }
.cx-quote-row.total{ font-size:15px; color:var(--cx-ink); padding-top:8px; margin-top:6px; border-top:1px solid var(--cx-line); }
.cx-quote-row.total strong{ font-size:16px; font-weight:700; }
.cx-quote-link{ background:none; border:none; padding:0; color:var(--cx-primary); font-weight:600; font-size:14px; cursor:pointer; }
.cx-quote-link:hover{ background:none; text-decoration:underline; }
.cx-quote-muted{ color:var(--cx-muted); }
.cx-skeleton{ display:inline-block; height:12px; width:120px; border-radius:6px; background:linear-gradient(90deg, #EDF2F4, #F7FAFB, #EDF2F4); background-size:200% 100%; animation:cxshimmer 1.2s infinite; vertical-align:middle; }
@keyframes cxshimmer{ from{ background-position:200% 0; } to{ background-position:-200% 0; } }

.cx-primary{ display:block; width:100%; min-height:54px; border-radius:15px; background:var(--cx-primary); color:#fff; font-size:16px; font-weight:600; border:none; transform:none; box-shadow:none; letter-spacing:0; }
.cx-primary:hover{ background:var(--cx-primary-press); transform:none; box-shadow:none; }
.cx-primary:active{ transform:scale(0.99); }
.cx-primary:disabled{ background:#A8C6CC; }
.cx-secondary{ background:#fff; color:var(--cx-ink); border:1px solid var(--cx-line); border-radius:12px; padding:10px 16px; font-size:14px; font-weight:600; transform:none; }
.cx-secondary:hover{ background:var(--cx-field); transform:none; box-shadow:none; }
.cx-error{ display:none; background:var(--cx-bad-bg); color:var(--cx-bad); border-radius:12px; padding:11px 14px; font-size:14px; margin:0 0 12px; line-height:1.45; }
.cx-error.show{ display:block; }
.cx-info{ background:var(--cx-soft); color:#0B4F5C; border-radius:12px; padding:11px 14px; font-size:14px; margin:0 0 12px; line-height:1.45; }

.cx-request-link{ display:flex; align-items:center; justify-content:center; gap:6px; margin:16px auto 0; background:none; border:none; color:var(--cx-primary); font-size:14.5px; font-weight:600; padding:8px 12px; cursor:pointer; text-align:center; max-width:480px; }
.cx-request-link:hover{ background:none; text-decoration:underline; }

.cx-request-banner{ background:var(--cx-soft); border-radius:14px; padding:12px 14px; font-size:14px; line-height:1.45; margin-bottom:16px; color:#0B4F5C; }
.cx-request-banner strong{ color:var(--cx-ink); }
.cx-request-banner.bad{ background:var(--cx-bad-bg); color:var(--cx-bad); }

/* ---------- Étapes 2 et 3 ---------- */
.cx-back{ display:inline-flex; align-items:center; gap:4px; background:none; border:none; color:var(--cx-primary); font-size:15px; font-weight:600; padding:4px 0; margin:0 0 6px; cursor:pointer; }
.cx-back:hover{ background:none; }
.cx-back span[aria-hidden]{ font-size:22px; line-height:1; margin-top:-2px; }
.cx-step-title{ font-family:'Poppins',sans-serif; font-size:22px; font-weight:700; letter-spacing:-0.01em; margin:4px 0 16px; }
.cx-step-sub{ color:var(--cx-muted); font-size:14.5px; margin:-8px 0 18px; line-height:1.5; }
.cx-input{ min-height:52px; border-radius:13px; border:1.5px solid var(--cx-line); font-size:16px; background:#fff; }
.cx-input-lg{ font-size:22px; font-weight:600; }
.cx-phone{ display:flex; align-items:center; gap:0; border:1.5px solid var(--cx-line); border-radius:13px; background:#fff; overflow:hidden; }
.cx-phone:focus-within{ border-color:var(--cx-primary); box-shadow:0 0 0 3px rgba(10,127,148,0.12); }
.cx-phone .cx-dial{ padding:0 4px 0 14px; font-weight:600; color:var(--cx-muted); font-size:16px; }
.cx-phone .cx-input{ border:none; box-shadow:none !important; border-radius:0; padding-left:6px; }
.cx-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.cx-chip{ background:#fff; color:var(--cx-ink); border:1.5px solid var(--cx-line); border-radius:999px; padding:9px 14px; font-size:14px; font-weight:600; cursor:pointer; }
.cx-chip:hover{ background:var(--cx-field); }
.cx-chip[aria-checked="true"]{ border-color:var(--cx-primary); background:var(--cx-soft); color:#0B4F5C; }
.cx-divider{ height:1px; background:var(--cx-line); margin:18px 0; }
.cx-check{ display:flex; align-items:center; gap:10px; text-transform:none; letter-spacing:0; font-size:14px; font-weight:500; color:var(--cx-ink); margin:4px 0 16px; cursor:pointer; }
.cx-check input{ width:18px; height:18px; }

.cx-saved{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
.cx-saved-title{ font-size:13.5px; font-weight:600; color:var(--cx-muted); margin-bottom:2px; }
.cx-saved-item{ display:flex; align-items:center; gap:12px; width:100%; text-align:left; background:#fff; color:var(--cx-ink); border:1.5px solid var(--cx-line); border-radius:14px; padding:10px 12px; cursor:pointer; font-weight:500; }
.cx-saved-item:hover{ background:var(--cx-field); }
.cx-saved-item[aria-pressed="true"]{ border-color:var(--cx-primary); background:var(--cx-soft); }
.cx-saved-item .cx-saved-meta{ font-size:13px; color:var(--cx-muted); }
.cx-initials{ width:38px; height:38px; border-radius:50%; background:var(--cx-soft); color:var(--cx-primary); display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0; }

.cx-review-hero{ text-align:center; padding:8px 0 18px; border-bottom:1px solid var(--cx-line); margin-bottom:14px; }
.cx-review-hero .cx-review-label{ font-size:14px; color:var(--cx-muted); }
.cx-review-hero .cx-review-amount{ font-size:34px; font-weight:700; letter-spacing:-0.02em; font-variant-numeric:tabular-nums; margin:2px 0 4px; }
.cx-review-hero .cx-review-phone{ font-size:17px; font-weight:600; font-variant-numeric:tabular-nums; }
.cx-review-hero .cx-review-network{ font-size:14px; color:var(--cx-muted); }
.cx-review-check{ background:var(--cx-warn-bg); color:var(--cx-warn); border-radius:12px; padding:10px 12px; font-size:13.5px; margin:12px 0 4px; line-height:1.45; }
.cx-review .cx-quote-row{ font-size:14.5px; padding:5px 0; color:var(--cx-muted); }
.cx-kyc{ background:var(--cx-soft); border-radius:14px; padding:14px; margin:14px 0; font-size:14px; line-height:1.5; color:#0B4F5C; }
.cx-kyc strong{ display:block; color:var(--cx-ink); font-size:15px; margin-bottom:4px; }
.cx-kyc .cx-primary{ margin-top:12px; }
.cx-fineprint{ font-size:12.5px; color:var(--cx-muted); text-align:center; margin:12px 0 0; line-height:1.5; }

.cx-done{ text-align:center; padding:12px 4px 4px; }
.cx-done-icon{ width:64px; height:64px; margin:0 auto 14px; border-radius:50%; background:var(--cx-good-bg); color:var(--cx-good); display:flex; align-items:center; justify-content:center; }
.cx-done-icon.wait{ background:var(--cx-warn-bg); color:var(--cx-warn); }
.cx-done-icon svg{ width:32px; height:32px; }
.cx-done h2{ font-family:'Poppins',sans-serif; font-size:22px; margin:0 0 8px; }
.cx-done p{ color:var(--cx-muted); font-size:15px; margin:0 0 20px; line-height:1.5; }
.cx-done .cx-secondary{ width:100%; margin-top:10px; min-height:50px; border-radius:15px; font-size:15px; }

.cx-share-box{ background:var(--cx-field); border-radius:14px; padding:14px; font-size:14px; line-height:1.5; margin:4px 0 14px; word-break:break-word; }
.cx-share-actions{ display:grid; gap:10px; }
.cx-wa{ background:#1FA855; }
.cx-wa:hover{ background:#198F48; }

/* ---------- Listes (transferts, bénéficiaires) ---------- */
.cx-block{ max-width:720px; margin:28px auto 0; }
.cx-block-head{ display:flex; align-items:baseline; justify-content:space-between; margin:0 4px 10px; }
.cx-block h2, .cx-faq h2{ font-family:'Poppins',sans-serif; font-size:19px; font-weight:700; margin:0; }
.cx-faq h2{ margin:0 4px 12px; }
.cx-see-all{ color:var(--cx-primary); font-weight:600; font-size:14px; }
.cx-list{ background:#fff; border:1px solid var(--cx-line); border-radius:18px; overflow:hidden; }
.cx-list:empty{ display:none; }
.cx-list-item{ display:flex; align-items:center; gap:12px; width:100%; text-align:left; background:#fff; color:var(--cx-ink); border:none; border-bottom:1px solid var(--cx-line); border-radius:0; padding:14px 16px; cursor:pointer; font-weight:400; }
.cx-list-item:last-child{ border-bottom:none; }
.cx-list-item:hover{ background:#FAFCFC; }
.cx-list-main{ flex:1; min-width:0; }
.cx-list-title{ font-weight:600; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cx-list-sub{ font-size:13px; color:var(--cx-muted); margin-top:1px; }
.cx-list-right{ text-align:right; flex-shrink:0; }
.cx-list-amount{ font-weight:600; font-size:15px; font-variant-numeric:tabular-nums; }
.cx-list-actions{ display:flex; gap:6px; margin-top:6px; justify-content:flex-end; }
.cx-list-actions button{ padding:6px 10px; font-size:12.5px; border-radius:9px; transform:none; }
.cx-empty{ text-align:center; color:var(--cx-muted); padding:28px 16px; font-size:14.5px; background:#fff; border:1px solid var(--cx-line); border-radius:18px; }
.cx-empty .cx-primary{ max-width:260px; margin:14px auto 0; }
.cx-status{ display:inline-block; font-size:12px; font-weight:600; padding:3px 9px; border-radius:999px; margin-top:4px; }
.cx-status.good{ background:var(--cx-good-bg); color:var(--cx-good); }
.cx-status.wait{ background:var(--cx-warn-bg); color:var(--cx-warn); }
.cx-status.bad{ background:var(--cx-bad-bg); color:var(--cx-bad); }
.cx-status.neutral{ background:#EDF1F2; color:var(--cx-muted); }

.cx-page-head{ max-width:720px; margin:0 auto 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 4px; }
.cx-page-head h1{ font-family:'Poppins',sans-serif; font-size:28px; font-weight:700; letter-spacing:-0.02em; margin:0; max-width:none; }
.cx-view > .cx-list, .cx-view > .cx-empty, .cx-view > .card, .cx-view > .settings-grid, .cx-view > .settings-stack,
.cx-view > .cx-account-id, .cx-view > .cx-account-links{ max-width:720px; margin-left:auto; margin-right:auto; }
.cx-view > .card{ border-radius:18px; box-shadow:none; border:1px solid var(--cx-line); }
.cx-account-id{ display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--cx-line); border-radius:18px; padding:16px; margin-bottom:16px; }
.cx-account-id .cx-initials{ width:52px; height:52px; font-size:18px; }
.cx-account-id-name{ font-weight:700; font-size:17px; }
.cx-account-id-mail{ color:var(--cx-muted); font-size:14px; }
.cx-account-links{ background:#fff; border:1px solid var(--cx-line); border-radius:18px; overflow:hidden; margin-top:16px; }
.cx-row-link{ display:block; width:100%; text-align:left; background:#fff; color:var(--cx-ink); border:none; border-bottom:1px solid var(--cx-line); border-radius:0; padding:15px 16px; font-size:15px; font-weight:500; cursor:pointer; }
.cx-row-link:last-child{ border-bottom:none; }
.cx-row-link:hover{ background:#FAFCFC; }
.cx-row-link.cx-danger{ color:var(--cx-bad); }

/* ---------- Repères et FAQ (visiteur) ---------- */
.cx-points{ display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; max-width:960px; margin:40px auto 0; }
.cx-point{ background:#fff; border:1px solid var(--cx-line); border-radius:18px; padding:18px; }
.cx-point-icon{ width:40px; height:40px; border-radius:12px; background:var(--cx-soft); color:var(--cx-primary); display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
.cx-point-icon svg{ width:20px; height:20px; }
.cx-point h3{ font-family:'Inter',sans-serif; font-size:15.5px; font-weight:700; margin:0 0 4px; }
.cx-point p{ font-size:14px; color:var(--cx-muted); margin:0; line-height:1.5; }
.cx-faq{ max-width:720px; }
.cx-faq .faq-item{ background:#fff; }

/* ---------- Feuilles (choix du pays, autres offres) ---------- */
.cx-sheet .modal{ max-width:440px; border-radius:22px; padding:22px; position:relative; }
.cx-sheet h2{ font-family:'Poppins',sans-serif; font-size:19px; margin:0 0 12px; padding-right:28px; }
.cx-sheet-list{ display:flex; flex-direction:column; gap:6px; margin-top:6px; }
.cx-sheet-item{ display:flex; align-items:center; gap:12px; width:100%; text-align:left; background:#fff; color:var(--cx-ink); border:1.5px solid var(--cx-line); border-radius:14px; padding:12px 14px; font-size:15px; font-weight:600; cursor:pointer; }
.cx-sheet-item:hover{ background:var(--cx-field); }
.cx-sheet-item[aria-pressed="true"]{ border-color:var(--cx-primary); background:var(--cx-soft); }
.cx-sheet-item .cx-flag{ font-size:24px; }
.cx-sheet-item .cx-sheet-sub{ display:block; font-size:13px; font-weight:500; color:var(--cx-muted); }
.cx-sheet-item .cx-sheet-right{ margin-left:auto; text-align:right; font-variant-numeric:tabular-nums; }
.cx-sheet-group{ font-size:12.5px; font-weight:700; color:var(--cx-muted); text-transform:uppercase; letter-spacing:0.05em; margin:10px 2px 2px; }

/* ---------- Barre d'onglets (téléphone) ---------- */
.cx-tabbar{ position:fixed; left:0; right:0; bottom:0; z-index:45; background:rgba(255,255,255,0.96); border-top:1px solid var(--cx-line);
  display:none; grid-template-columns:repeat(4, 1fr); padding:6px 4px calc(6px + env(safe-area-inset-bottom)); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.cx-tabbar a{ display:flex; flex-direction:column; align-items:center; gap:3px; font-size:11px; font-weight:600; color:var(--cx-muted); padding:4px 0; }
.cx-tabbar a svg{ width:22px; height:22px; }
.cx-tabbar a.active{ color:var(--cx-primary); }

/* ---------- Pied de page plus discret ---------- */
footer{ border-radius:0; margin-top:56px; padding:40px 20px 24px; }

.cx-only-desktop{ }
@media (max-width:760px){
  .cx-only-desktop{ display:none !important; }
  .cx-main{ padding:18px 16px 40px; }
  .cx-hero{ margin:6px auto 16px; }
  .cx-hero h1{ font-size:27px; }
  .cx-hero-sub{ font-size:15px; }
  .cx-card{ padding:18px; border-radius:20px; }
  .cx-amount{ font-size:26px; }
  .cx-points{ grid-template-columns:1fr; margin-top:28px; }
  .cx-page-head h1{ font-size:24px; }
  body.cx-logged .cx-tabbar{ display:grid; }
  body.cx-logged .cx-main{ padding-bottom:96px; }
  body.cx-logged footer{ padding-bottom:96px; }
  body.cx-logged .cx-menu-wrap{ display:none; }
  .cx-sheet{ align-items:flex-end; padding:0; }
  .cx-sheet .modal{ max-width:none; border-radius:22px 22px 0 0; max-height:85vh; padding:20px 18px calc(20px + env(safe-area-inset-bottom)); }
  .settings-grid{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  .cx-swap.spin svg, .cx-skeleton{ animation:none; }
  .cx-progress span{ transition:none; }
}

/* ---------- Mon compte : réglages (repris de l’ancienne page) ---------- */
.settings-stack{ display:flex; flex-direction:column; gap:20px; max-width:960px; }
.settings-stack > .card{ margin-bottom:0; }
.settings-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:stretch; max-width:960px; }
.settings-grid > .card{ margin-bottom:0; display:flex; flex-direction:column; }
.settings-grid > .card .modal-actions{ margin-top:auto; padding-top:14px; }
.account-info-row{ display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid var(--border); font-size:13.5px; }
.account-info-row:last-child{ border-bottom:none; }
.account-info-row span{ color:var(--muted); }
.account-info-row strong{ text-align:right; }
.switch{ position:relative; display:inline-block; width:42px; height:24px; flex-shrink:0; }
.switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.switch-track{ position:absolute; inset:0; background:#CBD5D8; border-radius:999px; transition:background 0.2s; pointer-events:none; }
.switch-track::before{ content:''; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:transform 0.2s; box-shadow:0 1px 3px rgba(0,0,0,0.2); }
.switch input:checked + .switch-track{ background:var(--teal); }
.switch input:checked + .switch-track::before{ transform:translateX(18px); }
.pref-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--border); }
.pref-row:last-child{ border-bottom:none; padding-bottom:0; }
.pref-row:first-child{ padding-top:0; }
.pref-row-title{ font-size:13.5px; font-weight:700; color:var(--ink); }
.pref-row-sub{ font-size:12px; color:var(--muted); margin-top:2px; line-height:1.4; }

/* ============================================================
   Pages secondaires (devenir partenaire, mentions légales, fiche
   partenaire) : même en-tête clair, mêmes cartes, mêmes boutons.
   ============================================================ */
.cx-page{ max-width:760px; margin:0 auto; }
.cx-page-hero{ text-align:center; max-width:620px; margin:20px auto 28px; }
.cx-page-hero h1{ font-family:'Poppins',sans-serif; font-size:34px; line-height:1.15; font-weight:700; letter-spacing:-0.02em; margin:0 auto 12px; max-width:none; }
.cx-page-hero p{ font-size:16.5px; color:var(--cx-muted); line-height:1.55; margin:0 auto 22px; }
.cx-page-hero .cx-primary{ max-width:320px; margin:0 auto; }
.cx-eyebrow{ display:inline-block; font-size:13px; font-weight:700; color:var(--cx-primary); background:var(--cx-soft); border-radius:999px; padding:5px 12px; margin-bottom:14px; }
.cx-section{ background:#fff; border:1px solid var(--cx-line); border-radius:20px; padding:24px; margin:0 0 16px; }
.cx-section h2{ font-family:'Poppins',sans-serif; font-size:20px; font-weight:700; margin:0 0 16px; }
.cx-steps{ display:grid; gap:16px; counter-reset:cxstep; }
.cx-step-row{ display:flex; gap:14px; align-items:flex-start; }
.cx-step-num{ width:34px; height:34px; border-radius:50%; background:var(--cx-primary); color:#fff; font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cx-step-row h3{ font-family:'Inter',sans-serif; font-size:15.5px; font-weight:700; margin:4px 0 4px; }
.cx-step-row p{ font-size:14.5px; color:var(--cx-muted); margin:0; line-height:1.55; }
.cx-checks{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.cx-checks li{ display:flex; gap:12px; font-size:14.5px; line-height:1.55; color:var(--cx-ink); }
.cx-checks li::before{ content:''; width:22px; height:22px; flex-shrink:0; border-radius:50%; background:var(--cx-good-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E7A46' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat; margin-top:1px; }
.cx-cta{ text-align:center; padding:28px 24px; }
.cx-cta p{ color:var(--cx-muted); font-size:15px; line-height:1.55; max-width:480px; margin:0 auto 18px; }
.cx-cta .cx-primary{ max-width:320px; margin:0 auto; }

/* Boutons de navigation « par défaut » (fiche partenaire) dans l'en-tête clair */
.cx-header .nav-btn{ background:var(--cx-field); color:var(--cx-ink); border:1px solid var(--cx-line); border-radius:999px; padding:8px 14px; font-size:14px; font-weight:600; }
.cx-header .nav-btn:hover{ background:#EAF0F2; border-color:var(--cx-line); transform:none; box-shadow:none; }
.cx-header .nav-btn.primary{ background:var(--cx-ink); color:#fff; border-color:var(--cx-ink); }
.cx-header .nav-btn.primary:hover{ background:#22343D; }
.cx-header #nav-auth span{ font-size:14px; color:var(--cx-muted); }

/* Pied de page court (pages secondaires) */
.cx-mini-footer{ border-top:1px solid var(--cx-line); background:#fff; padding:22px 16px calc(22px + env(safe-area-inset-bottom)); margin-top:48px; }
.cx-mini-footer-inner{ max-width:1080px; margin:0 auto; display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; justify-content:space-between; font-size:13.5px; color:var(--cx-muted); }
.cx-mini-footer nav{ display:flex; flex-wrap:wrap; gap:8px 16px; }
.cx-mini-footer a{ color:var(--cx-muted); }
.cx-mini-footer a:hover{ color:var(--cx-ink); }

/* Mentions légales */
.cx-legal{ display:flex; gap:24px; align-items:flex-start; max-width:1000px; margin:0 auto; }
.cx-legal-nav{ flex-shrink:0; width:220px; display:flex; flex-direction:column; gap:2px; position:sticky; top:84px; }
.cx-legal-nav a{ padding:9px 12px; border-radius:10px; font-size:14px; font-weight:600; color:var(--cx-muted); }
.cx-legal-nav a:hover{ background:#fff; color:var(--cx-ink); }
.cx-legal-nav a.active{ background:var(--cx-soft); color:#0B4F5C; }
.cx-legal-content{ flex:1; min-width:0; }
.cx-legal-content h1{ font-family:'Poppins',sans-serif; font-size:28px; font-weight:700; letter-spacing:-0.01em; margin:0 0 4px; max-width:none; }
.cx-legal-updated{ font-size:13px; color:var(--cx-muted); margin-bottom:20px; }
.cx-legal-body{ font-size:15px; line-height:1.75; color:var(--cx-ink); white-space:pre-line; }

/* Fiche partenaire */
.cx-partner-head{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.cx-partner-logo{ width:64px; height:64px; border-radius:18px; object-fit:contain; background:var(--cx-field); padding:8px; flex-shrink:0; }
.cx-partner-initials{ width:64px; height:64px; border-radius:18px; background:var(--cx-soft); color:var(--cx-primary); font-weight:700; font-size:22px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cx-partner-head h1{ font-family:'Poppins',sans-serif; font-size:24px; font-weight:700; margin:0 0 4px; max-width:none; }
.cx-partner-meta{ font-size:14px; color:var(--cx-muted); }
.cx-stats{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:18px; }
.cx-stat{ background:var(--cx-field); border-radius:14px; padding:14px 12px; text-align:center; }
.cx-stat-num{ font-size:20px; font-weight:700; font-variant-numeric:tabular-nums; }
.cx-stat-label{ font-size:12.5px; color:var(--cx-muted); margin-top:2px; }
.cx-review{ padding:14px 0; border-bottom:1px solid var(--cx-line); }
.cx-review:last-child{ border-bottom:none; }
.cx-review-top{ display:flex; justify-content:space-between; gap:10px; font-size:13.5px; color:var(--cx-muted); }
.cx-review-stars{ color:#D39722; letter-spacing:1px; }
.cx-review-text{ font-size:14.5px; margin-top:6px; line-height:1.55; }

@media (max-width:760px){
  .cx-page-hero{ margin:6px auto 20px; }
  .cx-page-hero h1{ font-size:27px; }
  .cx-page-hero p{ font-size:15.5px; }
  .cx-section{ padding:18px; border-radius:18px; }
  .cx-legal{ flex-direction:column; gap:14px; }
  .cx-legal-nav{ width:100%; position:static; flex-direction:row; overflow-x:auto; gap:6px; padding-bottom:4px; }
  .cx-legal-nav a{ white-space:nowrap; background:#fff; border:1px solid var(--cx-line); }
  .cx-legal-content h1{ font-size:23px; }
  .cx-stats{ grid-template-columns:repeat(3, 1fr); }
  .cx-stat-num{ font-size:17px; }
}
