.card-sst{
  background:#fff;
  border:1px solid var(--borda);
  border-radius:28px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:.28s ease;
  position:relative;
  box-shadow:0 10px 28px rgba(15,42,82,.06);
}

.card-sst:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 60px rgba(15,42,82,.16);
}

.card-sst__hero{
  position:relative;
  min-height:190px;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
}

.card-sst__hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.74));
}

.card-sst__hero>*{
  position:relative;
  z-index:1;
}

.card-sst__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}

.card-sst__nr{
  font-size:36px;
  font-weight:900;
  line-height:1;
  letter-spacing:-.05em;
  color:rgba(255,255,255,.92);
}

.card-sst__badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.card-sst__badge{
  padding:6px 12px;
  border-radius:100px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  backdrop-filter:blur(10px);
}

.card-sst__badge--modalidade{
  background:rgba(255,255,255,.16);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

.card-sst__badge--formacao{
  background:#E8540A;
  color:#fff;
}

.card-sst__badge--reciclagem{
  background:#fff;
  color:#E8540A;
}

.card-sst__titulo{
  font-size:18px;
  font-weight:800;
  line-height:1.35;
  color:#fff;
  max-width:90%;
}

.card-sst__body{
  padding:24px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.card-sst__desc{
  font-size:14px;
  line-height:1.7;
  color:var(--cinza-texto);
  margin-bottom:18px;
}

.card-sst__infos{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:20px;
}

.card-sst__info{
  background:var(--fundo);
  border:1px solid var(--borda);
  border-radius:14px;
  padding:10px 12px;
  font-size:12px;
  font-weight:700;
  color:#344054;
}

.card-sst__footer{
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding-top:18px;
  border-top:1px solid var(--borda);
}

.card-sst__preco{
  font-size:28px;
  font-weight:900;
  line-height:1;
  color:#101828;
}

.card-sst__preco small{
  display:block;
  margin-top:5px;
  font-size:11px;
  color:#667085;
  font-weight:600;
}

.card-sst .btn-primary{
  box-shadow:0 12px 24px rgba(232,84,10,.18);
}

.card-sst--ead .card-sst__hero{
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.72)),
    url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?q=80&w=1200&auto=format&fit=crop');
  background-size:cover;
  background-position:center;
}

.card-sst--semipresencial .card-sst__hero{
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.72)),
    url('https://images.unsplash.com/photo-1520607162513-77705c0f0d4a?q=80&w=1200&auto=format&fit=crop');
  background-size:cover;
  background-position:center;
}

.card-sst--presencial .card-sst__hero{
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.72)),
    url('https://images.unsplash.com/photo-1517048676732-d65bc937f952?q=80&w=1200&auto=format&fit=crop');
  background-size:cover;
  background-position:center;
}

@media(max-width:768px){
  .card-sst__hero{
    min-height:170px;
  }

  .card-sst__footer{
    flex-direction:column;
    align-items:stretch;
  }

  .card-sst .btn-primary{
    width:100%;
    justify-content:center;
  }
}

/* Imagem dinâmica vinda do painel/banco */
.card-sst__hero[style*="--card-bg"]{
  background:
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.78)),
    var(--card-bg) center/cover no-repeat !important;
}

/* =========================
   HOME - versão compacta
========================= */

#trein-track .card-sst{
  max-width:100% !important;
  min-width:0 !important;
}

#trein-track .card-sst__hero{
  height:188px !important;
}

#trein-track .card-sst__body{
  padding:18px !important;
}

#trein-track .card-sst__titulo{
  font-size:16px !important;
  line-height:1.35 !important;
}

#trein-track .card-sst__descricao{
  font-size:13px !important;
  -webkit-line-clamp:3 !important;
  line-clamp:3 !important;
}

#trein-track .card-sst__footer{
  gap:12px !important;
}

#trein-track .card-sst__preco{
  font-size:18px !important;
}

#trein-track .card-sst__acoes .btn-primary{
  padding:12px 18px !important;
  font-size:13px !important;
  white-space:nowrap !important;
}

#trein-track .card-sst__meta{
  gap:8px !important;
}

#trein-track .card-sst__badge{
  font-size:10px !important;
  padding:6px 10px !important;
}

/* =========================
   FIX GRID HOME
========================= */

#trein-track > *{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  flex:unset !important;
}

#trein-track .card-sst{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

#trein-track{
  align-items:stretch !important;
}
