.elementor-299 .elementor-element.elementor-element-a51ff6c{--display:flex;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-6d027a1 */@import url('https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=Outfit:wght@300;400;500;600&display=swap');

:root {
  --sp-bg:       #050508;
  --sp-bg2:      #0b0b10;
  --sp-bg3:      #111118;
  --sp-sf:       rgba(255,255,255,0.04);
  --sp-br:       rgba(255,255,255,0.07);
  --sp-card-bg:  rgba(255,255,255,0.03);
  --sp-logo-bg:  rgba(255,255,255,0.06);
  --sp-tx:       #eeeef5;
  --sp-mu:       #7777aa;
  --sp-a1:       #4facfe;
  --sp-a2:       #5e5af5;
  --sp-a3:       #a855f7;
  --sp-gd:       linear-gradient(135deg, #4facfe 0%, #5e5af5 50%, #a855f7 100%);
}

@media (prefers-color-scheme: light) {
  :root {
    --sp-bg:       #f2f2f8;
    --sp-bg2:      #e8e8f2;
    --sp-bg3:      #ddddf0;
    --sp-sf:       rgba(0,0,0,0.04);
    --sp-br:       rgba(0,0,0,0.08);
    --sp-card-bg:  #ffffff;
    --sp-logo-bg:  rgba(0,0,0,0.02);
    --sp-tx:       #0a0a18;
    --sp-mu:       #5a5a80;
  }
}

.ptsponsor {
  background:      var(--sp-bg); /* Uniformato alla pagina chi sono */
  color:           var(--sp-tx);
  font-family:     'Outfit', sans-serif;
  overflow-x:      hidden;
  width:           100%;
}

.ptsponsor-tag {
  display:         inline-block;
  font-size:       0.74rem;
  letter-spacing:  0.14em;
  text-transform:  uppercase;
  color:           var(--sp-a1);
  font-weight:     700;
  margin-bottom:   0.7rem;
}

.ptsponsor-g {
  background:              var(--sp-gd);
  -webkit-background-clip: text;
  background-clip:         text;
  -webkit-text-fill-color: transparent;
}

.ptsponsor-hero {
  padding:    3.5rem 5% 2rem;
  text-align: center;
}

.ptsponsor-h1 {
  font-family:   'Syne', sans-serif;
  font-weight:   800;
  font-size:     clamp(1.9rem, 4vw, 3rem);
  line-height:   1.12;
  margin-bottom: 0.9rem;
  color:         var(--sp-tx);
}

.ptsponsor-lead {
  max-width:   520px;
  margin:      0 auto;
  color:       var(--sp-mu);
  font-size:   1rem;
  line-height: 1.7;
}

.ptsponsor-sec {
  padding: 0 5% 4rem;
}

.ptsponsor-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap:                   1.5rem;
  max-width:             1200px;
  margin:                0 auto;
}

.ptsponsor-card {
  background:     var(--sp-card-bg);
  border:         1px solid var(--sp-br);
  border-radius:  16px;
  overflow:       hidden;
  text-decoration: none;
  color:          inherit;
  display:        flex;
  flex-direction: column;
  transition:     transform 0.2s cubic-bezier(0.2, 1, 0.3, 1), box-shadow 0.2s, border-color 0.2s;
}

.ptsponsor-card:hover {
  transform:    translateY(-4px);
  border-color: rgba(94,90,245,0.25);
  box-shadow:   0 12px 30px rgba(0,0,0,0.12);
}

.ptsponsor-logo-box {
  background:      var(--sp-logo-bg);
  padding:         2.5rem 1.5rem;
  display:         flex;
  align-items:     center;
  justify-content: center;
  border-bottom:   1px solid var(--sp-br);
  height:          130px;
}

.ptsponsor-logo-img {
  max-width:      80%;
  max-height:     75px;
  object-fit:     contain;
}

.ptsponsor-card-body {
  padding:    1.2rem;
  text-align: center;
}

.ptsponsor-card-name {
  font-size:     1.05rem;
  font-weight:   600;
  margin-bottom: 0.3rem;
  color:         var(--sp-tx);
}

.ptsponsor-card-link {
  font-size:       0.8rem;
  color:           var(--sp-a1);
  font-weight:     500;
  display:         inline-block;
  margin-top:      0.4rem;
}

/* ── STRUTTURA TICKER CORRETTA ───────────────────────────────── */
.ptsponsor-tk-section {
  padding:  3rem 0;
  overflow: hidden;
  width: 100%;
}

.ptsponsor-tk-hd {
  text-align:    center;
  margin-bottom: 1.8rem;
  font-size:     1.1rem;
  font-weight:   600;
  color:         var(--sp-mu);
}

.ptsponsor-tk-wrap {
  width:    100%;
  overflow: hidden;
  display:  flex;
}

.ptsponsor-tk-track {
  display:     flex;
  width:       max-content;
  animation:   marquee 25s linear infinite;
  align-items: center;
}

.ptsponsor-tk-track:hover {
  animation-play-state: paused;
}

@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.ptsponsor-tk-item {
  display:         flex;
  align-items:     center;
  gap:             0.7rem;
  padding:         0.5rem 1.5rem;
  text-decoration: none;
  color:           var(--sp-mu);
  font-weight:     500;
  font-size:       0.92rem;
  transition:      color 0.18s;
}

.ptsponsor-tk-item:hover {
  color: var(--sp-tx);
}

.ptsponsor-tk-logo-wrap {
  width:           28px;
  height:          28px;
  background:      var(--sp-logo-bg);
  border-radius:   6px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  padding:         0.2rem;
}

.ptsponsor-tk-logo {
  max-width:  100%;
  max-height: 100%;
  object-fit: contain;
}

.ptsponsor-tk-sep {
  color:     var(--sp-br);
  font-size: 1.2rem;
}

.ptsponsor-cta {
  padding:    3rem 5% 5rem;
  text-align: center;
}

.ptsponsor-cta-inner {
  max-width:     680px;
  margin:        0 auto;
  padding:       2.5rem 2rem;
  background:    var(--sp-sf);
  border:        1px solid var(--sp-br);
  border-radius: 20px;
}

.ptsponsor-cta-h2 {
  font-family:   'Syne', sans-serif;
  font-weight:   700;
  font-size:     clamp(1.4rem, 3vw, 2rem);
  line-height:   1.2;
  margin-bottom: 0.8rem;
  color:         var(--sp-tx);
}

.ptsponsor-cta-p {
  color:         var(--sp-mu);
  font-size:     0.94rem;
  line-height:   1.6;
  margin-bottom: 1.5rem;
}

.ptsponsor-btn {
  display:         inline-block;
  margin-top:      0.5rem;
  padding:         0.88rem 2.4rem;
  background:      var(--sp-gd);
  color:           #fff;
  border:          none;
  border-radius:   50px;
  font-family:     'Outfit', sans-serif;
  font-size:       0.97rem;
  font-weight:     600;
  text-decoration: none;
  box-shadow:      0 6px 28px rgba(94,90,245,0.4);
  transition:      transform 0.22s, box-shadow 0.22s;
}

.ptsponsor-btn:hover {
  transform:  translateY(-3px);
  box-shadow: 0 12px 40px rgba(94,90,245,0.55);
  color:      #fff;
}

@media (max-width: 860px) {
  .ptsponsor-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1.1rem;
  }
  .ptsponsor-hero { padding: 3rem 4% 2rem; }
  .ptsponsor-cta { padding: 2rem 4% 3.5rem; }
  .ptsponsor-cta-inner { padding: 2rem 1.2rem; }
}/* End custom CSS */