/* Reset minimal */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: Arial, sans-serif;
  background: #fff;
  color: #202124;
  line-height: 1.6;
}

/* ---- Header ---- */
.main-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 40px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  z-index: 1000;
}

.header-left .logo {
  font-size: 20px;
  font-weight: 700; /* moins gras */
  color: #000; /* noir */
}

.header-nav {
  display: flex;
  gap: 30px;
}

.header-nav a {
  text-decoration: none;
  color: #5f6368; /* gris foncé */
  font-size: 15px;
  font-weight: 600;
  transition: color 0.3s;
}

.header-nav a:hover {
  color: #1A73E8; /* bleu Google clair */
}

.header-right {
  display: flex;
  gap: 20px;
}

/* Bouton "Prendre rendez-vous" (texte bleu simple) */
.header-right .primary {
  background: none;
  border: none;
  color: #1A73E8; /* bleu Google clair */
  font-weight: 700;
  font-size: 18px;
  cursor: pointer;
  padding: 10px 18px;
}

.header-right .primary:hover {
  text-decoration: underline;
}

/* Bouton "Se connecter" (style Google, arrondi) */
.header-right .secondary {
  background: #fff;
  color: #1A73E8; /* bleu Google clair */
  border: 1px solid #dadce0;
  border-radius: 24px;
  font-weight: 700;
  font-size: 18px;
  cursor: pointer;
  padding: 10px 24px;
}

.header-right .secondary:hover {
  background: #f8f9fa;
}

/* Décalage du body pour le header fixe */
body {
  padding-top: 70px;
}


/* ---- Pop-up bannière ---- */
.top-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;

  background: #E8F0FE;
  border-radius: 20px;
  padding: 30px 40px;
  max-width: 1200px; /* un peu plus large */
  margin: 30px auto;
}

.banner-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #D2E3FC;
  border-radius: 16px;
  padding: 20px 30px;
}

.banner-icon .euro {
  font-size: 32px; /* plus grand car offre principale */
  font-weight: bold;
  color: #1A73E8;
}

.banner-text {
  flex: 1;
  font-size: 17px; /* un peu plus grand */
  line-height: 1.6;
}

.banner-text strong {
  display: block;
  font-size: 20px; /* plus gros pour le titre */
  margin-bottom: 10px;
}

.banner-button {
  background: #1A73E8;
  color: white;
  border: none;
  border-radius: 28px;
  padding: 16px 32px;
  font-size: 18px; /* plus gros */
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.banner-button:hover {
  background: #1765c0;
}






/* ---- Section Hero ---- */
.hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 55vh;
  padding: 80px 12%;
  gap: 60px;
  position: relative;
}

.hero-left {
  flex: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  white-space: nowrap;
  z-index: 2; /* au-dessus du cercle */
}

.hero-left h1 {
  font-size: 95px;
  font-weight: 800;
  margin-bottom: 30px;
  transition: color 0.5s ease;
  margin-right: -120px; /* chevauche le cercle */
}

.hero-left .subtitle {
  font-size: 58px; /* un peu plus grand */
  font-weight: 600;
  color: #5f6368;
  margin-top: 15px;
}

.hero-right {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
}

