/* ============================
Responsive CSS (style.css)
============================ */

/* NAVBAR */
.makeba-navbar {
background-color: #122153;
padding: 12px 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}


.justify-content-header-phone {
  display: flex;
  justify-content: right;
}

.makeba-logo { height: 28px; }
.nav-link { font-size: 1rem; font-weight: 500; }
.btn-lang { background-color: transparent; color: #fff; border: none; font-weight: 500; }
.btn-lang:hover { color: #ffffffcc; }
.material-icons { font-size: 20px; color: #ffffffcc; }
.makeba-menu-btn {
padding: 0 1.5rem;
color: #fff !important;
font-family: 'BentonSans', sans-serif;
font-weight: 500;
font-size: 1rem;
display: flex; align-items: center; justify-content: center; gap: 8px;
}
.makeba-menu-btn:hover { color: #ffffffcc; background: rgba(255,255,255,0.08); }

/* HERO */
.hero-section { padding-bottom: 0 !important; }
.hero-title { font-family: 'BentonSans', sans-serif; font-weight: 400; font-size: clamp(28px,4vw,44px); line-height: 1.2; color: #0F172A; }
.hero-subtitle { font-family: 'BentonSans', sans-serif; font-weight: 400; font-size: clamp(16px,3vw,23px); line-height: 1.3; color: #FEA61F; }
.qr-block { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.qr-image { width: 120px; height: auto; }
.qr-text { font-family: 'BentonSans', sans-serif; font-weight: 400; font-size: 1rem; color: #475569; }
.store-btn { height: 55px; cursor: pointer; }
.phone-image { width: 100%; max-width: 420px; height: auto; }

/* TRANSFER INFO SECTION */
.transfer-info-section { background-color: #0E5587; padding: 9% 1rem; text-align: center; z-index: 10;}
.transfer-text { font-family: 'BentonSans', sans-serif; font-size: clamp(20px,3vw,36px); line-height: 1.2; color: #fff; margin: 0 auto; max-width: 90%; }

/* FEATURES */
.feature-item { width: 100%; max-width: 548px; background: #F8FAFC; border-radius: 20px; padding: 1rem; margin: 0 auto; }
.feature-inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1rem; max-width: 100%; }
.feature-chip { width: 56px; height: 56px; border-radius: 50%; background: transparent; display: flex; align-items: center; justify-content: center; }
.feature-chip .material-icons { font-size: 32px; color: #334155; }
.feature-title { font-family: 'Inter', sans-serif; font-weight: 500; font-size: clamp(24px,3vw,36px); color: #334155; margin:0; }
.feature-desc { font-family: 'BentonSans', sans-serif; font-weight: 400; font-size: clamp(16px,2.5vw,24px); color: #334155; margin:0; max-width: 100%; }

/* HOW IT WORKS */
.howitworks { background: #F8FAFC;}
.howitworks-section { background: #F8FAFC; /** padding: 4rem 1rem; */ display: flex; justify-content: center; }
.howitworks-container { display: flex; flex-wrap: wrap; gap: 2rem; justify-content: center; width: 100%; max-width: 1280px; }
.howitworks-left { flex: 1 1 100%; padding: 1rem; }
.content-wrapper { max-width: 100%; }
.hiw-title { font-family: 'Inter', sans-serif; font-weight: 500; font-size: clamp(24px,4vw,48px); line-height: 1.2; color: #0F172A; margin-bottom: 1rem; }
.hiw-step { font-family: 'BentonSans', sans-serif; font-weight: 400; font-size: clamp(18px,3vw,30px); color: #0F172A; margin-bottom: 0.5rem; }
.hiw-desc { font-family: 'BentonSans', sans-serif; font-weight: 400; font-size: clamp(14px,2.5vw,24px); color: #334155; max-width: 100%; padding-right: 0; }
.howitworks-right { flex: 1 1 100%; display: flex; justify-content: center; align-items: center; }
.phone-screen { width: 100%; max-width: 375px; background: #F1F5F9; display: flex; justify-content: center; align-items: flex-end; }
.phone-img { width: 100%; height: auto;  }

/* STEP BLOCKS */
.step-block-2, .step-block-4 { background: #fff; }
.no-top-space { margin-top: -2rem; }
.step-img-left { padding: 0 !important; }

/* FIRST TRANSFER SECTION */
.first-transfer-section { padding: 4rem 1rem; display: flex; flex-direction: column; gap: 2rem; align-items: center; background-color: #F8FAFC; position: relative; z-index: 11; margin-top: 20px;}
.ft-left-wrapper, .ft-right-text { max-width: 100%; width: 100%; }
.ft-title { font-size: clamp(24px,3vw,36px); line-height: 1.2; color: #000; }
.ft-desc { font-size: clamp(16px,2.5vw,24px); line-height: 1.3; color: #475569; }
.ft-btn-qr-wrapper { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: left; }
.ft-store-btn { height: auto; }
.ft-qr-image-wrap, .ft-qr-img { width: 120px; height: auto; }
.ft-qr-text { font-size: 14px; line-height: 1.3; }

/* DIASPORA & ABOUT */
.diaspora-section, .about-section { padding: 5% 1rem; }
.diaspora-items, .diaspora-wrapper, .about-container { flex-wrap: wrap; justify-content: center; gap: 1rem; }
.diaspora-item, .about-desc-wrapper { text-align: center; }
.diaspora-text, .about-desc { font-size: clamp(16px,2.5vw,24px); line-height: 1.3; }

/* SERVICES SECTION */
.services-section { padding: 10% 1rem; justify-content: center; align-items: center; background-color: #F8FAFC; }
.services-inner { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; align-items: center; }
.services-text { font-size: clamp(16px,2.5vw,24px); }
.services-logo { height: 44px; }

/* WEBSITE BANNER */
.website-banner-img { width: 100%; height: auto; display: block; }

.makeba-icon-m {
  width: 5%;
  height: auto;
  display: block;
  margin: 2% auto 5%;
}

/* MEDIA QUERIES */
@media (min-width: 768px) {
  
.justify-content-header-phone {
  display: flex;
  justify-content: center;
}
.howitworks-left, .howitworks-right { flex: 1 1 48%; }
.first-transfer-section { flex-direction: row; justify-content: space-between; }
.ft-left-wrapper, .ft-right-text { width: 100% !important; }
.diaspora-items { justify-content: space-between; }

}


@media (min-width: 992px) {
  
.justify-content-header-phone {
  display: flex;
  justify-content: center;
}
.hero-section { padding: 5rem 2rem; }
.feature-item { max-width: 548px; }
}

/* FOOTER LEFT UNTOUCHED */

/* MAIN FOOTER BLOCK - RESPONSIVE */
.makeba-footer {
width: 100%;
background: #000000; /* KEEPED AS IS */
display: flex;
justify-content: center;
padding-top: 80px;
padding-bottom: 80px;
}

/* FIXED WIDTH WRAPPER (Figma 1280px) */
.footer-container {
width: 100%;
max-width: 1280px;
display: flex;
flex-direction: column;
gap: 40px;
padding: 0 16px; /* small side padding on mobile */
box-sizing: border-box;
}

/* ---------------- TOP BLOCK ---------------- */
.footer-top {
width: 100%;
max-width: 948px;
height: 28px;
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap; /* allow wrapping on mobile */
}

.footer-top-logo {
height: 28px;
object-fit: contain;
}

.footer-top-text {
font-family: "Inter", sans-serif;
font-weight: 500;
font-size: 20px;
line-height: 28px;
color: #FFFFFF;
}

/* ---------------- MIDDLE BLOCK ---------------- */
.footer-middle {
width: 100%;
max-width: 1128px;
display: flex;
gap: 68px;
flex-wrap: wrap; /* stack columns on mobile */
}

/* LEFT COLUMN: LEGAL */
.footer-nav {
width: 100%;
max-width: 250px;
display: flex;
flex-direction: column;
gap: 24px;
}

.footer-nav-title {
font-family: "Inter", sans-serif;
font-weight: 500;
font-size: 20px;
line-height: 34px;
color: #FFFFFF;
margin: 0;
}

.footer-nav-link {
font-family: "Inter", sans-serif;
font-size: 16px;
line-height: 15px;
color: #FFFFFF;
text-decoration: none;
}

.footer-nav-link:hover {
color: #ffffffcc;
}

/* RIGHT COLUMN: SOCIAL */
.footer-social-section {
display: flex;
flex-direction: column;
gap: 24px;
}

.footer-social-icons {
display: flex;
gap: 24px;
}

.footer-social-icon i {
font-size: 24px;
color: #FFFFFF;
}

.footer-social-icon:hover i {
color: #ffffffcc;
}

/* ---------------- COPYRIGHT ---------------- */
.footer-copy {
font-family: "Inter", sans-serif;
font-weight: 400;
font-size: 15px;
color: #FFFFFF;
margin-top: 3%;
}

/* ---------------- LEGAL PARAGRAPH ---------------- */
.footer-legal-text {
font-family: "Inter", sans-serif;
font-size: 14px;
line-height: 26px;
color: var(--Slate-400, #94A3B8);
max-width: 1100px;
}

/* ---------------- MEDIA QUERIES ---------------- */
@media (max-width: 1024px) {
.footer-middle {
gap: 32px;
}

}

@media (max-width: 768px) {
.footer-top, .footer-middle {
flex-direction: column;
align-items: flex-start;
gap: 24px;
}

.footer-nav, .footer-social-section {
max-width: 100%;
}

.footer-nav-title { font-size: 18px; }
.footer-nav-link { font-size: 15px; }
.footer-social-icon i { font-size: 22px; }
.footer-copy { font-size: 14px; }
}

@media (max-width: 480px) {
.footer-top-text { font-size: 16px; }
.footer-nav-title { font-size: 16px; }
.footer-nav-link { font-size: 14px; }
.footer-social-icon i { font-size: 20px; }
.footer-copy { font-size: 13px; }
}

@media (max-width: 1024px) {
.qr-block {
justify-content: center;
text-align: center; 
flex-direction: column;
}

.qr-text {
margin-left: 0;
margin-top: 12px; /* space between QR and text */
}

.d-flex.gap-3 {
justify-content: center; /* center store buttons */
}
}

@media (max-width: 480px) {
.qr-image {
width: 100px; /* smaller on mobile */
}

.qr-text {
font-size: 14px;
line-height: 20px;
}

.store-btn {
height: 40px;
}
}

.hero-section .col-lg-6:last-child {
  /** margin-bottom: -10px;*/
}
.phone-image {
  display: block;
  margin-bottom: 0 !important;
}

/* MOBILE + TABLET FIX */
@media (max-width: 992px) {
  /* Remove the mt-5 on mobile/tablet */
  .hero-section .col-lg-6.d-flex {
    margin-top: 20px !important;
  }

  /* Force image to touch the next section */
  .phone-image {
    margin-bottom: -20px !important;
  }
}

/* MOBILE + TABLET FIX */
@media (max-width: 700px) {

  .justify-content-header-phone {
    display: flex;
    justify-content: center;
  }
}


/* Make hero and banner overlap cleanly */
.hero-section {
  position: relative;
  padding-bottom: 0 !important;
  margin-bottom: 10%;
}

/* Blue banner must overlay the phone */
.transfer-info-section {
  position: relative;
  z-index: 3;
  /* padding-top: 120px;  Adjust to hide the overflow */
  /* margin-top: -30px;  */
}

/* Phone image always stays behind banner */
.phone-image {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  position: relative;
  z-index: 1;
  margin-bottom: 0;
}

/* MOBILE + TABLET ADJUSTMENTS */
@media (max-width: 992px) {
  .hero-section {
    margin-bottom: 0px;
  }

  .transfer-info-section {
    /* padding-top: 100px;
    margin-top: 0px; */
  }

  .phone-image {
    max-width: 340px;
  }
}

@media (max-width: 576px) {
  .hero-section {
    margin-bottom: 10%;
  }

  .transfer-info-section {
    /* padding-top: 80px;
    margin-top: -30px; */ 
  }

  .phone-image {
    max-width: 300px;
  }
}


/* Base spacing */
.howitworks-section {
  position: relative;
  /** padding: 100px 0; */
  overflow: visible; /* Pour laisser dépasser l’image */
}

/* Toutes les images doivent déborder vers le bas */
.phone-screen {
  position: relative;
  border-radius: 15%;
  border: 1px solid white;
  z-index: 2;
  margin-bottom: 10%;
}

/* Le bloc suivant doit cacher le bas de l’image */
.step-block {
  /** padding-top: 160px; */
  z-index: 3;
  position: relative;
}

/* La toute première section NE doit pas remonter */
.howitworks-section:first-of-type {
  margin-top: 0 !important;
}

/* Le bandeau bleu doit rester au-dessus de tout */
.hiw-title {
  position: relative;
  z-index: 5 !important;
}

/* Images responsives */
.phone-img {
  width: 100%;
  height: auto;
}

.step-block-3, .step-block-1 {
    background-color: #F8FAFC;
}



.ft-or-block {
  display: flex;
  align-items: center;        /* centre verticalement */
  justify-content: center;    /* centre horizontalement */
}


/* Section background */
.first-transfer-section {
  margin-top: -20px;
  background: #F8FAFC;
}

/* Left wrapper full width */
.ft-left-wrapper {
  width: 100%;
}

/* GRID SYSTEM */
.ft-btn-qr-wrapper {
  display: grid;
  grid-template-columns: auto auto auto; 
  align-items: stretch;
  column-gap: 16px;
}

/* Store Block */
.ft-store-block {
  grid-column: 1;
}

/* OR BLOCK */
.ft-or-block {
  grid-column: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  text-align: center;
}

/* QR BLOCK */
.ft-qr-block {
  grid-column: 3;
}

/* OR Text */
.ft-or-text {
  font-size: 18px;
  font-weight: 600;
  color: #334155;
}

.diaspora-title {
    text-align: center;
    padding-bottom: 5%;
}

.about-title-wrapper {
    width: 100%;
}

.about-title {
    width: 100%;
    text-align: center;
}
.about-desc {
    width: 100%;
    padding-left: 4%;
    padding-right: 4%;
}

.about-desc-wrapper {
    width: 100%;
}

.about-section {
    background-color: #F8FAFC;
}

.our-values-section {
  padding: 2% 0;
}

.our-values-title {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 40px;
  color: #000;
  width: 100%;
  margin-bottom: 40px;
  text-align: center;
}

.our-values-items {
  display: flex;
  gap: 24px; /* espace entre les items */
}

.our-values-item {
  flex: 1;
  text-align: center;
  /* padding: 20px; */
  box-sizing: border-box;
}

.our-values-text {
  color: #334155;
}

/* MOBILE / TABLET */
@media (max-width: 991px) {
  .our-values-items {
    flex-direction: column;
    gap: 16px;
  }

  .our-values-item {
    flex: none;
    width: 100%;
  }
}


/* ---------------- TOP BLOCK ---------------- */
.footer-top {
  width: 100%;
  max-width: 948px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap; /* allow wrapping on mobile */
  height: auto;    /* remove fixed height */
}

/* Logo */
.footer-top-logo {
  height: 28px;
  object-fit: contain;
}

/* Texte */
.footer-top-text {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 28px;
  color: #FFFFFF;
  margin: 0;
}

/* ---------------- MEDIA QUERIES ---------------- */
@media (max-width: 768px) {
  .footer-top {
    flex-direction: column; /* empile verticalement */
    align-items: center;    /* centrer horizontalement */
    text-align: center;     /* centrer le texte */
    gap: 8px;               /* espace vertical entre logo et texte */
  }

  .footer-top-text {
    font-size: 16px;
    line-height: 22px;
  }
}

@media (max-width: 768px) {
  .ft-btn-qr-wrapper {
    flex-direction: column;       /* empile verticalement */
    align-items: center;          /* centre horizontalement */
    justify-content: center;      /* centre verticalement si hauteur définie */
    gap: 24px;                    /* espace entre les blocs */
  }

  .ft-store-block {
    width: 100%;
    display: flex;
    justify-content: center;      /* centre les boutons */
  }

  .ft-or-block {
    width: 100%;
    display: flex;
    justify-content: center;      /* centre horizontalement */
    text-align: center;
  }

  .ft-qr-block {
    width: 100%;
    display: flex;
    justify-content: center;      /* centre QR */
  }
}

@media (max-width: 768px) {
  .ft-store-block {
    width: 100%;
    display: flex;
    flex-direction: column;    /* empile les boutons si ce n’est pas déjà le cas */
    align-items: center;       /* centre horizontalement */
    justify-content: center;   /* centre verticalement si besoin */
  }

  .ft-store-btn {
    margin: 0 auto;            /* sécurité pour centrer chaque bouton individuellement */
  }
}

@media (max-width: 768px) {
  .diaspora-items {
    flex-direction: column;      /* empile verticalement */
    align-items: center;         /* centre horizontalement */
    gap: 1rem;                   /* espace entre les items */
  }
  .makeba-icon-m {
    width: 10%;
    height: auto;
    display: block;
    margin: 2% auto 5%;
  }

  .diaspora-item {
    width: 100%;                 /* optionnel : occuper toute la largeur du conteneur */
    max-width: 320px;            /* limite la largeur pour garder une bonne lisibilité */
    text-align: center;           /* centre le texte à l’intérieur */
  }
}


/* FOOTER MIDDLE BLOCK */
.footer-middle {
  width: 100%;
  display: flex;
  justify-content: space-between; /* Legal à gauche, Follow us à droite */
  align-items: flex-start;        /* aligne les colonnes en haut */
  flex-wrap: wrap;                /* permet l'empilement sur mobile */
  gap: 32px;                      /* espace entre les colonnes */
}

/* LEFT COLUMN: LEGAL */
.footer-nav {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* RIGHT COLUMN: SOCIAL */
.footer-social-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-end; /* garde à droite sur desktop */
}

/* SOCIAL ICONS */
.footer-social-icons {
  display: flex;
  gap: 16px;
}

/* RESPONSIVE MOBILE */
@media (max-width: 768px) {
  .footer-middle {
    flex-direction: column;  /* empile verticalement */
    align-items: center;      /* centre horizontalement */
    text-align: center;
  }

  .footer-social-section {
    align-items: center;      /* centre la colonne social */
  }
}


.navbar-toggler {
  border: none;            /* supprime la bordure */
  background-color: transparent; /* fond transparent */
  padding: 0.25rem 0.5rem; /* ajuste la taille si besoin */
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* ALIGN MENU ITEMS LEFT IN MOBILE BURGER */
.navbar-collapse .navbar-nav {
  width: 100%;
}

.navbar-collapse .nav-item {
  text-align: left; /* force le texte à gauche */
}

.navbar-collapse .nav-link {
  justify-content: flex-start; /* si la nav-link utilise flex, aligne le texte à gauche */
  padding-left: 1rem; /* optionnel : léger padding */
}


/* STYLES FOR CONTACT US BUTTON IN MOBILE MENU */
@media (max-width: 992px) { /* applique seulement sur mobile/tablette */
  .navbar-collapse .nav-link {
    justify-content: flex-start; /* aligner à gauche */
    padding: 10px 20px;          /* padding pour ressembler à un bouton */
    margin: 8px 0;               /* espace entre le lien et les autres éléments */
    background-color: #ffffff22; /* optionnel : légère couleur de fond pour style bouton */
    border-radius: 6px;          /* coins arrondis */
    width: 100%;                 /* occupe toute la largeur du menu */
  }

  .navbar-collapse .nav-item {
    text-align: left;            /* s’assure que le texte est à gauche */
  }
}


@media (max-width: 768px) {
  .hero-title,
  .hero-subtitle {
    text-align: center;
  }
}


.justify-content-right {
  align-items: right !important;
}

.accordion-body {
  text-align: left;
}