/* =========================
   BUTTONS SYSTEM
========================= */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;

  min-height:54px;
  padding:0 26px;

  border-radius:16px;
  border:0;

  font-weight:900;
  font-size:0.95rem;

  cursor:pointer;
  white-space:nowrap;

  box-shadow:var(--shadow-soft);
  transition:.25s ease;
}

.btn:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
}


/* =========================
   VARIANTS
========================= */

/* Bleu principal */
.btn-blue{
  background:var(--blue);
  color:#fff;
}

.btn-blue:hover{
  background:#1879d6;
}


/* Jaune CTA */
.btn-yellow{
  background:var(--yellow);
  color:#151b46;
}

.btn-yellow:hover{
  background:#f0b932;
}


/* Blanc */
.btn-white{
  background:#fff;
  color:#151b46;
}

.btn-white:hover{
  background:#f6f8fb;
}


/* Outline */
.btn-outline{
  background:#fff;
  color:var(--blue);
  border:1px solid var(--border);
}

.btn-outline:hover{
  background:#f4f8ff;
}


/* =========================
   HEADER BUTTON
========================= */

.btn-header{
  border-radius:999px;
  padding:0 28px;
  min-height:50px;
}


/* =========================
   FULL WIDTH (mobile)
========================= */
.btn-block{
  width:100%;
}


/* =========================
   SMALL VARIANT
========================= */
.btn-sm{
  min-height:40px;
  padding:0 16px;
  font-size:0.85rem;
}