/* Bootstrap/MDB article layout, scoped to avoid changing the shared site chrome. */
.knowledge-template { --knowledge-ink: #00204c; --knowledge-blue: #0269fe; --knowledge-gold: #fac63f; --knowledge-paper: #e1ebff; color: #263340; }
.knowledge-template .knowledge-template-section { margin-block: 2.5rem; scroll-margin-top: 6rem; }
#evidence-articulos .knowledge-template article > section { padding-block: 0; }
.knowledge-template .knowledge-template-meta { font-size: .9rem; line-height: 1.75; }
.knowledge-template .knowledge-template-figure figcaption { margin-top: .5rem; color: #6c757d; font-size: .9rem; }
.knowledge-template .knowledge-template-steps { counter-reset: knowledge-step; padding-left: 0; list-style: none; }
.knowledge-template .knowledge-template-steps li { position: relative; padding: 0 0 1.25rem 3.5rem; }
.knowledge-template .knowledge-template-steps li::before { position: absolute; top: 0; left: 0; width: 2.5rem; height: 2.5rem; border-radius: 50%; display: grid; place-items: center; background: var(--knowledge-ink); color: #fff; font-weight: 700; counter-increment: knowledge-step; content: counter(knowledge-step, decimal-leading-zero); }
.knowledge-template .knowledge-template-steps strong { display: block; }
.knowledge-template details summary { cursor: pointer; min-height: 2.75rem; display: list-item; }
.knowledge-template a:focus-visible,
.knowledge-template summary:focus-visible { outline: 3px solid var(--knowledge-blue); outline-offset: 4px; }
.knowledge-template-skip { position: absolute; top: .5rem; left: .5rem; transform: translateY(-200%); padding: .75rem 1rem; z-index: 10000; background: #fff; color: #00204c; }
.knowledge-template-skip:focus { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .knowledge-template *, .knowledge-template *::before, .knowledge-template *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* Multi-branch ERP article: in-page navigation, lists, totals only on tables marked has-total and the scroll target of the appointment block. */
.knowledge-template .knowledge-template-toc { margin: 1.5rem 0 2rem; padding: 1rem 1.25rem; border-left: .25rem solid var(--knowledge-blue); background: var(--knowledge-paper); }
.knowledge-template .knowledge-template-toc ol { margin: 0; padding-left: 1.25rem; }
.knowledge-template h3 { margin-top: 1.75rem; }
.knowledge-template #evaluacion { scroll-margin-top: 6rem; }
.knowledge-template .card > img { aspect-ratio: 16 / 9; object-fit: cover; object-position: top; }
.knowledge-template .knowledge-template-steps h3 { margin: .35rem 0 .5rem; font-size: 1.2rem; }
.knowledge-template .knowledge-template-formula { margin: 1.25rem 0; padding: 1rem; border-radius: .5rem; background: var(--knowledge-paper); color: var(--knowledge-ink); text-align: center; }
.knowledge-template .knowledge-template-toc a { color: var(--knowledge-ink); text-decoration: underline; }
.knowledge-template .knowledge-template-resource { padding: 1rem; border-left: .25rem solid var(--knowledge-gold); background: #fff8e2; overflow-wrap: anywhere; }
.knowledge-template .knowledge-template-list { padding-left: 1.25rem; }
.knowledge-template .knowledge-template-list li { margin-bottom: .75rem; }
.knowledge-template .knowledge-template-list li::marker { color: var(--knowledge-blue); }
.knowledge-template table.has-total tbody tr:last-child > * { background: var(--knowledge-paper); color: var(--knowledge-ink); font-weight: 700; }

.knowledge-template #faq,
.knowledge-template #fuentes { scroll-margin-top: 6rem; }
.knowledge-template sup a { text-decoration: none; font-weight: 600; }
.knowledge-template .knowledge-template-list strong { color: var(--knowledge-ink); }
.knowledge-template table th[scope="row"] { color: var(--knowledge-ink); }

.knowledge-template .knowledge-template-plain-steps { padding-left: 1.4rem; }
.knowledge-template .knowledge-template-plain-steps li { margin-bottom: .6rem; }
.knowledge-template .knowledge-template-plain-steps li::marker { color: var(--knowledge-ink); font-weight: 700; }
.knowledge-template .knowledge-template-resource { margin-block: 1.25rem; }

/* Reach figure: the three users of the example (rows) against the three branches (columns). Each bar spans the branches
   the user can consult: blue for "Ver por sucursales", ink for "Ver todo"; the branches left out stay hatched and locked. */
.knowledge-template .branch-reach { --user-col: minmax(0, 15rem); margin: 1.75rem 0; padding: 1.25rem; border: 1px solid #d6e2f5; border-radius: .75rem; background: #f7faff; view-timeline-name: --branch-reach; }
.knowledge-template .branch-reach figcaption { margin-bottom: 1rem; color: var(--knowledge-ink); font-weight: 600; }
.knowledge-template .branch-reach-head,
.knowledge-template .branch-reach-row { display: grid; grid-template-columns: var(--user-col) repeat(3, minmax(0, 1fr)); gap: .4rem; align-items: center; }
.knowledge-template .branch-reach-head { align-items: end; padding-bottom: .35rem; border-bottom: 2px solid var(--knowledge-ink); color: var(--knowledge-ink); font-size: .9rem; font-weight: 700; text-align: center; }
.knowledge-template .branch-reach-head i { display: block; color: var(--knowledge-blue); }
.knowledge-template .branch-reach-head .branch-reach-user { color: #5b6876; font-weight: 400; text-align: left; }
.knowledge-template .branch-reach-row { margin-top: .6rem; }
.knowledge-template .branch-reach-person strong { display: block; color: var(--knowledge-ink); }
.knowledge-template .branch-reach-grants { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .3rem; }
.knowledge-template .branch-reach-grants span { padding: .05rem .4rem; border: 1px solid #c9d6ea; border-radius: .25rem; background: #fff; color: #263340; font-size: .75rem; line-height: 1.5; }
.knowledge-template .branch-reach-bar,
.knowledge-template .branch-reach-locked { display: grid; place-items: center; min-height: 3.25rem; padding: .25rem .5rem; border-radius: .4rem; text-align: center; line-height: 1.25; }
.knowledge-template .branch-reach-bar { --bar: var(--knowledge-blue); grid-column: 2 / span var(--reach); background: var(--bar); color: #fff; font-size: .88rem; font-weight: 700; }
.knowledge-template .branch-reach-row.is-all .branch-reach-bar { --bar: var(--knowledge-ink); }
.knowledge-template .branch-reach-locked { border: 1px dashed #b8c4d6; background: repeating-linear-gradient(135deg, #eef2f8 0 6px, #f7faff 6px 12px); color: #6c757d; font-size: .78rem; }
.knowledge-template .branch-reach-locked i { display: block; font-size: .8rem; }
.knowledge-template .branch-reach-note { margin: 1rem 0 0; color: #6c757d; font-size: .82rem; }
/* Where scroll-driven animations exist, access is granted row by row as the figure enters the viewport: each bar
   extends from its first branch across the ones the user can consult. (Child 1 is the header row.) */
@supports (animation-timeline: view()) {
    .knowledge-template .branch-reach .branch-reach-bar { animation: branch-extend linear both; animation-timeline: --branch-reach; }
    .knowledge-template .branch-reach-row:nth-child(2) .branch-reach-bar { animation-range: entry 20% entry 45%; }
    .knowledge-template .branch-reach-row:nth-child(3) .branch-reach-bar { animation-range: entry 40% entry 65%; }
    .knowledge-template .branch-reach-row:nth-child(4) .branch-reach-bar { animation-range: entry 60% entry 85%; }
    @keyframes branch-extend { from { clip-path: inset(0 100% 0 0 round .4rem); } to { clip-path: inset(0 0 0 0 round .4rem); } }
}
.knowledge-template .branch-closing { margin-block: 1rem 2.5rem; }
.knowledge-template .branch-closing p { margin-bottom: .75rem; }
/* Phones: the user moves above its bar so the three branch columns get the full width. */
@media (max-width: 767px) {
    .knowledge-template .branch-reach { padding: 1rem; }
    .knowledge-template .branch-reach-head,
    .knowledge-template .branch-reach-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .knowledge-template .branch-reach-head { font-size: .8rem; }
    .knowledge-template .branch-reach-head .branch-reach-user { display: none; }
    .knowledge-template .branch-reach-row { margin-top: 1rem; }
    .knowledge-template .branch-reach-person { grid-column: 1 / -1; }
    .knowledge-template .branch-reach-bar { grid-column: 1 / span var(--reach); min-height: 2.75rem; font-size: .8rem; }
    .knowledge-template .branch-reach-locked { min-height: 2.75rem; font-size: .7rem; }
}
