/* ============================================================
   Lisboayield — Layout: contentores, cabeçalho (F), rodapé (B), secções
   ============================================================ */

.p2ppt-wrap { width: 100%; max-width: var(--p2ppt-maxw); margin: 0 auto; padding: 0 24px; }
.p2ppt-wrap-narrow { max-width: 780px; }

.p2ppt-section { padding: 64px 0; }
.p2ppt-section-alt { background: var(--p2ppt-surface); }
.p2ppt-section-dark { background: var(--p2ppt-gradient); color: #fff; }
.p2ppt-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.p2ppt-section-head h2 { margin: 0; }
.p2ppt-section-link { font-family: var(--p2ppt-font-body); font-weight: 500; white-space: nowrap; }
.p2ppt-section-foot { margin-top: 22px; font-weight: 500; }

/* ---------- Barra de progresso (cabeçalho F) ---------- */
.p2ppt-progress { position: fixed; top: 0; left: 0; right: 0; height: 4px; background: transparent; z-index: 1100; }
.p2ppt-progress-bar { display: block; height: 100%; width: 100%; transform: scaleX(0); transform-origin: left; background: var(--p2ppt-accent); transition: transform .08s linear; }

/* ---------- Cabeçalho ---------- */
.p2ppt-header {
  position: sticky; top: 0; z-index: 1000;
  background: var(--p2ppt-surface);
  border-bottom: 1px solid var(--p2ppt-border);
  transition: box-shadow .2s ease;
}
.p2ppt-header.p2ppt-scrolled { box-shadow: var(--p2ppt-shadow); }
.p2ppt-header-inner {
  max-width: var(--p2ppt-maxw); margin: 0 auto; padding: 14px 24px;
  display: flex; align-items: center; gap: 24px;
}
.p2ppt-brand { display: flex; align-items: center; }
.p2ppt-brand-text { display: inline-flex; align-items: center; gap: 10px; color: var(--p2ppt-primary); }
.p2ppt-brand-mark {
  display: inline-grid; place-items: center; width: 38px; height: 38px;
  background: var(--p2ppt-gradient); color: #fff; border-radius: 9px;
  font-family: var(--p2ppt-font-head); font-size: 17px; letter-spacing: .5px;
}
.p2ppt-brand-name { font-family: var(--p2ppt-font-head); font-size: 21px; line-height: 1; }
.p2ppt-custom-logo-link img, .custom-logo-link img { max-height: 48px; width: auto; }

.p2ppt-nav { margin-left: auto; }
.p2ppt-menu { list-style: none; display: flex; gap: 26px; margin: 0; padding: 0; }
.p2ppt-menu a { color: var(--p2ppt-text); font-weight: 500; }
.p2ppt-menu a:hover { color: var(--p2ppt-primary); }
.p2ppt-menu .current-menu-item > a { color: var(--p2ppt-primary); }

.p2ppt-cta-btn {
  display: inline-flex; align-items: center; padding: 9px 18px;
  background: var(--p2ppt-accent); color: var(--p2ppt-primary-dark);
  font-weight: 700; border-radius: 999px; white-space: nowrap;
}
.p2ppt-cta-btn:hover { background: var(--p2ppt-accent-dark); color: #fff; }

.p2ppt-burger { display: none; flex-direction: column; gap: 5px; background: none; border: 0; cursor: pointer; padding: 6px; }
.p2ppt-burger span { width: 26px; height: 2px; background: var(--p2ppt-primary); display: block; transition: transform .2s; }

/* Sub-linha de plataformas */
.p2ppt-subrow { background: var(--p2ppt-primary-dark); }
.p2ppt-subrow-inner {
  max-width: var(--p2ppt-maxw); margin: 0 auto; padding: 9px 24px;
  display: flex; align-items: center; gap: 16px; overflow-x: auto;
}
.p2ppt-subrow-label { color: var(--p2ppt-accent); font-weight: 700; font-size: 13px; letter-spacing: .4px; text-transform: uppercase; white-space: nowrap; }
.p2ppt-subrow-list { list-style: none; display: flex; gap: 20px; margin: 0; padding: 0; }
.p2ppt-subrow-list a { color: rgba(255,255,255,.82); font-size: 14px; white-space: nowrap; }
.p2ppt-subrow-list a:hover { color: #fff; }

/* ---------- Rodapé (B): 3 colunas + newsletter ---------- */
.p2ppt-footer { background: var(--p2ppt-primary-dark); color: rgba(255,255,255,.78); margin-top: 40px; }
.p2ppt-footer-grid {
  max-width: var(--p2ppt-maxw); margin: 0 auto; padding: 56px 24px 40px;
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.8fr; gap: 40px;
}
.p2ppt-footer h4 { color: #fff; margin: 0 0 14px; font-size: 19px; }
.p2ppt-footer p { font-size: 14.5px; line-height: 1.7; }
.p2ppt-footer-risk { color: rgba(255,255,255,.55); font-size: 13px; }
.p2ppt-footer-menu { list-style: none; margin: 0; padding: 0; }
.p2ppt-footer-menu li { margin-bottom: 9px; }
.p2ppt-footer-menu a { color: rgba(255,255,255,.78); font-size: 14.5px; }
.p2ppt-footer-menu a:hover { color: var(--p2ppt-accent); }

.p2ppt-news-label { display: block; font-size: 13px; margin-bottom: 6px; color: rgba(255,255,255,.6); }
.p2ppt-news-row { display: flex; gap: 8px; }
.p2ppt-news-row input {
  flex: 1; min-width: 0; padding: 11px 14px; border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06); color: #fff; border-radius: 8px; font: inherit;
}
.p2ppt-news-row input::placeholder { color: rgba(255,255,255,.45); }
.p2ppt-news-note { font-size: 12px; color: rgba(255,255,255,.45); margin-top: 10px; }

.p2ppt-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.12);
  max-width: var(--p2ppt-maxw); margin: 0 auto; padding: 18px 24px;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  font-size: 13.5px;
}
.p2ppt-footer-bottom a { color: rgba(255,255,255,.6); }
.p2ppt-footer-bottom a:hover { color: var(--p2ppt-accent); }

/* ---------- Grelha de perfil ---------- */
.p2ppt-profile-grid { display: grid; grid-template-columns: 1fr 300px; gap: 44px; padding: 48px 24px; align-items: start; }
.p2ppt-profile-side { position: sticky; top: 110px; }
