/* Featured Video Carousel v1.1.0 */
.fvc {--fvc-primary: #1a5cff; --fvc-arrow: #1a5cff; --fvc-hover: #fb0715; --fvc-title: #111; --fvc-desc: #5f6368; --fvc-desktop: 3; --fvc-tablet: 2; --fvc-mobile: 1; --fvc-ratio: 16/9; --fvc-per: var(--fvc-desktop); --fvc-gap: 28px; --fvc-radius: 10px; --fvc-arrow-size: 42px; --fvc-play-size: 58px; box-sizing: border-box; width: 100%; padding: 8px 0 16px;}
.fvc *, .fvc *::before, .fvc *::after {box-sizing: border-box;}
@media (max-width: 1024px) { .fvc {--fvc-per: var(--fvc-tablet); --fvc-gap: 20px; --fvc-arrow-size: 38px; --fvc-play-size: 52px;} }
@media (max-width: 767px) { .fvc {--fvc-per: var(--fvc-mobile); --fvc-gap: 16px; --fvc-arrow-size: 34px; --fvc-play-size: 46px;} }

/* Layout: arrow | viewport | arrow (arrows centered on the media, not the text) */
.fvc__carousel {display: flex; align-items: flex-start; gap: 16px; max-width: 1560px; margin: 0 auto; padding: 0 16px;}
.fvc__viewport {flex: 1 1 auto; min-width: 0; overflow: hidden; touch-action: pan-y; padding: 4px; margin: -4px;}
.fvc__track {display: flex; align-items: flex-start; gap: var(--fvc-gap); transition: transform .55s cubic-bezier(.22, .8, .24, 1); will-change: transform;}
.fvc__slide {flex: 0 0 calc((100% - (var(--fvc-per) - 1) * var(--fvc-gap)) / var(--fvc-per)); min-width: 0;}
.fvc--static .fvc__track {justify-content: center;}

/* Arrows (top offset set by JS to the middle of the media) */
.fvc .fvc__arrow {flex: 0 0 auto; width: var(--fvc-arrow-size); height: var(--fvc-arrow-size); margin: var(--fvc-arrow-top, 0) 0 0; padding: 0; border: 0; border-radius: 50%; background: var(--fvc-arrow); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 12px rgba(26, 92, 255, .25); transition: transform .2s ease, background-color .2s ease;}
.fvc .fvc__arrow svg {width: 46%; height: 46%; display: block;}
.fvc .fvc__arrow:hover, .fvc .fvc__arrow:focus-visible {background: var(--fvc-hover); color: #fff; box-shadow: 0 4px 12px rgba(251, 7, 21, .3); transform: scale(1.06);}
.fvc .fvc__arrow:focus-visible {outline: 3px solid var(--fvc-primary); outline-offset: 3px;}
.fvc--static .fvc__arrow {visibility: hidden;}

/* Media box (video cover or image item) */
.fvc .fvc__media {position: relative; display: block; width: 100%; aspect-ratio: var(--fvc-ratio); margin: 0; padding: 0; border: 0; border-radius: var(--fvc-radius); overflow: hidden; background: #0d1426; cursor: pointer; line-height: 0; font-size: 0; -webkit-tap-highlight-color: transparent; isolation: isolate;}
.fvc .fvc__media:hover, .fvc .fvc__media:focus {background: #0d1426;}
.fvc .fvc__media:focus-visible {outline: 3px solid var(--fvc-primary); outline-offset: 3px;}
.fvc .fvc__media--image {cursor: zoom-in; background: #f1f3f6;}
.fvc .fvc__media--image:hover, .fvc .fvc__media--image:focus {background: #f1f3f6;}
.fvc .fvc__media--static {cursor: default;}
.fvc .fvc__thumb {position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: cover; display: block; border: 0; border-radius: 0; pointer-events: none; -webkit-user-drag: none; user-select: none; transition: transform .6s ease;}
.fvc__thumb--empty {background: linear-gradient(135deg, #1b2a4e, #0d1426);}
.fvc .fvc__media::after {content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .12); transition: background-color .3s ease; z-index: 1; pointer-events: none;}
.fvc .fvc__media--image::after {background: transparent;}
.fvc .fvc__media:hover .fvc__thumb {transform: scale(1.04);}
.fvc .fvc__media--static:hover .fvc__thumb {transform: none;}
.fvc .fvc__media:hover::after {background: rgba(0, 0, 0, .25);}
.fvc .fvc__media--image:hover::after {background: rgba(0, 0, 0, .08);}
.fvc .fvc__media--static:hover::after {background: transparent;}

/* Play button: centered with inset + margin auto (no translate maths) */
.fvc .fvc__play {position: absolute; inset: 0; z-index: 2; width: var(--fvc-play-size); height: var(--fvc-play-size); margin: auto; padding: 0; border-radius: 50%; background: var(--fvc-primary); color: #fff; display: flex; align-items: center; justify-content: center; line-height: 0; box-shadow: 0 6px 18px rgba(0, 0, 0, .3); transition: transform .25s ease, background-color .25s ease;}
.fvc .fvc__play svg {width: 46%; height: 46%; margin: 0; display: block; flex: 0 0 auto;}
.fvc .fvc__media:hover .fvc__play, .fvc .fvc__media:focus-visible .fvc__play {background: var(--fvc-hover); transform: scale(1.08);}
.fvc .fvc__play--custom, .fvc .fvc__media:hover .fvc__play--custom, .fvc .fvc__media:focus-visible .fvc__play--custom {background: none; box-shadow: none; border-radius: 0;}
.fvc .fvc__play-img {width: 100%; height: 100%; object-fit: contain; display: block; pointer-events: none;}

/* Title + description */
.fvc .fvc__title {margin: 14px 0 0; padding: 0; color: var(--fvc-title); font-size: 16px; font-weight: 700; line-height: 1.35; text-align: left;}
.fvc .fvc__desc {margin: 4px 0 0; padding: 0; color: var(--fvc-desc); font-size: 14px; font-weight: 400; line-height: 1.5; text-align: left;}

/* Dots */
.fvc__dots {display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; min-height: 10px; margin: 18px 0 0;}
.fvc .fvc__dot {width: 10px; height: 10px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: #c9d3e6; cursor: pointer; transition: transform .2s ease, background-color .2s ease;}
.fvc .fvc__dot:hover {background: #9fb1d3;}
.fvc .fvc__dot.is-active {background: var(--fvc-primary); transform: scale(1.25);}
.fvc .fvc__dot:focus-visible {outline: 2px solid var(--fvc-primary); outline-offset: 3px;}
.fvc--static .fvc__dots {display: none;}

@media (max-width: 767px) { .fvc__carousel {gap: 6px; padding: 0 4px;} .fvc .fvc__title {font-size: 16px;} }

/* Popup */
html.fvc-lock, html.fvc-lock body {overflow: hidden;}
.fvc-modal {position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 64px 20px 20px; opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease;}
.fvc-modal.is-open {opacity: 1; visibility: visible;}
.fvc-modal__overlay {position: absolute; inset: 0; background: rgba(5, 10, 25, .88); cursor: pointer;}
.fvc-modal__dialog {position: relative; width: 100%; max-width: min(1100px, calc((100vh - 110px) * 16 / 9)); transform: scale(.96); transition: transform .25s ease;}
.fvc-modal.is-open .fvc-modal__dialog {transform: none;}
.fvc-modal__frame {position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: 10px; overflow: hidden; box-shadow: 0 25px 60px rgba(0, 0, 0, .5);}
.fvc-modal__frame iframe, .fvc-modal__frame video {position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; object-fit: contain;}
.fvc-modal__frame.is-image {aspect-ratio: auto; background: transparent; display: flex; justify-content: center; box-shadow: none;}
.fvc-modal__frame.is-image img {display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100vh - 110px); margin: 0 auto; border-radius: 10px; box-shadow: 0 25px 60px rgba(0, 0, 0, .5);}
.fvc-modal .fvc-modal__close {position: absolute; top: -54px; right: 0; width: 42px; height: 42px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #111; font-size: 28px; line-height: 42px; text-align: center; cursor: pointer; transition: transform .2s ease, background-color .2s ease;}
.fvc-modal .fvc-modal__close:hover {transform: rotate(90deg); background: #f0f2f7;}
.fvc-modal .fvc-modal__close:focus-visible {outline: 3px solid #fff; outline-offset: 3px;}

@media (prefers-reduced-motion: reduce) { .fvc__track, .fvc__thumb, .fvc__play, .fvc-modal, .fvc-modal__dialog {transition: none !important;} }
