﻿/* ============================================================
   BANCOXA — Feuille de styles améliorée
   Version 2.0 | 2024
   ============================================================ */

/* ─── Variables CSS ─────────────────────────────────────────── */
:root {
  --wf-primary:    #0A2463;   /* marine BANCOXA */
  --wf-secondary:  #D4A843;   /* or BANCOXA */
  --wf-dark:       #06163a;   /* marine très sombre */
  --wf-gray:       #f0f4ff;   /* bleu très clair */
  --wf-danger:     #b45309;   /* ambre (conforme marque) */
  --wf-text:       #1e293b;
  --wf-muted:      #64748b;
  --wf-accent:     #1a3a7a;   /* marine clair */
  --wf-blue:       #1a3a7a;
  --wf-shadow:     0 8px 30px rgba(10,36,99,.18);
  --wf-radius:     12px;
  --wf-transition: all .3s cubic-bezier(.4,0,.2,1);
}

/* ─── Typographie globale ───────────────────────────────────── */
body {
  font-family: 'Muli', 'Segoe UI', Arial, sans-serif;
  color: var(--wf-text);
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: var(--wf-dark);
  letter-spacing: -.02em;
}

/* ─── Correction typos navbar ───────────────────────────────── */
.rd-nav-link, .rd-megamenu-list-link {
  transition: var(--wf-transition);
}

/* ─── HERO SLIDER amélioré ──────────────────────────────────── */
.homepage-three-slider {
  position: relative;
}

.carousel-page {
  width: 100%;
  min-height: 580px !important;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.carousel-page::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(26,26,46,.78) 0%, rgba(10,36,99,.55) 100%);
  z-index: 1;
}

.slider-content-area {
  position: relative;
  z-index: 2;
  padding: 60px 0;
}

.slide-text h1.homepage-three-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  text-shadow: 0 2px 12px rgba(0,0,0,.3);
  margin-bottom: .5rem;
}

.slide-text h1.homepage-three-title span {
  color: var(--wf-secondary);
}

.slide-text h2 {
  font-size: clamp(1rem, 2.5vw, 1.4rem);
  color: rgba(255,255,255,.88);
  font-weight: 400;
  margin-bottom: 1.5rem;
}

.slide-text .slide-subtitle {
  font-size: .95rem;
  color: rgba(255,255,255,.72);
  max-width: 480px;
  margin-bottom: 2rem;
  line-height: 1.6;
}

.slide-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(212,168,67,.18);
  border: 1px solid rgba(212,168,67,.4);
  color: var(--wf-secondary);
  padding: 6px 16px;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .05em;
  margin-bottom: 1.2rem;
}

/* ═══════════════════════════════════════════════════════════
   BOUTONS — RESET COMPLET (écrase main.css, template-borrow)
   Tous les !important sont intentionnels pour neutraliser
   les conflits du système rd-navbar/main.css
══════════════════════════════════════════════════════════ */

/* Base button — annule padding:14px 40px et margin-top:30px de main.css */
.button,
.button:focus {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 9px 22px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  border: 2px solid transparent !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  transition: background-color .2s, border-color .2s, box-shadow .2s, transform .15s !important;
  position: relative !important;
  overflow: hidden !important;
  /* Désactive le pseudo-élément .button-overlay de main.css */
}

/* Annule le margin-top automatique *+.button de main.css */
* + .button { margin-top: 0 !important; }

/* Annule l'overlay animé de main.css (.button-ujarak, etc.) */
.button::before { display: none !important; }

/* Tailles */
.button-xs,
.button-xs:focus { padding: 5px 14px !important; font-size: 12px !important; }

.button-sm,
.button-sm:focus { padding: 7px 20px !important; font-size: 12px !important; }

.button-md,
.button-md:focus { padding: 11px 28px !important; font-size: 14px !important; }

.button-lg,
.button-lg:focus { padding: 13px 36px !important; font-size: 15px !important; }

/* Couleur principale — marine */
.button-primary,
.button-primary:focus {
  background-color: var(--wf-primary) !important;
  border-color: var(--wf-primary) !important;
  color: #fff !important;
}

.button-primary:hover,
.button-primary:active,
.button-primary.active {
  background-color: #00005e !important;
  border-color: #00005e !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(10,36,99,.35) !important;
  transform: translateY(-1px);
}

/* Couleur secondaire — rouge (écrase le vert #39b349 de main.css) */
.button-secondary,
.button-secondary:focus {
  background-color: var(--wf-secondary) !important;
  border-color: var(--wf-secondary) !important;
  color: #fff !important;
}

.button-secondary:hover,
.button-secondary:active,
.button-secondary.active {
  background-color: #B8851E !important;
  border-color: #B8851E !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(212,168,67,.35) !important;
  transform: translateY(-1px);
}

/* Ghost / outline (écrase le hover #464391 de main.css) */
.button-ghost,
.button-ghost:focus {
  background-color: transparent !important;
  border-color: rgba(255,255,255,.5) !important;
  color: #fff !important;
}

.button-ghost:hover,
.button-ghost:active {
  background-color: rgba(255,255,255,.12) !important;
  border-color: #fff !important;
  color: #fff !important;
}

/* Nuka (CTA avec overlay) */
.button-nuka .button-overlay {
  background-color: #00005e !important;
}

/* ─── SECTION AVANTAGES ─────────────────────────────────────── */
.blurb-boxed-3 {
  background: #fff;
  border-radius: var(--wf-radius);
  padding: 32px 28px;
  text-align: center;
  box-shadow: var(--wf-shadow);
  border: 1px solid rgba(10,36,99,.08);
  transition: var(--wf-transition);
  height: 100%;
}

.blurb-boxed-3:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(10,36,99,.2);
  border-color: var(--wf-primary);
}

.blurb-boxed-3 .title {
  color: var(--wf-dark);
  font-size: 1.05rem;
  margin: 14px 0 10px;
}

.blurb-boxed-3 .exeption {
  color: #6b7280;
  font-size: .93rem;
  line-height: 1.6;
}

.advantage-badge {
  display: inline-block;
  background: var(--wf-gray);
  color: var(--wf-primary);
  font-size: .75rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 50px;
  margin-top: 10px;
  letter-spacing: .04em;
}

/* ─── SECTION STATS / CHIFFRES CLÉS ────────────────────────── */
.stats-section {
  background: linear-gradient(135deg, var(--wf-primary) 0%, #00005e 100%);
  padding: 40px 0;
  position: relative;
  overflow: hidden;
}

.stats-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: rgba(255,255,255,.04);
}

.stat-item {
  text-align: center;
  color: #fff;
  padding: 20px 16px;
}

.stat-number {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--wf-secondary);
  line-height: 1;
  display: block;
}

.stat-label {
  font-size: .9rem;
  color: rgba(255,255,255,.78);
  margin-top: 6px;
  display: block;
}

/* ─── SECTION PRÊT DU MOMENT ────────────────────────────────── */
.block-promo {
  position: relative;
}

