/* Badge partner di Growth Cab (15/10/26). Sorgente unica: gc-pages/partners.js (dati e markup), questo file (aspetto).
   Un solo disegno per tutti i vendor: il logo vero dentro l'orbita (l'ellisse inclinata del marchio Growth Cab),
   che passa dietro il logo e torna davanti, e un nastro che dice il rapporto vero (Partner, Stack, Listed). L'orbita e' il segno di chi rilascia il badge.
   Non imita il sigillo ufficiale di nessun vendor. Ogni testo a 16px o piu'. Fermo con prefers-reduced-motion.
   Uso: <ul class="gcpb-row"> con dentro i badge (.gcpb), oppure un badge da solo dove serve. */
.gcpb-row{display:flex;flex-wrap:wrap;gap:14px 6px;margin:0;padding:0;list-style:none}
.gcpb-row>li{display:block;margin:0;padding:0;list-style:none}
.gcpb{--d:44px;--rc:#5B8CFF;--rg:rgba(91,140,255,.55);--c:#5B8CFF;--e:cubic-bezier(.22,1,.36,1);
  position:relative;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;width:calc(var(--d) + 40px);margin:0;padding:0;
  color:#fff;font:500 16px/1 'Inter','Inter Fallback',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;letter-spacing:normal;
  text-decoration:none;text-transform:none;-webkit-tap-highlight-color:transparent;outline:0}
