/* ═══════════════════════════════════════════
   SPEMME — SPONSOR
   Condiviso da sponsor.html (landing)
   e da TUTTE le pagine sponsor-*.html (dettaglio)
═══════════════════════════════════════════ */

/* ─── SEZIONI ─── */
.sp-section {
  padding:       4.5rem 0;
  border-bottom: 1px solid rgba(201,168,76,.09);
}
.sp-label {
  font-family:    var(--font-label);
  font-size:      .6rem;
  letter-spacing: .3em;
  color:          var(--gold);
  text-transform: uppercase;
  margin-bottom:  .8rem;
}
.sp-h2 {
  font-family:   var(--font-display);
  font-size:     clamp(1.8rem, 3vw, 2.4rem);
  font-weight:   300;
  margin-bottom: 2.5rem;
}
.sp-h2 em { font-style: italic; color: var(--gold-light); }

.sp-text p {
  font-size:     .92rem;
  line-height:   1.9;
  color:         var(--text-light);
  margin-bottom: 1.2rem;
  max-width:     820px;
}
.sp-text p:first-child { font-size: 1rem; }
.sp-text p strong { color: var(--gold-light); font-weight: 400; }
.sp-text em       { font-style: italic; color: var(--gold-pale); }

/* ─── INTRO: ASIDE DATI + TESTO ─── */
.sp-intro {
  display:               grid;
  grid-template-columns: 290px 1fr;
  gap:                   5rem;
  padding:               5rem 0;
  border-bottom:         1px solid rgba(201,168,76,.09);
}
.sp-aside {
  border:     1px solid rgba(201,168,76,.15);
  padding:    2rem;
  background: rgba(13,59,62,.2);
  height:     fit-content;
}
.sp-aside-title {
  font-family:    var(--font-label);
  font-size:      .6rem;
  letter-spacing: .3em;
  color:          var(--gold);
  text-transform: uppercase;
  margin-bottom:  1.5rem;
  padding-bottom: .8rem;
  border-bottom:  1px solid rgba(201,168,76,.15);
}
.sp-row { margin-bottom: 1.1rem; }
.sp-row-label {
  font-family:    var(--font-label);
  font-size:      .53rem;
  letter-spacing: .2em;
  color:          var(--text-dim);
  text-transform: uppercase;
  margin-bottom:  .22rem;
}
.sp-row-value {
  font-family: var(--font-display);
  font-size:   .95rem;
  line-height: 1.45;
  word-break:  break-word;
}

.sp-aside .btn { margin-top: 1rem; }

/* Badge RUNTS */
.sp-badge {
  display:        inline-block;
  font-family:    var(--font-label);
  font-size:      .5rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color:          var(--gold);
  border:         1px solid rgba(201,168,76,.3);
  background:     rgba(201,168,76,.07);
  padding:        .45rem .8rem;
  margin-bottom:  1.5rem;
}

/* ─── BENEFICI / OBIETTIVI ─── */
.sp-benefit-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap:                   1rem;
}
.sp-benefit {
  position:   relative;
  border:     1px solid rgba(201,168,76,.1);
  background: rgba(13,59,62,.12);
  padding:    1.8rem 1.6rem;
  overflow:   hidden;
  transition: background var(--transition-normal), border-color var(--transition-normal);
}
.sp-benefit:hover {
  background:   rgba(13,59,62,.3);
  border-color: rgba(201,168,76,.25);
}
.sp-benefit-num {
  font-family: var(--font-display);
  font-style:  italic;
  font-size:   3.4rem;
  color:       rgba(201,168,76,.09);
  position:    absolute;
  top: .1rem; right: .9rem;
  line-height: 1;
}
.sp-benefit-title {
  font-family:   var(--font-display);
  font-size:     1.15rem;
  margin-bottom: .5rem;
  position:      relative;
}
.sp-benefit-text {
  font-size:   .82rem;
  line-height: 1.75;
  color:       var(--text-dim);
  position:    relative;
}