.block-promo .bulle {
  display: inline-block;
  background: var(--wf-primary);
  color: #fff;
  padding: 6px 20px;
  border-radius: 50px;
  font-size: .85rem;
  font-weight: 600;
  margin-bottom: 1rem;
  letter-spacing: .04em;
}

.rate {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  color: var(--wf-primary);
}

.rate .highlight-rate {
  color: var(--wf-danger);
}

.offre-details {
  font-size: 1.1rem;
  color: var(--wf-text);
  margin: 10px 0 16px;
}

.mention-legale-box {
  background: var(--wf-gray);
  border-left: 4px solid var(--wf-primary);
  border-radius: 0 8px 8px 0;
  padding: 16px 20px;
  font-size: .82rem;
  color: #6b7280;
  line-height: 1.65;
  text-align: left;
  margin: 16px 0;
}

/* ─── TABLEAU DE TARIFS ─────────────────────────────────────── */
.table-tarif {
  border-radius: var(--wf-radius);
  overflow: hidden;
  box-shadow: var(--wf-shadow);
  margin-bottom: 24px;
}

.table-tarif thead tr {
  background: linear-gradient(135deg, var(--wf-primary), #00005e);
}

.table-tarif thead th {
  padding: 16px 20px;
  font-weight: 700;
  letter-spacing: .03em;
}

.table-tarif tbody tr {
  transition: var(--wf-transition);
}

.table-tarif tbody tr:hover {
  background: rgba(10,36,99,.04);
}

.table-tarif tbody td {
  padding: 14px 20px;
  border-bottom: 1px solid rgba(0,0,0,.05);
  vertical-align: middle;
}

.badge-gratuit {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #dcfce7;
  color: #15803d;
  padding: 4px 12px;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 700;
}

.badge-gratuit::before {
  content: '✓';
  font-weight: 800;
}

.badge-payant {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #fef3c7;
  color: #92400e;
  padding: 4px 12px;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 700;
}

/* ─── TÉMOIGNAGES ───────────────────────────────────────────── */
.testimonials-section {
  background: var(--wf-gray);
  padding: 70px 0;
}

.testimonial-card {
  background: #fff;
  border-radius: var(--wf-radius);
  padding: 32px 28px;
  box-shadow: var(--wf-shadow);
  height: 100%;
  position: relative;
  border: 1px solid rgba(10,36,99,.07);
  transition: var(--wf-transition);
}

.testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(10,36,99,.18);
}

.testimonial-card::before {
  content: '"';
  position: absolute;
  top: -10px;
  left: 24px;
  font-size: 5rem;
  color: var(--wf-primary);
  opacity: .15;
  font-family: Georgia, serif;
  line-height: 1;
}

.testimonial-stars {
  color: #f59e0b;
  font-size: 1rem;
  margin-bottom: 12px;
}

.testimonial-text {
  font-size: .95rem;
  color: #374151;
  line-height: 1.7;
  font-style: italic;
  margin-bottom: 20px;
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonial-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--wf-primary), var(--wf-accent));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
}

.testimonial-name {
  font-weight: 700;
  color: var(--wf-dark);
  font-size: .95rem;
}

.testimonial-role {
  color: #9ca3af;
  font-size: .8rem;
}

/* ─── SECTION ÉTAPES ────────────────────────────────────────── */
.blurb-icon-bordered {
  background: #fff;
  border-radius: var(--wf-radius);
  padding: 28px 20px;
  box-shadow: 0 4px 16px rgba(10,36,99,.1);
  transition: var(--wf-transition);
  text-align: center;
  height: 100%;
}

.blurb-icon-bordered:hover {
  transform: translateY(-4px);
  box-shadow: var(--wf-shadow);
}

.blurb-icon-bordered .icon-wrap {
  margin-bottom: 16px;
}

/* ─── CONDITIONS GÉNÉRALES / LIST-TERMS ─────────────────────── */
.list-terms-item {
  background: #fff;
  border-radius: var(--wf-radius);
  padding: 24px 28px;
  margin-bottom: 16px;
  box-shadow: 0 4px 16px rgba(10,36,99,.08);
  border-left: 4px solid var(--wf-primary);
}

.list-terms-title {
  color: var(--wf-primary);
  margin-bottom: 12px;
}

/* ─── CTA BANNER ────────────────────────────────────────────── */
.section-inset-7 {
  background: linear-gradient(135deg, var(--wf-primary) 0%, #00005e 60%, #0F172A 100%) !important;
  position: relative;
  overflow: hidden;
}

.section-inset-7::before {
  content: '';
  position: absolute;
  bottom: -60px;
  right: -60px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(212,168,67,.08);
}

.box-border-left {
  border-left: 4px solid var(--wf-secondary);
  padding-left: 24px;
}

.box-border-left h2 {
  color: #fff;
}

.box-border-left p {
  color: rgba(255,255,255,.82);
}

/* ═══════════════════════════════════════════════════════════
   BARRE SUPÉRIEURE (top bar) — flat, sans dégradé
══════════════════════════════════════════════════════════ */
.wf-topbar {
  background: #0A2463;
  padding: 7px 0;
  font-size: .8rem;
  color: rgba(255,255,255,.85);
}

.wf-topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.wf-topbar__info,
.wf-topbar__links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 20px;
}

.wf-topbar__info li,
.wf-topbar__info li a,
.wf-topbar__links li a {
  color: rgba(255,255,255,.85);
  text-decoration: none;
  transition: color .2s;
}

.wf-topbar__info li a:hover,
.wf-topbar__links li a:hover {
  color: #fff;
}

.wf-topbar__info .fa,
.wf-topbar__links .fa {
  color: var(--wf-secondary);
  margin-right: 4px;
}

/* ═══════════════════════════════════════════════════════════
   NAVIGATION — LOOK BLANC PLAT (fintech/neobank)
══════════════════════════════════════════════════════════ */

/* Décalage du contenu pour compenser la top bar */
.wf-header {
  top: 0;
}

/* Navbar fond blanc */
.rd-navbar-wrap {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
}

/* Boutons CTA dans la navbar */
.wf-nav-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 16px;
}

.wf-nav-actions .button {
  white-space: nowrap;
}

/* CTA navbar : bouton orange */
.wf-nav-actions .button-secondary {
  background: var(--wf-secondary) !important;
  border-color: var(--wf-secondary) !important;
  color: #fff !important;
}

.wf-nav-actions .button-secondary:hover {
  background: #B8851E !important;
  border-color: #B8851E !important;
  box-shadow: 0 4px 12px rgba(212,168,67,.35);
}

/* CTA navbar : bouton bleu */
.wf-nav-actions .button-primary {
  background: var(--wf-primary) !important;
  border-color: var(--wf-primary) !important;
  color: #fff !important;
}

.wf-nav-actions .button-primary:hover {
  background: #00005e !important;
  border-color: #00005e !important;
  box-shadow: 0 4px 12px rgba(10,36,99,.35);
}

/* Icônes dans les titres du méga-menu */
.wf-mega-icon {
  color: var(--wf-primary);
  margin-right: 6px;
  font-size: .9em;
}

