.carousel{-webkit-user-select:none;user-select:none;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;--carousel-thumb-bg:#a0a0a0;--carousel-thumb-text:#111827;--carousel-thumb-active:#2563eb;--carousel-thumb-img-bg:#0000000a;--carousel-scroll-thumb:#0000001f;border-radius:0 0 8px 8px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.carousel{--carousel-thumb-bg:#0000005c;--carousel-thumb-text:#fff;--carousel-thumb-active:var(--primaryButtonColor,#60a5fa);--carousel-thumb-img-bg:#ffffff0a;--carousel-scroll-thumb:#ffffff1f}}.carousel--minimal{flex-direction:column;justify-content:center;align-items:center;display:flex}.carousel--fullscreen{z-index:1000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;inset:0}.carousel__viewport{flex:auto;width:100%;position:relative;overflow:hidden}.carousel__track{will-change:transform;backface-visibility:hidden;flex:auto;width:100%;height:auto;transition:transform .5s;display:flex;position:relative;transform:translateZ(0)}@media (hover:hover) and (pointer:fine){.carousel__track:hover~.carousel__button{opacity:.7}}.carousel__slide{background:0 0;flex:0 0 100%;justify-content:center;align-items:center;min-width:100%;max-width:100%;height:100%;display:flex;overflow:hidden}.carousel__image{object-fit:cover;background:0 0;width:100%;height:100%;display:block}.carousel__image--fullscreen{object-fit:contain;background:#000000b3}.carousel--minimal .carousel__slide{background:#fff}.carousel--minimal .carousel__image{object-fit:contain;background:#fff;width:auto;max-width:100%;height:auto;max-height:100%;margin:0 auto;display:block}.carousel__overlay{z-index:999;background:#000c;position:fixed;inset:0}.carousel__close{color:#fff;cursor:pointer;z-index:1001;opacity:.9;background:#ffffff0f;border:2px solid #000000f2;border-radius:8px;padding:6px 8px;font-size:32px;position:absolute;top:20px;right:20px}.carousel__close:hover{opacity:1}.carousel__button{z-index:10;color:#fff;cursor:pointer;opacity:0;background:#00000047;border:2px solid #000000f2;border-radius:10px;justify-content:center;align-items:center;width:64px;height:64px;font-size:28px;transition:opacity .3s,transform .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel__button--prev{left:12px}.carousel__button--next{right:12px}.carousel__side-control{z-index:8;background:0 0;width:18%;position:absolute;top:0;bottom:0}.carousel__side-control--left{left:0}.carousel__side-control--right{right:0}.carousel__dots{z-index:30;pointer-events:auto;justify-content:center;gap:10px;width:100%;display:flex;position:absolute;bottom:0}.carousel__dot{cursor:pointer;background:#ffffff80;border-radius:50%;width:12px;height:12px;display:inline-block}.carousel__dot.is-active{background:#fff}.carousel__thumbnails{-webkit-backdrop-filter:none;z-index:12;pointer-events:auto;background:0 0;justify-content:stretch;align-items:center;width:100%;margin-top:12px;padding:10px 0 0;display:flex;position:relative;left:auto;right:auto}.carousel__thumbnails-track{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--carousel-scroll-thumb)#0000;gap:10px;width:100%;padding-bottom:8px;display:flex;overflow-x:auto}.carousel__thumbnails-track::-webkit-scrollbar{height:6px}.carousel__thumbnails-track::-webkit-scrollbar-track{background:0 0}.carousel__thumbnails-track::-webkit-scrollbar-thumb{background:var(--carousel-scroll-thumb);border-radius:3px}.carousel__thumb{all:unset;cursor:pointer;box-sizing:border-box;width:auto;height:132px;color:var(--carousel-thumb-text);box-shadow:none;background:0 0;border:1px solid #0f172a1a;border-radius:0;flex:1 1 0;justify-content:center;align-items:center;padding:0;font-size:20px;transition:border-color .2s,transform .2s;display:inline-flex;overflow:hidden}.carousel__thumb img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.carousel__thumb--natural img,.carousel__thumb .carousel__thumb--natural img{object-fit:cover;width:100%;height:100%;margin:0;display:block}.carousel__thumb--portrait{width:auto}.carousel__thumb--overflow{position:relative}.carousel__thumb--overflow img{filter:brightness(.6)}.carousel__thumb .carousel__thumb-overlay{pointer-events:none;color:#fff;background:#68686842;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex;position:absolute;inset:0}.carousel__thumb.is-active{border-color:var(--carousel-thumb-active)}.carousel__thumb.is-active img{border:none}@media (max-width:768px){.carousel__thumbnails{margin-top:0}.carousel .carousel:not(.carousel--fullscreen) .carousel__side-control{pointer-events:none!important;display:none!important}.carousel .carousel__button{opacity:0!important;pointer-events:none!important;display:none!important}.carousel__thumb{flex:1 1 0;width:auto;height:84px}.carousel__thumb--portrait{width:auto}.carousel__dots{bottom:0}}.carousel--fullscreen .carousel__thumbnails{-webkit-backdrop-filter:blur(6px);z-index:20;padding:12px 0 0;position:absolute;bottom:0;left:0;right:0}.carousel--fullscreen .carousel__dots{z-index:30;bottom:12px}.carousel--fullscreen{box-sizing:border-box;z-index:1000;background-clip:padding-box;position:fixed;inset:0}.carousel--fullscreen .carousel__track,.carousel--fullscreen .carousel__slide{width:100vw;height:100vh}.carousel--fullscreen .carousel__image--fullscreen{width:100vw;max-width:100vw;height:100vh;max-height:100vh}.carousel .carousel__close,.carousel .carousel__button{-webkit-backdrop-filter:blur(6px);color:#fff;background:#00000059;font-weight:800}.carousel .carousel__close{background:#0000009e;border-width:2px;border-color:#000000f2;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;padding:0;font-size:24px;display:flex}.carousel .carousel__button{background:#0000009e;border-width:2px;border-color:#000000f2;border-radius:50%;width:72px;height:72px;padding:8px;font-size:22px}@media (hover:hover) and (pointer:fine){.carousel .carousel__button:hover{opacity:1;transform:translateY(-50%)scale(1.06)}.carousel .carousel__close:hover{opacity:1;transform:scale(1.06)}}.carousel .carousel__close{transition:transform .15s,opacity .15s}@media (min-width:1024px){.carousel .carousel__button{opacity:1!important}}