.gcpb *,.gcpb *::before,.gcpb *::after{box-sizing:border-box}
.gcpb--stack{--rc:#C9D2E3;--rg:rgba(201,210,227,.35)}
.gcpb--listed{--rc:#8C8C94;--rg:rgba(140,140,148,.3)}
.gcpb--lg{--d:64px}

/* sigillo: logo tondo, anello d'orbita inclinato come l'ellisse del marchio GC */
.gcpb-seal{position:relative;display:block;width:calc(var(--d) + 20px);height:calc(var(--d) + 20px);transition:transform .45s var(--e)}
.gcpb-logo{position:absolute;z-index:1;left:10px;top:10px;display:block;width:var(--d);height:var(--d);max-width:none;margin:0;border-radius:50%;object-fit:cover;background:#fff;
  box-shadow:0 0 0 2px #000,0 0 0 3.5px rgba(255,255,255,.2),0 8px 18px -8px rgba(0,0,0,.9);transition:box-shadow .45s var(--e)}
.gcpb-orbit{position:absolute;left:50%;top:50%;width:calc(var(--d) * 1.8);height:calc(var(--d) * .52);margin:calc(var(--d) * -.26) 0 0 calc(var(--d) * -.9);
  border-radius:50%;transform:rotate(-40deg);pointer-events:none}
.gcpb-orbit::before{content:"";position:absolute;inset:0;border-radius:50%;border:1.6px solid var(--rc)}
/* meta' dietro il logo (attenuata) e meta' davanti: l'anello gira attorno, non sopra */
.gcpb-orbit--back{z-index:0}
.gcpb-orbit--back::before{opacity:.42}
.gcpb-orbit--front{z-index:2;clip-path:inset(50% -14px -14px -14px)}
.gcpb-orbit--front::before{box-shadow:0 0 6px var(--rg),inset 0 0 4px var(--rg)}
/* la luce che fa il giro dell'orbita al passaggio del mouse: una copia nell'anello dietro e una in quello
   davanti, cosi' passa davanti al logo nella meta' bassa e dietro in quella alta */
.gcpb-orbit i{position:absolute;left:0;top:50%;display:block;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 2px var(--rg),0 0 10px 2px var(--rc);opacity:0;transition:opacity .3s var(--e)}

/* nastro: il rapporto vero, a 16px */
.gcpb-rib{position:relative;z-index:3;display:inline-flex;align-items:center;height:26px;margin-top:-6px;padding:0 9px;border-radius:8px;
  background:linear-gradient(180deg,#121a33 0%,#0a0f1f 100%);box-shadow:inset 0 0 0 1px rgba(91,140,255,.42),inset 0 1px 0 rgba(255,255,255,.08),0 6px 14px -6px rgba(0,0,0,.9);
  color:#A9C1FF;font-size:16px;font-weight:500;line-height:1;white-space:nowrap}
.gcpb--stack .gcpb-rib{background:linear-gradient(180deg,#1a1b1f 0%,#0e0f11 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),inset 0 1px 0 rgba(255,255,255,.08),0 6px 14px -6px rgba(0,0,0,.9);color:#E4E7EE}
.gcpb--listed .gcpb-rib{background:linear-gradient(180deg,#151517 0%,#0c0c0d 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13),inset 0 1px 0 rgba(255,255,255,.06),0 6px 14px -6px rgba(0,0,0,.9);color:#B4B4BC}

/* nome del vendor sopra il badge (il logo da solo non basta per tutti) */
.gcpb-name{position:absolute;z-index:5;left:50%;bottom:calc(100% + 4px);padding:7px 11px;border-radius:9px;background:#fff;color:#0a0b0f;font-size:16px;font-weight:500;line-height:1;white-space:nowrap;
  box-shadow:0 10px 24px -8px rgba(0,0,0,.7);opacity:0;transform:translate(-50%,6px);transition:opacity .25s var(--e),transform .35s var(--e);pointer-events:none}
.gcpb-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media (hover:hover){
  .gcpb:hover .gcpb-seal{transform:translateY(-3px)}
  .gcpb:hover .gcpb-logo{box-shadow:0 0 0 2px #000,0 0 0 3.5px rgba(255,255,255,.32),0 0 24px 3px var(--c),0 12px 22px -8px rgba(0,0,0,.9)}
  .gcpb:hover .gcpb-orbit i{opacity:1;animation:gcpb-x 1.3s cubic-bezier(.37,0,.63,1) infinite alternate,gcpb-y 1.3s cubic-bezier(.37,0,.63,1) -.65s infinite alternate}
  .gcpb:hover .gcpb-name{opacity:1;transform:translate(-50%,0)}
}
.gcpb:focus-visible .gcpb-name{opacity:1;transform:translate(-50%,0)}
.gcpb:focus-visible .gcpb-logo{box-shadow:0 0 0 2px #000,0 0 0 4px #7FA4FF}
/* due moti sinusoidali sfasati di un quarto: un'ellisse nel piano dell'anello */
@keyframes gcpb-x{from{left:0}to{left:100%}}
@keyframes gcpb-y{from{top:0}to{top:100%}}

/* su fondo chiaro */
.gcpb-row--light .gcpb-logo,.gcpb--light .gcpb-logo{box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(10,11,15,.12),0 8px 18px -10px rgba(10,11,15,.45)}
.gcpb-row--light .gcpb-rib,.gcpb--light .gcpb-rib{background:linear-gradient(180deg,#fff 0%,#f2f4f9 100%);box-shadow:inset 0 0 0 1px rgba(47,107,255,.35),0 6px 14px -8px rgba(10,11,15,.35);color:#1D4FD8}
.gcpb-row--light .gcpb--stack .gcpb-rib,.gcpb--light.gcpb--stack .gcpb-rib,.gcpb-row--light .gcpb--listed .gcpb-rib,.gcpb--light.gcpb--listed .gcpb-rib{box-shadow:inset 0 0 0 1px rgba(10,11,15,.16),0 6px 14px -8px rgba(10,11,15,.35);color:#3a3d46}
.gcpb-row--light .gcpb,.gcpb--light{--rc:#2F6BFF;--rg:rgba(47,107,255,.35)}
.gcpb-row--light .gcpb--stack,.gcpb--light.gcpb--stack{--rc:#6B7386}
.gcpb-row--light .gcpb--listed,.gcpb--light.gcpb--listed{--rc:#9A9AA2}
.gcpb-row--light .gcpb-name,.gcpb--light .gcpb-name{background:#0a0b0f;color:#fff}

@media (prefers-reduced-motion:reduce){
  .gcpb-seal,.gcpb-logo,.gcpb-name,.gcpb-orbit i{transition:none}
  .gcpb:hover .gcpb-seal{transform:none}
  .gcpb:hover .gcpb-orbit i{animation:none;opacity:0}
}
@media print{.gcpb-orbit i,.gcpb-name{display:none}}
