.elementor-84516 .elementor-element.elementor-element-4d1d7f9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS *//* =========================================================================
   pp-doc-pbe26.css — Design system dos documentos jurídicos
   Grupo PBE Educação / FLNC CURSOS DIGITAIS LTDA
   Identidade: PBE:TCCs (terracota / creme) — Plus Jakarta Sans

   COMO USAR NO ELEMENTOR:
   Elementor  →  Configurações do Site  →  CSS Personalizado  →  colar TUDO
   (cola uma vez só; vale para as 4 páginas)

   Tudo aqui está isolado sob .pp-doc — não afeta o resto do site.
   ========================================================================= */

/* ---------- 1. Variáveis ------------------------------------------------ */
.pp-doc{
  --orange:      #C2490A;
  --orange-hi:   #E2701B;
  --orange-deep: #9C3A00;
  --brown:       #5A2A00;
  --link:        #6B3410;
  --link-hover:  #9C3A00;

  --text:        #4A3526;
  --text-soft:   #6E5C42;
  --cream:       #FFFBF6;
  --cream-2:     #FFF4EA;
  --line:        rgba(194,73,10,.18);
  --line-strong: rgba(194,73,10,.28);

  --maxw:        940px;
  --radius:      16px;
}

/* ---------- 2. Blindagem contra o CSS do tema --------------------------- */
/* :where() tem especificidade ZERO — reseta o tema sem nunca vencer as
   nossas próprias regras abaixo. */
.pp-doc :where(h1,h2,h3,h4,p,ul,ol,li,table,thead,tbody,tr,th,td,
               a,strong,b,em,i,span,div,section,figure,hr){
  margin:0; padding:0; border:0; outline:0;
  background:transparent;
  font-family:inherit; font-size:inherit; font-weight:inherit;
  line-height:inherit; color:inherit; text-align:inherit;
  list-style:none; text-decoration:none;
  box-sizing:border-box;
}
.pp-doc, .pp-doc *, .pp-doc *::before, .pp-doc *::after{ box-sizing:border-box; }

/* ---------- 3. Container ------------------------------------------------ */
.pp-doc{
  font-family:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  font-size:17px;
  line-height:1.72;
  font-weight:400;
  color:var(--text);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  padding:0 0 clamp(48px,7vw,88px);
  overflow-wrap:break-word;
}

