/* ============================================================
   WUJI KUNG FU — timeline.css
   Timeline premium das 16 etapas · cards expansíveis
   ============================================================ */

.tl{position:relative;max-width:1080px;margin:0 auto}
.tl::before{
  content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;
  background:linear-gradient(180deg,transparent,var(--dourado) 8%,var(--vermelho) 50%,var(--dourado) 92%,transparent);
  transform:translateX(-.5px);
}

.tl-item{position:relative;width:calc(50% - 52px);margin-bottom:34px}
.tl-item:nth-child(odd){margin-left:auto}

/* Nó com número/ícone */
.tl-node{
  position:absolute;left:50%;top:10px;transform:translateX(-50%);
  width:52px;height:52px;border-radius:50%;z-index:3;display:grid;place-items:center;
  background:var(--preto);border:1px solid var(--borda-forte);
  font-family:var(--hanzi);font-weight:900;color:var(--dourado);font-size:1.05rem;
  box-shadow:0 0 0 7px var(--preto),0 8px 24px rgba(0,0,0,.6);
  transition:all .5s var(--slow);
}
.tl-item:nth-child(odd) .tl-node{left:-52px}
.tl-item:nth-child(even) .tl-node{left:auto;right:-52px}
.tl-item.marco .tl-node{border-color:var(--vermelho-vivo);color:var(--vermelho-vivo);
  box-shadow:0 0 0 7px var(--preto),0 0 26px rgba(201,49,61,.4)}
.tl-item:hover .tl-node{transform:translateX(-50%) scale(1.08);border-color:var(--dourado)}

/* Card */
.tl-card{
  background:linear-gradient(158deg,var(--grafite),var(--preto-2));
  border:1px solid var(--borda);border-radius:var(--radius);
  padding:24px clamp(20px,2.6vw,30px);position:relative;overflow:hidden;
  transition:border-color .5s var(--ease),transform .5s var(--slow);
}
.tl-card::before{
  content:attr(data-hanzi);position:absolute;top:-14px;right:-4px;
  font-family:var(--hanzi);font-weight:900;font-size:5.4rem;line-height:1;
  color:rgba(194,161,90,.05);pointer-events:none;white-space:nowrap;
}
.tl-item:hover .tl-card{border-color:var(--borda-forte)}

.tl-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.tl-icon{font-size:1.1rem;filter:grayscale(.2)}
.tl-card h3{font-size:1.5rem;color:#fff;line-height:1.15}
.tl-card .cn-name{font-size:1.25rem}
.tl-card .pinyin{display:block;margin-top:2px}
.tl-card .tr{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cinza-fraco);margin:6px 0 14px}
.tl-card .obj{color:#d9d8d2;font-size:.96rem;font-weight:300}
.tl-card .obj b{color:var(--dourado-claro);font-weight:500}

/* Meta linha (tempo + botão) */
.tl-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:18px}
.tl-time{font-size:.78rem;color:var(--dourado-claro);border:1px solid var(--borda);border-radius:100px;padding:5px 14px;letter-spacing:.05em}
.tl-expand{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--dourado);transition:color .3s var(--ease)}
.tl-expand:hover{color:var(--dourado-claro)}
.tl-expand .chev{transition:transform .4s var(--ease)}
.tl-item.open .tl-expand .chev{transform:rotate(180deg)}

/* Corpo expansível */
.tl-body{
  display:grid;grid-template-rows:0fr;overflow:hidden;
  transition:grid-template-rows .55s var(--slow),margin-top .55s var(--slow);
}
.tl-item.open .tl-body{grid-template-rows:1fr;margin-top:20px}
.tl-body-inner{min-height:0;overflow:hidden}

/* Sub-blocos dentro do corpo */
.tl-tec{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:16px}
.tl-tec .t{background:rgba(160,30,40,.06);border:1px solid rgba(160,30,40,.2);border-radius:9px;padding:11px 13px}
.tl-tec .t .l{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.tl-tec .t strong{color:#fff;font-size:.92rem}
.tl-tec .t .h{font-family:var(--hanzi);color:var(--dourado);font-size:1rem}
.tl-tec .t .p{font-style:italic;color:var(--vermelho-vivo);font-size:.76rem}
.tl-tec .t .d{color:var(--cinza);font-size:.8rem;margin-top:4px}

/* Progressão Wing Chun numerada */
.tl-wc{counter-reset:wc;display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.tl-wc .w{counter-increment:wc;display:flex;gap:13px;align-items:flex-start;
  background:rgba(0,0,0,.3);border-left:2px solid var(--dourado);border-radius:0 8px 8px 0;padding:9px 13px}
.tl-wc .w::before{content:counter(wc,decimal-leading-zero);font-family:var(--hanzi);
  color:var(--vermelho-vivo);font-weight:700;font-size:.9rem;min-width:24px}
.tl-wc .w strong{color:#fff}
.tl-wc .w .h{font-family:var(--hanzi);color:var(--dourado);margin-left:6px}
.tl-wc .w .p{font-style:italic;color:var(--vermelho-vivo);font-size:.78rem;margin-left:6px}
.tl-wc .w p{color:var(--cinza);font-size:.83rem;margin-top:2px;width:100%}

/* Grids de exercícios / critérios */
.tl-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tl-block{background:rgba(0,0,0,.32);border:1px solid rgba(245,243,238,.05);border-radius:10px;padding:15px 17px}
.tl-block .rot{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado);
  margin-bottom:9px;display:flex;align-items:center;gap:8px}
.tl-block .rot::before{content:"";width:13px;height:1.5px;background:var(--vermelho)}
.tl-block ul{list-style:none;display:flex;flex-direction:column;gap:5px}
.tl-block li{position:relative;padding-left:15px;font-size:.86rem;color:#cfcec8}
.tl-block li::before{content:"";position:absolute;left:0;top:9px;width:4px;height:4px;border-radius:50%;background:var(--dourado)}

@media(max-width:720px){
  .tl-cols{grid-template-columns:1fr}
}


/* Ícones SVG na timeline */
.tl-icon .ico{width:1.5rem;height:1.5rem}
.tl-time .ico,.time .ico{width:.95em;height:.95em;vertical-align:-.1em;margin-right:2px}
