/* Estilos exclusivos do infográfico de proteção, sem alterar a página anterior. */
#protecao-kryptopass {
  --kp-sec-ink: #173642;
  --kp-sec-accent: #087f8c;
  --kp-sec-mint: #c7f0e7;
  --kp-sec-line: #a2cbd1;
  padding: 72px 0 60px;
  color: var(--kp-sec-ink);
  background: linear-gradient(145deg, #f3f8fa, #fff 58%, #edf8f7);
  border-bottom: 1px solid #d4e7e8;
  scroll-margin-top: 110px;
}
#protecao-kryptopass .kp-sec-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
#protecao-kryptopass .kp-sec-heading { margin-bottom: 34px; }
#protecao-kryptopass .kp-sec-eyebrow { display: block; margin-bottom: 14px; color: var(--kp-sec-accent); font-size: 12px; font-weight: 800; letter-spacing: 2px; }
#protecao-kryptopass h2 { margin: 0; color: var(--kp-sec-ink); font-size: clamp(30px, 3.6vw, 44px); font-weight: 800; line-height: 1.2; letter-spacing: -1px; }
#protecao-kryptopass h2 > span { display: block; }
#protecao-kryptopass .kp-sec-title-accent { margin-top: 7px; color: var(--kp-sec-accent); }
#protecao-kryptopass .kp-sec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; list-style: none; padding: 0; margin: 0; }
#protecao-kryptopass .kp-sec-grid > li { min-width: 0; display: flex; }
#protecao-kryptopass .kp-sec-card { display: flex; flex-direction: column; width: 100%; min-width: 0; padding: 24px; border: 1px solid var(--kp-sec-line); border-radius: var(--radius); background: #fff; box-shadow: 0 8px 28px rgba(23, 54, 66, .04); }
#protecao-kryptopass .kp-sec-card-heading { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 14px; }
#protecao-kryptopass .kp-sec-number { flex: 0 0 46px; display: grid; place-items: center; height: 46px; border-radius: 50%; background: var(--kp-sec-mint); color: var(--kp-sec-ink); font-size: 27px; font-weight: 800; }
#protecao-kryptopass .kp-sec-card h3 { margin: 3px 0 0; font-size: 21px; line-height: 1.3; color: var(--kp-sec-ink); letter-spacing: -.3px; }
#protecao-kryptopass .kp-sec-body { font-size: 16px; line-height: 1.65; margin-bottom: 20px; color: var(--kp-sec-ink); }
#protecao-kryptopass .kp-sec-icon { display: block; flex: 0 0 auto; width: 64px; height: 64px; color: var(--kp-sec-accent); }
#protecao-kryptopass .kp-sec-diagram { display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0; width: 100%; margin: auto 0 0; padding: 12px 0; }
#protecao-kryptopass .kp-sec-node { display: flex; flex: 1 1 0; min-width: 0; flex-direction: column; align-items: center; gap: 4px; text-align: center; color: var(--kp-sec-ink); font-size: 13px; font-weight: 700; line-height: 1.45; }
#protecao-kryptopass .kp-sec-node .kp-sec-icon { margin-bottom: 6px; }
#protecao-kryptopass .kp-sec-node > span { display: block; max-width: 100%; overflow-wrap: anywhere; }
#protecao-kryptopass .kp-sec-arrow,
#protecao-kryptopass .kp-sec-plus { flex: 0 0 auto; color: var(--kp-sec-accent); font-size: 28px; line-height: 1; font-weight: 700; }
#protecao-kryptopass .kp-sec-benefit { display: flex; align-items: center; gap: 10px; margin: 20px 0 0; padding: 12px 14px; color: var(--kp-sec-ink); background: var(--kp-sec-mint); border-radius: 6px; font-size: 15px; line-height: 1.45; font-weight: 700; }
#protecao-kryptopass .kp-sec-benefit .kp-sec-icon,
#protecao-kryptopass .kp-sec-check { width: 24px; height: 24px; }
#protecao-kryptopass .kp-sec-example { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 14px; margin: auto 0 0; }
#protecao-kryptopass .kp-sec-example > .kp-sec-icon { width: 58px; height: 58px; }
#protecao-kryptopass .kp-sec-code-box { min-width: 0; padding: 15px; color: #fff; border: 1px solid #387886; background: #14323d; border-radius: 8px; }
#protecao-kryptopass .kp-sec-code-box p { font-size: 11px; font-weight: 700; letter-spacing: .5px; line-height: 1.6; margin-bottom: 8px; }
#protecao-kryptopass .kp-sec-code-box code { display: block; font-family: Consolas, "Courier New", monospace; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; word-break: break-all; }
#protecao-kryptopass .kp-sec-example-warning { margin: 10px 0 0; color: #45616b; font-size: 13px; line-height: 1.5; }
#protecao-kryptopass .kp-sec-restricted { display: flex; flex: 0 1 65px; min-width: 0; flex-direction: column; align-items: center; gap: 6px; font-size: 11px; line-height: 1.4; text-align: center; }
#protecao-kryptopass .kp-sec-restricted .kp-sec-icon { width: 24px; height: 24px; }
#protecao-kryptopass .kp-sec-access { gap: 8px; align-items: flex-start; }
#protecao-kryptopass .kp-sec-access .kp-sec-node { flex: 0 1 85px; }
#protecao-kryptopass .kp-sec-access .kp-sec-node .kp-sec-icon { width: 48px; height: 48px; }
#protecao-kryptopass .kp-sec-access .kp-sec-arrow { margin-top: 20px; font-size: 22px; }
#protecao-kryptopass .kp-sec-checklist { flex: 1 1 auto; min-width: 0; padding: 10px; list-style: none; border: 1px solid var(--kp-sec-line); border-radius: 8px; }
#protecao-kryptopass .kp-sec-checklist li { display: flex; align-items: center; gap: 7px; font-size: 12px; line-height: 1.5; color: var(--kp-sec-ink); }
#protecao-kryptopass .kp-sec-checklist li + li { margin-top: 7px; }
#protecao-kryptopass .kp-sec-checklist .kp-sec-icon { width: 18px; height: 18px; }
#protecao-kryptopass .kp-sec-blocked,
#protecao-kryptopass .kp-sec-temporary { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.55; margin: 12px 0 0; color: var(--kp-sec-ink); }
#protecao-kryptopass .kp-sec-blocked .kp-sec-icon { width: 25px; height: 25px; color: #c93041; }
#protecao-kryptopass .kp-sec-temporary { border-top: 1px solid #deecee; padding-top: 12px; }
#protecao-kryptopass .kp-sec-temporary .kp-sec-icon { width: 24px; height: 24px; }
#protecao-kryptopass .kp-sec-care { display: flex; align-items: center; gap: 16px; padding: 10px 0; }
#protecao-kryptopass .kp-sec-care .kp-sec-icon { width: 78px; height: 78px; }
#protecao-kryptopass .kp-sec-care .kp-sec-icon:last-child { width: 43px; height: 43px; color: #f3bd54; }
#protecao-kryptopass .kp-sec-comparison { margin-top: 28px; padding: 26px; border: 1px solid var(--kp-sec-line); border-radius: var(--radius); background: #fff; }
#protecao-kryptopass .kp-sec-comparison h3 { margin: 0 0 22px; text-align: center; font-size: 20px; line-height: 1.4; color: var(--kp-sec-ink); }
#protecao-kryptopass .kp-sec-comparison-diagram { gap: 28px; margin: 0; padding: 0; }
#protecao-kryptopass .kp-sec-comparison-source { display: flex; flex: 0 0 130px; flex-direction: column; align-items: center; gap: 8px; font-size: 15px; line-height: 1.5; font-weight: 700; text-align: center; }
#protecao-kryptopass .kp-sec-choices { display: grid; flex: 1 1 auto; min-width: 0; gap: 22px; }
#protecao-kryptopass .kp-sec-choice { display: grid; grid-template-columns: minmax(140px, .9fr) 200px minmax(0, 1fr); align-items: center; gap: 15px; color: var(--kp-sec-ink); font-size: 14px; line-height: 1.5; }
#protecao-kryptopass .kp-sec-choice-label { padding: 10px 14px; border-radius: 24px; text-align: center; background: #def7f0; font-weight: 700; }
#protecao-kryptopass .kp-sec-choice-flow { display: flex; align-items: center; justify-content: center; gap: 8px; }
#protecao-kryptopass .kp-sec-choice-flow .kp-sec-icon { width: 42px; height: 48px; }
#protecao-kryptopass .kp-sec-choice-icons { display: flex; flex: 0 0 110px; gap: 5px; align-items: center; justify-content: center; }
#protecao-kryptopass .kp-sec-choice-icons .kp-sec-plus { font-size: 20px; }
#protecao-kryptopass .kp-sec-keys-required { display: block; margin-top: 4px; }
#protecao-kryptopass .kp-sec-closing { margin-top: 30px; text-align: center; color: var(--kp-sec-ink); font-size: clamp(21px, 2.5vw, 30px); font-weight: 800; line-height: 1.4; }
#protecao-kryptopass .kp-sec-closing-accent { color: var(--kp-sec-accent); margin-top: 5px; }
#protecao-kryptopass .kp-sec-disclaimer { margin: 18px auto 0; max-width: 760px; font-size: 12px; line-height: 1.6; color: #45616b; text-align: center; }
@media (max-width: 1040px) {
  #protecao-kryptopass .kp-sec-card { padding: 20px; }
  #protecao-kryptopass .kp-sec-environments { gap: 7px; }
  #protecao-kryptopass .kp-sec-node { font-size: 12px; }
  #protecao-kryptopass .kp-sec-comparison-source { flex-basis: 90px; }
  #protecao-kryptopass .kp-sec-comparison-diagram { gap: 18px; }
  #protecao-kryptopass .kp-sec-choice { grid-template-columns: minmax(100px, .8fr) 200px minmax(0, 1fr); gap: 10px; }
}
@media (max-width: 760px) {
  #protecao-kryptopass { padding: 50px 0; }
  #protecao-kryptopass .kp-sec-grid { grid-template-columns: minmax(0, 1fr); }
  #protecao-kryptopass .kp-sec-card { padding: 22px; }
  #protecao-kryptopass .kp-sec-comparison { padding: 22px; }
  #protecao-kryptopass .kp-sec-comparison-diagram { flex-direction: column; gap: 22px; }
  #protecao-kryptopass .kp-sec-comparison-source { flex: 0 0 auto; }
  #protecao-kryptopass .kp-sec-choices { width: 100%; }
  #protecao-kryptopass .kp-sec-choice { grid-template-columns: minmax(0, 1fr); }
  #protecao-kryptopass .kp-sec-choice-flow { justify-self: center; }
  #protecao-kryptopass .kp-sec-choice > div:last-child { text-align: center; }
}
@media (max-width: 460px) {
  #protecao-kryptopass .kp-sec-card { padding: 18px; }
  #protecao-kryptopass .kp-sec-card-heading { gap: 10px; }
  #protecao-kryptopass .kp-sec-card h3 { font-size: 19px; }
  #protecao-kryptopass .kp-sec-number { flex-basis: 40px; height: 40px; font-size: 24px; }
  #protecao-kryptopass .kp-sec-body { font-size: 15px; }
  #protecao-kryptopass .kp-sec-diagram { gap: 6px; }
  #protecao-kryptopass .kp-sec-node { flex-basis: 46px; }
  #protecao-kryptopass .kp-sec-node:has(> span) { flex-grow: 2; }
  #protecao-kryptopass .kp-sec-node .kp-sec-icon { width: 46px; height: 52px; }
  #protecao-kryptopass .kp-sec-arrow,
  #protecao-kryptopass .kp-sec-plus { font-size: 21px; }
  #protecao-kryptopass .kp-sec-environments { flex-direction: column; gap: 12px; }
  #protecao-kryptopass .kp-sec-environments .kp-sec-node { display: grid; grid-template-columns: 52px minmax(0, 1fr); flex: 0 0 auto; width: 100%; max-width: 260px; min-height: 52px; column-gap: 14px; text-align: left; }
  #protecao-kryptopass .kp-sec-environments .kp-sec-node .kp-sec-icon { grid-row: 1 / span 2; margin: 0; }
  #protecao-kryptopass .kp-sec-environments .kp-sec-arrow { transform: rotate(90deg); }
  #protecao-kryptopass .kp-sec-environments .kp-sec-restricted { flex: 0 0 auto; flex-direction: row; gap: 8px; font-size: 11px; }
  #protecao-kryptopass .kp-sec-access { flex-wrap: wrap; gap: 8px; }
  #protecao-kryptopass .kp-sec-access .kp-sec-node { flex: 1 1 52px; font-size: 11px; }
  #protecao-kryptopass .kp-sec-access .kp-sec-node .kp-sec-icon { width: 36px; height: 44px; }
  #protecao-kryptopass .kp-sec-checklist { flex: 1 1 100px; padding: 8px; }
  #protecao-kryptopass .kp-sec-checklist li { font-size: 11px; gap: 5px; }
  #protecao-kryptopass .kp-sec-checklist .kp-sec-icon { width: 15px; height: 15px; }
  #protecao-kryptopass .kp-sec-benefit { font-size: 14px; padding: 11px 12px; }
  #protecao-kryptopass .kp-sec-example { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  #protecao-kryptopass .kp-sec-example > .kp-sec-icon { display: none; }
  #protecao-kryptopass .kp-sec-code-box { padding: 13px; }
  #protecao-kryptopass .kp-sec-care { gap: 10px; }
  #protecao-kryptopass .kp-sec-care .kp-sec-icon { width: 66px; height: 66px; }
  #protecao-kryptopass .kp-sec-comparison { padding: 20px 16px; }
}

