/* ---------- tokens locais ---------- */
.cds-tp{
  --tp-tinta:#031019;
  --tp-suave:#6B5A4B;
  --tp-linha:#F0E4D8;
  --tp-linha-forte:#E0C7B0;
  --tp-creme:#FEF3EC;
  --tp-acao:#B45A14;
  --tp-acao-h:#9C4A10;
  --tp-alt:#C63E19;
  --tp-vinho:#860000;
  --tp-branco:#FFFFFF;
  --tp-sombra:0 1px 2px rgba(3,16,25,.04), 0 18px 40px -26px rgba(3,16,25,.35);

  background:var(--tp-creme);
  color:var(--tp-tinta);
  padding:clamp(40px,6vw,72px) clamp(16px,4vw,40px);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  overflow:visible;
}
.cds-tp *{box-sizing:border-box;}

/* ---------- topo ---------- */
.cds-tp__topo{max-width:640px;margin:0 auto clamp(28px,4vw,44px);text-align:center;}
.cds-tp__rotulo{
  margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tp-acao);
}
.cds-tp__titulo{
  margin:0;font-family:'Outfit',sans-serif;font-weight:600;
  font-size:clamp(26px,3.4vw,38px);line-height:1.15;letter-spacing:-.01em;
  color:var(--tp-tinta);text-wrap:balance;
}
.cds-tp__apoio{
  margin:14px 0 0;font-size:16px;line-height:1.6;color:var(--tp-suave);
}

