/* Academia IPC — sistema editorial plano, compacto y compatible con anuncios responsivos. */
.education-main {
  --surface: var(--paper);
  --surface-muted: var(--canvas);
  --surface-strong: var(--line-soft);
  --accent: var(--teal);
  --accent-strong: var(--teal-dark);
  --line-strong: var(--line);
  padding: 0 0 72px;
  overflow: clip;
}
.education-main .btn { border-radius: 3px; }
.education-main .btn-primary { border-color: var(--teal-dark); background: var(--teal); color: #fff; }
.education-main .btn-primary:hover { background: var(--teal-dark); }
.education-main .btn-secondary { border-color: var(--line); background: var(--paper); color: var(--ink); }
.education-main .btn-secondary:hover { border-color: var(--teal); color: var(--teal); }
.education-main .shell { min-width: 0; }
.edu-breadcrumb { padding: 18px 0 12px; font-size: .8125rem; color: var(--ink-muted); }
.edu-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.edu-breadcrumb li:not(:last-child)::after { content: "/"; margin-left: 6px; color: var(--line-strong); }
.edu-breadcrumb a { color: var(--accent-strong); }
.edu-kicker { display: block; margin-bottom: 9px; color: var(--accent-strong); font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.education-main h1, .education-main h2, .education-main h3 { text-wrap: balance; }
.education-main p, .education-main li { text-wrap: pretty; }
.academy-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: 42px; align-items: end; padding: 44px 0 50px; border-bottom: 1px solid var(--line); }
.academy-hero h1, .course-hero h1, .guide-header h1, .unit-header h1 { margin: 0; color: var(--ink); font-size: clamp(2.25rem, 5vw, 4.7rem); line-height: .98; letter-spacing: -.055em; }
.academy-hero > div > p, .course-hero > div > p, .guide-deck, .unit-header > p { max-width: 760px; margin: 20px 0 0; color: var(--ink-soft); font-size: clamp(1.05rem, 1.8vw, 1.27rem); line-height: 1.65; }
.academy-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.academy-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border: 1px solid var(--line-strong); background: var(--surface); }
.academy-stats div { min-width: 0; padding: 18px 14px; border-right: 1px solid var(--line); }
.academy-stats div:last-child { border-right: 0; }
.academy-stats dt { color: var(--ink); font-size: 1.65rem; font-weight: 900; line-height: 1; }
.academy-stats dd { margin: 7px 0 0; color: var(--ink-muted); font-size: .78rem; line-height: 1.35; }
.course-feature { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(250px, .5fr); gap: 40px; margin: 32px 0 68px; padding: 30px; border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--line)); border-top: 4px solid var(--accent); background: var(--surface); }
.course-feature h2 { margin: 0; color: var(--ink); font-size: clamp(1.6rem, 3vw, 2.35rem); letter-spacing: -.035em; }
.course-feature p { max-width: 760px; margin: 13px 0 0; color: var(--ink-soft); line-height: 1.7; }
.course-feature-meta { display: flex; flex-direction: column; gap: 8px; padding-left: 28px; border-left: 1px solid var(--line); color: var(--ink-muted); font-size: .88rem; }
.course-feature-meta a { margin-top: 10px; color: var(--accent-strong); font-weight: 800; }
.section-heading { max-width: 760px; margin-bottom: 28px; }
.section-heading h2 { margin: 0; color: var(--ink); font-size: clamp(1.65rem, 3vw, 2.5rem); letter-spacing: -.04em; }
.section-heading p { color: var(--ink-soft); line-height: 1.7; }
.silo-section { scroll-margin-top: 100px; margin: 0 0 62px; }
.silo-section > header { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 18px; align-items: start; margin-bottom: 18px; padding-bottom: 17px; border-bottom: 1px solid var(--line-strong); }
.silo-section > header > span { color: var(--accent-strong); font-size: .8rem; font-weight: 900; letter-spacing: .08em; }
.silo-section > header h2 { margin: -4px 0 4px; color: var(--ink); font-size: 1.42rem; }
.silo-section > header p { margin: 0; color: var(--ink-muted); line-height: 1.55; }
.silo-section > header strong { color: var(--ink-muted); font-size: .78rem; white-space: nowrap; }
.guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.guide-card { min-width: 0; padding: 21px; border: 1px solid var(--line); border-top: 3px solid var(--line-strong); background: var(--surface); }
.guide-card:hover { border-top-color: var(--accent); }
.guide-card-label, .unit-state { display: block; color: var(--accent-strong); font-size: .69rem; font-weight: 850; letter-spacing: .075em; text-transform: uppercase; }
.guide-card h3 { margin: 9px 0 9px; color: var(--ink); font-size: 1.08rem; line-height: 1.3; }
.guide-card h3 a { color: inherit; }
.guide-card p { margin: 0; color: var(--ink-muted); font-size: .89rem; line-height: 1.58; }
.guide-card-link { display: inline-block; margin-top: 16px; color: var(--accent-strong); font-size: .82rem; font-weight: 800; }
.editorial-standard { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); gap: 44px; padding: 31px; border: 1px solid var(--line-strong); background: var(--surface-muted); }
.editorial-standard h2 { margin: 0; color: var(--ink); font-size: 1.65rem; }
.editorial-standard ol { margin: 0; padding-left: 22px; color: var(--ink-soft); line-height: 1.65; }
.editorial-standard > p { grid-column: 2; margin: -24px 0 0; color: var(--ink-muted); font-size: .8rem; }