/* Flèche des liens du méga-menu */
.wf-link-arrow {
  font-size: .65em;
  color: var(--wf-secondary);
  margin-right: 7px;
  transition: transform .2s;
}

.rd-megamenu-list-link:hover .wf-link-arrow {
  transform: translateX(3px);
}

/* Bloc promo dans le méga-menu — fond clair, bordure violette */
.wf-megamenu-promo {
  background: #f8fafc;
  border-radius: var(--wf-radius);
  border: 1px solid #e5e7eb;
  border-left: 3px solid #0A2463;
}

.wf-megamenu-promo__inner {
  padding: 20px 16px;
}

.wf-megamenu-promo__badge {
  display: inline-block;
  background: rgba(10,36,99,.1);
  color: #0A2463;
  font-size: .72rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 50px;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.wf-megamenu-promo__amount {
  font-size: 1.3rem;
  color: #0F172A;
  margin: 0 0 4px;
  line-height: 1.2;
}

.wf-megamenu-promo__amount strong {
  color: #0A2463;
  font-size: 1.8rem;
}

.wf-megamenu-promo__sub {
  font-size: .82rem;
  color: #6b7280;
  margin: 0 0 16px;
}

.wf-megamenu-promo__btn {
  width: 100%;
  text-align: center;
  justify-content: center;
}

/* ═══════════════════════════════════════════════════════════
   BANDEAU CTA (avant footer) — fond solide, sans dégradé
══════════════════════════════════════════════════════════ */
.wf-footer-cta {
  background: #0A2463;
  padding: 48px 0;
  position: relative;
  overflow: hidden;
}

.wf-footer-cta::before {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: rgba(212,168,67,.07);
  pointer-events: none;
}

.wf-footer-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.wf-footer-cta__text h3 {
  color: #fff;
  font-size: clamp(1.3rem, 3vw, 1.8rem);
  margin: 0 0 8px;
}

.wf-footer-cta__text p {
  color: rgba(255,255,255,.72);
  margin: 0;
  font-size: .95rem;
}

.wf-footer-cta__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.wf-btn-outline {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,.45) !important;
  color: #fff !important;
}

.wf-btn-outline:hover {
  border-color: #fff !important;
  background: rgba(255,255,255,.1) !important;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER PRINCIPAL — fond solide dark navy, sans dégradé
══════════════════════════════════════════════════════════ */
.wf-footer {
  background: #0f172a;
  padding: 64px 0 0;
  position: relative;
}

.wf-footer__grid {
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

/* Espacement des colonnes */
.wf-footer__col {
  padding-top: 8px;
}

@media (max-width: 767px) {
  .wf-footer__col { margin-bottom: 32px; }
}

/* Logo */
.wf-footer__logo {
  display: inline-block;
  margin-bottom: 16px;
}

.wf-footer__logo img {
  opacity: .9;
  transition: opacity .2s;
}

.wf-footer__logo:hover img { opacity: 1; }

/* Description */
.wf-footer__desc {
  color: rgba(255,255,255,.58);
  font-size: .88rem;
  line-height: 1.7;
  margin-bottom: 20px;
}

/* Contacts */
.wf-footer__contact {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}

.wf-footer__contact li {
  margin-bottom: 10px;
}

.wf-footer__contact a {
  color: rgba(255,255,255,.62);
  font-size: .88rem;
  text-decoration: none;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  transition: color .2s;
}

.wf-footer__contact a:hover {
  color: var(--wf-secondary);
}

.wf-footer__contact .fa {
  color: var(--wf-secondary);
  margin-top: 3px;
  flex-shrink: 0;
  width: 14px;
  text-align: center;
}

/* Badges */
.wf-footer__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wf-trust-badge {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 6px;
  padding: 5px 10px;
  color: rgba(255,255,255,.5);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
}

/* Titres colonnes */
.wf-footer__title {
  color: var(--wf-secondary) !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .07em;
  margin: 0 0 18px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(212,168,67,.2);
}

.wf-footer__title--social {
  margin-top: 28px !important;
}

/* Liens colonnes */
.wf-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.wf-footer__links li {
  margin-bottom: 6px;
}

.wf-footer__links a {
  color: rgba(255,255,255,.58);
  font-size: .88rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  transition: color .2s, padding-left .2s;
}

.wf-footer__links a .fa {
  font-size: .6rem;
  color: var(--wf-secondary);
  flex-shrink: 0;
  transition: transform .2s;
}

.wf-footer__links a:hover {
  color: #fff;
  padding-left: 4px;
}

.wf-footer__links a:hover .fa {
  transform: translateX(2px);
}

/* Newsletter */
.wf-footer__newsletter-intro {
  color: rgba(255,255,255,.58);
  font-size: .86rem;
  margin: 0 0 14px;
  line-height: 1.6;
}

.wf-newsletter {
  display: flex;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.05);
  transition: border-color .2s;
}

.wf-newsletter:focus-within {
  border-color: var(--wf-secondary);
}

.wf-newsletter__input {
  flex: 1;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  padding: 10px 14px !important;
  color: #fff !important;
  font-size: .86rem !important;
  height: auto !important;
  min-width: 0;
}

.wf-newsletter__input::placeholder { color: rgba(255,255,255,.35); }

.wf-newsletter__btn {
  background: var(--wf-secondary);
  color: var(--wf-dark) !important;
  border: none;
  padding: 0 18px;
  font-size: 1rem;
  cursor: pointer;
  transition: background .2s;
  flex-shrink: 0;
}

.wf-newsletter__btn:hover { background: #B8851E; }

/* Réseaux sociaux */
.wf-social {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.wf-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.65) !important;
  font-size: 1rem;
  text-decoration: none;
  transition: var(--wf-transition);
}

.wf-social a:hover {
  background: var(--wf-primary);
  border-color: var(--wf-primary);
  color: #fff !important;
  transform: translateY(-3px);
}

/* Note légale */
.wf-footer__legal-note {
  font-size: .72rem;
  color: rgba(255,255,255,.3);
  line-height: 1.55;
  margin-top: 20px;
}

/* Barre copyright */
.wf-footer__bottom {
  background: rgba(0,0,0,.28);
  padding: 16px 0;
}

.wf-footer__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.wf-footer__copyright {
  color: rgba(255,255,255,.38);
  font-size: .82rem;
  margin: 0;
}

.wf-footer__copyright a {
  color: rgba(255,255,255,.55);
  text-decoration: none;
  transition: color .2s;
}

.wf-footer__copyright a:hover { color: var(--wf-secondary); }

.wf-footer__bottom-nav {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.wf-footer__bottom-nav a {
  color: rgba(255,255,255,.38);
  font-size: .8rem;
  text-decoration: none;
  transition: color .2s;
}

.wf-footer__bottom-nav a:hover { color: var(--wf-secondary); }

/* Barre mobile */
/* ─── CTA dans le menu mobile ───────────────────────────────── */
/* ─── CTA dans le menu mobile ───────────────────────────────── */
.wf-nav-mobile-cta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-top: 1px solid #e5e7eb;
  margin-top: 8px;
  background: #fff;
}

/* Bouton icône seule (Ouvrir un compte) */
.wf-nav-mobile-cta__btn--secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--wf-secondary);
  color: #fff;
  font-size: 1rem;
  text-decoration: none;
  flex-shrink: 0;
  transition: opacity .2s;
}

