.elementor-84087 .elementor-element.elementor-element-a44074d{--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 — Design system das páginas jurídicas  ·  PBE:TCCs (terracota)
   Grupo PBE Educação / FLNC Cursos Digitais LTDA

   COMO USAR NO ELEMENTOR
   Cole este arquivo em: Elementor → Configurações do Site → CSS Personalizado.
   Depois, em cada página, cole o HTML no widget "HTML Personalizado",
   com a Seção em Largura Total e o padding da coluna zerado.

   Tudo aqui está escopado em .pp-doc — não vaza para o resto do site.
   ========================================================================== */

/* ---------- 1. Tokens ---------------------------------------------------- */
.pp-doc{
  --orange:      #C2490A;
  --orange-hi:   #E2701B;
  --orange-deep: #9C3A00;
  --brown:       #5A2A00;
  --ink:         #4A3526;
  --ink-soft:    #6B5544;
  --cream:       #FFFBF6;
  --cream-2:     #FFF4EA;
  --line:        rgba(194,73,10,.20);
  --line-strong: rgba(194,73,10,.28);
  --link:        #6B3410;
  --link-hover:  #9C3A00;

  --font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",
          Roboto, Helvetica, Arial, sans-serif;

  --wrap: 940px;
}

/* ---------- 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,span,strong,em,div,section,header,footer){
  margin:0; padding:0; border:0; background:transparent;
  list-style:none; font-family:inherit; font-size:inherit;
  line-height:inherit; color:inherit; text-align:inherit;
  text-transform:none; letter-spacing:normal;
}
.pp-doc :where(table){ border-collapse:collapse; border-spacing:0; width:100%; }

/* ---------- 3. Base ------------------------------------------------------ */
.pp-doc{
  font-family:var(--font);
  color:var(--ink);
  background:var(--cream);
  font-size:16.5px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}
.pp-doc *,
.pp-doc *::before,
.pp-doc *::after{ box-sizing:border-box; }

/* ---------- 4. Hero ------------------------------------------------------ */
.pp-doc .pp-hero{
  background:linear-gradient(160deg,var(--orange-hi) 0%,var(--orange) 55%,var(--orange-deep) 100%);
  padding:clamp(48px,7vw,86px) 22px clamp(44px,6vw,72px);
  text-align:center;
  position:relative;
}
.pp-doc .pp-hero-inner{
  max-width:var(--wrap);
  margin:0 auto;
}
.pp-doc .pp-hero h1{
  font-size:clamp(24px,3.6vw,40px);
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.015em;
  color:#fff;
  text-transform:uppercase;
}
.pp-doc .pp-h1-sub{
  margin-top:10px;
  font-size:clamp(13px,1.5vw,16px);
  font-weight:600;
  line-height:1.5;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.90);
}
.pp-doc .pp-h1-sub + .pp-h1-sub{ margin-top:4px; color:rgba(255,255,255,.78); }
.pp-doc .pp-accent{
  display:block;
  width:64px; height:4px;
  margin:26px auto 0;
  border-radius:99px;
  background:rgba(255,255,255,.85);
}
.pp-doc .pp-updated{
  margin-top:18px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
  color:rgba(255,255,255,.85);
}

/* ---------- 5. Coluna de leitura ---------------------------------------- */
.pp-doc .pp-main{
  max-width:var(--wrap);
  margin:0 auto;
  padding:clamp(40px,6vw,72px) 22px clamp(56px,7vw,96px);
}

/* ---------- 6. Seções ---------------------------------------------------- */
.pp-doc .pp-sec{ margin-top:clamp(34px,4.5vw,54px); }
.pp-doc .pp-sec:first-child{ margin-top:0; }

.pp-doc .pp-sec-head{ margin-bottom:22px; }