.guide-header { max-width: 920px; padding: 38px 0 34px; border-bottom: 1px solid var(--line); }
.guide-header h1 { font-size: clamp(2.15rem, 5vw, 4.25rem); }
.guide-byline { display: flex; flex-wrap: wrap; gap: 9px 22px; margin-top: 21px; color: var(--ink-muted); font-size: .78rem; }
.guide-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 54px; align-items: start; padding-top: 34px; }
.guide-content { min-width: 0; max-width: 800px; }
.guide-content p, .guide-content li { color: var(--ink-soft); font-size: 1rem; line-height: 1.75; }
.guide-content h2 { margin: 0 0 14px; color: var(--ink); font-size: clamp(1.35rem, 2.5vw, 1.8rem); letter-spacing: -.025em; }
.answer-block { padding: 24px 26px; border-left: 4px solid var(--accent); background: var(--surface-muted); }
.answer-block p { margin: 0; color: var(--ink); font-size: 1.08rem; }
.guide-section { padding: 35px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 100px; }
.guide-section ol, .guide-section ul { margin: 0; padding-left: 24px; }
.guide-section li + li { margin-top: 9px; }
.error-list li::marker { color: #bd493f; }
.check-list li::marker { color: var(--accent-strong); }
.worked-example { margin: 35px 0 0; padding: 26px; border: 1px solid var(--line-strong); border-top: 4px solid #d79a32; background: var(--surface); }
.worked-example p { margin-bottom: 0; }
.guide-faq { border-top: 1px solid var(--line); }
.guide-faq details { border-bottom: 1px solid var(--line); }
.guide-faq summary { padding: 17px 0; color: var(--ink); font-weight: 800; cursor: pointer; }
.guide-faq p { margin: 0 0 18px; }
.source-box { margin-top: 35px; padding: 24px; border: 1px solid var(--line); background: var(--surface-muted); scroll-margin-top: 100px; }
.source-box ul { margin: 0; padding-left: 21px; }
.source-box a { color: var(--accent-strong); }
.source-box p { margin: 15px 0 0; font-size: .82rem; }
.guide-aside { position: sticky; top: 92px; display: grid; gap: 12px; }
.guide-aside > div, .guide-aside nav { padding: 21px; border: 1px solid var(--line); background: var(--surface); }
.guide-aside h2 { margin: 0; color: var(--ink); font-size: 1.25rem; }
.guide-aside p { color: var(--ink-muted); font-size: .87rem; line-height: 1.55; }
.guide-aside .btn { width: 100%; }
.guide-aside nav { display: grid; gap: 9px; }
.guide-aside nav strong { color: var(--ink); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.guide-aside nav a { color: var(--accent-strong); font-size: .84rem; }
.related-guides { margin-top: 66px; padding-top: 38px; border-top: 1px solid var(--line-strong); }

.course-hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 48px; padding: 42px 0 52px; border-bottom: 1px solid var(--line); }
.course-hero aside { align-self: end; display: grid; gap: 7px; padding: 24px; border: 1px solid var(--line-strong); border-top: 4px solid var(--accent); background: var(--surface); }
.course-hero aside span { color: var(--ink-muted); font-size: .76rem; text-transform: uppercase; letter-spacing: .07em; }
.course-hero aside strong { margin-bottom: 12px; color: var(--ink); font-size: 1rem; }
.course-progress-card { max-width: 760px; margin-top: 27px; padding: 17px; border: 1px solid var(--line); background: var(--surface); }
.course-progress-card > div:first-child { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; color: var(--ink); }
.course-progress-card span { color: var(--ink-muted); font-size: .79rem; }
.course-progress-track { height: 6px; margin-top: 13px; overflow: hidden; background: var(--surface-strong); }
.course-progress-track span { display: block; height: 100%; background: var(--accent); transition: width .25s ease; }
.course-program { padding: 54px 0 20px; }
.course-map { display: grid; gap: 10px; counter-reset: unit; }
.course-unit-card { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 20px; border: 1px solid var(--line); border-left: 4px solid var(--line-strong); background: var(--surface); }
.course-unit-card.is-complete { border-left-color: var(--accent); background: color-mix(in srgb, var(--accent) 4%, var(--surface)); }
.course-unit-card .unit-number { color: var(--ink); font-size: 1.45rem; font-weight: 900; }
.course-unit-card h3 { margin: 4px 0; color: var(--ink); font-size: 1.16rem; }
.course-unit-card h3 a { color: inherit; }
.course-unit-card p { margin: 0 0 7px; color: var(--ink-muted); line-height: 1.5; }
.course-unit-card div > span:last-child { color: var(--ink-muted); font-size: .78rem; }
.unit-open { color: var(--accent-strong); font-size: .83rem; font-weight: 850; white-space: nowrap; }
.diploma-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, .65fr); gap: 42px; margin-top: 48px; padding: 30px; border: 1px solid var(--line-strong); background: var(--surface-muted); }
.diploma-panel h2 { margin: 0; color: var(--ink); font-size: 1.75rem; }
.diploma-panel p { color: var(--ink-muted); line-height: 1.6; }
.diploma-form { display: grid; align-content: center; gap: 8px; }
.diploma-form label { color: var(--ink); font-size: .78rem; font-weight: 850; text-transform: uppercase; }
.diploma-form input { min-width: 0; height: 48px; padding: 0 13px; border: 1px solid var(--line-strong); border-radius: 3px; background: var(--surface); color: var(--ink); font: inherit; }
.diploma-form input:disabled, .diploma-form button:disabled { opacity: .55; cursor: not-allowed; }
.diploma-form p { margin: 2px 0 0; font-size: .78rem; }
.course-method { margin-top: 58px; }
.course-method h2 { color: var(--ink); font-size: 1.75rem; }
.course-method > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); }
.course-method article { padding: 24px; border-right: 1px solid var(--line); }
.course-method article:last-child { border-right: 0; }
.course-method strong { color: var(--accent-strong); text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; }
.course-method p { color: var(--ink-muted); line-height: 1.6; }