/* Bouton icône + texte (Mon espace) */
.wf-nav-mobile-cta__btn--primary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 1;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 8px;
  background: var(--wf-primary);
  color: #fff;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity .2s;
}

.wf-nav-mobile-cta__btn--secondary:hover,
.wf-nav-mobile-cta__btn--primary:hover { opacity: .85; text-decoration: none; color: #fff; }

/* ─── PAGE DE CONNEXION ─────────────────────────────────────── */
.login-page-wrapper {
  min-height: 100vh;
  background: linear-gradient(135deg, #00001a 0%, var(--wf-primary) 50%, #0F172A 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  position: relative;
  overflow: hidden;
}

.login-page-wrapper::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: rgba(212,168,67,.07);
  animation: pulse-bg 6s ease-in-out infinite alternate;
}

.login-page-wrapper::after {
  content: '';
  position: absolute;
  bottom: -80px;
  left: -80px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(10,36,99,.15);
  animation: pulse-bg 8s ease-in-out infinite alternate-reverse;
}

@keyframes pulse-bg {
  from { transform: scale(1); opacity: .5; }
  to   { transform: scale(1.2); opacity: 1; }
}

.login-card {
  background: rgba(255,255,255,.97);
  border-radius: 20px;
  box-shadow: 0 30px 80px rgba(0,0,0,.4);
  padding: 48px 44px;
  width: 100%;
  max-width: 460px;
  position: relative;
  z-index: 1;
}

.login-logo {
  text-align: center;
  margin-bottom: 28px;
}

.login-logo img {
  max-height: 50px;
}

.login-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--wf-dark);
  text-align: center;
  margin-bottom: 6px;
}

.login-subtitle {
  text-align: center;
  color: #9ca3af;
  font-size: .9rem;
  margin-bottom: 32px;
}

.login-form-group {
  margin-bottom: 20px;
}

.login-form-group label {
  display: block;
  font-size: .85rem;
  font-weight: 600;
  color: var(--wf-dark);
  margin-bottom: 6px;
  letter-spacing: .02em;
}

.login-input-wrap {
  position: relative;
}

.login-input-wrap .input-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  font-size: 1rem;
  z-index: 1;
  transition: var(--wf-transition);
}

.login-input {
  width: 100%;
  padding: 13px 14px 13px 44px;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  font-size: .95rem;
  color: var(--wf-dark);
  background: #f9fafb;
  transition: var(--wf-transition);
  outline: none;
  font-family: inherit;
}

.login-input:focus {
  border-color: var(--wf-primary);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(10,36,99,.1);
}

.login-input:focus + .input-icon,
.login-input-wrap:focus-within .input-icon {
  color: var(--wf-primary);
}

.login-input.input-error {
  border-color: var(--wf-danger);
  background: #fff5f5;
}

.input-error-msg {
  color: var(--wf-danger);
  font-size: .78rem;
  margin-top: 5px;
  display: none;
}

.input-error-msg.visible {
  display: block;
}

.toggle-password {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #9ca3af;
  cursor: pointer;
  font-size: 1rem;
  padding: 0;
  transition: var(--wf-transition);
  z-index: 2;
}

.toggle-password:hover { color: var(--wf-primary); }

.login-remember {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 8px;
}

.login-remember label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .88rem;
  color: var(--wf-text);
  cursor: pointer;
}

.login-remember input[type="checkbox"] {
  accent-color: var(--wf-primary);
  width: 16px;
  height: 16px;
}

.login-forgot {
  font-size: .88rem;
  color: var(--wf-primary);
  text-decoration: none;
  font-weight: 600;
}

.login-forgot:hover {
  color: var(--wf-danger);
  text-decoration: underline;
}

.login-btn {
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--wf-primary), var(--wf-accent));
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: var(--wf-transition);
  letter-spacing: .03em;
  position: relative;
  overflow: hidden;
}

.login-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(10,36,99,.45);
}

.login-btn:active { transform: translateY(0); }

.login-btn .btn-spinner {
  display: none;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin .6s linear infinite;
  margin: 0 auto;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.login-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 24px 0;
  color: #d1d5db;
  font-size: .82rem;
}

.login-divider::before,
.login-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e5e7eb;
}

.login-register-link {
  text-align: center;
  font-size: .88rem;
  color: #6b7280;
}

.login-register-link a {
  color: var(--wf-primary);
  font-weight: 700;
  text-decoration: none;
}

.login-register-link a:hover { text-decoration: underline; }

.login-security-note {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  margin-top: 20px;
  color: #9ca3af;
  font-size: .75rem;
}

.login-security-note i { color: #dc2626; }

.login-alert {
  padding: 12px 16px;
  border-radius: 8px;
  font-size: .88rem;
  margin-bottom: 16px;
  display: none;
}

.login-alert.error {
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fca5a5;
}

.login-alert.success {
  background: #f0fdf4;
  color: #15803d;
  border: 1px solid #86efac;
}

/* ─── CARDS PRODUITS ────────────────────────────────────────── */
.product-feature-card {
  background: #fff;
  border-radius: var(--wf-radius);
  padding: 24px;
  box-shadow: 0 4px 16px rgba(10,36,99,.1);
  border: 1px solid rgba(10,36,99,.07);
  height: 100%;
  transition: var(--wf-transition);
}

.product-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--wf-shadow);
  border-color: var(--wf-primary);
}

.product-feature-card .feature-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--wf-primary), var(--wf-accent));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.3rem;
  margin-bottom: 16px;
}

.product-feature-card h5 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.product-feature-card p {
  font-size: .88rem;
  color: #6b7280;
  line-height: 1.6;
  margin: 0;
}

/* ─── SECTION COMPARATIF PRÊT ───────────────────────────────── */
.loan-comparison-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--wf-radius);
  overflow: hidden;
  box-shadow: var(--wf-shadow);
}

.loan-comparison-table thead {
  background: linear-gradient(135deg, var(--wf-primary), #00005e);
  color: #fff;
}

.loan-comparison-table th {
  padding: 14px 20px;
  font-weight: 700;
  font-size: .9rem;
}

.loan-comparison-table td {
  padding: 12px 20px;
  border-bottom: 1px solid rgba(0,0,0,.05);
  font-size: .9rem;
}

.loan-comparison-table tbody tr:last-child td { border-bottom: none; }

.loan-comparison-table tbody tr:hover { background: var(--wf-gray); }

/* ─── FAQ AMÉLIORÉE ─────────────────────────────────────────── */
.faq-item {
  background: #fff;
  border-radius: var(--wf-radius);
  margin-bottom: 12px;
  border: 1px solid rgba(10,36,99,.1);
  overflow: hidden;
  transition: var(--wf-transition);
}

.faq-item.active {
  border-color: var(--wf-primary);
  box-shadow: 0 4px 16px rgba(10,36,99,.15);
}

.faq-question {
  padding: 18px 24px;
  font-weight: 600;
  color: var(--wf-dark);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: .95rem;
  user-select: none;
}

.faq-question .faq-toggle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--wf-gray);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--wf-primary);
  font-size: 1rem;
  flex-shrink: 0;
  transition: var(--wf-transition);
  font-weight: 700;
}

