/* Product pages: feature layout that follows the home page identity (corporate.css + commercial.css). */
.pp-container { max-width:1280px; margin:0 auto; }
.pp-eyebrow { display:block; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#526a88; }

/* Hero */
.corporate-site .corporate-banner.pp-hero { padding:120px 32px 88px; }
.pp-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:64px; align-items:center; }
.pp-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; font-weight:600; color:#8fa8c5; }
.pp-breadcrumb a { color:#b3d0fb; text-decoration:none; }
.pp-breadcrumb a:hover { color:#fff; }
.pp-hero .pp-eyebrow { margin-top:28px; }
.corporate-site .pp-hero h1 { margin-top:14px; font-size:clamp(32px,3.6vw,50px); }
.corporate-site .pp-hero .pp-lead { margin-top:20px; max-width:600px; font-size:17px; line-height:1.8; }
.pp-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.corporate-site .pp-hero .pp-trust { margin-top:18px; font-size:12px; color:#8fa8c5 !important; }

.pp-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 20px; border:1px solid #2563eb; border-radius:8px; background:#2563eb; color:#fff !important; font-size:13px; font-weight:700; text-decoration:none; transition:background .2s, border-color .2s; }
.pp-btn:hover { background:#1d4ed8; }
.pp-btn.is-ghost { border-color:#3b5575; background:transparent; color:#dbe6f5 !important; }
.pp-btn.is-ghost:hover { background:#112339; border-color:#536a88; }
.pp-btn.is-light { border-color:var(--tv-line); background:#fff; color:#23364e !important; }
.pp-btn.is-light:hover { background:#f4f7fa; }

/* Dark demo panel (mockups) */
.pp-panel { margin:0; border:1px solid #2a4260; border-radius:16px; overflow:hidden; background:#0c1c2f; color:#eaf1fa; box-shadow:0 30px 60px -30px #000a; }
.pp-panel-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 24px; border-bottom:1px solid #26374b; background:#112339; }
.pp-panel-head .pp-eyebrow { margin-top:0; color:#8fa8c5; font-size:9px; }
.pp-panel-head strong { display:block; margin-top:6px; font-size:17px; font-weight:600; letter-spacing:-.02em; color:#f4f8ff; }
.pp-panel-tag { flex-shrink:0; padding:5px 8px; border:1px solid #3b4e66; border-radius:4px; font-size:10px; color:#a8bad0; }
.pp-panel-body { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding:20px 24px; }
.pp-hero-grid > * { min-width:0; }
.pp-panel figcaption { padding:14px 24px; border-top:1px solid #26374b; background:#102136; font-size:10px; line-height:1.6; color:#94a9c2; }
.pp-row { display:flex; align-items:center; gap:14px; padding:12px 14px; border:1px solid #22354c; border-radius:10px; background:#0f2238; }
.pp-row-badge { display:grid; place-items:center; flex:0 0 40px; height:40px; border:1px solid #33506f; border-radius:8px; background:#16304d; font:700 10px ui-monospace,monospace; line-height:1.15; text-align:center; color:#b3d0fb; }
.pp-row-main { flex:1; min-width:0; }
.pp-row-main strong { display:block; overflow:hidden; font-size:13px; font-weight:600; color:#f4f8ff; text-overflow:ellipsis; white-space:nowrap; }
.pp-row-main small { display:block; margin-top:3px; overflow:hidden; font-size:11px; color:#94a9c2; text-overflow:ellipsis; white-space:nowrap; }
.pp-tag { flex-shrink:0; padding:4px 8px; border-radius:4px; background:#1c334c; font-size:10px; font-weight:700; color:#b3d0fb; }
.pp-tag.is-ok { background:#123a2c; color:#7ee2ae; }
.pp-tag.is-warn { background:#3f3216; color:#f6cf7a; }
.pp-tag.is-danger { background:#43202a; color:#f7a1ae; }
.pp-kpis { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pp-kpis div { padding:14px; border:1px solid #22354c; border-radius:10px; background:#0f2238; }
.pp-kpis strong { display:block; font-size:20px; font-weight:700; font-variant-numeric:tabular-nums; color:#f4f8ff; }
.pp-kpis small { font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#94a9c2; }
.pp-meter { height:4px; margin-top:8px; overflow:hidden; border-radius:2px; background:#20354d; }
.pp-meter span { display:block; height:100%; border-radius:2px; background:#7ca9e9; }
.pp-signature { padding:14px; border:1px dashed #33506f; border-radius:10px; text-align:center; }
.pp-signature span { display:inline-block; min-width:140px; padding-bottom:4px; border-bottom:1px solid #8fa8c5; font:italic 22px Georgia,serif; color:#f4f8ff; }
.pp-signature small { display:block; margin-top:8px; font-size:10px; color:#94a9c2; }
.pp-panel-status { display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:10px; background:#2563eb; font-size:12px; font-weight:700; color:#fff; }
.pp-dot { width:8px; height:8px; flex-shrink:0; border-radius:999px; background:#7ee2ae; box-shadow:0 0 0 4px #7ee2ae26; }

/* Sections */
.corporate-subpage main>section.pp-section { padding:96px 32px; background:#fff; }
.corporate-subpage main>section.pp-section.is-muted { background:#f4f6f9; }
.pp-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:end; margin-bottom:48px; }
.pp-heading h2, .pp-split h2 { margin-top:16px; font-size:clamp(27px,3vw,39px); line-height:1.17; color:var(--tv-ink); }
.pp-intro { max-width:470px; font-size:16px; line-height:1.85; color:#526176; }

.pp-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pp-cards.is-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pp-card { display:flex; flex-direction:column; align-items:flex-start; padding:28px; border:1px solid #d8e1ec; border-radius:14px; background:#fff; transition:border-color .2s, box-shadow .2s; }
.is-muted .pp-card { background:#fff; }
.pp-section:not(.is-muted) .pp-card { background:#f8fafc; }
.pp-card:hover { border-color:#b7c8de; box-shadow:0 12px 32px -18px #12294540; }
.pp-icon { display:grid; place-items:center; width:44px; height:44px; border:1px solid #dae3ef; border-radius:10px; background:#e9eef6; font:700 12px ui-monospace,monospace; color:#294c7a; }
.pp-card h3 { margin-top:20px; font-size:18px; font-weight:600; letter-spacing:-.02em; color:var(--tv-ink); }
.pp-card p { margin-top:10px; font-size:14px; line-height:1.75; color:#526176; }
.pp-card .pp-card-kicker { margin-top:4px; font-size:12px; font-weight:600; color:#526a88; }
.pp-checks { display:grid; gap:8px; margin-top:18px; font-size:13px; color:#33465e; }
.pp-checks li { display:flex; gap:10px; line-height:1.5; }
.pp-checks li::before { content:""; flex:0 0 16px; height:16px; margin-top:1px; border-radius:4px; background:#e3ecfa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / 11px no-repeat; }
.pp-card-foot { margin-top:auto; padding-top:20px; }
.pp-chip { display:inline-block; padding:5px 9px; border:1px solid #d7e1ec; border-radius:4px; background:#f4f7fa; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#61768f; }
.pp-chip.is-ok { border-color:#b9e3cc; background:#effaf4; color:#17663d; }

.pp-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:72px; align-items:start; }
.pp-split .pp-intro { margin-top:20px; }
.pp-split-aside { position:sticky; top:120px; }
.pp-steps { display:grid; counter-reset:pp-step; }
.pp-step { display:flex; gap:20px; padding:26px 0; border-bottom:1px solid #dbe2ea; counter-increment:pp-step; }
.pp-step:first-child { padding-top:0; }
.pp-step:last-child { border-bottom:0; padding-bottom:0; }
.pp-step::before { content:counter(pp-step,decimal-leading-zero); display:grid; place-items:center; flex-shrink:0; width:34px; height:34px; border:1px solid #d2dce8; border-radius:6px; background:#edf1f6; font:11px ui-monospace,monospace; color:#607a99; }
.pp-step.is-final::before { content:"✓"; border-color:#b9e3cc; background:#dcf5e6; color:#17663d; font-family:inherit; font-size:14px; }
.pp-step h3 { margin:3px 0 8px; font-size:17px; font-weight:600; letter-spacing:-.02em; color:var(--tv-ink); }
.pp-step p { margin:0; font-size:14px; line-height:1.8; color:#526176; }
.pp-step code { padding:1px 6px; border:1px solid #d2dce8; border-radius:4px; background:#edf1f6; font:600 12px ui-monospace,monospace; color:#1d4ed8; }

.pp-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid #d8e1ec; border-radius:14px; background:#d8e1ec; }
.pp-tiles.is-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.pp-tile { padding:28px; background:#fff; }
.pp-tile h3 { font-size:16px; font-weight:600; letter-spacing:-.015em; color:var(--tv-ink); }
.pp-tile p { margin-top:8px; font-size:14px; line-height:1.75; color:#526176; }
.pp-tile code { display:inline-block; padding:4px 8px; border:1px solid #d2dce8; border-radius:6px; background:#edf1f6; font:600 13px ui-monospace,monospace; color:#1d4ed8; }
.pp-tile code + p { margin-top:10px; }

.pp-related { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:32px; font-size:13px; color:#526176; }

/* Closing */
.corporate-subpage main>section.pp-closing { padding:24px 32px 96px; background:#fff; }
.pp-closing-panel { display:grid; grid-template-columns:1.6fr 1fr; gap:56px; align-items:center; padding:54px 48px; border:1px solid #233950; border-radius:16px; background:#0c1c2f; color:#f1f5fb; }
.pp-closing-panel .pp-eyebrow { color:#8ea8c8; }
.pp-closing-panel h2 { margin-top:18px; font-size:clamp(26px,3vw,38px); line-height:1.18; color:#f4f8ff; }
.pp-closing-panel p { margin-top:16px; max-width:560px; font-size:15px; line-height:1.85; color:#b1c0d3; }
.pp-closing-actions { display:grid; gap:12px; padding-left:48px; border-left:1px solid #2a3c52; }
.pp-closing-actions .pp-btn { justify-content:space-between; }
.pp-closing-actions small { font-size:12px; color:#8ea8c8; }

/* Responsive */
@media (max-width:1023px) {
  .corporate-site .corporate-banner.pp-hero { padding:104px 24px 64px; }
  .pp-hero-grid, .pp-split, .pp-heading, .pp-closing-panel { grid-template-columns:1fr; gap:40px; }
  .pp-split-aside { position:static; }
  .pp-cards, .pp-cards.is-4, .pp-tiles, .pp-tiles.is-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .corporate-subpage main>section.pp-section { padding:72px 24px; }
  .pp-closing-actions { padding:28px 0 0; border-left:0; border-top:1px solid #2a3c52; }
}
@media (max-width:767px) {
  .corporate-site .corporate-banner.pp-hero { padding:88px 20px 48px; }
  .corporate-site .pp-hero .pp-lead { font-size:15px; }
  .pp-hero-actions .pp-btn { flex:1 1 100%; }
  .pp-panel-head, .pp-panel-body { padding-inline:16px; }
  .pp-panel figcaption { padding-inline:16px; }
  .corporate-subpage main>section.pp-section { padding:56px 20px; }
  .pp-heading { gap:20px; margin-bottom:32px; }
  .pp-cards, .pp-cards.is-4, .pp-tiles, .pp-tiles.is-4 { grid-template-columns:1fr; }
  .pp-card, .pp-tile { padding:22px; }
  .corporate-subpage main>section.pp-closing { padding:8px 16px 56px; }
  .pp-closing-panel { padding:32px 22px; }
}
@media (prefers-reduced-motion:reduce) { .pp-card, .pp-btn { transition:none; } }

/* Notice, linked tiles, FAQ and embedded previews */
.pp-notice { margin-top:28px; max-width:640px; padding:16px 18px; border:1px solid #2f4764; border-left:3px solid #7ca9e9; border-radius:10px; background:#0f2238; font-size:13px; line-height:1.7; color:#c3d1e3; }
.pp-notice strong { color:#f4f8ff; }
a.pp-tile { display:block; text-decoration:none; transition:background .2s; }
a.pp-tile:hover { background:#f8fafc; }
a.pp-tile h3::after { content:" →"; color:#1d4ed8; }
.pp-faq { display:grid; gap:12px; max-width:920px; }
.pp-faq details { border:1px solid #d8e1ec; border-radius:12px; background:#fff; }
.pp-faq summary { display:flex; justify-content:space-between; gap:16px; padding:20px 22px; font-size:16px; font-weight:600; color:var(--tv-ink); cursor:pointer; list-style:none; }
.pp-faq summary::-webkit-details-marker { display:none; }
.pp-faq summary::after { content:"+"; flex-shrink:0; font-size:20px; line-height:1; color:#526a88; }
.pp-faq details[open] summary::after { content:"−"; }
.pp-faq details p { padding:0 22px 20px; font-size:14px; line-height:1.8; color:#526176; }
.pp-embed figcaption { margin-top:14px; font-size:12px; line-height:1.6; color:#61768f; }
.pp-contacts { font-size:12px; color:#8ea8c8; }
.pp-contacts a { color:#b3d0fb; }

/* Capturas reais do sistema usadas no lugar das prévias ilustrativas. */
.pp-shot { margin:0; }
.pp-shot img { display:block; width:100%; height:auto; border:1px solid #2a4260; border-radius:16px; background:#fff; box-shadow:0 30px 60px -30px #000a; }
.pp-shot figcaption { margin-top:12px; font-size:11px; line-height:1.7; color:#94a9c2; }
.pp-section .pp-shot img, .pp-closing .pp-shot img { border-color:#d8e1ec; box-shadow:0 22px 44px -26px #0f294880; }
.pp-section .pp-shot figcaption { color:#61768f; font-size:12px; }
.pp-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.pp-gallery .pp-shot figcaption { margin-top:10px; }
@media(max-width:860px){ .pp-gallery { grid-template-columns:1fr; } }
