gent_styleguide 7.2.3 → 7.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/build/css/main.css +1 -1
  2. package/build/css/styleguide.css +1 -1
  3. package/build/styleguide/fonts/gent-icons-v7.eot +0 -0
  4. package/build/styleguide/fonts/gent-icons-v7.svg +146 -146
  5. package/build/styleguide/fonts/gent-icons-v7.ttf +0 -0
  6. package/build/styleguide/fonts/gent-icons-v7.woff +0 -0
  7. package/build/styleguide/fonts/gent-icons-v7.woff2 +0 -0
  8. package/build/styleguide/sass/11-base/fonts/_icons.scss +172 -172
  9. package/build/styleguide/sass/31-molecules/partner-block/_partner-block.scss +8 -1
  10. package/build/styleguide/sass/31-molecules/teaser/_teaser.scss +51 -0
  11. package/build/styleguide/vendor/swiper/modules/a11y-element.css.d.ts +1 -0
  12. package/build/styleguide/vendor/swiper/modules/a11y.css.d.ts +1 -0
  13. package/build/styleguide/vendor/swiper/modules/a11y.min.mjs +1 -1
  14. package/build/styleguide/vendor/swiper/modules/a11y.min.mjs.map +1 -1
  15. package/build/styleguide/vendor/swiper/modules/a11y.mjs +5 -10
  16. package/build/styleguide/vendor/swiper/modules/autoplay-element.css.d.ts +1 -0
  17. package/build/styleguide/vendor/swiper/modules/autoplay.css.d.ts +1 -0
  18. package/build/styleguide/vendor/swiper/modules/autoplay.min.mjs +1 -1
  19. package/build/styleguide/vendor/swiper/modules/autoplay.min.mjs.map +1 -1
  20. package/build/styleguide/vendor/swiper/modules/autoplay.mjs +17 -14
  21. package/build/styleguide/vendor/swiper/modules/controller-element.css.d.ts +1 -0
  22. package/build/styleguide/vendor/swiper/modules/controller.css.d.ts +1 -0
  23. package/build/styleguide/vendor/swiper/modules/effect-cards-element.css.d.ts +1 -0
  24. package/build/styleguide/vendor/swiper/modules/effect-cards.css.d.ts +1 -0
  25. package/build/styleguide/vendor/swiper/modules/effect-coverflow-element.css.d.ts +1 -0
  26. package/build/styleguide/vendor/swiper/modules/effect-coverflow.css.d.ts +1 -0
  27. package/build/styleguide/vendor/swiper/modules/effect-creative-element.css.d.ts +1 -0
  28. package/build/styleguide/vendor/swiper/modules/effect-creative.css.d.ts +1 -0
  29. package/build/styleguide/vendor/swiper/modules/effect-cube-element.css.d.ts +1 -0
  30. package/build/styleguide/vendor/swiper/modules/effect-cube.css.d.ts +1 -0
  31. package/build/styleguide/vendor/swiper/modules/effect-fade-element.css.d.ts +1 -0
  32. package/build/styleguide/vendor/swiper/modules/effect-fade.css.d.ts +1 -0
  33. package/build/styleguide/vendor/swiper/modules/effect-flip-element.css.d.ts +1 -0
  34. package/build/styleguide/vendor/swiper/modules/effect-flip.css.d.ts +1 -0
  35. package/build/styleguide/vendor/swiper/modules/free-mode-element.css.d.ts +1 -0
  36. package/build/styleguide/vendor/swiper/modules/free-mode.css.d.ts +1 -0
  37. package/build/styleguide/vendor/swiper/modules/grid-element.css.d.ts +1 -0
  38. package/build/styleguide/vendor/swiper/modules/grid.css.d.ts +1 -0
  39. package/build/styleguide/vendor/swiper/modules/grid.min.mjs +1 -1
  40. package/build/styleguide/vendor/swiper/modules/grid.min.mjs.map +1 -1
  41. package/build/styleguide/vendor/swiper/modules/grid.mjs +1 -1
  42. package/build/styleguide/vendor/swiper/modules/hash-navigation-element.css.d.ts +1 -0
  43. package/build/styleguide/vendor/swiper/modules/hash-navigation.css.d.ts +1 -0
  44. package/build/styleguide/vendor/swiper/modules/history-element.css.d.ts +1 -0
  45. package/build/styleguide/vendor/swiper/modules/history.css.d.ts +1 -0
  46. package/build/styleguide/vendor/swiper/modules/keyboard-element.css.d.ts +1 -0
  47. package/build/styleguide/vendor/swiper/modules/keyboard.css.d.ts +1 -0
  48. package/build/styleguide/vendor/swiper/modules/keyboard.min.mjs +1 -1
  49. package/build/styleguide/vendor/swiper/modules/keyboard.min.mjs.map +1 -1
  50. package/build/styleguide/vendor/swiper/modules/keyboard.mjs +7 -5
  51. package/build/styleguide/vendor/swiper/modules/manipulation-element.css.d.ts +1 -0
  52. package/build/styleguide/vendor/swiper/modules/manipulation.css.d.ts +1 -0
  53. package/build/styleguide/vendor/swiper/modules/mousewheel-element.css.d.ts +1 -0
  54. package/build/styleguide/vendor/swiper/modules/mousewheel.css.d.ts +1 -0
  55. package/build/styleguide/vendor/swiper/modules/navigation-element.css +26 -6
  56. package/build/styleguide/vendor/swiper/modules/navigation-element.css.d.ts +1 -0
  57. package/build/styleguide/vendor/swiper/modules/navigation-element.min.css +1 -1
  58. package/build/styleguide/vendor/swiper/modules/navigation.css +7 -0
  59. package/build/styleguide/vendor/swiper/modules/navigation.css.d.ts +1 -0
  60. package/build/styleguide/vendor/swiper/modules/navigation.min.css +1 -1
  61. package/build/styleguide/vendor/swiper/modules/pagination-element.css.d.ts +1 -0
  62. package/build/styleguide/vendor/swiper/modules/pagination.css.d.ts +1 -0
  63. package/build/styleguide/vendor/swiper/modules/parallax-element.css.d.ts +1 -0
  64. package/build/styleguide/vendor/swiper/modules/parallax.css.d.ts +1 -0
  65. package/build/styleguide/vendor/swiper/modules/scrollbar-element.css.d.ts +1 -0
  66. package/build/styleguide/vendor/swiper/modules/scrollbar.css.d.ts +1 -0
  67. package/build/styleguide/vendor/swiper/modules/thumbs-element.css.d.ts +1 -0
  68. package/build/styleguide/vendor/swiper/modules/thumbs.css.d.ts +1 -0
  69. package/build/styleguide/vendor/swiper/modules/thumbs.min.mjs +1 -1
  70. package/build/styleguide/vendor/swiper/modules/thumbs.min.mjs.map +1 -1
  71. package/build/styleguide/vendor/swiper/modules/thumbs.mjs +23 -4
  72. package/build/styleguide/vendor/swiper/modules/virtual-element.css.d.ts +1 -0
  73. package/build/styleguide/vendor/swiper/modules/virtual.css.d.ts +1 -0
  74. package/build/styleguide/vendor/swiper/modules/zoom-element.css.d.ts +1 -0
  75. package/build/styleguide/vendor/swiper/modules/zoom.css.d.ts +1 -0
  76. package/build/styleguide/vendor/swiper/modules/zoom.min.mjs +1 -1
  77. package/build/styleguide/vendor/swiper/modules/zoom.min.mjs.map +1 -1
  78. package/build/styleguide/vendor/swiper/modules/zoom.mjs +2 -0
  79. package/build/styleguide/vendor/swiper/package.json +206 -56
  80. package/build/styleguide/vendor/swiper/shared/classes-to-selector.min.mjs +1 -1
  81. package/build/styleguide/vendor/swiper/shared/classes-to-selector.min.mjs.map +1 -1
  82. package/build/styleguide/vendor/swiper/shared/classes-to-selector.mjs +2 -1
  83. package/build/styleguide/vendor/swiper/shared/swiper-core.min.mjs +1 -1
  84. package/build/styleguide/vendor/swiper/shared/swiper-core.min.mjs.map +1 -1
  85. package/build/styleguide/vendor/swiper/shared/swiper-core.mjs +69 -11
  86. package/build/styleguide/vendor/swiper/shared/update-swiper.min.mjs +1 -1
  87. package/build/styleguide/vendor/swiper/shared/update-swiper.min.mjs.map +1 -1
  88. package/build/styleguide/vendor/swiper/shared/update-swiper.mjs +1 -1
  89. package/build/styleguide/vendor/swiper/shared/utils.min.mjs +1 -1
  90. package/build/styleguide/vendor/swiper/shared/utils.min.mjs.map +1 -1
  91. package/build/styleguide/vendor/swiper/shared/utils.mjs +1 -2
  92. package/build/styleguide/vendor/swiper/swiper-bundle.css +24 -3
  93. package/build/styleguide/vendor/swiper/swiper-bundle.css.d.ts +1 -0
  94. package/build/styleguide/vendor/swiper/swiper-bundle.js +133 -54
  95. package/build/styleguide/vendor/swiper/swiper-bundle.min.css +4 -4
  96. package/build/styleguide/vendor/swiper/swiper-bundle.min.js +4 -4
  97. package/build/styleguide/vendor/swiper/swiper-bundle.min.js.map +1 -1
  98. package/build/styleguide/vendor/swiper/swiper-bundle.min.mjs +3 -3
  99. package/build/styleguide/vendor/swiper/swiper-bundle.mjs +3 -3
  100. package/build/styleguide/vendor/swiper/swiper-effect-utils.min.mjs +3 -3
  101. package/build/styleguide/vendor/swiper/swiper-effect-utils.mjs +3 -3
  102. package/build/styleguide/vendor/swiper/swiper-element-bundle.js +140 -61
  103. package/build/styleguide/vendor/swiper/swiper-element-bundle.min.js +4 -4
  104. package/build/styleguide/vendor/swiper/swiper-element-bundle.min.js.map +1 -1
  105. package/build/styleguide/vendor/swiper/swiper-element-bundle.min.mjs +4 -4
  106. package/build/styleguide/vendor/swiper/swiper-element-bundle.min.mjs.map +1 -1
  107. package/build/styleguide/vendor/swiper/swiper-element-bundle.mjs +6 -6
  108. package/build/styleguide/vendor/swiper/swiper-element.d.ts +15 -15
  109. package/build/styleguide/vendor/swiper/swiper-element.js +80 -23
  110. package/build/styleguide/vendor/swiper/swiper-element.min.js +4 -4
  111. package/build/styleguide/vendor/swiper/swiper-element.min.js.map +1 -1
  112. package/build/styleguide/vendor/swiper/swiper-element.min.mjs +4 -4
  113. package/build/styleguide/vendor/swiper/swiper-element.min.mjs.map +1 -1
  114. package/build/styleguide/vendor/swiper/swiper-element.mjs +6 -6
  115. package/build/styleguide/vendor/swiper/swiper-react.d.ts +16 -15
  116. package/build/styleguide/vendor/swiper/swiper-react.mjs +12 -5
  117. package/build/styleguide/vendor/swiper/swiper-vue.d.ts +19 -15
  118. package/build/styleguide/vendor/swiper/swiper-vue.mjs +11 -5
  119. package/build/styleguide/vendor/swiper/swiper.css +17 -3
  120. package/build/styleguide/vendor/swiper/swiper.css.d.ts +50 -0
  121. package/build/styleguide/vendor/swiper/swiper.js +73 -16
  122. package/build/styleguide/vendor/swiper/swiper.min.css +4 -4
  123. package/build/styleguide/vendor/swiper/swiper.min.js +4 -4
  124. package/build/styleguide/vendor/swiper/swiper.min.js.map +1 -1
  125. package/build/styleguide/vendor/swiper/swiper.min.mjs +3 -3
  126. package/build/styleguide/vendor/swiper/swiper.mjs +3 -3
  127. package/build/styleguide/vendor/swiper/types/modules/keyboard.d.ts +6 -0
  128. package/build/styleguide/vendor/swiper/types/modules/thumbs.d.ts +1 -1
  129. package/build/styleguide/vendor/swiper/types/swiper-options.d.ts +12 -3
  130. package/package.json +9 -5
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Swiper Custom Element 12.0.3
2
+ * Swiper Custom Element 12.2.0
3
3
  * Most modern mobile touch slider and framework with hardware accelerated transitions
