User:Nvdtn19/Gadget-Carousel.css

/* ========================================================    CAROUSEL GADGET STYLES    ======================================================== */  /* Stack the slides once JavaScript is successfully enabled */ .wv-js-carousel-wrapper.is-carousel .wv-js-carousel-slide {     position: absolute !important;     top: 0;     left: 0;     width: 100%;     height: 100%;     margin-bottom: 0 !important;     opacity: 0;     pointer-events: none;     z-index: 0;     will-change: transform, opacity; }  .wv-js-carousel-wrapper.is-carousel .wv-js-carousel-slide.active, .wv-js-carousel-wrapper.is-carousel .wv-js-carousel-slide.anim-next-enter, .wv-js-carousel-wrapper.is-carousel .wv-js-carousel-slide.anim-next-leave, .wv-js-carousel-wrapper.is-carousel .wv-js-carousel-slide.anim-prev-enter, .wv-js-carousel-wrapper.is-carousel .wv-js-carousel-slide.anim-prev-leave {     opacity: 1 !important;     z-index: 10;     pointer-events: auto; }  /* Slide Keyframes */ .wv-js-carousel-wrapper.is-carousel .wv-js-carousel-slide.anim-next-enter {     z-index: 10;     animation: slideInRight 0.6s ease-out forwards; } .wv-js-carousel-wrapper.is-carousel .wv-js-carousel-slide.anim-next-leave {     z-index: 5;     animation: slideOutLeft 0.6s ease-out forwards; } .wv-js-carousel-wrapper.is-carousel .wv-js-carousel-slide.anim-prev-enter {     z-index: 10;     animation: slideInLeft 0.6s ease-out forwards; } .wv-js-carousel-wrapper.is-carousel .wv-js-carousel-slide.anim-prev-leave {     z-index: 5;     animation: slideOutRight 0.6s ease-out forwards; }  @keyframes slideInRight {     from { transform: translateX(100%); }     to { transform: translateX(0); } } @keyframes slideOutLeft {     from { transform: translateX(0); }     to { transform: translateX(-100%); } } @keyframes slideInLeft {     from { transform: translateX(-100%); }     to { transform: translateX(0); } } @keyframes slideOutRight {     from { transform: translateX(0); }     to { transform: translateX(100%); } }  /* ========================================================    PREFERS-REDUCED-MOTION    ======================================================== */ @media (prefers-reduced-motion: reduce) {     .wv-js-carousel-slide,     .wv-js-carousel-prev,     .wv-js-carousel-next,     .wv-js-carousel-dots button {         animation: none !important;         transition: none !important;     } }  /* ========================================================    PREV/NEXT    ======================================================== */  .wv-js-carousel-prev, .wv-js-carousel-next {     position: absolute;     top: 50%;     transform: translateY(-50%);     width: 42px;     height: 42px;     background-color: rgba(255, 255, 255, 0.35);     border: 1px solid rgba(255, 255, 255, 0.3);     border-radius: 50%;     cursor: pointer;     z-index: 30;     background-repeat: no-repeat;     background-position: center;     background-size: 20px 20px;     box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);     transition: background-color 0.25s ease, transform 0.2s ease; }  .wv-js-carousel-prev {     left: -21px;     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 20 20'%3E%3Cpath d='M4 10l9 9 1.4-1.4L6.8 10l7.6-7.6L13 1z' fill='%23202122'/%3E%3C/svg%3E"); }  .wv-js-carousel-next {     right: -21px;     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 20 20'%3E%3Cpath d='M16 10l-9-9-1.4 1.4 7.6 7.6-7.6 7.6L7 19z' fill='%23202122'/%3E%3C/svg%3E"); }  .wv-js-carousel-prev:hover, .wv-js-carousel-next:hover {     background-color: rgba(255, 255, 255, 0.9);     transform: translateY(-50%) scale(1.08); }  .wv-js-carousel-prev:focus-visible, .wv-js-carousel-next:focus-visible {     outline: 2px solid #36c;     outline-offset: 2px; }  /* ========================================================    NUMBERED PAGINATION (Bottom-Left 1, 2, 3 Tabs)    ======================================================== */  .wv-js-carousel-dots {     position: absolute;     bottom: 12px;     left: 40px;     transform: none;     display: flex;     gap: 6px;     z-index: 20; }  .wv-js-carousel-dots:empty {     display: none; }  /* Inactive numbered tabs */ .wv-js-carousel-dots button {     width: 22px;     height: 22px;     border-radius: 50%;     background: rgba(0, 0, 0, 0.4);     color: rgba(255, 255, 255, 0.85);     font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;     font-size: 11px;     font-weight: 700;     line-height: 22px;     text-align: center;     border: 1px solid rgba(255, 255, 255, 0.2);     cursor: pointer;     padding: 0;     box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);     transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease; }  /* Active and hover tab states */ .wv-js-carousel-dots button.active, .wv-js-carousel-dots button:hover {     background: rgba(255, 255, 255, 0.65);     color: #101418;     border-color: rgba(255, 255, 255, 0.9);     transform: scale(1.1); }  .wv-js-carousel-dots button:focus-visible {     outline: 2px solid #36c;     outline-offset: 2px; }  /* ========================================================    DARK THEME OVERRIDES    ======================================================== */  @media screen {     html.skin-theme-clientpref-night .wv-js-carousel-prev,     html.skin-theme-clientpref-night .wv-js-carousel-next {         background-color: rgba(0, 0, 0, 0.45);         border: 1px solid rgba(255, 255, 255, 0.2);         box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);     }      html.skin-theme-clientpref-night .wv-js-carousel-prev {         background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 20 20'%3E%3Cpath d='M4 10l9 9 1.4-1.4L6.8 10l7.6-7.6L13 1z' fill='%23ffffff'/%3E%3C/svg%3E");     }      html.skin-theme-clientpref-night .wv-js-carousel-next {         background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 20 20'%3E%3Cpath d='M16 10l-9-9-1.4 1.4 7.6 7.6-7.6 7.6L7 19z' fill='%23ffffff'/%3E%3C/svg%3E");     }      html.skin-theme-clientpref-night .wv-js-carousel-prev:hover,     html.skin-theme-clientpref-night .wv-js-carousel-next:hover {         background-color: rgba(0, 0, 0, 0.75);     }      html.skin-theme-clientpref-night .wv-js-carousel-dots button {         background: rgba(0, 0, 0, 0.45);         color: rgba(255, 255, 255, 0.75);         border: 1px solid rgba(255, 255, 255, 0.2);     }      html.skin-theme-clientpref-night .wv-js-carousel-dots button.active,     html.skin-theme-clientpref-night .wv-js-carousel-dots button:hover {         background: rgba(255, 255, 255, 0.35);         color: #ffffff;         border-color: rgba(255, 255, 255, 0.7);     } }  @media screen and (prefers-color-scheme: dark) {     html.skin-theme-clientpref-os .wv-js-carousel-prev,     html.skin-theme-clientpref-os .wv-js-carousel-next {         background-color: rgba(0, 0, 0, 0.45);         border: 1px solid rgba(255, 255, 255, 0.2);         box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);     }      html.skin-theme-clientpref-os .wv-js-carousel-prev {         background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 20 20'%3E%3Cpath d='M4 10l9 9 1.4-1.4L6.8 10l7.6-7.6L13 1z' fill='%23ffffff'/%3E%3C/svg%3E");     }      html.skin-theme-clientpref-os .wv-js-carousel-next {         background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 20 20'%3E%3Cpath d='M16 10l-9-9-1.4 1.4 7.6 7.6-7.6 7.6L7 19z' fill='%23ffffff'/%3E%3C/svg%3E");     }      html.skin-theme-clientpref-os .wv-js-carousel-prev:hover,     html.skin-theme-clientpref-os .wv-js-carousel-next:hover {         background-color: rgba(0, 0, 0, 0.75);     }      html.skin-theme-clientpref-os .wv-js-carousel-dots button {         background: rgba(0, 0, 0, 0.45);         color: rgba(255, 255, 255, 0.75);         border: 1px solid rgba(255, 255, 255, 0.2);     }      html.skin-theme-clientpref-os .wv-js-carousel-dots button.active,     html.skin-theme-clientpref-os .wv-js-carousel-dots button:hover {         background: rgba(255, 255, 255, 0.35);         color: #ffffff;         border-color: rgba(255, 255, 255, 0.7);     } }  /* ========================================================    MOBILE CONSTRAINTS (Screen width <= 768px)    ======================================================== */  @media screen and (max-width: 768px) {     .wv-js-carousel-dots {         left: 16px;         bottom: 12px;         z-index: 25;     }      .wv-js-carousel-prev,     .wv-js-carousel-next {         top: auto;         bottom: 10px;         transform: none;         width: 34px;         height: 34px;         background-size: 16px 16px;         z-index: 25;     }      .wv-js-carousel-prev {         left: auto;         right: 56px;     }      .wv-js-carousel-next {         right: 16px;     }      .wv-js-carousel-prev:hover,     .wv-js-carousel-next:hover {         transform: scale(1.08);     } }