/* ---------- 4. Hero ----------------------------------------------------- */
.pp-hero{
  text-align:center;
  padding:clamp(44px,6vw,72px) 22px clamp(18px,2.4vw,26px);
  background:
    radial-gradient(120% 140% at 50% 0%, #FFF1E3 0%, rgba(255,241,227,0) 62%),
    var(--cream);
}
/* mais largo que a coluna de leitura: o subtitulo do hero e um titulo longo
   e precisa caber em UMA linha (pedido dela, 13/08/2026) */
.pp-hero-inner{ max-width:min(1360px,100%); margin:0 auto; }

.pp-eyebrow{
  display:inline-block;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.16em;
  /* sem text-transform: o texto ja vem em caixa alta do documento e o CSS nao deve mexer na caixa (quebraria "TCCs") */
  color:var(--orange);
  margin-bottom:16px;
}

.pp-doc h1{
  font-size:clamp(1.85rem,4.4vw,3rem);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--brown);
  background:linear-gradient(100deg,var(--orange-deep) 0%,var(--orange) 46%,var(--orange-hi) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
/* fallback: navegador sem background-clip:text */
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .pp-doc h1{ background:none; color:var(--orange-deep); -webkit-text-fill-color:var(--orange-deep); }
}

.pp-h1-sub{
  margin-top:12px;
  font-size:clamp(.86rem,1.15vw,1.05rem);
  font-weight:700;
  line-height:1.42;
  letter-spacing:.005em;
  color:var(--text);
  text-wrap:balance; /* se for longo demais p/ uma linha, quebra equilibrado */
}
.pp-h1-sub + .pp-h1-sub{
  margin-top:8px;
  font-weight:600;
  font-size:clamp(.85rem,1.6vw,1rem);
  letter-spacing:.06em;
  color:var(--text-soft);
}

/* display:block e OBRIGATORIO — como e um <span> (inline por padrao), sem isso
   largura/altura/margem nao se aplicam e a barra simplesmente nao aparece. */
.pp-accent{
  display:block;
  width:88px; height:5px;
  margin:18px auto 0;
  border-radius:99px;
  background:linear-gradient(90deg,var(--orange-hi),var(--orange));
}

/* ---------- 5. Coluna de leitura ---------------------------------------- */
.pp-main{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 22px;
}

/* ---------- 6. Título do instrumento (no meio do documento) ------------- */
.pp-doc-title{
  text-align:center;
  margin:clamp(34px,5vw,52px) 0 clamp(20px,3vw,30px);
  padding:clamp(26px,4vw,40px) 22px;
  border-top:2px solid var(--line-strong);
  border-bottom:2px solid var(--line-strong);
}
.pp-doc-title .pp-dt-main{
  display:block;
  font-size:clamp(1.15rem,2.6vw,1.62rem);
  font-weight:800;
  line-height:1.24;
  letter-spacing:-.01em;
  /* sem text-transform: o texto ja vem em caixa alta do documento e o CSS nao deve mexer na caixa (quebraria "TCCs") */
  color:var(--orange-deep);
}
.pp-doc-title .pp-dt-sub{
  display:block;
  margin-top:10px;
  font-size:clamp(.95rem,2vw,1.16rem);
  font-weight:700;
  letter-spacing:.04em;
  /* sem text-transform: o texto ja vem em caixa alta do documento e o CSS nao deve mexer na caixa (quebraria "TCCs") */
  color:var(--text);
}
.pp-doc-title .pp-dt-org{
  display:block;
  margin-top:8px;
  font-size:clamp(.82rem,1.6vw,.95rem);
  font-weight:600;
  letter-spacing:.1em;
  /* sem text-transform: o texto ja vem em caixa alta do documento e o CSS nao deve mexer na caixa (quebraria "TCCs") */
  color:var(--text-soft);
}

/* ---------- 7. Preâmbulo ------------------------------------------------ */
.pp-pre{
  margin:clamp(22px,3vw,32px) 0;
  padding:clamp(20px,3vw,30px) clamp(18px,3vw,32px);
  background:var(--cream-2);
  border-left:5px solid var(--orange);
  border-radius:0 var(--radius) var(--radius) 0;
  font-size:.965em;
  text-align:justify;
}

/* ---------- 8. Seções --------------------------------------------------- */
.pp-sec{ margin:clamp(30px,4.5vw,50px) 0 0; }
/* a primeira secao vem logo abaixo do hero: vao menor (pedido dela, 13/08/2026) */
.pp-main > .pp-sec:first-child{ margin-top:clamp(14px,1.8vw,20px); }

.pp-sec-head{ margin-bottom:clamp(14px,2vw,20px); }

.pp-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.35em;
  height:2.35em;
  padding:0 .55em;
  margin-right:.7em;
  border-radius:10px;
  background:linear-gradient(160deg,var(--orange-hi),var(--orange));
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.02em;
  vertical-align:middle;
}

.pp-doc h2, .pp-t{
  display:inline;
  font-size:clamp(1.08rem,2.3vw,1.42rem);
  font-weight:800;
  line-height:1.26;
  letter-spacing:-.012em;
  color:var(--orange-deep);
  /* sem text-transform: o texto ja vem em caixa alta do documento e o CSS nao deve mexer na caixa (quebraria "TCCs") */
  vertical-align:middle;
}

/* rótulo "CLÁUSULA PRIMEIRA" acima do assunto da cláusula */
.pp-cl{
  display:block;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.15em;
  /* sem text-transform: o texto ja vem em caixa alta do documento e o CSS nao deve mexer na caixa (quebraria "TCCs") */
  color:var(--orange);
  margin-bottom:7px;
}

