:root{
  --stg-accent: #7c3aed; /* Purple accent fallback, can be overridden in theme/customizer */
  --stg-text: inherit;
  --stg-muted: rgba(255,255,255,.65);
}
.stg-logos{position:relative; background: transparent; color: var(--stg-text);}
.stg-bg-card{background: rgba(255,255,255,.03); border-radius: 1rem; padding: 1rem; box-shadow: 0 10px 40px rgba(0,0,0,.12);}
.stg-grid{display:grid; grid-template-columns: repeat(var(--stg-columns,3), minmax(0,1fr)); gap: var(--stg-gap,24px); align-items:stretch}
.stg-logo{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; text-align:center; padding:1rem; border-radius:1rem; transition:transform .25s ease, box-shadow .25s ease, filter .25s ease}
.stg-logo a{display:inline-flex}
.stg-logo img.stg-logo-img{max-width: 100%; height:auto; object-fit: contain; filter: drop-shadow(0 1px 0 rgba(0,0,0,.05));}
.stg-logo-title{font-size:.95rem; opacity:.9}

/* Glow effects */
.stg-glow .stg-logo:hover img.stg-logo-img{filter: drop-shadow(0 0 12px var(--stg-accent)) drop-shadow(0 0 24px var(--stg-accent));}
/* Animations */
.stg-anim-hover .stg-logo:hover{transform: translateY(-3px);}
@keyframes stg-pulse {0%{transform:scale(1)}50%{transform:scale(1.03)}100%{transform:scale(1)}}
.stg-anim-pulse .stg-logo{animation: stg-pulse 2.2s ease-in-out infinite;}
@keyframes stg-float {0%{transform:translateY(0)}50%{transform:translateY(-4px)}100%{transform:translateY(0)}}
.stg-anim-float .stg-logo{animation: stg-float 5s ease-in-out infinite;}

/* Slider */
.stg-slider{--stg-gap: 24; padding: .5rem 2.25rem 2.5rem; border-radius: 1rem;}
.stg-slider .swiper-slide{display:flex; flex-direction:column; align-items:center; justify-content:center}
.stg-swiper-nav{position:absolute; inset:0; pointer-events:none}
.stg-swiper-button-prev,.stg-swiper-button-next{
  position:absolute; top:40%; width:38px; height:38px; border-radius:999px; border:1px solid rgba(255,255,255,.15);
  background: rgba(0,0,0,.15); backdrop-filter: blur(4px); pointer-events:auto; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.stg-swiper-button-prev::after,.stg-swiper-button-next::after{
  content:''; display:block; width:10px; height:10px; border-top:2px solid #fff; border-right:2px solid #fff; transform: rotate(135deg);
}
.stg-swiper-button-next{right:.5rem}
.stg-swiper-button-prev{left:.5rem}
.stg-swiper-button-next::after{ transform: rotate(-45deg); }
.stg-swiper-pagination{position:absolute; bottom:.75rem !important}
.stg-swiper-pagination .swiper-pagination-bullet{background: var(--stg-accent); opacity:.5}
.stg-swiper-pagination .swiper-pagination-bullet-active{opacity:1}

/* Dark theme friendly defaults */
.stg-logos .stg-logo-title{color: var(--stg-muted);}

/* Responsive: auto columns on small screens */
@media (max-width: 1024px){
  .stg-grid{grid-template-columns: repeat(2, minmax(0,1fr));}
}
@media (max-width: 640px){
  .stg-grid{grid-template-columns: 1fr;}
}
