.btl {
    --btl-spine-width: 100px;
    width: 100%; max-width: 100%; box-sizing: border-box;
    padding: 44px 12px 24px; color: var(--btl-text, #333);
    font-family: var(--btl-font, inherit); font-size: var(--btl-size, 16px);
    line-height: 1.5; container-type: inline-size;
}
.btl * { box-sizing: border-box; }
.btl .btl-list {
    position: relative; isolation: isolate; list-style: none !important;
    margin: 0 !important; padding: 18px 0 8px !important;
}
.btl-orientation-vertical .btl-list::before {
    content: ''; position: absolute; z-index: -1;
    left: 50%; top: -20px; bottom: 0;
    width: var(--btl-spine-width); transform: translateX(-50%);
    border-left: 15px solid #fafafa; border-right: 15px solid #fafafa;
    border-top: 15px solid #fafafa; border-radius: 25px 25px 0 0;
    background: linear-gradient(90deg,#00000005,transparent 30%,transparent 70%,#00000005);
    box-shadow: inset 3px 0 7px #00000008, 3px 0 8px #00000012;
}
.btl-event {
    --btl-event: #702a85; position: relative; width: 50%;
    min-height: 94px; margin: 0 !important; padding: 0 88px 22px 0;
    list-style: none !important;
}
.btl-event:nth-child(6n+2) { --btl-event: #b52531; }
.btl-event:nth-child(6n+3) { --btl-event: #e36735; }
.btl-event:nth-child(6n+4) { --btl-event: #b99b00; }
.btl-event:nth-child(6n+5) { --btl-event: #087b48; }
.btl-event:nth-child(6n+6) { --btl-event: #086e76; }
/* A nonempty global/widget accent may replace this palette with the rule in README. */
.btl-event.btl-even { margin-left: 50% !important; padding: 0 0 22px 88px; }
.btl-card {
    position: relative; min-width: 0; padding: 4px 0 14px;
    background: var(--btl-bg, #fff); overflow-wrap: anywhere;
    text-align: right; border: 0; box-shadow: none;
}
.btl-even .btl-card { text-align: left; }
.btl-card::after {
    content: ''; position: absolute; bottom: 0; right: -40px;
    width: calc(100% + 40px); height: 7px;
    background: linear-gradient(90deg,transparent,#00000019);
    clip-path: polygon(0 100%,100% 0,100% 100%);
}
.btl-even .btl-card::after {
    right: auto; left: -40px;
    background: linear-gradient(90deg,#00000019,transparent);
    clip-path: polygon(0 0,100% 100%,0 100%);
}
.btl .btl-title {
    margin: 0 0 3px; color: var(--btl-event);
    font-family: inherit; font-weight: 700; font-size: 1.08em; line-height: 1.3;
}
.btl-description { font-size: .88em; line-height: 1.4; }
.btl-description > :first-child { margin-top: 0; }
.btl-description > :last-child { margin-bottom: 0; }
.btl-description img, .btl-description video { max-width: 100%; height: auto; }
.btl-description iframe { max-width: 100%; }
.btl-year-pill {
    position: absolute; z-index: 2; right: 9px; top: 6px;
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    min-width: 70px; max-width: 110px; padding: 5px 9px;
    border-radius: 30px; background: var(--btl-event); color: #fff;
    box-shadow: inset -5px -3px 0 #00000020; font: 12px/1.2 Arial,sans-serif;
}
.btl-even .btl-year-pill { right: auto; left: 9px; }
.btl-pill-chevron { font-size: 18px; letter-spacing: -5px; margin-right: 3px; line-height: .8; }
.btl-even .btl-pill-chevron { order: 3; }
.btl-pill-icon { font-size: 11px; }
.btl-slider-controls { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 18px; }
.btl-navigation { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-top: 20px; }
.btl-navigation a, .btl-slider-controls button {
    padding: 8px 16px; border: 1px solid var(--btl-accent, #147d92);
    border-radius: 5px; background: var(--btl-bg, #fff); color: var(--btl-text, #333);
    font: inherit; text-decoration: none; cursor: pointer;
}
.btl-status { min-height: 1.4em; text-align: center; margin: 8px 0; }
.btl [aria-disabled=true] { opacity: .5; pointer-events: none; }
.btl a:focus-visible, .btl button:focus-visible, .btl-list:focus-visible { outline: 3px solid var(--btl-accent, #147d92); outline-offset: 4px; }
/* Existing one-sided layout options remain available. */
.btl-orientation-vertical.btl-layout-right .btl-list::before { left: 35px; width: 30px; border-right: 0; border-top: 0; border-radius: 0; }
.btl-layout-right .btl-event, .btl-layout-right .btl-event.btl-even { width: 100%; margin-left: 0 !important; padding: 0 0 22px 100px; }
.btl-layout-right .btl-card { text-align: left; }
.btl-layout-right .btl-year-pill, .btl-layout-right .btl-even .btl-year-pill { left: 0; right: auto; }
.btl-layout-right .btl-card::after { left: -40px; right: auto; background: linear-gradient(90deg,#00000019,transparent); clip-path: polygon(0 0,100% 100%,0 100%); }
.btl-orientation-vertical.btl-layout-left .btl-list::before { left: auto; right: 20px; width: 30px; transform: none; border-left: 0; border-top: 0; border-radius: 0; }
.btl-layout-left .btl-event, .btl-layout-left .btl-event.btl-even { width: 100%; margin-left: 0 !important; padding: 0 100px 22px 0; }
.btl-layout-left .btl-card { text-align: right; }
.btl-layout-left .btl-year-pill, .btl-layout-left .btl-even .btl-year-pill { right: 0; left: auto; }
/* Optional horizontal adaptation of the same single design. */
.btl-orientation-horizontal .btl-list { display: flex; gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 12px 4px !important; scroll-behavior: smooth; }
.btl-orientation-horizontal .btl-list::before { display: none; }
.btl-orientation-horizontal .btl-event, .btl-orientation-horizontal .btl-event.btl-even { flex: 0 0 min(320px,85%); width: auto; margin: 0 !important; padding: 45px 0 0; scroll-snap-align: start; border-top: var(--btl-line-width, 4px) var(--btl-line-style, solid) var(--btl-line, #ddd); }
.btl-orientation-horizontal .btl-year-pill, .btl-orientation-horizontal .btl-even .btl-year-pill { left: 0; right: auto; top: 4px; }
.btl-orientation-horizontal .btl-card { text-align: left; }

@container (max-width: 600px) {
.btl-orientation-vertical .btl-list::before { left: 35px; right: auto; transform: translateX(-50%); width: 30px; border-left: 15px solid #fafafa; border-right: 0; border-top: 0; border-radius: 0; }
.btl-orientation-vertical .btl-event, .btl-orientation-vertical .btl-event.btl-even { width: 100%; margin-left: 0 !important; padding: 0 0 26px 92px; }
.btl-orientation-vertical .btl-year-pill, .btl-orientation-vertical .btl-even .btl-year-pill { left: 0; right: auto; min-width: 70px; }
.btl-orientation-vertical .btl-card { text-align: left; }
.btl-orientation-vertical .btl-card::after { left: -30px; right: auto; width: calc(100% + 30px); background: linear-gradient(90deg,#00000019,transparent); clip-path: polygon(0 0,100% 100%,0 100%); }
}
@media (max-width: 600px) {
.btl-orientation-vertical .btl-list::before { left: 35px; right: auto; transform: translateX(-50%); width: 30px; border-left: 15px solid #fafafa; border-right: 0; border-top: 0; border-radius: 0; }
.btl-orientation-vertical .btl-event, .btl-orientation-vertical .btl-event.btl-even { width: 100%; margin-left: 0 !important; padding: 0 0 26px 92px; }
.btl-orientation-vertical .btl-year-pill, .btl-orientation-vertical .btl-even .btl-year-pill { left: 0; right: auto; min-width: 70px; }
.btl-orientation-vertical .btl-card { text-align: left; }
.btl-orientation-vertical .btl-card::after { left: -30px; right: auto; width: calc(100% + 30px); background: linear-gradient(90deg,#00000019,transparent); clip-path: polygon(0 0,100% 100%,0 100%); }
}
@media (prefers-reduced-motion: reduce) {.btl-orientation-horizontal .btl-list {scroll-behavior:auto;}}