.pp-rule{
  display:block;
  height:3px;
  width:60px;
  margin-top:13px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--orange),rgba(194,73,10,0));
}

/* subtítulo interno (ex.: "Dados Agregados") */
.pp-sub{
  margin:clamp(20px,2.6vw,28px) 0 10px;
  padding-left:14px;
  border-left:4px solid var(--orange-hi);
  font-size:1.02em;
  font-weight:800;
  letter-spacing:-.005em;
  color:var(--brown);
}

/* ---------- 9. Parágrafos e itens numerados ----------------------------- */
/* texto corrido SEMPRE justificado (inclusive no celular) */
.pp-p{ margin:0 0 1.05em; text-align:justify; text-justify:inter-word; }
.pp-p:last-child{ margin-bottom:0; }

.pp-item{
  display:flex;
  gap:.72em;
  margin:0 0 1.05em;
  align-items:baseline;
}
.pp-item-n{
  flex:0 0 auto;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  color:var(--orange);
  white-space:nowrap;
}
.pp-item-t{ flex:1 1 auto; min-width:0; text-align:justify; text-justify:inter-word; }

/* subitens (1.2.1, 4.4.1 …) recuados */
.pp-item.is-sub{ margin-left:clamp(14px,2.6vw,32px); }
.pp-item.is-sub .pp-item-n{ color:var(--orange-hi); font-weight:700; }
.pp-item.is-sub .pp-item-t{ color:var(--text-soft); }

/* ---------- 10. Listas de marcadores (incisos / alíneas / bullets) ------ */
.pp-clist{ margin:0 0 1.05em; }
.pp-clist > li{
  display:flex;
  gap:.7em;
  margin:0 0 .72em;
  align-items:baseline;
}
.pp-clist > li:last-child{ margin-bottom:0; }
.pp-rn{
  flex:0 0 auto;
  min-width:2.1em;
  padding:.12em .5em;
  border-radius:7px;
  background:rgba(194,73,10,.09);
  border:1px solid var(--line);
  color:var(--orange-deep);
  font-size:.79em;
  font-weight:800;
  line-height:1.5;
  text-align:center;
  white-space:nowrap;
}
.pp-clist > li > span:last-child{ flex:1 1 auto; min-width:0; text-align:justify; text-justify:inter-word; }

/* aninhada (a. dentro de V.) */
.pp-clist.is-sub{ margin-left:clamp(16px,3vw,38px); }
.pp-clist.is-sub .pp-rn{ background:rgba(226,112,27,.08); color:var(--orange); }

/* bullets ● das definições */
.pp-clist.is-bullet .pp-rn{
  min-width:auto;
  padding:0;
  background:transparent;
  border:0;
  color:var(--orange);
  font-size:1em;
  line-height:1.72;
}

/* ---------- 11. Tabela -------------------------------------------------- */
.pp-tablewrap{
  margin:clamp(18px,2.6vw,26px) 0 clamp(22px,3vw,32px);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:var(--radius);
  border:1px solid var(--line-strong);
  background:#fff;
}
.pp-table{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  font-size:.94em;
  line-height:1.6;
}
.pp-table td{
  padding:15px 18px;
  vertical-align:top;
  border-top:2px solid var(--line-strong);
  text-align:justify;
  text-justify:inter-word;
}
/* 1a coluna destacada — SO no corpo, para nao competir com o cabecalho */
.pp-table tbody tr > *:first-child{
  width:30%;
  font-weight:800;
  color:var(--orange-deep);
  text-align:left; /* rotulo curto NAO justifica: abriria vao entre as palavras */
  border-right:2px solid var(--line-strong);
  background:rgba(255,244,234,.7);
}
.pp-table tbody tr:nth-child(even) > *:first-child{ background:rgba(255,244,234,.45); }

/* parágrafos dentro da célula (ex.: texto + base legal embaixo) */
.pp-table td p + p{ margin-top:.6em; }