.pp-doc .pp-cl{            /* eyebrow: "CLÁUSULA PRIMEIRA" */
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--orange);
  margin-bottom:8px;
}
.pp-doc .pp-t{             /* título da seção */
  font-size:clamp(18px,2.3vw,24px);
  font-weight:800;
  line-height:1.28;
  letter-spacing:-.01em;
  color:var(--brown);
  text-transform:uppercase;
}
.pp-doc .pp-rule{
  display:block;
  width:52px; height:3px;
  margin-top:14px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--orange-hi),var(--orange));
}

/* Sub-título dentro do corpo (linha em negrito do documento) */
.pp-doc .pp-sub{
  margin-top:26px;
  font-size:clamp(15px,1.8vw,17px);
  font-weight:800;
  color:var(--brown);
}
.pp-doc .pp-sub + .pp-p{ margin-top:10px; }

/* ---------- 7. Parágrafos ------------------------------------------------ */
.pp-doc .pp-p{ margin-top:16px; text-align:justify; }
.pp-doc .pp-p:first-child{ margin-top:0; }
.pp-doc .pp-pre{ margin-top:16px; text-align:justify; }
.pp-doc strong{ font-weight:700; color:var(--brown); }

/* ---------- 8. Itens numerados (1.1, 1.2.1, …) --------------------------- */
.pp-doc .pp-item{
  display:flex;
  gap:12px;
  margin-top:16px;
  align-items:flex-start;
}
.pp-doc .pp-item-n{
  flex:0 0 auto;
  min-width:46px;
  font-weight:800;
  color:var(--orange);
  font-variant-numeric:tabular-nums;
}
.pp-doc .pp-item-t{ flex:1 1 auto; text-align:justify; }
.pp-doc .pp-item.is-sub{ padding-left:26px; }
.pp-doc .pp-item.is-sub .pp-item-n{ min-width:56px; color:var(--orange-deep); }

/* ---------- 9. Listas de incisos / alíneas ------------------------------- */
.pp-doc .pp-clist{ margin-top:16px; padding-left:8px; }
.pp-doc .pp-clist > li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-top:12px;
}
.pp-doc .pp-clist > li:first-child{ margin-top:0; }
.pp-doc .pp-clist > li > span:last-child{ flex:1 1 auto; text-align:justify; }
.pp-doc .pp-rn{
  flex:0 0 auto;
  min-width:38px;
  font-weight:800;
  color:var(--orange);
  font-variant-numeric:tabular-nums;
}
.pp-doc .pp-clist.is-sub{ padding-left:44px; }
.pp-doc .pp-clist.is-sub .pp-rn{ min-width:26px; color:var(--orange-deep); }

/* Lista com marcador de bolinha (definições da Política) */
.pp-doc .pp-clist.is-bullet .pp-rn{
  min-width:20px;
  font-size:12px;
  line-height:1.9;
}

/* Lista simples com "check" (opcional) */
.pp-doc .pp-list{ margin-top:16px; }
.pp-doc .pp-list > li{
  position:relative;
  padding-left:28px;
  margin-top:10px;
  text-align:justify;
}
.pp-doc .pp-list > li::before{
  content:"";
  position:absolute; left:4px; top:.72em;
  width:9px; height:9px;
  border-radius:3px;
  background:linear-gradient(135deg,var(--orange-hi),var(--orange));
}

/* ---------- 10. Tabela --------------------------------------------------- */
.pp-doc .pp-tablewrap{
  margin-top:18px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:14px;
  border:1px solid var(--line-strong);
  background:#fff;
}
.pp-doc .pp-table{
  width:100%;
  min-width:520px;
  font-size:15.5px;
  line-height:1.62;
}
.pp-doc .pp-table th{
  background:linear-gradient(180deg,var(--orange-hi),var(--orange));
  color:#fff;
  font-weight:800;
  font-size:13px;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-align:left;
  padding:14px 18px;
}
.pp-doc .pp-table td{
  padding:14px 18px;
  vertical-align:top;
  border-top:2px solid var(--line-strong);
  text-align:left;
}
.pp-doc .pp-table tbody tr:first-child td{ border-top:0; }
.pp-doc .pp-table td:first-child{
  width:30%;
  font-weight:700;
  color:var(--brown);
  background:var(--cream-2);
  border-right:2px solid var(--line-strong);
}
.pp-doc .pp-table thead + tbody tr:first-child td{ border-top:0; }