.faq-item.active .faq-toggle {
  background: var(--wf-primary);
  color: #fff;
  transform: rotate(45deg);
}

.faq-answer {
  padding: 0 24px;
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease, padding .3s ease;
  color: #6b7280;
  font-size: .92rem;
  line-height: 1.7;
}

.faq-item.active .faq-answer {
  max-height: 600px;
  padding: 0 24px 20px;
}

/* ─── SECTION DOCUMENTS REQUIS ──────────────────────────────── */
.docs-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.docs-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
  font-size: .92rem;
  color: var(--wf-text);
}

.docs-list li:last-child { border-bottom: none; }

.docs-list li::before {
  content: '✓';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #dcfce7;
  color: #15803d;
  font-weight: 800;
  font-size: .75rem;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ─── BREADCRUMB ────────────────────────────────────────────── */
.section-bredcrumbs {
  background: linear-gradient(135deg, rgba(26,26,46,.85) 0%, rgba(10,36,99,.7) 100%), center/cover no-repeat !important;
  padding: 70px 0 50px !important;
}

.section-bredcrumbs h2 {
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
}

.section-bredcrumbs p {
  color: rgba(255,255,255,.82);
}

/* ─── WAVE SECTIONS ─────────────────────────────────────────── */
.bg-gray-800 {
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
}

/* ─── NOTIFICATIONS / TOASTS ────────────────────────────────── */
.wf-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: #fff;
  border-radius: 12px;
  padding: 16px 20px;
  box-shadow: 0 8px 32px rgba(0,0,0,.2);
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: .9rem;
  transform: translateY(100px);
  opacity: 0;
  transition: all .4s cubic-bezier(.4,0,.2,1);
  z-index: 9999;
  max-width: 360px;
}

.wf-toast.show {
  transform: translateY(0);
  opacity: 1;
}

.wf-toast.success { border-left: 4px solid #D4A843; }
.wf-toast.error   { border-left: 4px solid var(--wf-danger); }

/* ─── Carousel — images de fond ────────────────────────────── */
.slider-bg-one {
  background-image: url("../../img/slider/home-three/1.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.slider-bg-two {
  background-image: url("../../img/slider/home-three/2.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.slider-bg-three {
  background-image: url("../../img/slider/home-three/3.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.slider-bg-four {
  background-image: url("../../img/slider/home-three/4.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* ─── MOBILE OPTIMISATIONS ──────────────────────────────────── */
@media (max-width: 768px) {
  .login-card { padding: 32px 24px; }
  .carousel-page { min-height: 420px !important; }
  .blurb-boxed-3 { margin-bottom: 20px; }
  .testimonial-card { margin-bottom: 20px; }

  /* Carousel — texte collé aux bords */
  .slider-content-area {
    padding: 40px 20px;
  }
  .slide-text h1.homepage-three-title {
    font-size: 1.7rem;
  }
  .slide-text h2 {
    font-size: 1rem;
  }
  .slide-text .slide-subtitle {
    font-size: .88rem;
    max-width: 100%;
  }
  .slide-badge {
    font-size: .75rem;
    padding: 5px 12px;
  }

  /* Carousel — boutons adaptés au contenu (pas pleine largeur) */
  .slide-actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
  }
  .slide-actions .button {
    padding: 11px 18px !important;
    font-size: .88rem !important;
    min-height: 44px;
  }

  /* Menu mobile — panel positionné juste sous la barre header */
  .rd-navbar-fixed .rd-navbar-nav-wrap {
    top: 56px !important;
    bottom: 0 !important;
    height: calc(100vh - 56px) !important;
    padding-top: 16px !important;
    padding-bottom: 24px !important;
  }

  /* Stats section — mobile */
  .stats-section {
    padding: 28px 0;
  }
  .stats-section .container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .stats-section .row {
    margin-left: 0;
    margin-right: 0;
  }
  .stats-section .col-sm-6 {
    padding-left: 12px;
    padding-right: 12px;
  }
  .stat-item {
    padding: 14px 12px;
    border-radius: 10px;
    background: rgba(255,255,255,.06);
    margin-bottom: 10px;
  }
  .stat-number {
    font-size: 1.8rem;
  }
  .stat-label {
    font-size: .82rem;
  }
}

/* ─── ANIMATIONS ────────────────────────────────────────────── */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}

.animate-on-scroll.animated {
  opacity: 1;
  transform: translateY(0);
}

/* ─── SECTION ACTUALITÉS FOOTER ─────────────────────────────── */
.footer-newsletter {
  margin-top: 12px;
}

.footer-newsletter-form {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.footer-newsletter-input {
  flex: 1;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: .85rem;
  outline: none;
  font-family: inherit;
}

.footer-newsletter-input::placeholder { color: rgba(255,255,255,.4); }

.footer-newsletter-input:focus {
  border-color: var(--wf-secondary);
  background: rgba(255,255,255,.12);
}

.footer-newsletter-btn {
  padding: 10px 16px;
  border-radius: 8px;
  background: var(--wf-secondary);
  color: #00001a;
  border: none;
  font-weight: 700;
  font-size: .82rem;
  cursor: pointer;
  transition: var(--wf-transition);
  white-space: nowrap;
}

.footer-newsletter-btn:hover {
  background: #4dea5a;
  transform: translateY(-1px);
}

/* ─── GTRANSLATE WIDGET ─────────────────────────────────────── */
.gtranslate_wrapper {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 9990;
}

/* ─── SCROLL TO TOP ─────────────────────────────────────────── */
#ui-to-top {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--wf-primary), #1a3a7a) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(10,36,99,.4);
  transition: var(--wf-transition);
}

#ui-to-top:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(10,36,99,.5);
}

/* ─── SECTION FEATURES SERVICES ─────────────────────────────── */
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin-top: 40px;
}

.service-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px;
  background: #fff;
  border-radius: var(--wf-radius);
  border: 1px solid rgba(10,36,99,.08);
  transition: var(--wf-transition);
}

.service-item:hover {
  border-color: var(--wf-primary);
  box-shadow: 0 4px 16px rgba(10,36,99,.12);
}

.service-item-icon {
  color: var(--wf-primary);
  font-size: 1.4rem;
  flex-shrink: 0;
  margin-top: 2px;
}

.service-item h6 {
  font-weight: 700;
  margin-bottom: 4px;
  font-size: .92rem;
}

.service-item p {
  font-size: .82rem;
  color: #9ca3af;
  margin: 0;
  line-height: 1.5;
}

/* ─── CLASSES UTILITAIRES (ex-styles inline) ─────────────────── */

/* Navbar : hauteur fixe du wrapper */
.rd-navbar-wrap--h73 {
  height: 73px;
}

/* Navbar : espacement des boutons d'action */
.rd-navbar-action-btn {
  margin-left: 10px;
}

/* Slides : conteneur des boutons CTA */
.slide-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 20px;
}

