/* ===============================
   VARIABLES
================================ */
:root{
  --green:#7a9253;
  --green-dark:#667c46;
  --bg:#f7f7f5;
  --shadow:0 10px 25px rgba(0,0,0,.08);
}

/* ===============================
   RESET GLOBAL (ANTI BUG MOBILE)
================================ */
*{
  box-sizing:border-box;
  font-family:system-ui,-apple-system;
}

html, body{
  margin:0;
  padding:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden; /* 🔥 tue le scroll horizontal */
  background:var(--bg);
}

/* ===============================
   NAVBAR DESKTOP
================================ */
.nav{
  width:100%;
  background:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
  padding:14px 20px;
  border-bottom:2px solid #eadfcf;
}

.nav-item{
  min-width:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 26px;
  border-radius:10px;
  border:none;
  background:#fff;
  cursor:pointer;
  transition:.25s;
}

.nav-item.active,
.nav-item:hover{
  background:var(--green);
  color:#fff;
}

/* ===============================
   CONTENU GLOBAL
================================ */
.container{
  max-width:1200px;
  margin:0 auto;
  padding:30px 20px;
}

h1{
  margin-bottom:20px;
}

/* Pages */
.page{display:none;}
.page.active{display:block;}

/* ===============================
   HERO
================================ */
.hero{
  background:var(--green);
  color:#fff;
  padding:55px 30px;
  border-radius:22px;
  text-align:center;
}

.hero-icon{
  margin-bottom:10px;
}

/* ===============================
   STATS (DASHBOARD)
================================ */
.stats{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:25px;
}

.card{
  position:relative;
  background:#fff;
  padding:26px 24px 26px 30px;
  border-radius:16px;
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  gap:16px;
  transition:.25s;
  max-width:100%;
}

/* Liseré vert ARRONDI */
.card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:var(--green);
  border-radius:16px 0 0 16px;
}

.card:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 36px rgba(0,0,0,.12);
}

.card-icon{
  width:46px;
  height:46px;
  background:var(--green);
  color:#fff;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}

.card-text{
  display:flex;
  flex-direction:column;
}

.card-number{
  font-size:26px;
  font-weight:700;
  line-height:1;
}

.card-label{
  margin-top:6px;
  font-size:12px;
  letter-spacing:1px;
  color:#555;
}

/* ===============================
   BOX (PLAN / TEMPLATES / CONTACT)
================================ */
.box{
  max-width:520px;
  margin:40px auto;
  padding:45px;
  background:#fff;
  border-radius:18px;
  box-shadow:var(--shadow);
  text-align:center;
}

.badge{
  background:#999;
  color:#fff;
  padding:6px 16px;
  border-radius:8px;
}

.big-icon{
  font-size:42px;
  margin:20px 0;
}

.cta{
  margin-top:20px;
  padding:14px 32px;
  border:none;
  border-radius:12px;
  background:var(--green);
  color:#fff;
  cursor:pointer;
  transition:.25s;
}

.cta:hover{
  background:var(--green-dark);
  transform:translateY(-2px);
}

/* ===============================
   MOBILE (≤ 700px)
================================ */
@media(max-width:700px){

  /* NAVBAR MOBILE = BARRE PLEINE LARGEUR */
  .nav{
    padding:0;
    gap:0;
    height:56px;
  }

  .nav-item{
    flex:1;
    min-width:0;          /* 🔥 CRUCIAL iOS */
    height:56px;
    padding:0;
    border-radius:0;
    font-size:20px;
  }

  .nav-item .text{
    display:none;         /* emoji only */
  }

  .container{
    padding:20px 16px;
  }

  .hero{
    padding:35px 20px;
  }

  .box{
    padding:30px 20px;
    margin:30px auto;
  }
}