/* ---------- 11. Links e e-mail ------------------------------------------ */
/* !important cobre o -webkit-text-fill-color que alguns temas aplicam em <a> */
.pp-doc a,
.pp-doc .pp-link,
.pp-doc .pp-email{
  color:var(--link) !important;
  -webkit-text-fill-color:var(--link) !important;
  text-decoration:none;
  font-weight:700;
  border-bottom:1px solid rgba(107,52,16,.45) !important;
  transition:color .18s ease, border-color .18s ease;
  overflow-wrap:anywhere;
}
.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:rgba(156,58,0,.75) !important;
}

/* ---------- 12. Bloco de assinatura ------------------------------------- */
.pp-doc .pp-sign{
  margin-top:clamp(38px,5vw,56px);
  padding-top:26px;
  border-top:2px solid var(--line);
  text-align:center;
}
.pp-doc .pp-sign-place{
  font-size:15px;
  color:var(--ink-soft);
}
.pp-doc .pp-sign-name{
  margin-top:20px;
  font-weight:800;
  color:var(--brown);
  letter-spacing:.02em;
}
.pp-doc .pp-sign-doc{
  margin-top:2px;
  font-size:14.5px;
  color:var(--ink-soft);
}

/* ---------- 13. Título interno do documento ----------------------------- */
.pp-doc .pp-doc-title{
  margin-top:clamp(34px,4.5vw,54px);
  text-align:center;
}
/* usam <span> em algumas páginas — forçamos bloco para quebrar linha */
.pp-doc .pp-dt-main,
.pp-doc .pp-dt-sub,
.pp-doc .pp-dt-org,
.pp-doc .pp-h1-sub,
.pp-doc .pp-sign-place,
.pp-doc .pp-sign-name,
.pp-doc .pp-sign-doc{ display:block; }

.pp-doc .pp-dt-main{
  font-size:clamp(17px,2.1vw,22px);
  font-weight:800;
  line-height:1.3;
  color:var(--brown);
  text-transform:uppercase;
}
.pp-doc .pp-dt-sub{
  margin-top:6px;
  font-size:clamp(14px,1.7vw,17px);
  font-weight:700;
  line-height:1.4;
  color:var(--orange);
  text-transform:uppercase;
}
.pp-doc .pp-dt-org{
  margin-top:6px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--ink-soft);
  text-transform:uppercase;
}

/* ---------- 14. Mobile --------------------------------------------------- */
@media (max-width:620px){
  .pp-doc{ font-size:16px; line-height:1.7; }
  .pp-doc .pp-p,
  .pp-doc .pp-pre,
  .pp-doc .pp-item-t,
  .pp-doc .pp-clist > li > span:last-child,
  .pp-doc .pp-list > li{ text-align:left; }

  .pp-doc .pp-item{ flex-direction:column; gap:2px; }
  .pp-doc .pp-item-n{ min-width:0; }
  .pp-doc .pp-item.is-sub{ padding-left:16px; }

  .pp-doc .pp-clist{ padding-left:0; }
  .pp-doc .pp-rn{ min-width:32px; }
  .pp-doc .pp-clist.is-sub{ padding-left:22px; }
}

/* ---------- 15. Impressão ------------------------------------------------ */
@media print{
  .pp-doc{ background:#fff; font-size:11pt; }
  .pp-doc .pp-hero{ background:#fff; padding:0 0 18pt; }
  .pp-doc .pp-hero h1,
  .pp-doc .pp-h1-sub{ color:#000; }
  .pp-doc .pp-accent{ background:#000; }
  .pp-doc .pp-sec{ break-inside:auto; }
  .pp-doc .pp-sec-head{ break-after:avoid; }
}/* End custom CSS */