/* Ajustes locais das páginas de aprendizagem; sem alterar a camada global. */
body.portfolio-content main.blog-hub .blog-topic-card > span,
body.portfolio-content main.blog-hub .blog-essential-number { color:#17627c; }
body.portfolio-content main.blog-hub .blog-topic-card > small,
body.portfolio-content main.blog-hub .blog-card-meta > span:nth-child(2),
body.portfolio-content main.blog-hub .blog-hub-section-head > p { color:#526477; }
body.portfolio-content main.blog-hub .blog-hub-hero { padding: 58px 0 48px; }
body.portfolio-content main.blog-hub .blog-hub-hero-shell { grid-template-columns: minmax(0, 1fr); gap: 24px; }
body.portfolio-content main.blog-hub .blog-hub-intro h1 { margin: 10px 0 14px; font-size: clamp(44px, 5vw, 64px); line-height: 1; }
body.portfolio-content main.blog-hub .blog-hub-search { margin-top: 20px; }
body.portfolio-content .blog-hub-section { padding: 56px 0; }
body.portfolio-content .blog-hub-topics { padding-top: 48px; }
body.portfolio-content .blog-hub-section-head { margin-bottom: 24px; }
body.portfolio-content .blog-topic-card.is-active { background: #e9f4f7; box-shadow: inset 0 0 0 2px #2b83a0; }
body.portfolio-content .blog-topic-card:focus-visible,
body.portfolio-content .learning-reset:focus-visible { outline: 3px solid #13829c; outline-offset: 3px; }
body.portfolio-content .learning-reset,
body.portfolio-content .learning-controls button {
  border: 1px solid #9eb5c8; border-radius: 8px; padding: 10px 14px;
  background: #fff; color: #12344a; font: inherit; font-weight: 700; cursor: pointer;
}
body.portfolio-content .learning-reset { margin-top: 18px; }

body.portfolio-content .learning-path {
  margin: 34px 0 30px; padding: 24px 26px; border: 1px solid rgba(116, 226, 248, .24);
  border-radius: 16px; background: rgba(8, 26, 45, .78); color: #fff;
}
body.portfolio-content .learning-path h2 { margin: 4px 0 18px; color: #fff; font-size: 25px; }
body.portfolio-content .learning-path ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
body.portfolio-content .learning-path li { display: flex; min-width: 0; flex-direction: column; gap: 8px; }
body.portfolio-content .learning-path li > a:first-child { display: flex; gap: 10px; align-items: flex-start; color: #fff; text-decoration: none; }
body.portfolio-content .learning-path li > a:first-child span { color: #74e2f8; font: 700 13px "IBM Plex Mono", monospace; }
body.portfolio-content .learning-help,
body.portfolio-content .learning-path-note { color: rgba(255,255,255,.68); font-size: 13px; }
body.portfolio-content .learning-help { padding-left: 27px; }
body.portfolio-content .learning-path-note { margin: 18px 0 0; }
body.portfolio-content .learning-path a:hover { color: #74e2f8; }

body.portfolio-content .learning-controls { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; margin: 24px 0 10px; }
body.portfolio-content .learning-controls label { display: grid; gap: 6px; color: #16354e; font-size: 13px; font-weight: 700; }
body.portfolio-content .learning-controls select { min-width: 190px; padding: 10px 34px 10px 12px; border: 1px solid #bfd0dd; border-radius: 8px; background: #fff; color: #18364e; font: inherit; }
body.portfolio-content .learning-result-count { margin: 8px 0 0; color: #617184; font-size: 14px; }
body.portfolio-content .ds-card[hidden] { display: none !important; }
body.portfolio-content .learning-validation { flex-basis: 100%; padding: 0 !important; background: transparent !important; color: #53667a !important; font-size: 11px !important; font-weight: 700; }
body.portfolio-content .learning-path + .learning-controls { margin-top: 34px; }
body.portfolio-content main.section:has(#challengeGrid) .section-inner > .page-title { max-width: 760px; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.04; }
body.portfolio-content main.section:has(#challengeGrid) .section-inner > .section-lead { max-width: 700px; font-size: 17px; line-height: 1.55; }

@media (max-width: 900px) {
  body.portfolio-content main.blog-hub .blog-hub-hero-shell { grid-template-columns: 1fr; gap: 16px; }
  body.portfolio-content .learning-path ol { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  body.portfolio-content main.blog-hub .blog-hub-hero { padding: 34px 0 30px; }
  body.portfolio-content main.blog-hub .blog-hub-intro h1 { margin: 8px 0 12px; font-size: 38px; line-height: 1.04; }
  body.portfolio-content main.blog-hub .blog-hub-intro > p { font-size: 14px; line-height: 1.5; }
  body.portfolio-content main.blog-hub .blog-hub-search { min-height: 50px; margin-top: 16px; }
  body.portfolio-content .blog-hub-section { padding: 42px 0; }
  body.portfolio-content .learning-path { padding: 20px; }
  body.portfolio-content .learning-controls { align-items: stretch; flex-direction: column; }
  body.portfolio-content .learning-controls select { width: 100%; }
  body.portfolio-content main.section:has(#challengeGrid) .section-inner > .page-title { max-width: 520px; font-size: 38px; line-height: 1.04; }
  body.portfolio-content main.section:has(#challengeGrid) .section-inner > .section-lead { font-size: 15px; line-height: 1.5; }
}