.unit-shell { max-width: 940px; margin: 0 auto; }
.unit-header { padding: 38px 0 28px; border-bottom: 1px solid var(--line); }
.unit-header h1 { font-size: clamp(2rem, 5vw, 3.7rem); }
.step-progress { display: none; margin-top: 25px; }
.course-js .step-progress { display: block; }
.step-progress > span { display: block; margin-bottom: 8px; color: var(--ink-muted); font-size: .78rem; font-weight: 800; }
.step-progress > div { height: 5px; overflow: hidden; background: var(--surface-strong); }
.step-progress i { display: block; height: 100%; background: var(--accent); transition: width .2s ease; }
.course-reading { padding: 8px 0 0; }
.course-lesson, .course-quiz { padding: 34px 0; border-bottom: 1px solid var(--line); }
.course-lesson h2, .course-quiz h2 { margin: 7px 0 14px; color: var(--ink); font-size: clamp(1.55rem, 3vw, 2.15rem); }
.course-lesson > p, .course-quiz > p { color: var(--ink-soft); font-size: 1.04rem; line-height: 1.78; }
.lesson-label { color: var(--accent-strong); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.lesson-example { margin-top: 22px; padding: 19px 21px; border-left: 4px solid #d79a32; background: var(--surface-muted); }
.lesson-example strong { color: var(--ink); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.lesson-example p { margin: 7px 0 0; color: var(--ink-soft); line-height: 1.65; }
.course-quiz fieldset { min-width: 0; margin: 22px 0 0; padding: 20px; border: 1px solid var(--line); }
.course-quiz legend { max-width: 100%; padding: 0 8px; color: var(--ink); font-weight: 800; line-height: 1.45; }
.course-quiz legend span { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-right: 9px; background: var(--surface-strong); font-size: .75rem; }
.course-quiz label { display: flex; gap: 10px; align-items: flex-start; margin-top: 10px; padding: 11px 12px; border: 1px solid var(--line); color: var(--ink-soft); cursor: pointer; }
.course-quiz label:has(input:checked) { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 5%, var(--surface)); color: var(--ink); }
.course-quiz input { flex: 0 0 auto; margin-top: 3px; }
.course-quiz fieldset.is-correct { border-left: 4px solid #248060; }
.course-quiz fieldset.is-wrong { border-left: 4px solid #bd493f; }
.quiz-explanation { margin: 12px 0 0; color: var(--ink-muted); font-size: .86rem; line-height: 1.55; }
.course-quiz .btn { margin-top: 22px; }
.quiz-result { min-height: 24px; color: var(--ink); font-weight: 800; }
.course-controls { display: none; grid-template-columns: 1fr auto 1fr; gap: 10px; padding: 22px 0; }
.course-js .course-controls { display: grid; }
.course-controls [hidden] { display: none !important; }
.course-controls > :last-child { justify-self: end; }
.unit-neighbors { display: flex; justify-content: space-between; gap: 18px; padding: 25px 0; border-top: 1px solid var(--line); }
.unit-neighbors a { color: var(--accent-strong); font-size: .84rem; font-weight: 800; }

@media (max-width: 900px) {
  .academy-hero, .course-hero, .guide-layout, .diploma-panel { grid-template-columns: 1fr; gap: 27px; }
  .academy-stats { max-width: 580px; }
  .course-feature { grid-template-columns: 1fr; gap: 22px; }
  .course-feature-meta { padding: 19px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-aside { position: static; grid-row: 1; }
}

@media (max-width: 620px) {
  .education-main { padding-bottom: 48px; }
  .edu-breadcrumb { padding-top: 13px; }
  .academy-hero, .course-hero { padding: 27px 0 34px; }
  .academy-hero h1, .course-hero h1, .guide-header h1 { letter-spacing: -.045em; }
  .academy-stats { grid-template-columns: 1fr; }
  .academy-stats div { display: grid; grid-template-columns: 55px 1fr; align-items: center; border-right: 0; border-bottom: 1px solid var(--line); }
  .academy-stats div:last-child { border-bottom: 0; }
  .academy-stats dd { margin: 0; }
  .course-feature, .editorial-standard, .diploma-panel { padding: 21px 17px; }
  .editorial-standard { grid-template-columns: 1fr; gap: 22px; }
  .editorial-standard > p { grid-column: 1; margin: 0; }
  .silo-section > header { grid-template-columns: 31px minmax(0, 1fr); gap: 9px; }
  .silo-section > header strong { grid-column: 2; }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-card { padding: 18px; }
  .answer-block, .worked-example, .source-box { padding: 20px 17px; }
  .guide-byline { flex-direction: column; gap: 4px; }
  .course-unit-card { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 17px 14px; }
  .course-unit-card .unit-open { grid-column: 2; }
  .course-method > div { grid-template-columns: 1fr; }
  .course-method article { border-right: 0; border-bottom: 1px solid var(--line); }
  .course-method article:last-child { border-bottom: 0; }
  .course-controls { grid-template-columns: 1fr 1fr; }
  .course-controls > a { grid-column: 1 / -1; grid-row: 2; }
  .course-controls > :last-child { justify-self: stretch; }
  .unit-neighbors { flex-direction: column; }
  .course-quiz fieldset { padding: 16px 12px; }
}

@media (max-width: 360px) {
  .academy-actions, .academy-actions .btn, .course-controls .btn { width: 100%; }
  .academy-hero h1, .course-hero h1, .guide-header h1, .unit-header h1 { font-size: 2rem; }
  .course-feature, .guide-card, .guide-aside > div, .guide-aside nav, .course-hero aside { padding-left: 14px; padding-right: 14px; }
}