4
4
  * https://swiperjs.com
5
5
  *
6
- * Copyright 2014-2025 Vladimir Kharlampidi
6
+ * Copyright 2014-2026 Vladimir Kharlampidi
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: October 21, 2025
10
+ * Released on: May 27, 2026
11
11
  */
12
12
 
13
13
  (function () {
@@ -239,11 +239,10 @@
239
239
  }
240
240
  function extend$1(...args) {
241
241
  const to = Object(args[0]);
242
- const noExtend = ['__proto__', 'constructor', 'prototype'];
243
242
  for (let i = 1; i < args.length; i += 1) {
244
243
  const nextSource = args[i];
245
244
  if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {
246
- const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);
245
+ const keysArray = Object.keys(Object(nextSource)).filter(key => key !== '__proto__' && key !== 'constructor' && key !== 'prototype');
247
246
  for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
248
247
  const nextKey = keysArray[nextIndex];
249
248
  const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
@@ -896,6 +895,12 @@
896
895
  setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');
897
896
  setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');
898
897
  }
898
+
899
+ // set cssMode offsets
900
+ if (params.cssMode) {
901
+ setCSSProperty(wrapperEl, '--swiper-slides-offset-before', `${offsetBefore}px`);
902
+ setCSSProperty(wrapperEl, '--swiper-slides-offset-after', `${offsetAfter}px`);
903
+ }
899
904
  const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;
900
905
  if (gridEnabled) {
901
906
  swiper.grid.initSlides(slides);
@@ -1008,17 +1013,52 @@
1008
1013
 
1009
1014
  // Remove last grid elements depending on width
1010
1015
  if (!params.centeredSlides) {
1016
+ // Check if snapToSlideEdge should be applied
1017
+ const isFractionalSlidesPerView = params.slidesPerView !== 'auto' && params.slidesPerView % 1 !== 0;
1018
+ const shouldSnapToSlideEdge = params.snapToSlideEdge && !params.loop && (params.slidesPerView === 'auto' || isFractionalSlidesPerView);
1019
+
1020
+ // Calculate the last allowed snap index when snapToSlideEdge is enabled
1021
+ // This ensures minimum slides are visible at the end
1022
+ let lastAllowedSnapIndex = snapGrid.length;
1023
+ if (shouldSnapToSlideEdge) {
1024
+ let minVisibleSlides;
1025
+ if (params.slidesPerView === 'auto') {
1026
+ // For 'auto' mode, calculate how many slides fit based on actual sizes
1027
+ minVisibleSlides = 1;
1028
+ let accumulatedSize = 0;
1029
+ for (let i = slidesSizesGrid.length - 1; i >= 0; i -= 1) {
1030
+ accumulatedSize += slidesSizesGrid[i] + (i < slidesSizesGrid.length - 1 ? spaceBetween : 0);
1031
+ if (accumulatedSize <= swiperSize) {
1032
+ minVisibleSlides = slidesSizesGrid.length - i;
1033
+ } else {
1034
+ break;
1035
+ }
1036
+ }
1037
+ } else {
1038
+ minVisibleSlides = Math.floor(params.slidesPerView);
1039
+ }
1040
+ lastAllowedSnapIndex = Math.max(slidesLength - minVisibleSlides, 0);
1041
+ }
1011
1042
  const newSlidesGrid = [];
1012
1043
  for (let i = 0; i < snapGrid.length; i += 1) {
1013
1044
  let slidesGridItem = snapGrid[i];
1014
1045
  if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
1015
- if (snapGrid[i] <= swiper.virtualSize - swiperSize) {
1046
+ if (shouldSnapToSlideEdge) {
1047
+ // When snapToSlideEdge is enabled, only keep snaps up to lastAllowedSnapIndex
1048
+ if (i <= lastAllowedSnapIndex) {
1049
+ newSlidesGrid.push(slidesGridItem);
1050
+ }
1051
+ } else if (snapGrid[i] <= swiper.virtualSize - swiperSize) {
1052
+ // When snapToSlideEdge is disabled, keep snaps that fit within scrollable area
1016
1053
  newSlidesGrid.push(slidesGridItem);
1017
1054
  }
1018
1055
  }
1019
1056
  snapGrid = newSlidesGrid;
1020
1057
  if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
1021
- snapGrid.push(swiper.virtualSize - swiperSize);
1058
+ // Only add edge-aligned snap if snapToSlideEdge is not enabled
1059
+ if (!shouldSnapToSlideEdge) {
1060
+ snapGrid.push(swiper.virtualSize - swiperSize);
1061
+ }
1022
1062
  }
1023
1063
  }
1024
1064
  if (isVirtual && params.loop) {
@@ -1070,9 +1110,8 @@
1070
1110
  allSlidesSize += slideSizeValue + (spaceBetween || 0);
1071
1111
  });
1072
1112
  allSlidesSize -= spaceBetween;
1073
- const offsetSize = (offsetBefore || 0) + (offsetAfter || 0);
1074
- if (allSlidesSize + offsetSize < swiperSize) {
1075
- const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2;
1113
+ if (allSlidesSize < swiperSize) {
1114
+ const allSlidesOffset = (swiperSize - allSlidesSize) / 2;
1076
1115
  snapGrid.forEach((snap, snapIndex) => {
1077
1116
  snapGrid[snapIndex] = snap - allSlidesOffset;
1078
1117
  });
@@ -1367,12 +1406,13 @@
1367
1406
  requestAnimationFrame(() => {
1368
1407
  if (slideEl.shadowRoot) {
1369
1408
  lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);
1370
- if (lazyEl) lazyEl.remove();
1409
+ if (lazyEl && !lazyEl.lazyPreloaderManaged) lazyEl.remove();
1371
1410
  }
1372
1411
  });
1373
1412
  }
1374
1413
  }
1375
- if (lazyEl) lazyEl.remove();
1414
+ // Skip removal if managed by React/Vue component
1415
+ if (lazyEl && !lazyEl.lazyPreloaderManaged) lazyEl.remove();
1376
1416
  }
