.visual-slider{min-width:0;max-width:100%;margin:1rem 0;border:1px solid var(--bs-border-color,#777);border-radius:.75rem;overflow:hidden;background:var(--bs-tertiary-bg,#eee)}
.visual-slider__track{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.visual-slider__slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.visual-slider__slide>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--bs-body-bg,#fff)}
.visual-slider__slide>figcaption{padding:.75rem 1rem;font-size:.9rem;overflow-wrap:anywhere}
.visual-slider__controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem;padding:.75rem}
.visual-slider__controls[hidden]{display:none}
.visual-slider__controls button{min-height:44px;padding:.5rem .75rem;border:1px solid var(--bs-border-color,#777);border-radius:.4rem;background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#222);font:inherit;cursor:pointer}
.visual-slider__controls button:disabled{opacity:.45;cursor:default}
.visual-slider :focus-visible{outline:3px solid #dba33e;outline-offset:-3px}

/* Línea de tiempo: eje con fechas y tarjetas entre controles laterales. */
.visual-timeline{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:.5rem;overflow:hidden;padding:1rem .5rem;background:var(--bs-body-bg,#fff);container-type:inline-size}
.visual-timeline__title{grid-column:1/-1;margin:0 0 .75rem;text-align:center;overflow-wrap:anywhere}
.visual-timeline>.visual-slider__track{grid-column:2;grid-row:2;gap:1rem;align-items:stretch;cursor:grab;touch-action:auto;padding-bottom:.5rem}
.visual-timeline .visual-timeline__item{display:flex;flex-direction:column;flex-basis:calc(50% - .5rem);min-width:0;scroll-snap-align:start}
.visual-timeline .visual-timeline__item:only-child{flex-basis:100%}
.visual-timeline .visual-timeline__date{min-height:1.5em;margin:0 0 .4rem;text-align:center;font-weight:700;color:var(--bs-body-color,#222)}
.visual-timeline__marker{position:relative;flex:0 0 52px;margin-bottom:1rem;display:grid;place-items:center}
.visual-timeline__marker::before{content:"";position:absolute;left:0;right:-1rem;top:25px;border-top:3px solid var(--timeline-line)}
.visual-timeline__item:last-child .visual-timeline__marker::before{right:0}
.visual-timeline__marker>span{position:relative;display:grid;place-items:center;box-sizing:border-box;width:52px;height:52px;border:3px solid var(--timeline-border);border-radius:50%;background:var(--timeline-background);color:var(--timeline-icon);font-size:22px;--fa-primary-color:var(--timeline-icon);--fa-secondary-color:var(--timeline-secondary)}
.visual-timeline__card{box-sizing:border-box;flex:0 0 auto;height:460px;max-height:65svh;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;cursor:auto;border:1px solid var(--bs-border-color,#777);border-top:3px solid var(--timeline-line);border-radius:.65rem;background:var(--bs-tertiary-bg,#eee)}
.visual-timeline__card>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;pointer-events:none}
.visual-timeline__copy{padding:1rem;overflow-wrap:anywhere}
.visual-timeline__copy>h3{font-size:1.15rem;margin:0 0 .75rem}
.visual-timeline__copy>p:last-child{margin-bottom:0}
.visual-timeline__blocks{min-width:0;margin-top:1rem}
.visual-timeline>.visual-timeline__controls{display:contents}
.visual-timeline>.visual-timeline__controls[hidden]{display:none}
.visual-timeline__controls>button{grid-row:2;align-self:center;width:44px;height:44px;padding:0;font-size:1.3rem}
.visual-timeline__controls>[data-slide-step="-1"]{grid-column:1}
.visual-timeline__controls>[data-slide-step="1"]{grid-column:3}
.visual-timeline__controls>[data-slide-status]{grid-column:2;grid-row:3;text-align:center;font-size:.85rem}
.visual-timeline>.visual-slider__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
@media(max-width:650px){.visual-timeline .visual-timeline__item{flex-basis:100%}.visual-timeline{gap:.25rem;padding:.75rem .25rem}.visual-timeline__copy{padding:.75rem}}
@container(max-width:650px){.visual-timeline .visual-timeline__item{flex-basis:100%}}

/* Variables resueltas en cada nivel para admitir cronologías anidadas. */
.visual-timeline{--timeline-line:var(--timeline-line-light,#dba33e)}
.visual-timeline__item{--timeline-background:var(--timeline-background-light,var(--bs-body-bg,#fff));--timeline-border:var(--timeline-border-light,var(--timeline-line));--timeline-icon:var(--timeline-icon-light,var(--bs-body-color,#222));--timeline-secondary:var(--timeline-secondary-light,var(--timeline-icon))}
[data-bs-theme="dark"] .visual-timeline{--timeline-line:var(--timeline-line-dark,#dba33e)}
[data-bs-theme="dark"] .visual-timeline__item{--timeline-background:var(--timeline-background-dark,var(--bs-body-bg,#222));--timeline-border:var(--timeline-border-dark,var(--timeline-line));--timeline-icon:var(--timeline-icon-dark,var(--bs-body-color,#fff));--timeline-secondary:var(--timeline-secondary-dark,var(--timeline-icon))}
@media(max-width:650px){.visual-timeline__card{height:360px}}
@container(max-width:650px){.visual-timeline__card{height:360px}}

.visual-timeline__card{display:flex;flex-direction:column;overflow:hidden;scrollbar-gutter:auto}
.visual-timeline__card-title{flex:0 0 auto;margin:0;padding:1rem;font-size:1.15rem;overflow-wrap:anywhere}
.visual-timeline__scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable}
.visual-timeline__scroll>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
