/* Event highlights (docs/new-design/section-heightlight.jpg). Carousel rules mirror the 2025 archive gallery
   (assets/css/archive/c-vision-2025/02-highlights.css) — same .cv25-* classes so archive.js initGallery drives it. */
body.bp-event-template-c-vision .bp-highlights {
    padding: 5rem 0;
    background: radial-gradient(120% 70% at 50% 100%, #0E2A7A 0%, #050B2E 60%) #050B2E;
    overflow: hidden;
}
body.bp-event-template-c-vision .bp-highlights-title {
    margin: 0 0 3rem; text-align: center; font-size: clamp(2.25rem, 5vw, 4.5rem); font-weight: 800; letter-spacing: 0; line-height: 1.1;
}

.bp-highlights .cv25-gallery-stage { position: relative; max-width: 1600px; margin: 0 auto; }
.bp-highlights .cv25-gallery-track { position: relative; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; outline: 0; --slide: 62%; }
.bp-highlights .cv25-gallery-track::-webkit-scrollbar { display: none; }
/* Spacers let the first/last slide reach the centre. */
.bp-highlights .cv25-gallery-track::before,
.bp-highlights .cv25-gallery-track::after { content: ''; flex: 0 0 calc((100% - var(--slide)) / 2); }
.bp-highlights .cv25-slide {
    position: relative; flex: 0 0 var(--slide); margin: 0; scroll-snap-align: center; aspect-ratio: 16 / 9;
    border-radius: 20px; overflow: hidden; transform: scale(.84); opacity: .7; z-index: 0;
    transition: transform 350ms ease, opacity 350ms ease;
}
/* Neighbours tuck in behind the centred slide. */
.bp-highlights .cv25-slide:has(+ .is-active) { transform: translateX(14%) scale(.84); }
.bp-highlights .cv25-slide.is-active + .cv25-slide { transform: translateX(-14%) scale(.84); }
.bp-highlights .cv25-slide.is-active { transform: none; opacity: 1; z-index: 1; }
.bp-highlights .cv25-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }

.bp-highlights .cv25-arrow {
    position: absolute; top: 50%; z-index: 2; width: 52px; height: 52px; margin-top: -26px;
    border-radius: 50%; border: 1px solid rgba(255, 255, 255, .5); cursor: pointer;
    background: rgba(28, 46, 110, .6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 5l-7 7 7 7' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center / 22px no-repeat;
    backdrop-filter: blur(6px);
}
.bp-highlights .cv25-arrow:hover { background-color: rgba(28, 46, 110, .9); }
.bp-highlights .cv25-arrow--prev { left: calc(19% - 26px); }
.bp-highlights .cv25-arrow--next { right: calc(19% - 26px); transform: scaleX(-1); }

.bp-highlights .cv25-dots { display: flex; justify-content: center; gap: 6px; margin-top: 16px; }
.bp-highlights .cv25-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 4px; background: #fff; cursor: pointer; transition: width 250ms; }
.bp-highlights .cv25-dots button[aria-current] { width: 38px; background: #2563E6; }

@media (max-width: 767px) {
    body.bp-event-template-c-vision .bp-highlights { padding: 3rem 0; }
    body.bp-event-template-c-vision .bp-highlights-title { margin-bottom: 1.5rem; }
    .bp-highlights .cv25-gallery-track { --slide: 78%; }
    .bp-highlights .cv25-slide { border-radius: 14px; }
    .bp-highlights .cv25-arrow { width: 36px; height: 36px; margin-top: -18px; background-size: 16px; }
    .bp-highlights .cv25-arrow--prev { left: 8%; }
    .bp-highlights .cv25-arrow--next { right: 8%; }
}