1377
1417
  };
1378
1418
  const unlazy = (swiper, index) => {
@@ -1487,8 +1527,12 @@
1487
1527
 
1488
1528
  // Get real index
1489
1529
  let realIndex;
1490
- if (swiper.virtual && params.virtual.enabled && params.loop) {
1491
- realIndex = getVirtualRealIndex(activeIndex);
1530
+ if (swiper.virtual && params.virtual.enabled) {
1531
+ if (params.loop) {
1532
+ realIndex = getVirtualRealIndex(activeIndex);
1533
+ } else {
1534
+ realIndex = activeIndex;
1535
+ }
1492
1536
  } else if (gridEnabled) {
1493
1537
  const firstSlideInColumn = swiper.slides.find(slideEl => slideEl.column === activeIndex);
1494
1538
  let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);
@@ -2602,6 +2646,7 @@
2602
2646
  }
2603
2647
  function onTouchStart(event) {
2604
2648
  const swiper = this;
2649
+ if (swiper.destroyed) return;
2605
2650
  const document = getDocument();
2606
2651
  let e = event;
2607
2652
  if (e.originalEvent) e = e.originalEvent;
@@ -2705,6 +2750,7 @@
2705
2750
  function onTouchMove(event) {
2706
2751
  const document = getDocument();
2707
2752
  const swiper = this;
2753
+ if (swiper.destroyed) return;
2708
2754
  const data = swiper.touchEventsData;
2709
2755
  const {
2710
2756
  params,
@@ -2966,6 +3012,7 @@
2966
3012
 
2967
3013
  function onTouchEnd(event) {
2968
3014
  const swiper = this;
3015
+ if (swiper.destroyed) return;
2969
3016
  const data = swiper.touchEventsData;
2970
3017
  let e = event;
2971
3018
  if (e.originalEvent) e = e.originalEvent;
@@ -3153,7 +3200,8 @@
3153
3200
  swiper.updateSlidesClasses();
3154
3201
  const isVirtualLoop = isVirtual && params.loop;
3155
3202
  if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {
3156
- swiper.slideTo(swiper.slides.length - 1, 0, false, true);
3203
+ const slides = isVirtual ? swiper.virtual.slides : swiper.slides;
3204
+ swiper.slideTo(slides.length - 1, 0, false, true);
3157
3205
  } else {
3158
3206
  if (swiper.params.loop && !isVirtual) {
3159
3207
  swiper.slideToLoop(swiper.realIndex, 0, false, true);
@@ -3179,6 +3227,7 @@
3179
3227
 
3180
3228
  function onClick(e) {
3181
3229
  const swiper = this;
3230
+ if (swiper.destroyed) return;
3182
3231
  if (!swiper.enabled) return;
3183
3232
  if (!swiper.allowClick) {
3184
3233
  if (swiper.params.preventClicks) e.preventDefault();
@@ -3191,6 +3240,7 @@
3191
3240
 
3192
3241
  function onScroll() {
3193
3242
  const swiper = this;
3243
+ if (swiper.destroyed) return;
3194
3244
  const {
3195
3245
  wrapperEl,
3196
3246
  rtlTranslate,
@@ -3222,6 +3272,7 @@
3222
3272
 
3223
3273
  function onLoad(e) {
3224
3274
  const swiper = this;
3275
+ if (swiper.destroyed) return;
3225
3276
  processLazyPreloader(swiper, e.target);
3226
3277
  if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {
3227
3278
  return;
@@ -3231,6 +3282,7 @@
3231
3282
 
3232
3283
  function onDocumentTouchStart() {
3233
3284
  const swiper = this;
3285
+ if (swiper.destroyed) return;
3234
3286
  if (swiper.documentTouchHandlerProceeded) return;
3235
3287
  swiper.documentTouchHandlerProceeded = true;
3236
3288
  if (swiper.params.touchReleaseOnEdges) {
@@ -3623,6 +3675,7 @@
3623
3675
  // in px
3624
3676
  normalizeSlideIndex: true,
3625
3677
  centerInsufficientSlides: false,
3678
+ snapToSlideEdge: false,
3626
3679
  // Disable swiper and hide navigation when container not overflow
3627
3680
  watchOverflow: true,
3628
3681
  // Round length
@@ -3777,7 +3830,11 @@
3777
3830
  swiper.eventsAnyListeners = [];
3778
3831
  swiper.modules = [...swiper.__modules__];
3779
3832
  if (params.modules && Array.isArray(params.modules)) {
3780
- swiper.modules.push(...params.modules);
3833
+ params.modules.forEach(mod => {
3834
+ if (typeof mod === 'function' && swiper.modules.indexOf(mod) < 0) {
3835
+ swiper.modules.push(mod);
3836
+ }
3837
+ });
3781
3838
  }
3782
3839
  const allModulesParams = {};
3783
3840
  swiper.modules.forEach(mod => {
@@ -4717,7 +4774,8 @@
4717
4774
  keyboard: {
4718
4775
  enabled: false,
4719
4776
  onlyInViewport: true,
4720
- pageUpDown: true
4777
+ pageUpDown: true,
4778
+ speed: undefined
4721
4779
  }
4722
4780
  });
4723
4781
  function handle(event) {
@@ -4771,18 +4829,19 @@
4771
4829
  }
4772
4830
  if (!inView) return undefined;
4773
4831
  }
4832
+ const speed = swiper.params.keyboard.speed;
4774
4833
  if (swiper.isHorizontal()) {
4775
4834
  if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {
4776
4835
  if (e.preventDefault) e.preventDefault();else e.returnValue = false;
4777
4836
  }
4778
- if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();
4779
- if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();
4837
+ if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext(speed);
4838
+ if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev(speed);
4780
4839
  } else {
4781
4840
  if (isPageUp || isPageDown || isArrowUp || isArrowDown) {
4782
4841
  if (e.preventDefault) e.preventDefault();else e.returnValue = false;
4783
4842
  }
4784
- if (isPageDown || isArrowDown) swiper.slideNext();
4785
- if (isPageUp || isArrowUp) swiper.slidePrev();
4843
+ if (isPageDown || isArrowDown) swiper.slideNext(speed);
4844
+ if (isPageUp || isArrowUp) swiper.slidePrev(speed);
4786
4845
  }
4787
4846
  emit('keyPress', kc);
4788
4847
  return undefined;
@@ -5426,7 +5485,8 @@
5426
5485
  }
5427
5486
 
5428
5487
  function classesToSelector(classes = '') {
5429
- return `.${classes.trim().replace(/([\.:!+\/()[\]])/g, '\\$1') // eslint-disable-line
5488
+ // Escape all CSS selector special characters
5489
+ return `.${classes.trim().replace(/([\.:!+\/()[\]#>~*^$|=,'"@{}\\])/g, '\\$1') // eslint-disable-line
5430
5490
  .replace(/ /g, '.')}`;
5431
5491
  }
5432
5492
 
@@ -6809,6 +6869,7 @@
6809
6869
  }
6810
6870
  }
6811
6871
  if (!gesture.imageEl || !gesture.imageWrapEl) return;
6872
+ gesture.maxRatio = getMaxRatio();
6812
6873
  if (swiper.params.cssMode) {
6813
6874
  swiper.wrapperEl.style.overflow = 'hidden';
6814
6875
  swiper.wrapperEl.style.touchAction = 'none';
@@ -6920,6 +6981,7 @@
6920
6981
  }
6921
6982
  }
6922
6983
  if (!gesture.imageEl || !gesture.imageWrapEl) return;
6984
+ gesture.maxRatio = getMaxRatio();
6923
6985
  if (swiper.params.cssMode) {
6924
6986
  swiper.wrapperEl.style.overflow = '';
6925
6987
  swiper.wrapperEl.style.touchAction = '';
@@ -7308,12 +7370,6 @@
7308
7370
  subEl.setAttribute('aria-roledescription', description);
7309
7371
  });
7310
7372
  }
7311
- function addElControls(el, controls) {
7312
- el = makeElementsArray(el);
7313
- el.forEach(subEl => {
7314
- subEl.setAttribute('aria-controls', controls);
7315
- });
7316
- }
7317
7373
  function addElLabel(el, label) {
7318
7374
  el = makeElementsArray(el);
7319
7375
  el.forEach(subEl => {
@@ -7341,7 +7397,7 @@
7341
7397
  function enableEl(el) {
7342
7398
  el = makeElementsArray(el);
7343
7399
  el.forEach(subEl => {
7344
- subEl.setAttribute('aria-disabled', false);
7400
+ subEl.removeAttribute('aria-disabled');
7345
7401
  });
7346
7402
  }
7347
7403
  function onEnterOrSpaceKey(e) {
@@ -7435,7 +7491,6 @@
7435
7491
  el.addEventListener('keydown', onEnterOrSpaceKey);
7436
7492
  }
7437
7493
  addElLabel(el, message);
7438
- addElControls(el, wrapperId);
7439
7494
  };
7440
7495
  const handlePointerDown = e => {
7441
7496
  if (focusTargetSlideEl && focusTargetSlideEl !== e.target && !focusTargetSlideEl.contains(e.target)) {
@@ -7462,7 +7517,8 @@
7462
7517
  const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
7463
7518
  if (!slideEl || !swiper.slides.includes(slideEl)) return;
7464
7519
  focusTargetSlideEl = slideEl;
7465
- const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;
7520
+ const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
7521
+ const isActive = (isVirtual ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : swiper.slides.indexOf(slideEl)) === swiper.activeIndex;
7466
7522
  const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);
7467
7523
  if (isActive || isVisible) return;
7468
7524
  if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;
@@ -7475,6 +7531,8 @@
7475
7531
  if (preventFocusHandler) return;
7476
7532
  if (swiper.params.loop) {
7477
7533
  swiper.slideToLoop(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index'))), 0);
7534
+ } else if (isVirtual) {
7535
+ swiper.slideTo(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10)), 0);
7478
7536
  } else {
7479
7537
  swiper.slideTo(swiper.getSlideIndexWhenGrid(swiper.slides.indexOf(slideEl)), 0);
7480
7538
  }
@@ -7552,7 +7610,6 @@
7552
7610
  const document = getDocument();
7553
7611
  document.addEventListener('visibilitychange', onVisibilityChange);
7554
7612
  swiper.el.addEventListener('focus', handleFocus, true);
7555
- swiper.el.addEventListener('focus', handleFocus, true);
7556
7613
  swiper.el.addEventListener('pointerdown', handlePointerDown, true);
7557
7614
  swiper.el.addEventListener('pointerup', handlePointerUp, true);
7558
7615
  };
@@ -7875,7 +7932,6 @@
7875
7932
  let isTouched;
7876
7933
  let pausedByTouch;
7877
7934
  let touchStartTimeout;
7878
- let slideChanged;
7879
7935
  let pausedByInteraction;
7880
7936
  let pausedByPointerEnter;
7881
7937
  function onTransitionEnd(e) {
@@ -7913,18 +7969,23 @@
7913
7969
  const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);
7914
7970
  return currentSlideDelay;
7915
7971
  };
7972
+ const getTotalDelay = () => {
7973
+ let totalDelay = swiper.params.autoplay.delay;
7974
+ const currentSlideDelay = getSlideDelay();
7975
+ if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0) {
7976
+ totalDelay = currentSlideDelay;
7977
+ }
7978
+ return totalDelay;
7979
+ };
7916
7980
  const run = delayForce => {
7917
7981
  if (swiper.destroyed || !swiper.autoplay.running) return;
7918
7982
  cancelAnimationFrame(raf);
7919
7983
  calcTimeLeft();
7920
- let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce;
7921
- autoplayDelayTotal = swiper.params.autoplay.delay;
7922
- autoplayDelayCurrent = swiper.params.autoplay.delay;
7923
- const currentSlideDelay = getSlideDelay();
7924
- if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') {
7925
- delay = currentSlideDelay;
7926
- autoplayDelayTotal = currentSlideDelay;
7927
- autoplayDelayCurrent = currentSlideDelay;
7984
+ let delay = delayForce;
7985
+ if (typeof delay === 'undefined') {
7986
+ delay = getTotalDelay();
7987
+ autoplayDelayTotal = delay;
7988
+ autoplayDelayCurrent = delay;
7928
7989
  }
7929
7990
  autoplayTimeLeft = delay;
7930
7991
  const speed = swiper.params.speed;
@@ -7996,10 +8057,6 @@
7996
8057
  };
7997
8058
  swiper.autoplay.paused = true;
7998
8059
  if (reset) {
7999
- if (slideChanged) {
8000
- autoplayTimeLeft = swiper.params.autoplay.delay;
8001
- }
8002
- slideChanged = false;
8003
8060
  proceed();
8004
8061
  return;
8005
8062
  }
@@ -8130,7 +8187,10 @@
8130
8187
  });
8131
8188
  on('slideChange', () => {
8132
8189
  if (swiper.destroyed || !swiper.autoplay.running) return;
8133
- slideChanged = true;
8190
+ if (swiper.autoplay.paused) {
8191
+ autoplayTimeLeft = getTotalDelay();
8192
+ autoplayDelayTotal = getTotalDelay();
8193
+ }
8134
8194
  });
8135
8195
  Object.assign(swiper.autoplay, {
8136
8196
  start,
@@ -8159,6 +8219,11 @@
8159
8219
  swiper.thumbs = {
8160
8220
  swiper: null
8161
8221
  };
8222
+ function isVirtualEnabled() {
8223
+ const thumbsSwiper = swiper.thumbs.swiper;
8224
+ if (!thumbsSwiper || thumbsSwiper.destroyed) return false;
8225
+ return thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled;
8226
+ }
8162
8227
  function onThumbClick() {
8163
8228
  const thumbsSwiper = swiper.thumbs.swiper;
8164
8229
  if (!thumbsSwiper || thumbsSwiper.destroyed) return;
@@ -8211,12 +8276,18 @@
8211
8276
  }
8212
8277
  swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);
8213
8278
  swiper.thumbs.swiper.on('tap', onThumbClick);
8279
+ if (isVirtualEnabled()) {
8280
+ swiper.thumbs.swiper.on('virtualUpdate', () => {
8281
+ update(false, {
8282
+ autoScroll: false
8283
+ });
8284
+ });
8285
+ }
8214
8286
  return true;
8215
8287
  }
8216
- function update(initial) {
8288
+ function update(initial, p) {
8217
8289
  const thumbsSwiper = swiper.thumbs.swiper;
8218
8290
  if (!thumbsSwiper || thumbsSwiper.destroyed) return;
8219
- const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;
8220
8291
 
8221
8292
  // Activate thumbs
8222
8293
  let thumbsToActivate = 1;
@@ -8229,7 +8300,7 @@
8229
8300
  }
8230
8301
  thumbsToActivate = Math.floor(thumbsToActivate);
8231
8302
  thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass));
8232
- if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {
8303
+ if (thumbsSwiper.params.loop || isVirtualEnabled()) {
8233
8304
  for (let i = 0; i < thumbsToActivate; i += 1) {
8234
8305
  elementChildren(thumbsSwiper.slidesEl, `[data-swiper-slide-index="${swiper.realIndex + i}"]`).forEach(slideEl => {
8235
8306
  slideEl.classList.add(thumbActiveClass);
@@ -8242,6 +8313,14 @@
8242
8313
  }
8243
8314
  }
8244
8315
  }
8316
+ if (p?.autoScroll ?? true) {
8317
+ autoScroll(initial ? 0 : undefined);
8318
+ }
8319
+ }
8320
+ function autoScroll(slideSpeed) {
8321
+ const thumbsSwiper = swiper.thumbs.swiper;
8322
+ if (!thumbsSwiper || thumbsSwiper.destroyed) return;
8323
+ const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;
8245
8324
  const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;
8246
8325
  const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;
8247
8326
  if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {
@@ -8267,7 +8346,7 @@
8267
8346
  newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;
8268
8347
  }
8269
8348
  } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) ;
8270
- thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);
8349
+ thumbsSwiper.slideTo(newThumbsIndex, slideSpeed);
8271
8350
  }
8272
8351
  }
8273
8352
  }
@@ -8604,7 +8683,7 @@
8604
8683
  slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;
8605
8684
  }
8606
8685
  if (slidesPerView !== 'auto' && fill === 'row') {
8607
- slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);
8686
+ slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, Math.floor(slidesPerView) * rows);
8608
8687
  }
8609
8688
  slidesPerRow = slidesNumberEvenToRows / rows;
8610
8689
  };
@@ -9714,15 +9793,15 @@
9714
9793
  }
9715
9794
 
9716
9795
  /**
9717
- * Swiper 12.0.3
9796
+ * Swiper 12.2.0
9718
9797
  * Most modern mobile touch slider and framework with hardware accelerated transitions
9719
9798
  * https://swiperjs.com
9720
9799
  *
9721
- * Copyright 2014-2025 Vladimir Kharlampidi
9800
+ * Copyright 2014-2026 Vladimir Kharlampidi
9722
9801
  *
9723
9802
  * Released under the MIT License
9724
9803
  *
9725
- * Released on: October 21, 2025
9804
+ * Released on: May 27, 2026
9726
9805
  */
9727
9806
 
9728
9807
 
@@ -9731,7 +9810,7 @@
9731
9810
  Swiper.use(modules);
9732
9811
 
9733
9812
  /* underscore in name -> watch for changes */
9734
- const paramsList = ['eventsPrefix', 'injectStyles', 'injectStylesUrls', 'modules', 'init', '_direction', 'oneWayMovement', 'swiperElementNodeName', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', 'breakpointsBase', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopAdditionalSlides', 'loopAddBlankSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideFullyVisibleClass', 'slideNextClass', 'slidePrevClass', 'slideBlankClass', 'wrapperClass', 'lazyPreloaderClass', 'lazyPreloadPrevNext', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',
9813
+ const paramsList = ['eventsPrefix', 'injectStyles', 'injectStylesUrls', 'modules', 'init', '_direction', 'oneWayMovement', 'swiperElementNodeName', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', 'breakpointsBase', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_snapToSlideEdge', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopAdditionalSlides', 'loopAddBlankSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideFullyVisibleClass', 'slideNextClass', 'slidePrevClass', 'slideBlankClass', 'wrapperClass', 'lazyPreloaderClass', 'lazyPreloadPrevNext', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',
9735
9814
  // modules
9736
9815
  'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control'];
9737
9816
 
@@ -10043,21 +10122,21 @@
10043
10122
  }
10044
10123
 
10045
10124
  /**
10046
- * Swiper Custom Element 12.0.3
10125
+ * Swiper Custom Element 12.2.0
10047
10126
  * Most modern mobile touch slider and framework with hardware accelerated transitions
10048
10127
  * https://swiperjs.com
10049
10128
  *
10050
- * Copyright 2014-2025 Vladimir Kharlampidi
10129
+ * Copyright 2014-2026 Vladimir Kharlampidi
10051
10130
  *
10052
10131
  * Released under the MIT License
10053
10132
  *
10054
- * Released on: October 21, 2025
10133
+ * Released on: May 27, 2026
10055
10134
  */
10056
10135
 
10057
10136
 
10058
10137
  /* eslint-disable spaced-comment */
10059
10138
 
10060
- const SwiperCSS = `:host{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;height:100%;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;width:100%;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}.swiper-virtual ::slotted(swiper-slide){-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}:host{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal .swiper-button-next,.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-next,.swiper-horizontal~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-horizontal .swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-next .swiper-navigation-icon,.swiper-horizontal~.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}.swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-prev .swiper-navigation-icon{transform:rotate(0deg)}.swiper-vertical .swiper-button-next,.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-next,.swiper-vertical~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px)}.swiper-vertical .swiper-button-prev .swiper-navigation-icon,.swiper-vertical~.swiper-button-prev .swiper-navigation-icon{transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto}.swiper-vertical .swiper-button-next .swiper-navigation-icon,.swiper-vertical~.swiper-button-next .swiper-navigation-icon{transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px))}button.swiper-pagination-bullet{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}::slotted(.swiper-slide-zoomed){cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade.swiper-free-mode ::slotted(swiper-slide){transition-timing-function:ease-out}.swiper-fade ::slotted(swiper-slide){pointer-events:none;transition-property:opacity}.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-fade ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube ::slotted(swiper-slide){backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1}.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-cube.swiper-rtl ::slotted(swiper-slide){transform-origin:100% 0}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-next),.swiper-cube ::slotted(.swiper-slide-prev){pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0}.swiper-cube .swiper-cube-shadow:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}.swiper-cube ::slotted(.swiper-slide-next)+::slotted(swiper-slide){pointer-events:auto;visibility:visible}.swiper.swiper-flip{overflow:visible}.swiper-flip ::slotted(swiper-slide){backface-visibility:hidden;pointer-events:none;z-index:1}.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-flip ::slotted(.swiper-slide-active),.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-creative ::slotted(swiper-slide){backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}`;
10139
+ const SwiperCSS = `:host{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;height:100%;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;width:100%;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android ::slotted(swiper-slide),.swiper-ios ::slotted(swiper-slide),.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}::slotted(swiper-slide){display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}::slotted(.swiper-slide-invisible-blank){visibility:hidden}.swiper-autoheight,.swiper-autoheight ::slotted(swiper-slide){height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden ::slotted(swiper-slide){backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d ::slotted(swiper-slide){transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode ::slotted(swiper-slide){scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal ::slotted(swiper-slide):last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical ::slotted(swiper-slide):last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode ::slotted(swiper-slide){scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered ::slotted(swiper-slide){scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal ::slotted(swiper-slide):first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical ::slotted(swiper-slide):first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}.swiper-virtual ::slotted(swiper-slide){-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}:host{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next ::slotted(svg),.swiper-button-next svg,.swiper-button-prev ::slotted(svg),.swiper-button-prev svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-button-prev .swiper-navigation-icon,.swiper-button-prev ::slotted(.swiper-navigation-icon){transform:rotate(180deg)}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal .swiper-button-next,.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-next,.swiper-horizontal~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-horizontal .swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next,.swiper-horizontal~.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}.swiper-horizontal .swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev,.swiper-horizontal~.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal .swiper-button-prev ::slotted(.swiper-navigation-icon),.swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon,.swiper-horizontal.swiper-rtl .swiper-button-next ::slotted(.swiper-navigation-icon),.swiper-horizontal.swiper-rtl~.swiper-button-next .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-next ::slotted(.swiper-navigation-icon),.swiper-horizontal~.swiper-button-prev .swiper-navigation-icon,.swiper-horizontal~.swiper-button-prev ::slotted(.swiper-navigation-icon){transform:rotate(180deg)}.swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl .swiper-button-prev ::slotted(.swiper-navigation-icon),.swiper-horizontal.swiper-rtl~.swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-prev ::slotted(.swiper-navigation-icon){transform:rotate(0deg)}.swiper-vertical .swiper-button-next,.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-next,.swiper-vertical~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px)}.swiper-vertical .swiper-button-prev .swiper-navigation-icon,.swiper-vertical .swiper-button-prev ::slotted(.swiper-navigation-icon),.swiper-vertical~.swiper-button-prev .swiper-navigation-icon,.swiper-vertical~.swiper-button-prev ::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto}.swiper-vertical .swiper-button-next .swiper-navigation-icon,.swiper-vertical .swiper-button-next ::slotted(.swiper-navigation-icon),.swiper-vertical~.swiper-button-next .swiper-navigation-icon,.swiper-vertical~.swiper-button-next ::slotted(.swiper-navigation-icon){transform:rotate(90deg)}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px))}button.swiper-pagination-bullet{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}::slotted(.swiper-slide-zoomed){cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade.swiper-free-mode ::slotted(swiper-slide){transition-timing-function:ease-out}.swiper-fade ::slotted(swiper-slide){pointer-events:none;transition-property:opacity}.swiper-fade ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-fade ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-fade ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube ::slotted(swiper-slide){backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1}.swiper-cube ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-cube.swiper-rtl ::slotted(swiper-slide){transform-origin:100% 0}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-cube ::slotted(.swiper-slide-active),.swiper-cube ::slotted(.swiper-slide-next),.swiper-cube ::slotted(.swiper-slide-prev){pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0}.swiper-cube .swiper-cube-shadow:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}.swiper-cube ::slotted(.swiper-slide-next)+::slotted(swiper-slide){pointer-events:auto;visibility:visible}.swiper.swiper-flip{overflow:visible}.swiper-flip ::slotted(swiper-slide){backface-visibility:hidden;pointer-events:none;z-index:1}.swiper-flip ::slotted(swiper-slide) ::slotted(swiper-slide){pointer-events:none}.swiper-flip ::slotted(.swiper-slide-active),.swiper-flip ::slotted(.swiper-slide-active) ::slotted(.swiper-slide-active){pointer-events:auto}.swiper-creative ::slotted(swiper-slide){backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards ::slotted(swiper-slide){backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}`;
10061
10140
  const SwiperSlideCSS = `::slotted(.swiper-slide-shadow),::slotted(.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-top){height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}::slotted(.swiper-slide-shadow){background:#00000026}::slotted(.swiper-slide-shadow-left){background-image:linear-gradient(270deg,#00000080,#0000)}::slotted(.swiper-slide-shadow-right){background-image:linear-gradient(90deg,#00000080,#0000)}::slotted(.swiper-slide-shadow-top){background-image:linear-gradient(0deg,#00000080,#0000)}::slotted(.swiper-slide-shadow-bottom){background-image:linear-gradient(180deg,#00000080,#0000)}.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-cube.swiper-slide-shadow-top){backface-visibility:hidden;z-index:0}::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-bottom),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-left),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-right),::slotted(.swiper-slide-shadow-flip.swiper-slide-shadow-top){backface-visibility:hidden;z-index:0}::slotted(.swiper-zoom-container){align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%}::slotted(.swiper-zoom-container)>canvas,::slotted(.swiper-zoom-container)>img,::slotted(.swiper-zoom-container)>svg{max-height:100%;max-width:100%;object-fit:contain}`;
10062
10141
 
10063
10142
  class DummyHTMLElement {}
@@ -10155,8 +10234,8 @@
10155
10234
  </div>
10156
10235
  <slot name="container-end"></slot>
10157
10236
  ${needsNavigation(this.passedParams) ? `
10158
- <div part="button-prev" class="swiper-button-prev"></div>
10159
- <div part="button-next" class="swiper-button-next"></div>
10237
+ <div part="button-prev" class="swiper-button-prev"><slot name="button-prev"></slot></div>
10238
+ <div part="button-next" class="swiper-button-next"><slot name="button-next"></slot></div>
10160
10239
  ` : ''}
10161
10240
  ${needsPagination(this.passedParams) ? `
10162
10241
  <div part="pagination" class="swiper-pagination"></div>