/* ---------- grade ---------- */
.cds-tp__grade{
  list-style:none;margin:0 auto;padding:0;max-width:1120px;
  display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));
}
@media (max-width:1024px){.cds-tp__grade{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.cds-tp__grade{grid-template-columns:minmax(0,1fr);}}
.cds-tp__item{position:relative;min-width:0;}

/* ---------- card ---------- */
.cds-tp__card{
  position:relative;background:var(--tp-branco);
  border:1px solid var(--tp-linha);border-radius:14px;
  padding:20px 20px 16px;
  display:flex;flex-direction:column;gap:14px;height:100%;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.cds-tp__card.is-aberto{
  border-color:var(--tp-linha-forte);
  box-shadow:var(--tp-sombra);
  z-index:30;
}
.cds-tp__cabeca{display:flex;flex-direction:column;gap:5px;}
.cds-tp__nome{
  margin:0;font-family:'Outfit',sans-serif;font-weight:600;font-size:18px;
  line-height:1.25;color:var(--tp-tinta);
}
.cds-tp__tipos{
  margin:0;font-size:13px;line-height:1.4;color:var(--tp-suave);
}

/* ---------- gatilho ---------- */
.cds-tp__gatilho{
  margin-top:auto;align-self:flex-start;
  display:inline-flex;align-items:center;gap:7px;
  background:transparent;border:0;padding:6px 0 0;cursor:pointer;
  font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;
  color:var(--tp-acao);line-height:1.2;
}
.cds-tp__gatilho:hover{color:var(--tp-acao-h);}
.cds-tp__gatilho:focus-visible{outline:2px solid var(--tp-alt);outline-offset:3px;border-radius:4px;}
.cds-tp__seta{transition:transform .2s ease;flex:0 0 auto;}
.cds-tp__card.is-aberto .cds-tp__seta{transform:rotate(180deg);}

/* ---------- painel (fechado) ---------- */
.cds-tp__painel{
  display:grid;grid-template-rows:0fr;
  opacity:0;visibility:hidden;
  transition:grid-template-rows .26s ease, opacity .2s ease, visibility .26s;
}
.cds-tp__painel-int{overflow:hidden;min-height:0;}
.cds-tp__card.is-aberto .cds-tp__painel{
  grid-template-rows:1fr;opacity:1;visibility:visible;
}

/* ---------- conteúdo do painel ---------- */
.cds-tp__desc{
  margin:14px 0 0;padding-top:14px;border-top:1px solid var(--tp-linha);
  font-size:14px;line-height:1.55;color:var(--tp-suave);
}
.cds-tp__dados{margin:12px 0 0;display:flex;flex-direction:column;gap:7px;}
.cds-tp__linha{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;}
.cds-tp__linha dt{
  flex:0 0 auto;font-size:11px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--tp-vinho);
}
.cds-tp__linha dd{
  margin:0;font-size:14px;line-height:1.4;color:var(--tp-tinta);
  font-variant-numeric:tabular-nums;
}

/* ---------- botões ---------- */
.cds-tp__acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.cds-tp__btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:0 15px;border-radius:9px;
  font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;line-height:1;
  text-decoration:none!important;white-space:nowrap;
  background:var(--tp-branco);color:var(--tp-acao);
  border:1.5px solid var(--tp-linha);
  transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.cds-tp__btn:hover{background:var(--tp-creme);border-color:var(--tp-linha-forte);color:var(--tp-acao-h);}
.cds-tp__btn:focus-visible{outline:2px solid var(--tp-alt);outline-offset:2px;}
.cds-tp__btn--acao{background:var(--tp-acao);border-color:var(--tp-acao);color:var(--tp-branco);}
.cds-tp__btn--acao:hover{background:var(--tp-acao-h);border-color:var(--tp-acao-h);color:var(--tp-branco);}
.cds-tp__btn--zap{background:var(--tp-alt);border-color:var(--tp-alt);color:var(--tp-branco);}
.cds-tp__btn--zap:hover{background:#A83214;border-color:#A83214;color:var(--tp-branco);}

/* ---------- aviso ---------- */
.cds-tp__aviso{
  max-width:1120px;margin:clamp(26px,4vw,38px) auto 0;
  font-size:13px;line-height:1.6;color:var(--tp-suave);text-align:center;
}

/* ---------- desktop: painel flutuante ---------- */
@media (min-width:1025px){
  .cds-tp__card{overflow:visible;}
  .cds-tp__painel{
    position:absolute;left:-1px;right:-1px;top:calc(100% - 1px);
    background:var(--tp-branco);
    border:1px solid var(--tp-linha-forte);border-top:0;
    border-radius:0 0 14px 14px;
    box-shadow:var(--tp-sombra);
    transform:translateY(-6px);
    transition:grid-template-rows .24s ease, opacity .18s ease, transform .24s ease, visibility .24s;
  }
  .cds-tp__card.is-aberto{border-bottom-left-radius:0;border-bottom-right-radius:0;}
  .cds-tp__card.is-aberto .cds-tp__painel{transform:translateY(0);}
  .cds-tp__painel-int{padding:0 20px 20px;}
  .cds-tp__desc{margin-top:0;}
}

@media (prefers-reduced-motion:reduce){
  .cds-tp *{transition:none!important;}
}

/* ---------- filtro por categoria ---------- */
.cds-tp__filtro{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:1120px;margin:0 auto clamp(20px,3vw,30px);}
.cds-tp__chip{font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;color:var(--tp-suave);background:var(--tp-branco);border:1.5px solid var(--tp-linha);border-radius:999px;padding:8px 15px;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease;}
.cds-tp__chip:hover{background:var(--tp-branco);border-color:var(--tp-linha-forte);color:var(--tp-acao);}
.cds-tp__chip[aria-pressed="true"]{background:var(--tp-acao);border-color:var(--tp-acao);color:var(--tp-branco);}
.cds-tp__chip:focus-visible{outline:2px solid var(--tp-alt);outline-offset:2px;}
.cds-tp__item[hidden]{display:none!important;}
@media (max-width:767px){
  .cds-tp__filtro{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding-bottom:4px;}
  .cds-tp__filtro::-webkit-scrollbar{display:none;}
  .cds-tp__chip{flex:0 0 auto;}
}

/* ---------- formulário ---------- */
.cds-tp--form{padding-top:clamp(28px,4vw,44px);}
.cds-tp__form-caixa{max-width:640px;margin:0 auto;background:var(--tp-branco);border:1px solid var(--tp-linha);border-radius:14px;padding:clamp(22px,4vw,32px);}
.cds-tp__form-linha{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.cds-tp__form-dupla{display:grid;gap:0 16px;grid-template-columns:1fr 1fr;}
@media (max-width:600px){.cds-tp__form-dupla{grid-template-columns:1fr;}}
.cds-tp__form label{font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;color:var(--tp-tinta);}
.cds-tp__form input,.cds-tp__form select,.cds-tp__form textarea{width:100%;font-family:'Inter',sans-serif;font-size:15px;color:var(--tp-tinta);background:var(--tp-branco);border:1.5px solid var(--tp-linha);border-radius:9px;padding:11px 13px;}
.cds-tp__form input:focus,.cds-tp__form select:focus,.cds-tp__form textarea:focus{outline:0;border-color:var(--tp-acao);}
.cds-tp__btn--envio{width:100%;margin-top:6px;min-height:48px;border:0;cursor:pointer;}
.cds-tp__form-nota{margin:14px 0 0;font-size:12px;line-height:1.55;color:var(--tp-suave);}
.cds-tp__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cds-tp__ok,.cds-tp__erro{margin:0 0 18px;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.5;}
.cds-tp__ok{background:#F1FAF2;border:1px solid #CFE6CF;color:#1F5C2E;}
.cds-tp__erro{background:#FFF3F0;border:1px solid #F3CFC5;color:#8A2A14;}

/* blindagem contra o CSS do tema */
.cds-tp button,.cds-tp a.cds-tp__btn{box-shadow:none!important;text-shadow:none!important;letter-spacing:normal!important;text-transform:none!important;}
.cds-tp .cds-tp__gatilho{background:none!important;background-color:transparent!important;background-image:none!important;color:var(--tp-acao)!important;border:0!important;border-radius:0!important;padding:6px 0 0!important;min-height:0!important;width:auto!important;}
.cds-tp .cds-tp__gatilho:hover{background:none!important;background-color:transparent!important;background-image:none!important;color:var(--tp-acao-h)!important;}
.cds-tp a.cds-tp__btn{background-image:none!important;background-color:var(--tp-branco)!important;color:var(--tp-acao)!important;border:1.5px solid var(--tp-linha)!important;}
.cds-tp a.cds-tp__btn:hover{background-color:var(--tp-creme)!important;border-color:var(--tp-linha-forte)!important;color:var(--tp-acao-h)!important;}
.cds-tp a.cds-tp__btn--acao{background-color:var(--tp-acao)!important;border-color:var(--tp-acao)!important;color:var(--tp-branco)!important;}
.cds-tp a.cds-tp__btn--acao:hover{background-color:var(--tp-acao-h)!important;border-color:var(--tp-acao-h)!important;color:var(--tp-branco)!important;}
.cds-tp a.cds-tp__btn--zap{background-color:var(--tp-alt)!important;border-color:var(--tp-alt)!important;color:var(--tp-branco)!important;}
.cds-tp a.cds-tp__btn--zap:hover{background-color:#A83214!important;border-color:#A83214!important;color:var(--tp-branco)!important;}
.cds-tp .cds-tp__chip{background-image:none!important;background-color:var(--tp-branco)!important;color:var(--tp-suave)!important;border:1.5px solid var(--tp-linha)!important;border-radius:999px!important;min-height:0!important;}
.cds-tp .cds-tp__chip[aria-pressed="true"]{background-color:var(--tp-acao)!important;border-color:var(--tp-acao)!important;color:var(--tp-branco)!important;}
.cds-tp .cds-tp__btn--envio{background-color:var(--tp-acao)!important;background-image:none!important;color:var(--tp-branco)!important;border:0!important;border-radius:9px!important;}
.cds-tp .cds-tp__nome,.cds-tp .cds-tp__titulo{color:var(--tp-tinta)!important;}
.cds-tp .cds-tp__linha dt{color:var(--tp-vinho)!important;}

/* cards nao esticam quando um abre em linha */
@media (max-width:1024px){.cds-tp__grade{align-items:start;}.cds-tp__card{height:auto;}}

/* modo aberto: tudo visivel, sem gatilho */
.cds-tp--aberto .cds-tp__card{height:100%;gap:0;}
.cds-tp--aberto .cds-tp__grade{align-items:stretch;}
.cds-tp--aberto .cds-tp__painel{position:static!important;opacity:1!important;visibility:visible!important;grid-template-rows:1fr!important;transform:none!important;border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;flex:1 1 auto;transition:none!important;}
.cds-tp--aberto .cds-tp__painel-int{padding:0!important;overflow:visible;display:flex;flex-direction:column;height:100%;}
.cds-tp--aberto .cds-tp__desc{margin:14px 0 0!important;padding-top:14px!important;border-top:1px solid var(--tp-linha)!important;}
.cds-tp--aberto .cds-tp__acoes{margin-top:auto;padding-top:16px;}
@media (max-width:1024px){.cds-tp--aberto .cds-tp__grade{align-items:stretch;}.cds-tp--aberto .cds-tp__card{height:100%;}}
