/* ============================================================
   ZARTTE BRASÍLIA — cursos.css
   ============================================================ */

/* ---- GRID DE WORKSHOPS ---- */
.workshops { padding:80px 0 0; }

.ws-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--linha);
  border:1px solid var(--linha);
}

.ws-card {
  background:var(--preto); padding:48px 40px;
  display:flex; flex-direction:column;
  transition:background 0.3s; position:relative; overflow:hidden;
}
.ws-card::after {
  content:''; position:absolute;
  top:0; left:0; right:0; height:2px;
  background:var(--branco); transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.45s cubic-bezier(0.25,0.46,0.45,0.94);
}
.ws-card:hover { background:var(--preto3); }
.ws-card:hover::after { transform:scaleX(1); }

.ws-card--breve { opacity:0.5; }
.ws-card--breve:hover { opacity:1; }

.ws-card__header {
  display:flex; align-items:center;
  justify-content:space-between; margin-bottom:36px;
}
.ws-tag {
  font-size:0.58rem; letter-spacing:3px;
  text-transform:uppercase; color:var(--cinza);
  border:1px solid var(--linha); padding:5px 14px;
}
.ws-tag--breve { color:rgba(255,255,255,0.25); border-color:rgba(255,255,255,0.08); }
.ws-vagas {
  font-size:0.65rem; letter-spacing:1px;
  color:rgba(255,120,80,0.9);
}

.ws-card__data-wrap {
  display:flex; align-items:baseline;
  justify-content:space-between; margin-bottom:20px;
}
.ws-card__data { display:flex; align-items:baseline; gap:10px; }
.ws-card__data strong {
  font-family:'Bebas Neue', sans-serif;
  font-size:5rem; line-height:1; letter-spacing:-0.02em;
}
.ws-card__data span {
  font-size:0.72rem; color:var(--cinza);
  letter-spacing:2px; text-transform:uppercase;
}
.ws-card__horario { font-size:0.75rem; color:var(--cinza); }

.ws-card__nome {
  font-size:clamp(3rem,4vw,4.2rem);
  line-height:0.88; margin-bottom:10px;
}
.ws-card__sub {
  font-size:0.82rem; color:var(--cinza);
  font-style:italic; margin-bottom:32px;
}

.ws-card__prof {
  display:flex; align-items:center; gap:14px;
  padding:18px 0; border-top:1px solid var(--linha);
  border-bottom:1px solid var(--linha); margin-bottom:24px;
}
.ws-avatar {
  width:42px; height:42px; border-radius:50%;
  border:1px solid var(--linha);
  display:flex; align-items:center; justify-content:center;
  font-size:0.7rem; letter-spacing:1px; color:var(--cinza); flex-shrink:0;
}
.ws-card__prof strong { display:block; font-size:0.9rem; font-weight:500; }
.ws-card__prof span   { display:block; font-size:0.72rem; color:var(--cinza); }

.ws-card__local {
  display:flex; align-items:center; gap:8px;
  font-size:0.78rem; color:var(--cinza); margin-bottom:20px;
}

.ws-card__inclui {
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:36px;
}
.ws-card__inclui span {
  font-size:0.65rem; letter-spacing:1.5px;
  color:var(--cinza); border:1px solid var(--linha); padding:5px 14px;
}

.ws-card__cta {
  width:100%; justify-content:space-between;
  margin-top:auto;
}

.ws-breve-texto {
  font-size:0.9rem; color:rgba(255,255,255,0.3);
  line-height:1.7; margin:24px 0 auto;
}

/* ---- BANNER ENTRE WORKSHOPS E INCLUSOS ---- */
.ws-banner {
  border:1px solid var(--linha); border-top:none;
  padding:48px 56px;
  display:flex; align-items:center; justify-content:space-between;
  gap:40px; background:var(--preto2);
}
.ws-banner h2 {
  font-size:clamp(2rem,4vw,4rem);
  line-height:0.9;
}
.ws-banner p { font-size:0.85rem; color:var(--cinza); margin-top:8px; max-width:380px; }

/* ---- INCLUSOS ---- */
.inclusos {
  padding:100px 0 120px;
  border-top:1px solid var(--linha);
}

/* Cabeçalho editorial */
.inclusos__topo {
  display:grid; grid-template-columns:1fr 1fr;
  align-items:end; gap:40px; margin-bottom:64px;
}
.inclusos__topo-titulo {
  font-size:clamp(3.5rem,7vw,7rem);
  line-height:0.88;
}
.inclusos__topo-sub {
  font-size:0.9rem; color:var(--cinza);
  line-height:1.7; max-width:340px; padding-bottom:8px;
}

.inclusos__grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--linha); border:1px solid var(--linha);
}
.inclusos__item {
  background:var(--preto); padding:44px 36px;
  border:none; transition:background 0.3s; position:relative;
}
.inclusos__item::before {
  content:''; position:absolute;
  top:0; left:0; right:0; height:2px;
  background:var(--branco); transform:scaleX(0);
  transform-origin:left; transition:transform 0.4s ease;
}
.inclusos__item:hover { background:var(--preto3); }
.inclusos__item:hover::before { transform:scaleX(1); }

.inclusos__item__icone {
  width:44px; height:44px; border:1px solid var(--linha);
  display:flex; align-items:center; justify-content:center;
  color:var(--cinza); margin-bottom:24px;
  transition:border-color 0.3s, color 0.3s;
}
.inclusos__item:hover .inclusos__item__icone {
  border-color:rgba(255,255,255,0.3); color:var(--branco);
}
.inclusos__item h3 { font-size:1.05rem; font-weight:500; margin-bottom:10px; }
.inclusos__item p  { font-size:0.83rem; color:var(--cinza); line-height:1.65; }

@media (max-width:1024px) {
  .ws-grid { grid-template-columns:1fr 1fr; }
  .inclusos__grid { grid-template-columns:repeat(2,1fr); }
  .inclusos__topo { grid-template-columns:1fr; }
  .ws-banner { flex-direction:column; align-items:flex-start; }
}
@media (max-width:640px) {
  .ws-grid { grid-template-columns:1fr; }
  .inclusos__grid { grid-template-columns:1fr; }
}

/* ---- REVEAL ANIMAÇÃO ---- */
.ws-card[data-reveal],
.ws-banner[data-reveal],
.ws-card--breve[data-reveal],
[data-reveal] {
  opacity:0 !important;
  transform:translateY(24px);
  transition:opacity 0.6s cubic-bezier(0.25,0.46,0.45,0.94),
             transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);
}
.ws-card[data-reveal].visivel,
.ws-banner[data-reveal].visivel,
.ws-card--breve[data-reveal].visivel,
[data-reveal].visivel {
  opacity:1 !important;
  transform:translateY(0);
}