.circle {
  width: 450px;
  height: 450px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(26, 115, 232, 0.15);
  transition: background-color 0.5s ease;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.circle img {
  width: 300px;
  height: 300px;
  object-fit: cover;
  border-radius: 24px; /* coins encore plus arrondis */
}



/* ---- Objectif dans la Hero ---- */
.objectif {
  text-align: center;
  margin-top: 60px;
  max-width: 600px;
}

.objectif p {
  font-size: 20px;
  margin-bottom: 20px;
}

.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.cta-buttons .primary {
  background: #185ABC;
  color: white;
  border: none;
  border-radius: 24px;
  padding: 12px 28px;
  font-size: 16px;
  cursor: pointer;
}

.cta-buttons .primary:hover {
  background: #0f3e91;
}

.cta-buttons .secondary {
  background: #fff;
  color: #185ABC;
  border: 1px solid #dadce0;
  border-radius: 24px;
  padding: 12px 28px;
  font-size: 16px;
  cursor: pointer;
}

.cta-buttons .secondary:hover {
  background: #f8f9fa;
}

/* ---- Section Vidéos ---- */
.videos-section {
  margin: 100px auto;
  max-width: 1000px;
  padding: 0 20px;
}

.videos-container {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.video-buttons {
  display: flex;
  flex-direction: column;
  gap: 15px;
  flex: 0 0 150px;
}

.video-btn {
  background: #000;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 12px 20px;
  font-size: 16px;
  cursor: pointer;
  text-align: left;
  transition: background 0.3s ease;
}

.video-btn.active {
  background: #185ABC;
}

.video-display {
  flex: 1;
}

.video-display video {
  width: 100%;
  border-radius: 8px;
}

/* ---- Bloc Objectif (après la Hero) ---- */
.objectif {
  text-align: center;
  margin: 80px auto;
  max-width: 700px;
}

.objectif p {
  font-size: 20px;
  margin-bottom: 20px;
}

.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
}

/* ---- Section Offres ---- */
.offers-section {
  background: #E8F0FE;
  padding: 80px 20px;
}

.offers-card {
  background: #fff;
  border-radius: 16px;
  padding: 40px;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.offers-card h2 {
  font-size: 28px;
  margin-bottom: 20px;
}

.offers-card p {
  margin-bottom: 40px;
  font-size: 16px;
  color: #5f6368;
}

/* Grid des offres */
.offers-grid {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.offer {
  position: relative;
  flex: 1;
  min-width: 250px;
  max-width: 300px;
}

.offer-radio {
  display: none;
}

.offer-box {
  display: block;
  background: #fff;
  border: 2px solid #dadce0;
  border-radius: 12px;
  padding: 20px;
  cursor: pointer;
  position: relative;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.offer-box h3 {
  font-size: 18px;
  margin-bottom: 10px;
}

.offer-box .amount {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 5px;
  color: #185ABC;
}

.offer-box .bonus {
  font-weight: bold;
  margin-bottom: 15px;
}

.offer-box .desc {
  font-size: 14px;
  color: #5f6368;
}

/* Bouton radio custom (petit rond en haut à droite) */
.offer-box::after {
  content: "";
  position: absolute;
  top: 15px;
  right: 15px;
  width: 18px;
  height: 18px;
  border: 2px solid #185ABC;
  border-radius: 50%;
  background: #fff;
}

.offer-radio:checked + .offer-box::after {
  background: #185ABC;
}

/* Sélection visuelle */
.offer-radio:checked + .offer-box {
  border-color: #185ABC;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Footer */
.offer-footer {
  margin-top: 40px;
  text-align: center;
}

.offer-footer h4 {
  font-size: 20px;
  margin-bottom: 10px;
}

.offer-footer p {
  font-size: 14px;
  color: #5f6368;
  margin-bottom: 20px;
}

/* ---- Section Potentiel ---- */
.potential-section {
  padding: 100px 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.potential-section h2 {
  text-align: center;
  font-size: 44px;
  font-weight: 800;
  margin-bottom: 70px;
}

.potential-block {
  display: flex;
  align-items: center;      /* centre verticalement image + texte */
  gap: 50px;                /* plus d’espace entre image et texte */
  margin-bottom: 60px;
  justify-content: center;  /* tout recentré */
}

.image-card {
  background: #F1F3F4;
  border-radius: 14px;
  padding: 14px;
  max-width: 300px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.image-card img {
  width: 100%;
  border-radius: 12px;
  display: block;
}

.text-block {
  max-width: 500px;  /* limite la largeur du texte */
  text-align: left;
}

.text-block h3 {
  font-size: 26px;  /* un peu plus grand */
  margin-bottom: 14px;
  text-align: center; /* titre plus centré */
}

.text-block p {
  font-size: 17px;
  color: #5f6368;
  line-height: 1.6;
  text-align: center; /* recentré aussi */
}


/* ---- Section Assistance ---- */
.help-section {
  text-align: center;
  padding: 100px 20px;
  background: #f8f9fa;
}

.help-section h2 {
  font-size: 30px;
  margin-bottom: 20px;
}

.help-section p {
  max-width: 700px;
  margin: 0 auto 30px;
  font-size: 18px;
  color: #5f6368;
}

.help-section .primary {
  background: #185ABC;
  color: #fff;
  border: none;
  border-radius: 24px;
  padding: 14px 32px;
  font-size: 16px;
  cursor: pointer;
}

.help-section .primary:hover {
  background: #0f3e91;
}




