/* Thailand C Vision Summit 2025 archive — tokens, page chrome, header overrides (header markup/CSS = hub's).
   Loaded after hub/c-vision/base.css + header.css; body also carries .bp-hub-landing. */
body.bp-archive-c-vision-2025 {
    --cv25-bg: #0B1958;
    --cv25-header: #00233F;
    --cv25-cyan: #02BFDC;
    --cv25-red: #E31E24;
    --cv25-container: 1200px;
    --hub-bg: var(--cv25-bg);
    /* Pattern dimmed to the design's strength. Not repeated: the tile's edges don't match and leave a seam. */
    background:
        linear-gradient(rgba(11, 25, 88, .55), rgba(11, 25, 88, .55)),
        /* Fade the tile's bottom into the page colour so it has no hard edge. */
        linear-gradient(rgba(11, 25, 88, 0) 60%, var(--cv25-bg) 98%) top center / max(100%, 1100px) calc(max(100vw, 1100px) * 2.473) no-repeat,
        url('../../../images/archive/c-vision-2025/bg-pattern.jpg') top center / max(100%, 1100px) auto no-repeat,
        var(--cv25-bg);
}
.cv25 { display: block; overflow-x: clip; }
.cv25 img { max-width: 100%; }
.cv25-container { max-width: var(--cv25-container); margin: 0 auto; padding: 0 var(--hub-gutter); box-sizing: content-box; }
.cv25-needle { width: 64px; height: 40px; flex: none; }

/* Header: solid navy bar (design 00-header), cvision logo + partner strip, "|"-separated nav. */
.bp-archive-c-vision-2025 .bp-hub-header,
.bp-archive-c-vision-2025 .bp-hub-header.is-scrolled { background: var(--cv25-header); backdrop-filter: none; padding-top: 12px; padding-bottom: 12px; }
.bp-archive-c-vision-2025 .bp-hub-header-inner { max-width: 1400px; }
.bp-archive-c-vision-2025 .bp-hub-header-logos { gap: 32px; }
.bp-archive-c-vision-2025 .bp-hub-header-logos img { height: 50px; }
.bp-archive-c-vision-2025 .bp-hub-header-logos img:last-child { height: 66px; }
.bp-archive-c-vision-2025 .bp-hub-nav { gap: 0; }
.bp-archive-c-vision-2025 .bp-hub-nav a[data-section] { font-size: 1.125rem; padding: 0 10px; line-height: 1.2; }
.bp-archive-c-vision-2025 .bp-hub-nav a[data-section] + a[data-section] { border-left: 1px solid #fff; }
.bp-archive-c-vision-2025 .bp-hub-nav a.is-current { font-weight: 600; }
.bp-archive-c-vision-2025 .bp-hub-nav .bp-hub-nav-cta { margin-left: 100px; font-size: 1.125rem; color: #000; }
.bp-archive-c-vision-2025 .bp-hub-burger span { background: #0BA4E0; height: 4px; width: 34px; }
.bp-archive-c-vision-2025 [id] { scroll-margin-top: 92px; }
@media (max-width: 1199px) {
    .bp-archive-c-vision-2025 .bp-hub-header-logos img:last-child { display: none; }
    .bp-archive-c-vision-2025 .bp-hub-nav a[data-section] { font-size: 1rem; padding: 10px 16px; }
    .bp-archive-c-vision-2025 .bp-hub-nav a[data-section] + a[data-section] { border-left: 0; }
    .bp-archive-c-vision-2025 .bp-hub-nav .bp-hub-nav-cta { margin: 0 0 18px; font-size: .9375rem; color: #fff; }
}
@media (max-width: 767px) {
    .bp-archive-c-vision-2025 .bp-hub-header-logos img { height: 40px; }
}

/* Gradient section label bar (partials/section-bar.php). */
.cv25-bar { max-width: 1440px; margin: 0 auto; background: linear-gradient(90deg, #01C3DC 0%, #0060AD 100%); }
.cv25-bar h2 {
    max-width: var(--cv25-container); margin: 0 auto; padding: 18px var(--hub-gutter);
    display: flex; align-items: center; gap: 14px;
    font-size: clamp(1.5rem, 2.4vw, 2.25rem); font-weight: 600; line-height: 1.2; text-transform: uppercase;
    text-shadow: 0 2px 6px rgba(0, 0, 0, .25);
}
@media (max-width: 767px) {
    .cv25-bar h2 { text-transform: none; padding: 14px 24px; font-size: 1.5rem; }
    .cv25-needle { width: 48px; height: 30px; }
}

/* Round prev/next buttons (video player + gallery). */
.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, .75) 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;
}
.cv25-arrow--next { transform: scaleX(-1); }
.cv25-arrow:hover { background-color: rgba(28, 46, 110, .95); }
.cv25-arrow:focus-visible, .cv25 button:focus-visible, .cv25 a:focus-visible { outline: 2px solid var(--cv25-cyan); outline-offset: 3px; }
@media (max-width: 767px) { .cv25-arrow { width: 36px; height: 36px; margin-top: -18px; background-size: 16px; } }

/* Play badge over video posters. */
.cv25-play {
    position: absolute; left: 50%; top: 50%; width: 116px; height: 116px; transform: translate(-50%, -50%);
    border-radius: 50%; background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .45); backdrop-filter: blur(4px);
    transition: transform 200ms;
}
.cv25-play::after { content: ''; position: absolute; left: 40%; top: 28%; border-style: solid; border-width: 26px 0 26px 42px; border-color: transparent transparent transparent #fff; }
.cv25-play--sm { width: 40px; height: 40px; }
.cv25-play--sm::after { border-width: 9px 0 9px 14px; left: 38%; top: 27%; }
button:hover > .cv25-play { transform: translate(-50%, -50%) scale(1.08); }
@media (max-width: 767px) {
    .cv25-play:not(.cv25-play--sm) { width: 64px; height: 64px; }
    .cv25-play:not(.cv25-play--sm)::after { border-width: 14px 0 14px 23px; }
}

/* Copy that exists only in one design: .cv25-d = desktop only, .cv25-m = mobile only. */
@media (min-width: 768px) { .cv25 .cv25-m { display: none; } }
@media (max-width: 767px) { .cv25 .cv25-d { display: none; } }