/* variante de 3 colunas — a 2a coluna tambem precisa de largura propria */
.pp-table.is-3col{ min-width:760px; }
.pp-table.is-3col tbody tr > *:first-child{ width:21%; }
.pp-table.is-3col tbody tr > *:nth-child(2){
  width:30%;
  border-right:2px solid var(--line-strong);
}

/* cabecalho por ultimo e com especificidade maior: sempre vence */
.pp-table thead tr > th,
.pp-table thead tr > th:first-child{
  background:linear-gradient(180deg,var(--orange-hi),var(--orange));
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
  text-align:left;
  padding:15px 18px;
  vertical-align:top;
  border-right:0;
  border-top:0;
}

/* ---------- 12. Links e e-mail ------------------------------------------ */
/* precisa cobrir color E -webkit-text-fill-color: alguns temas pintam <a>
   de branco pelo text-fill e a blindagem :where() não segura isso. */
.pp-doc a,
.pp-doc .pp-link,
.pp-doc .pp-email{
  color:var(--link) !important;
  -webkit-text-fill-color:var(--link) !important;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid rgba(107,52,16,.45);
  transition:color .15s ease, border-color .15s ease;
}
.pp-doc a:hover,
.pp-doc .pp-link:hover,
.pp-doc .pp-email:hover{
  color:var(--link-hover) !important;
  -webkit-text-fill-color:var(--link-hover) !important;
  border-bottom-color:var(--link-hover);
}

/* ---------- 13. Negrito ------------------------------------------------- */
.pp-doc strong{ font-weight:700; color:var(--brown); }

/* ---------- 14. Bloco de assinatura ------------------------------------- */
.pp-sign{
  margin-top:clamp(34px,5vw,52px);
  padding-top:clamp(24px,3.5vw,34px);
  border-top:2px solid var(--line-strong);
  text-align:center;
}
.pp-sign .pp-sign-place{
  font-size:.97em;
  color:var(--text-soft);
  margin-bottom:16px;
}
.pp-sign .pp-sign-name{
  font-weight:800;
  letter-spacing:.03em;
  color:var(--brown);
}
.pp-sign .pp-sign-doc{
  margin-top:4px;
  font-weight:700;
  font-size:.93em;
  color:var(--text-soft);
}

/* ---------- 15. Responsivo ---------------------------------------------- */
@media (max-width:900px){
  .pp-doc{ font-size:16.5px; }
  .pp-table tr > *:first-child{ width:34%; }
}
@media (max-width:768px){
  .pp-doc{ font-size:16px; line-height:1.68; }
  /* a justificacao continua valendo no celular (pedido dela, 13/08/2026) */
  .pp-num{ display:flex; margin:0 0 10px; width:max-content; }
  .pp-doc h2, .pp-t{ display:block; }
  .pp-item.is-sub{ margin-left:14px; }
  .pp-clist.is-sub{ margin-left:16px; }
}
@media (max-width:520px){
  .pp-doc{ font-size:15.5px; }
  .pp-main{ padding:0 16px; }
  .pp-hero{ padding-left:16px; padding-right:16px; }
  .pp-table{ min-width:440px; font-size:.9em; }
  .pp-table th, .pp-table td{ padding:12px 13px; }
  .pp-item{ gap:.55em; }
  .pp-clist > li{ gap:.55em; }
}

/* ---------- 16. Impressão ----------------------------------------------- */
@media print{
  .pp-doc{ background:#fff; color:#000; font-size:11pt; line-height:1.5; padding:0; }
  .pp-hero{ background:#fff; padding:0 0 18pt; }
  .pp-doc h1{ background:none; -webkit-text-fill-color:#000; color:#000; }
  .pp-num{ background:#000; color:#fff; }
  .pp-table th{ background:#eee; color:#000; }
  .pp-tablewrap{ overflow:visible; border-color:#999; }
  .pp-table, .pp-table tr, .pp-item, .pp-clist > li{ page-break-inside:avoid; }
  .pp-sec{ page-break-inside:auto; }
  .pp-doc a{ color:#000 !important; -webkit-text-fill-color:#000 !important; border:0; }
}/* End custom CSS */