/* ========== PARTENAIRES (conforme maquette) ========== */
/* Intro 2 colonnes */
.gpa-top{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,60px); align-items:center; }
.gpa-cats-panel{ padding:2rem !important; }
.gpa-cats-title{ font-size:1.7rem; margin:0 0 1.4rem; color:var(--g-titre,#F2EFE9); }
.gpa-cats{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.8rem; }
.gpa-cat{ display:flex; align-items:center; gap:.9rem; padding:1rem 1.3rem; border-radius:12px; font-size:1.3rem;
  background:rgba(255,255,255,.03); border:1px solid var(--g-stroke-2); transition:border-color .2s, transform .2s; }
.gpa-cat:hover{ border-color:var(--c); transform:translateX(4px); }
.gpa-cat-dot{ width:14px; height:14px; border-radius:50%; background:var(--c); box-shadow:0 0 12px var(--c); }

/* Familles : icône centrée + soulignement */
.gpa-familles{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:1.5rem; }
.gpa-famille{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:2.4rem 1.6rem 2.6rem !important;
  position:relative; overflow:hidden; transition:transform .25s, border-color .25s; }
.gpa-famille:hover{ transform:translateY(-5px); border-color:var(--c) !important; box-shadow:0 16px 40px color-mix(in oklab,var(--c) 22%,transparent); }
.gpa-ic{ display:flex; align-items:center; justify-content:center; color:var(--c); margin-bottom:1.2rem; }
.gpa-ic svg{ width:66px; height:66px; stroke-width:1.5; }
.gpa-famille h3{ color:var(--c); font-size:1.6rem; margin:0 0 .8rem; }
.gpa-famille p{ font-size:1.2rem; color:var(--g-muted); }
.gpa-underline{ display:block; width:40px; height:3px; background:var(--c); border-radius:2px; margin:1rem auto 0; box-shadow:0 0 12px var(--c); }

/* Visibilité : icône gauche + texte droite */
.gpa-visi{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:1.5rem; }
.gpa-visi-card{ display:flex; align-items:flex-start; gap:1.2rem; }
.gpa-visi-ic{ flex:none; width:56px; height:56px; display:inline-flex; align-items:center; justify-content:center; border-radius:14px;
  color:var(--c); background:color-mix(in oklab,var(--c) 14%,transparent); border:1px solid color-mix(in oklab,var(--c) 30%,transparent); box-shadow:0 0 18px color-mix(in oklab,var(--c) 25%,transparent); }
.gpa-visi-ic svg{ width:30px; height:30px; }
.gpa-visi-txt h3{ color:var(--c); font-size:1.4rem; margin:0 0 .5rem; }
.gpa-visi-txt p{ font-size:1.15rem; color:var(--g-muted); margin:0; }

/* Logos */
.gpa-logos{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:1.5rem; }
.gpa-logo{ aspect-ratio:16/10; border-radius:14px; border:1px solid var(--g-stroke-2); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.6rem;
  background:rgba(255,255,255,.03); color:var(--g-muted); transition:border-color .2s; }
.gpa-logo:hover{ border-color:var(--g-vert); } .gpa-logo span{ font-size:2.4rem; opacity:.3; } .gpa-logo em{ font-style:normal; font-size:1.15rem; }

/* Devenir partenaire */
.gpa-cta{ display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap; }
.gpa-cta-ic{ flex:none; width:72px; height:72px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%;
  color:var(--g-vert); background:rgba(43,157,103,.14); border:1px solid rgba(43,157,103,.3); }
.gpa-cta-ic svg{ width:38px; height:38px; }
.gpa-cta-body{ flex:1; min-width:260px; }
.gpa-cta-body h3{ font-size:1.7rem; margin:0 0 .4rem; color:var(--g-titre,#F2EFE9); text-transform:uppercase; }
.gpa-cta-body p{ font-size:1.2rem; color:var(--g-muted); }
.gpa-cta-btn{ color:var(--g-vert) !important; border-color:var(--g-vert) !important; }
.gpa-cta-btn:hover{ background:var(--g-vert) !important; color:#fff !important; }

@media (max-width:1024px){ .gpa-top{ grid-template-columns:1fr; } }
@media (max-width:980px){ .gpa-familles,.gpa-visi{ grid-template-columns:1fr; } .gpa-logos{ grid-template-columns:repeat(2,1fr); } }

/* Logos réels partenaires */
.gpa-logo-real{ background:#fff !important; border-color:transparent !important; padding:1.4rem; }
.gpa-logo-real img{ max-width:100%; max-height:100%; object-fit:contain; }
