/* ===== Section Identité (société + réseau + produits) ===== */
.identity{
  background: #fff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

/* Fond subtil non uniforme (motif très léger) */
.identity--illustrated::before{
  content:"";
  position:absolute; inset:-20% -10% auto -10%;
  height: 60%;
  background:
    radial-gradient(800px 300px at 10% 0%, rgba(4,33,73,.04), transparent 60%),
    radial-gradient(500px 200px at 90% 15%, rgba(255,116,62,.05), transparent 70%),
    repeating-linear-gradient( 135deg, rgba(4,33,73,.035) 0 1px, transparent 1px 22px);
  pointer-events: none;
}

/* Header */
.identity-header{
  text-align: center;
  max-width: 900px;
  margin: 0 auto 28px;
}
.identity-header h2{
  font-size: clamp(26px, 4vw, 36px);
  margin: 0 0 10px;
}
.identity-header h2 span{ color: var(--orange); }
.identity-header .lead{
  font-size: 1.05rem;
  color: #29324a;
  margin: 0 auto;
  max-width: 70ch;
}

/* puces réseau */
.network-highlights{
  display: flex; gap: 14px; justify-content: center; flex-wrap: wrap;
  list-style: none; padding: 0; margin: 16px 0 0;
}
.network-highlights li{
  background: #FFFFFF; border: 1px solid #e8edf6; color: var(--blue);
  border-radius: 999px; padding: 8px 14px; font-weight: 600;
  box-shadow: 0 6px 18px rgba(4,33,73,.8);
}
.network-highlights li strong{ color: var(--orange); margin-right: 6px }

/* Grille de produits (cartes illustrées) */
.products-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 24px;
}
.product-card{
  background: #fff;
  border: 1px solid #e8edf6;
  border-radius: 16px;
  padding: 18px 18px 20px;
  box-shadow: 0 6px 20px rgba(4,33,73,.05);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
  position: relative;
  overflow: hidden;
}
.product-card::after{
  /* halo doux animé */
  content:""; position:absolute; inset:auto -20% -30% -20%; height: 60%;
  background: radial-gradient(280px 140px at 50% 100%, rgba(255,116,62,.10), transparent 70%);
  filter: blur(12px);
  transform: translateY(8px);
  transition: opacity .25s ease;
  opacity: .7;
}
.product-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(4,33,73,.12);
}
.product-card:hover::after{ opacity: .9; }

/* Illustration en haut de carte (SVG/JPG) */
.product-illu{
  width: 100%;
  height: 120px;
  border-radius: 12px;
  background-size: cover;
  background-position: center;
  margin-bottom: 12px;
  animation: floatY 6s ease-in-out infinite;
}
@keyframes floatY{
  0%,100% { transform: translateY(0) }
  50%     { transform: translateY(-6px) }
}
/* Placeholders d’illustrations (remplace par vos SVG/JPG dans /assets) */
.illu--emprunteur{ background-image: url("../assets/illu-assu-emp.jpeg"), linear-gradient(135deg,#fef7f3,#fff); }
.illu--sante    { background-image: url("../assets/illu-comp-sante.png"),     linear-gradient(135deg,#f3f7ff,#fff); }
.illu--car   { background-image: url("../assets/illu-assu-car.jpg"),    linear-gradient(135deg,#fff7fb,#fff); }
.illu--pets      { background-image: url("../assets/illu-assu-pets.jpg"),       linear-gradient(135deg,#f7fff9,#fff); }
.illu--more      { background-image: url("../assets/illu-assu-others.png"),       linear-gradient(135deg,#f7fff9,#fff); }

.product-card h3{
  margin: 4px 0 6px; color: var(--blue); font-size: 1.06rem;
}
.product-card p{
  margin: 0 0 10px; color: #29324a; font-size: .95rem; line-height: 1.5;
}
.product-link{
  color: var(--blue); font-weight: 700; text-decoration: none;
  border-bottom: 2px solid rgba(4,33,73,.15); padding-bottom: 2px;
}
.product-link:hover{ color: var(--orange); border-color: var(--orange); }
.product-soon{ opacity: .96 }

/* Responsive */
@media (max-width: 1100px){
  .products-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .products-grid{ grid-template-columns: 1fr; }
  .product-illu{ height: 110px; }
}

.partners{
	margin: 30px auto;
}

/* tuile */
.product-card{
  background:#fff; border:1px solid #e8edf6; border-radius:16px;
  padding:20px; box-shadow:0 6px 20px rgba(4,33,73,.05);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  cursor: pointer;
}
.product-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(4,33,73,.10);
}

/* lien = texte + flèche par défaut */
.product-link{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:700; color:var(--blue); text-decoration:none;
  border-bottom:2px solid rgba(4,33,73,.15); padding-bottom:2px;
  transition: all .18s ease;
}
.product-link::after{
  content:"→"; transition: transform .18s ease, opacity .18s ease;
  opacity:.8;
}

/* Au survol de la TU ILE : le lien devient un vrai bouton CTA orange */
.product-card:hover .product-link{
  background: var(--orange);
  color:#fff;
  border: none;
  padding: 10px 16px;
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(255,116,62,.35);
}
.product-card:hover .product-link::after{
  transform: translateX(2px);
  opacity:1;
}

/* Optionnel: pause de l’élévation si on clique/maintient */
.product-card:active { transform: translateY(-2px); }

/* État actif (clic) */
.product-link:active{ transform: translateY(1px); }

/* responsive: passe à 2 colonnes puis 1 */
@media (max-width: 1100px){
  .products-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .products-grid{ grid-template-columns: 1fr; }
}

/* ===== Partenaires — logos en couleurs, boucle continue ===== */
.partners{
  background:#fff;
  padding:56px 0 64px;
  position:relative;
  overflow:hidden;
}
.partners-header{ text-align:center; margin-bottom:18px; }
.partners-header h2{ font-size:clamp(24px,3.4vw,34px); margin:0 0 6px; }
.partners-header h2 span{ color:var(--orange); }
.partners-header p{ color:#29324a; opacity:.9; margin:0; }

/* Marquee fluide */
.logos-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:16px 0;
}
.logos-track{
  display:flex;
  align-items:center;
  gap:56px;                  /* espace entre logos (doit rester IDENTIQUE entre les 2 sets) */
  width:max-content;
  animation: marquee 28s linear infinite;
  will-change: transform;
}
/* Pause au survol (optionnel) */
.logos-marquee:hover .logos-track{ animation-play-state: paused; }

/* Astuce de boucle : on translate exactement la moitié (2 sets identiques) */
@keyframes marquee{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Logos EN COULEUR, plus grands */
.logos-track img{
  height:56px;               /* ++ plus grands */
  width:auto;
  display:block;
  opacity:.96;
  transition: transform .2s ease, opacity .2s ease;
}
.logos-track img:hover{
  transform: translateY(-2px);
  opacity:1;
}

/* Liserés discrets haut/bas */
.partners::before,
.partners::after{
  content:""; position:absolute; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, rgba(4,33,73,.08), transparent);
}
.partners::before{ top:0; }
.partners::after{ bottom:0; }

/* Responsive */
@media (max-width: 1024px){
  .logos-track{ gap:44px; }
  .logos-track img{ height:48px; }
}
@media (max-width: 640px){
  .partners{ padding:44px 0 52px; }
  .logos-track{ gap:32px; }
  .logos-track img{ height:40px; }
}