/* ─── HERO SLIDER — image côté droit ──────────────────────── */
.slide-illustration {
  max-width: 100%;
  max-height: 420px;
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.3));
  animation: float-img 4s ease-in-out infinite alternate;
}

@keyframes float-img {
  from { transform: translateY(0); }
  to   { transform: translateY(-12px); }
}

.slide-image-col {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 0;
}

/* ─── RENVOI TARIFS ─────────────────────────────────────────── */
/* ─── CARTES COMPARATIF OFFRES ──────────────────────────────── */
.wf-offer-card {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 16px;
  padding: 28px 24px 24px;
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow .25s, transform .25s;
}
.wf-offer-card:hover {
  box-shadow: 0 8px 32px rgba(10,36,99,.12);
  transform: translateY(-4px);
}
.wf-offer-card--featured {
  border-color: var(--wf-secondary);
  box-shadow: 0 8px 32px rgba(212,168,67,.2);
}
.wf-offer-card__badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--wf-secondary);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  padding: 4px 18px;
  border-radius: 50px;
  white-space: nowrap;
  letter-spacing: .04em;
}
.wf-offer-card__header {
  text-align: center;
  padding-bottom: 20px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 20px;
}
.wf-offer-card__label {
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--wf-muted);
  text-transform: uppercase;
}
.wf-offer-card__price {
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--wf-primary);
  line-height: 1.1;
  margin: 6px 0 4px;
}
.wf-offer-card__price span {
  font-size: 1rem;
  font-weight: 400;
  color: var(--wf-muted);
}
.wf-offer-card__header p {
  font-size: .82rem;
  color: var(--wf-muted);
  margin: 0;
}
.wf-offer-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  flex: 1;
}
.wf-offer-card__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  font-size: .88rem;
  border-bottom: 1px solid #f5f5f5;
}
.wf-offer-card__list li .fa-check { color: var(--wf-secondary); }
.wf-offer-card__list li .fa-times { color: #d1d5db; }
.wf-offer-card__no { color: #9ca3af !important; }

.wf-tarif-teaser {
  background: #f8fafc;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  padding: 32px 0;
}

.wf-tarif-teaser__inner {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.wf-tarif-teaser__icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #0A2463;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.4rem;
  flex-shrink: 0;
}

.wf-tarif-teaser__text {
  flex: 1;
  min-width: 200px;
}

.wf-tarif-teaser__text h3 {
  margin: 0 0 4px;
  font-size: 1.1rem;
}

.wf-tarif-teaser__text p {
  margin: 0;
  color: #6b7280;
  font-size: .9rem;
}

.wf-tarif-teaser__btn {
  flex-shrink: 0;
}

/* ─── OVERRIDES RD-NAVBAR → LOOK BLANC FLAT ───────────────── */

/* Navbar statique (desktop) — fond blanc */
.rd-navbar-static .rd-navbar-inner,
.rd-navbar-static.rd-navbar--is-clone .rd-navbar-inner {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
}

.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-inner {
  background: #fff;
  box-shadow: 0 2px 16px rgba(0,0,0,.08);
  border-bottom: none;
}

/* Liens de navigation */
.rd-navbar-static .rd-nav-link {
  color: #374151 !important;
  font-weight: 500;
  font-size: .92rem;
}

.rd-navbar-static .rd-nav-link:hover,
.rd-navbar-static .rd-nav-item.active .rd-nav-link {
  color: #0A2463 !important;
}

/* Annule le border-bottom hardcodé dans style.css (double soulignement) */
.rd-navbar-creative.rd-navbar-static .rd-nav-item.active .rd-nav-link {
  border-bottom: none !important;
  border-color: transparent !important;
}

/* Indicateur actif — barre 2px via ::after uniquement */
.rd-navbar-static .rd-nav-item.active .rd-nav-link::after {
  content: '';
  display: block;
  height: 2px;
  background: var(--wf-secondary);
  border-radius: 2px;
  margin-top: 2px;
}

/* Méga-menu */
.rd-navbar-static .rd-menu {
  background: #fff !important;
  box-shadow: 0 8px 40px rgba(0,0,0,.12) !important;
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
  padding: 16px !important;
}

.rd-navbar-static .rd-megamenu-title {
  color: #0A2463 !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  border-bottom: 2px solid rgba(212,168,67,.4) !important;
  padding-bottom: 6px !important;
  margin-bottom: 10px !important;
}

.rd-navbar-static .rd-megamenu-list-link {
  color: #374151 !important;
  font-size: .88rem !important;
  padding: 5px 8px !important;
  border-radius: 6px !important;
  transition: all .2s !important;
}

.rd-navbar-static .rd-megamenu-list-link:hover {
  background: rgba(10,36,99,.06) !important;
  color: #0A2463 !important;
  padding-left: 12px !important;
}

/* Navbar fixe (mobile) */
.rd-navbar-fixed .rd-navbar-inner {
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb;
}

.rd-navbar-fixed .rd-navbar-toggle span,
.rd-navbar-fixed .rd-navbar-toggle span::before,
.rd-navbar-fixed .rd-navbar-toggle span::after {
  background: #374151;
}

/* Panel mobile */
.rd-navbar-fixed .rd-navbar-nav-wrap {
  background: #fff !important;
}

.rd-navbar-fixed .rd-nav-link {
  color: #374151 !important;
}

.rd-navbar-fixed .rd-nav-item.active .rd-nav-link {
  color: #0A2463 !important;
}

/* ─── CONFLITS RÉSIDUELS main.css ───────────────────────────
   Ces règles écrasent des valeurs hardcodées dans le fichier
   minifié main.css qu'on ne peut pas modifier directement.
─────────────────────────────────────────────────────────── */

/* button-ghost hover était #464391 (ancien violet) dans main.css */
.button-ghost:hover,
.button-ghost:active {
  background-color: rgba(10,36,99,.12) !important;
  color: #fff !important;
  border-color: #fff !important;
}

/* button-overlay couleur (pseudo-element ujarak) */
.button-overlay,
.button-ujarak::before {
  background-color: #00005e !important;
}

/* Annule la transition transform sur .button-nuka qui crée des sauts */
.button-nuka {
  transition: background-color .2s, border-color .2s, box-shadow .2s !important;
  transform: none !important;
}
.button-nuka:hover { transform: none !important; }

/* ─── LAYOUT — COMPENSATION TOP BAR ─────────────────────── */

/* Le premier enfant du .page doit compenser la top bar (~36px) + navbar (~73px) */
.wf-topbar ~ header + * { padding-top: 0; }

/* Évite que le contenu soit masqué sous la navbar fixe sur mobile */
@media (max-width: 991px) {
  .page > section:first-of-type,
  .page > div:first-of-type { padding-top: 0; }
}

/* ─── CORRECTIONS TYPOGRAPHIE GLOBALE ─────────────────────
   Quelques débordements hérités du vieux style.css
─────────────────────────────────────────────────────────── */

/* Supprime les margin-top automatiques paragraphes-après-tout qui cassent les layouts */
.wf-footer__col * + p,
.wf-topbar * + * { margin-top: 0 !important; }

/* Inputs — annule l'outline coloré de formcss-contact.css */
input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: var(--wf-primary) !important;
  box-shadow: 0 0 0 3px rgba(10,36,99,.15) !important;
  background-color: #fff !important;
}

/* ─── COULEURS SECTION STATS ────────────────────────────── */
.stats-section {
  background: var(--wf-primary) !important;
}

/* ─── COULEURS CTA SECTION ──────────────────────────────── */
.section-inset-7 {
  background: var(--wf-primary) !important;
}

/* ─── TABLE TARIFS — couleur header ─────────────────────── */
.table-tarif thead tr {
  background: var(--wf-primary) !important;
}

.table-tarif thead th {
  color: #fff !important;
}

/* ═══════════════════════════════════════════════════════════
   SECTION CTA PARTAGÉE — remplace les inline gradient partout
════════════════════════════════════════════════════════════ */
.wf-cta-section {
  background: linear-gradient(135deg, var(--wf-dark) 0%, var(--wf-primary) 100%);
  padding: 72px 0;
}
.wf-cta-section h2 { color: #fff; margin-bottom: 16px; }
.wf-cta-section p  { color: rgba(255,255,255,.8); font-size: 16px; margin-bottom: 32px; max-width: 560px; margin-left: auto; margin-right: auto; }

/* ═══════════════════════════════════════════════════════════
   FORMULAIRE DE CONTACT — styles extraits du inline <style>
════════════════════════════════════════════════════════════ */

/* ── Cartes canal ─────────────────────────────────────────── */
.wf-contact-card {
  background: #fff;
  border-radius: 12px;
  padding: 28px 20px;
  text-align: center;
  box-shadow: 0 2px 16px rgba(0,0,125,.07);
  height: 100%;
  transition: transform .2s, box-shadow .2s;
}
.wf-contact-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0,0,125,.13);
}
.wf-contact-card__icon {
  font-size: 38px;
  color: var(--wf-secondary);
  margin-bottom: 14px;
}
.wf-contact-card__title {
  color: var(--wf-primary);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 6px;
}
.wf-contact-card__info { color: #555; font-size: 14px; margin-bottom: 4px; }
.wf-contact-card__hours { color: #94a3b8; font-size: 12px; display: block; margin-bottom: 8px; }
.wf-contact-card__link { color: var(--wf-secondary); font-size: 13px; font-weight: 600; text-decoration: none; }
.wf-contact-card__link:hover { color: #b91c1c; }

/* ── Carte formulaire ─────────────────────────────────────── */
.wf-form-card {
  background: #fff;
  border-radius: 16px;
  padding: 40px 44px;
  box-shadow: 0 4px 32px rgba(0,0,125,.10);
}
@media (max-width: 767px) { .wf-form-card { padding: 28px 20px; } }
.wf-form-card__header { margin-bottom: 32px; }
.wf-form-card__title { font-size: 1.5rem; color: var(--wf-primary); font-weight: 800; margin-bottom: 6px; }
.wf-form-card__title i { color: var(--wf-secondary); }
.wf-form-card__subtitle { color: #64748b; font-size: 15px; }

/* ── Champs formulaire ────────────────────────────────────── */
.wf-field { margin-bottom: 22px; }
.wf-label {
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: #374151;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.wf-required { color: var(--wf-secondary); }
.wf-input-wrap { position: relative; }
.wf-input-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  font-size: 14px;
  pointer-events: none;
  z-index: 1;
}
.wf-input-icon--top { top: 16px; transform: none; }
.wf-input-wrap--textarea .wf-input { padding-left: 40px; padding-top: 12px; }
.wf-input {
  width: 100%;
  padding: 12px 14px 12px 40px;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  color: #1e293b;
  background: #f8fafc;
  transition: border-color .2s, box-shadow .2s, background .2s;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.wf-input:focus {
  border-color: var(--wf-primary) !important;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(0,0,125,.15) !important;
}
.wf-input.wf-valid  { border-color: #16a34a; background: #f0fdf4; }
.wf-input.wf-invalid { border-color: var(--wf-secondary); background: #fff5f5; }
.wf-select { cursor: pointer; }
.wf-textarea { resize: vertical; min-height: 120px; }
.wf-char-count { position: absolute; bottom: 8px; right: 12px; font-size: 11px; color: #94a3b8; pointer-events: none; }
.wf-error-msg { display: block; font-size: 12px; color: #b45309; margin-top: 4px; min-height: 16px; font-weight: 500; }
.wf-error-msg::before { content: ''; }
.wf-error-msg.visible::before { content: '⚠ '; }

/* ── Actions + soumission ─────────────────────────────────── */
.wf-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.wf-form-note { font-size: 12px; color: #94a3b8; margin: 0; flex: 1; }
.wf-form-note a { color: #64748b; text-decoration: underline; }
.wf-submit-btn { min-width: 200px; padding: 14px 28px !important; font-size: 15px !important; }
@media (max-width: 575px) {
  .wf-form-actions { flex-direction: column; align-items: stretch; }
  .wf-submit-btn { text-align: center; }
}

/* ── Succès envoi ─────────────────────────────────────────── */
.wf-form-success { text-align: center; padding: 48px 24px; animation: wfFadeIn .4s ease; }
@keyframes wfFadeIn { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
.wf-form-success__icon { font-size: 56px; color: #16a34a; margin-bottom: 16px; }
.wf-form-success__title { font-size: 1.6rem; color: var(--wf-primary); font-weight: 800; margin-bottom: 10px; }
.wf-form-success__text { color: #64748b; font-size: 15px; max-width: 420px; margin: 0 auto 24px; line-height: 1.7; }

/* ═══════════════════════════════════════════════════════════
   RD-NAVBAR — CORRECTIONS DOUBLE FLÈCHE & SUBMENU TOGGLE
════════════════════════════════════════════════════════════ */

/* Masque les boutons toggle injectés par rd-navbar JS dans le méga-menu
   (ils créaient la "double flèche" combinés avec nos <i> fa-chevron) */
.rd-navbar-megamenu .rd-navbar-submenu-toggle { display: none !important; }

/* Flèche chevron sur les liens du méga-menu — version CSS pure, propre */
.rd-megamenu-list-link {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.rd-megamenu-list-link::before {
  content: '' !important;
  display: inline-block !important;
  width: 5px !important;
  height: 5px !important;
  border-right: 1.5px solid var(--wf-primary) !important;
  border-bottom: 1.5px solid var(--wf-primary) !important;
  transform: rotate(-45deg) !important;
  flex-shrink: 0 !important;
  transition: transform .2s !important;
}
.rd-megamenu-list-link:hover::before {
  border-color: var(--wf-secondary) !important;
  transform: rotate(-45deg) translateX(2px) !important;
}

/* Couleur du toggle principal (▾ après chaque item de nav) */
.rd-navbar-static .rd-navbar-submenu-toggle {
  color: var(--wf-primary) !important;
  font-size: 10px !important;
  opacity: .7;
}
.rd-navbar-static .rd-nav-item:hover .rd-navbar-submenu-toggle {
  opacity: 1;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — HEADER
════════════════════════════════════════════════════════════ */

/* ── Tablette (992px et moins) ─────────────────────────── */
@media (max-width: 991px) {

  /* Masque la top bar sur mobile/tablette */
  .wf-topbar { display: none !important; }

  /* Navbar fixe mobile — fond blanc, ombre discrète */
  .rd-navbar-fixed .rd-navbar-inner,
  .rd-navbar-fixed .rd-navbar-panel {
    background: #fff !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.1) !important;
  }

  /* Logo en mobile — taille réduite */
  .rd-navbar-fixed .brand-logo-light {
    width: 120px !important;
    height: auto !important;
  }

  /* Bouton hamburger — couleur cohérente */
  .rd-navbar-toggle span,
  .rd-navbar-toggle span::before,
  .rd-navbar-toggle span::after {
    background: var(--wf-primary) !important;
  }

  /* Panneau de navigation mobile */
  .rd-navbar-fixed .rd-navbar-nav-wrap {
    background: #fff !important;
    box-shadow: 4px 0 20px rgba(0,0,0,.12) !important;
    padding-top: 16px !important;
  }

  /* Items nav mobile */
  .rd-navbar-fixed .rd-nav-item {
    border-bottom: 1px solid #f1f5f9 !important;
  }
  .rd-navbar-fixed .rd-nav-link {
    color: #1e293b !important;
    font-size: 15px !important;
    padding: 12px 20px !important;
    font-weight: 500 !important;
  }
  .rd-navbar-fixed .rd-nav-item.active .rd-nav-link,
  .rd-navbar-fixed .rd-nav-link:hover {
    color: var(--wf-primary) !important;
    background: rgba(10,36,99,.04) !important;
  }

  /* Sous-menus mobile */
  .rd-navbar-fixed .rd-menu {
    background: #f8fafc !important;
    border-left: 3px solid var(--wf-primary) !important;
    margin-left: 20px !important;
    border-radius: 0 6px 6px 0 !important;
  }
  .rd-navbar-fixed .rd-megamenu-title {
    color: var(--wf-primary) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 10px 16px 4px !important;
  }
  .rd-navbar-fixed .rd-megamenu-list-link {
    color: #374151 !important;
    font-size: .9rem !important;
    padding: 8px 16px !important;
  }
  .rd-navbar-fixed .rd-megamenu-list-link:hover {
    color: var(--wf-primary) !important;
  }

  /* Cache le promo block méga-menu sur mobile (déjà hidden-xs hidden-sm) */
  .wf-megamenu-promo { display: none !important; }

  /* Boutons CTA nav — masqués sur tablette/mobile, remplacés par .wf-mobile-cta */
  .wf-nav-actions { display: none !important; }

  /* Compensation barre de nav fixe */
  .page > .wf-hero,
  .page > section:first-child,
  .page > .swiper-slider {
    padding-top: 60px !important;
  }
}

/* ── Mobile (max 575px) ────────────────────────────────── */
@media (max-width: 575px) {
  .rd-navbar-fixed .brand-logo-light {
    width: 100px !important;
  }
  .rd-navbar-fixed .rd-nav-link {
    font-size: 14px !important;
    padding: 10px 16px !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — FOOTER
════════════════════════════════════════════════════════════ */

/* ── Tablette (max 991px) ──────────────────────────────── */
@media (max-width: 991px) {

  /* CTA strip — stack vertical */
  .wf-footer-cta__inner {
    flex-direction: column !important;
    text-align: center !important;
    gap: 20px !important;
  }
  .wf-footer-cta__actions {
    justify-content: center !important;
  }

  /* Grid footer — 2 colonnes */
  .wf-footer__grid .col-md-3 {
    width: 50% !important;
    float: left !important;
    margin-bottom: 32px !important;
  }

  /* Copyright — stack vertical */
  .wf-footer__bottom-inner {
    flex-direction: column !important;
    gap: 10px !important;
    text-align: center !important;
  }
  .wf-footer__bottom-nav {
    justify-content: center !important;
  }

}

/* ── Mobile (max 767px) ────────────────────────────────── */
@media (max-width: 767px) {

  /* Grid footer — 1 colonne */
  .wf-footer__grid .col-md-3,
  .wf-footer__grid .col-sm-6 {
    width: 100% !important;
    float: none !important;
    margin-bottom: 28px !important;
  }

  /* Logo footer centré */
  .wf-footer__col { text-align: center !important; }
  .wf-footer__logo { display: inline-block !important; }
  .wf-footer__contact li { justify-content: center !important; }
  .wf-footer__badges { justify-content: center !important; }
  .wf-social { justify-content: center !important; }

  /* Newsletter input — pleine largeur */
  .wf-newsletter {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .wf-newsletter__input {
    width: 100% !important;
    border-radius: 8px !important;
  }
  .wf-newsletter__btn {
    width: 100% !important;
    border-radius: 8px !important;
    padding: 12px !important;
  }

  /* CTA strip */
  .wf-footer-cta {
    padding: 28px 16px !important;
  }
  .wf-footer-cta h3 {
    font-size: 1.3rem !important;
  }
  .wf-footer-cta__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .wf-footer-cta__actions .button {
    text-align: center !important;
    justify-content: center !important;
  }

}

/* ── Très petit (max 375px) ────────────────────────────── */
@media (max-width: 375px) {
  .wf-footer-cta h3 { font-size: 1.1rem !important; }
  .wf-footer__title { font-size: .95rem !important; }
  .wf-footer__links a { font-size: .82rem !important; }
}

/* ─── Tableau comparatif cartes (cartes-bancaires) ──────────── */
.wf-compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.wf-compare-table th,
.wf-compare-table td {
  padding: 12px 16px;
  border: 1px solid #e2e8f0;
  vertical-align: middle;
}
.wf-compare-table thead th {
  background: #0A2463;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.wf-compare-table thead th.wf-col-highlight {
  background: #D4A843;
  color: #fff;
}
.wf-compare-table tbody tr:nth-child(even) {
  background: #f8f9fa;
}
.wf-compare-table tbody tr:hover {
  background: #f0f4ff;
}
.wf-compare-table .wf-col-highlight {
  background: rgba(212,168,67,.06);
}
.wf-compare-table tfoot td {
  background: #f8f9fa;
  padding: 16px;
}
.wf-compare-table tfoot td.wf-col-highlight {
  background: rgba(212,168,67,.1);
}
.wf-check  { color: #16a34a; font-size: 16px; }
.wf-minus  { color: #94a3b8; font-size: 16px; }
.wf-price-tag {
  display: inline-block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 600;
  background: rgba(255,255,255,.2);
  border-radius: 4px;
  padding: 2px 8px;
}
