/* ====== SINDPESP – Comparativo Salário x Arrecadação ====== */
.sindpesp-salarios{
  --bg1:#d3121f;
  --bg2:#0b1821;
  --bg3:#00538c;
  --yellow:#e2c44d;
  --yellow-strong:#e4c441;
  --white:#f6f2e8;
  --soft:#ffffffd9;
  --line:rgba(255,255,255,.08);
  --shadow:0 18px 40px rgba(0,0,0,.28);
  --text-shadow:0 2px 3px rgba(0,0,0,.25);
}

.sindpesp-salarios .sps-wrap{
  max-width:1200px;
  margin:28px auto;
  padding:0 14px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.sindpesp-salarios .sps-empty{
  padding:18px 20px;
  border-radius:18px;
  background:#fff;
  color:#334155;
  border:1px solid #e5e7eb;
}

.sps-salario-federal{
  margin:0 0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  border-radius:18px;
  background:linear-gradient(90deg, #f8fafc, #ffffff);
  border:1px solid #e5e7eb;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}

.sps-salario-federal__label{
  font-family:'Roboto', Arial, sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#475569;
}

.sps-salario-federal__valor{
  font-family:'Roboto Condensed','Arial Narrow', Arial, sans-serif;
  font-size:26px;
  font-weight:800;
  line-height:1;
  color:#991b1b;
}

.sps-board{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);
  gap:22px;
  padding:26px 24px 22px;
  border-radius:28px;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(211,18,31,1) 0%, rgba(109,24,30,.95) 18%, rgba(11,24,33,.98) 42%, rgba(11,24,33,.98) 58%, rgba(0,83,140,.97) 100%);
  box-shadow:var(--shadow);
}

.sps-board::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 82%, rgba(255,255,255,.16), transparent 22%),
    radial-gradient(circle at 88% 76%, rgba(255,255,255,.10), transparent 18%),
    radial-gradient(circle at 50% 100%, rgba(255,255,255,.08), transparent 28%);
  pointer-events:none;
}

.sps-col{
  position:relative;
  z-index:1;
  min-width:0;
}

.sps-col__head{
  margin-bottom:16px;
  min-height:104px;
  display:flex;
  align-items:flex-end;
}

.sps-col__title{
  font-family:'Roboto Condensed','Arial Narrow', Arial, sans-serif;
  font-size:clamp(24px, 2.1vw, 26px)!important;
  line-height:.95;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:var(--yellow);
  text-shadow:var(--text-shadow);
}

.sps-center-x{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:54px;
  font-family:'Roboto Condensed','Arial Narrow', Arial, sans-serif;
  font-size:80px;
  font-weight:900;
  line-height:.85;
  color:var(--white);
  text-shadow:0 4px 10px rgba(0,0,0,.22);
}

.sps-list{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.sps-item{
  display:grid;
  grid-template-columns:72px 72px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:40px;
  padding:3px 8px;
  border-radius:999px;
  color:var(--white);
  transition:.18s ease;
}

.sps-item:hover{
  background:rgba(255,255,255,.06);
}

.sps-item.is-sp{
  background:linear-gradient(90deg, rgba(226,196,77,.98), rgba(226,196,77,.9));
  box-shadow:0 6px 18px rgba(226,196,77,.28);
}

.sps-item.is-sp .sps-item__rank,
.sps-item.is-sp .sps-item__uf,
.sps-item.is-sp .sps-item__value{
  color:#13202c;
  text-shadow:none;
}

.sps-item__rank,
.sps-item__uf,
.sps-item__value{
  font-family:'Roboto Condensed','Arial Narrow', Arial, sans-serif;
  font-weight:800;
  letter-spacing:.01em;
  text-shadow:var(--text-shadow);
}

.sps-item__rank{
  text-align:center;
  font-size:22px;
}

.sps-item__uf{
  text-align:center;
  font-size:24px;
}

.sps-item__value{
  min-width:0;
  font-size:19px !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.sps-source{
  margin-top:14px;
  text-align:right;
  font-family:'Roboto', Arial, sans-serif;
  font-size:13px;
  font-weight:500;
  letter-spacing:.03em;
  color:rgba(255,255,255,.92);
  text-transform:uppercase;
}

@media (max-width: 1100px){
  .sps-board{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 16px 20px;
  }

  .sps-center-x{
    order:2;
    padding-top:0;
    font-size:56px;
    line-height:1;
  }

  .sps-col--salario{
    order:1;
  }

  .sps-col--arrecadacao{
    order:3;
  }

  .sps-col__head{
    min-height:auto;
    margin-bottom:12px;
  }

  .sps-col__title{
    font-size:clamp(28px, 6vw, 44px);
  }
}

@media (max-width: 780px){
  .sindpesp-salarios .sps-wrap{
    padding:0 8px;
  }

  .sps-salario-federal{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    padding:12px 14px;
    border-radius:14px;
  }

  .sps-salario-federal__valor{
    font-size:22px;
  }

  .sps-board{
    border-radius:20px;
  }

  .sps-item{
    grid-template-columns:54px 58px minmax(0,1fr);
    gap:8px;
    min-height:34px;
    padding:2px 6px;
  }

  .sps-item__rank{
    font-size:18px;
  }

  .sps-item__uf{
    font-size:20px;
  }

  .sps-item__value{
    font-size:20px;
  }

  .sps-source{
    font-size:11px;
  }
}

@media (max-width: 520px){
  .sps-col__title{
    font-size:30px;
  }

  .sps-center-x{
    font-size:72px;
  }

  .sps-item{
    grid-template-columns:44px 48px minmax(0,1fr);
    gap:6px;
    min-height:30px;
    border-radius:14px;
  }

  .sps-item__rank{
    font-size:15px;
  }

  .sps-item__uf{
    font-size:17px;
  }

  .sps-item__value{
    font-size:16px;
  }
}