/* ─── ELENCO SPONSOR / SOSTENITORI ─── */
.sp-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap:                   1rem;
}
.sp-item {
  position:        relative;
  display:         flex;
  flex-direction:  column;
  border:          1px solid rgba(201,168,76,.12);
  background:      rgba(13,59,62,.16);
  padding:         2.2rem 2rem;
  overflow:        hidden;
  text-decoration: none;
  color:           inherit;
  transition:      background var(--transition-normal), border-color var(--transition-normal);
}
.sp-item:hover {
  background:   rgba(13,59,62,.38);
  border-color: rgba(201,168,76,.3);
}
.sp-item-mono {
  font-family: var(--font-display);
  font-style:  italic;
  font-size:   5rem;
  color:       rgba(201,168,76,.08);
  position:    absolute;
  top: .2rem; right: 1.2rem;
  line-height: 1;
  transition:  color var(--transition-slow);
}
.sp-item:hover .sp-item-mono { color: rgba(201,168,76,.15); }
.sp-item-role {
  font-family:    var(--font-label);
  font-size:      .5rem;
  letter-spacing: .22em;
  color:          var(--gold);
  text-transform: uppercase;
  margin-bottom:  .6rem;
  position:       relative;
}
.sp-item-name {
  font-family:   var(--font-display);
  font-size:     1.5rem;
  font-weight:   300;
  line-height:   1.2;
  margin-bottom: .6rem;
  position:      relative;
}
.sp-item-desc {
  font-size:     .82rem;
  line-height:   1.75;
  color:         var(--text-dim);
  margin-bottom: 1.4rem;
  position:      relative;
}
.sp-item-link {
  font-family:    var(--font-label);
  font-size:      .52rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color:          var(--gold);
  margin-top:     auto;
  position:       relative;
}

/* Slot libero per futuri sponsor */
.sp-item--empty {
  border-style: dashed;
  background:   transparent;
  align-items:  flex-start;
  justify-content: center;
}
.sp-item--empty .sp-item-name { color: var(--text-dim); font-style: italic; }

/* ─── DATI FISCALI ─── */
.sp-fiscal {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap:                   1px;
  border:                1px solid rgba(201,168,76,.12);
  background:            rgba(201,168,76,.12);
}
.sp-fiscal-cell {
  background: var(--petrolio-dark);
  padding:    1.5rem 1.6rem;
}
.sp-fiscal-label {
  font-family:    var(--font-label);
  font-size:      .5rem;
  letter-spacing: .22em;
  color:          var(--gold);
  text-transform: uppercase;
  margin-bottom:  .5rem;
}
.sp-fiscal-value {
  font-family: var(--font-display);
  font-size:   1.02rem;
  line-height: 1.5;
  word-break:  break-word;
}

/* ─── CTA FINALE ─── */
.sp-cta {
  margin:     5rem 0 8rem;
  border:     1px solid rgba(201,168,76,.15);
  background: rgba(13,59,62,.18);
  padding:    3.5rem 4rem;
  position:   relative;
}
.sp-cta::before {
  content:    '';
  position:   absolute;
  top: -1px; left: 5%; right: 60%;
  height:     2px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
}
.sp-cta-title {
  font-family:   var(--font-display);
  font-size:     clamp(1.7rem, 3vw, 2.3rem);
  font-weight:   300;
  margin-bottom: 1rem;
}
.sp-cta-title em { font-style: italic; color: var(--gold-light); }
.sp-cta-text {
  font-size:   .9rem;
  line-height: 1.85;
  color:       var(--text-light);
  max-width:   620px;
}
.sp-contacts-grid {
  display:    flex;
  flex-wrap:  wrap;
  gap:        3rem;
  margin-top: 2.5rem;
}
.sp-contact-item { display: flex; flex-direction: column; gap: .35rem; }
.sp-contact-label {
  font-family:    var(--font-label);
  font-size:      .53rem;
  letter-spacing: .22em;
  color:          var(--text-dim);
  text-transform: uppercase;
}
.sp-contact-value {
  font-family: var(--font-display);
  font-size:   1rem;
  color:       var(--gold-light);
}
.sp-contact-value a { color: var(--gold-light); text-decoration: none; transition: color .2s; }
.sp-contact-value a:hover { color: var(--gold); }
.sp-cta-actions {
  display:    flex;
  flex-wrap:  wrap;
  gap:        1rem;
  align-items: center;
  margin-top: 2rem;
}
.sp-cta-actions .btn-whatsapp { margin-top: 0; }

/* ─── BACK LINK ─── */
.sp-back {
  display:         inline-flex;
  align-items:     center;
  gap:             .5rem;
  font-family:     var(--font-label);
  font-size:       .55rem;
  letter-spacing:  .2em;
  text-transform:  uppercase;
  color:           var(--text-dim);
  text-decoration: none;
  margin-bottom:   3rem;
  transition:      color .2s;
}
.sp-back:hover { color: var(--gold); }

/* ─── RESPONSIVE ─── */
@media (max-width: 900px) {
  .sp-intro { grid-template-columns: 1fr; gap: 3rem; }
  .sp-aside { order: -1; }
  .sp-cta   { padding: 2.5rem 1.8rem; margin: 3.5rem 0 6rem; }
}
@media (max-width: 600px) {
  .sp-section       { padding: 3.5rem 0; }
  .sp-benefit-grid  { grid-template-columns: 1fr; }
  .sp-contacts-grid { gap: 1.8rem; }
}
