.sce-timeline-wrap { --tl-line: rgba(13,110,253,.28); --tl-dot: #0d6efd; }
.timeline-filter-box { min-width: 260px; }
.sce-timeline { position: relative; padding: 1.25rem 0 0; }
.sce-timeline::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:3px; transform:translateX(-50%); background:linear-gradient(180deg, transparent, var(--tl-line) 2rem, var(--tl-line) calc(100% - 2rem), transparent); border-radius:999px; }
.timeline-year-separator { position:relative; z-index:2; display:flex; justify-content:center; margin:1.4rem 0; }
.timeline-year-separator span { background:var(--bs-body-bg); border:1px solid var(--bs-border-color); box-shadow:0 .35rem 1.2rem rgba(0,0,0,.08); padding:.45rem 1rem; border-radius:999px; font-weight:700; letter-spacing:.04em; }
.timeline-item { position:relative; width:50%; padding:0 2.1rem 1.85rem 0; opacity:0; transform:translateY(18px); transition:opacity .45s ease, transform .45s ease; }
.timeline-item.timeline-visible { opacity:1; transform:translateY(0); }
.timeline-item:nth-of-type(even) { margin-left:50%; padding:0 0 1.85rem 2.1rem; }
.timeline-dot { position:absolute; top:1.1rem; right:-.55rem; width:1.1rem; height:1.1rem; background:var(--tl-dot); border:3px solid var(--bs-body-bg); border-radius:50%; z-index:3; box-shadow:0 0 0 .25rem rgba(13,110,253,.15); }
.timeline-item:nth-of-type(even) .timeline-dot { right:auto; left:-.55rem; }
.timeline-card { overflow:hidden; background:var(--bs-body-bg); border:1px solid var(--bs-border-color); border-radius:1.25rem; box-shadow:0 .8rem 2rem rgba(0,0,0,.09); }
.timeline-card picture, .timeline-card img { display:block; width:100%; }
.timeline-card img { aspect-ratio:16/10; object-fit:cover; cursor:zoom-in; transition:transform .35s ease; }
.timeline-card:hover img { transform:scale(1.025); }
.timeline-card-body { padding:1rem; }
.timeline-date-pill { display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .7rem; border-radius:999px; background:rgba(13,110,253,.1); color:var(--bs-primary); font-weight:700; font-size:.85rem; }
.timeline-car-badge { display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .7rem; border-radius:999px; background:var(--bs-tertiary-bg); border:1px solid var(--bs-border-color); font-size:.82rem; }
.timeline-current-badge { background:rgba(25,135,84,.12); color:#198754; border-color:rgba(25,135,84,.25); }
.timeline-caption { line-height:1.45; }
.timeline-sortable .timeline-card { cursor:grab; }
.timeline-dragging { opacity:.45 !important; }
.timeline-management-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(185px,1fr)); gap:1rem; }
.timeline-photo-pick { border:1px solid var(--bs-border-color); border-radius:1rem; overflow:hidden; background:var(--bs-body-bg); }
.timeline-photo-pick img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.timeline-photo-pick .form-check { padding:.75rem 1rem .85rem 2.25rem; min-height:auto; }
.timeline-lightbox { position:fixed; inset:0; z-index:1085; background:rgba(0,0,0,.92); display:none; align-items:center; justify-content:center; padding:1rem; }
.timeline-lightbox.open { display:flex; }
.timeline-lightbox img { max-width:min(96vw,1400px); max-height:88vh; object-fit:contain; border-radius:.75rem; box-shadow:0 1rem 3rem rgba(0,0,0,.55); }
.timeline-lightbox-caption { position:absolute; left:1rem; right:1rem; bottom:1rem; color:#fff; text-align:center; text-shadow:0 1px 3px rgba(0,0,0,.8); }
.timeline-lightbox-close { position:absolute; top:1rem; right:1rem; }
@media (max-width: 767.98px) { .sce-timeline::before { left:1rem; transform:none; } .timeline-item, .timeline-item:nth-of-type(even) { width:100%; margin-left:0; padding:0 0 1.4rem 2.4rem; } .timeline-dot, .timeline-item:nth-of-type(even) .timeline-dot { left:.45rem; right:auto; } .timeline-year-separator { justify-content:flex-start; padding-left:2.4rem; } .timeline-card { border-radius:1rem; } }
@media (prefers-reduced-motion: reduce) { .timeline-item { opacity:1; transform:none; transition:none; } .timeline-card img { transition:none; } }
