/**
 * WISECP · Web Hosting Billing and Digital Services Platform
 *
 * Copyright (c) WISECP LLC — All rights reserved.
 * Unlicensed copying, distribution or use is prohibited.
 *
 * Terms of service: https://wisecp.com/terms-of-service
 */
.software-search {
  inline-size: min(100%, 14rem);
}
.sw-count {
  color: var(--mn-muted-color);
}
.list-group-item.active .sw-count {
  color: inherit;
  opacity: 0.85;
}
.sw-thumb {
  overflow: hidden;
}
.sw-thumb img {
  transition: transform 0.3s ease;
  will-change: transform;
}
.sw-card:hover .sw-thumb img {
  transform: scale(1.04);
}
.sw-gallery,
.sw-lightbox {
  direction: ltr;
}
.sw-gallery-viewport {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--mn-border-color);
  background-color: var(--mn-body-bg);
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
  transition: height 0.35s ease;
}
.sw-gallery-viewport.is-dragging {
  cursor: grabbing;
}
.sw-gallery-track {
  display: flex;
  align-items: flex-start;
  transition: transform 0.35s ease;
  will-change: transform;
}
.sw-gallery-viewport.is-dragging .sw-gallery-track {
  transition: none;
}
.sw-gallery-slide {
  flex: 0 0 100%;
  min-inline-size: 0;
}
.sw-gallery-slide img {
  inline-size: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  block-size: auto;
  display: block;
  pointer-events: none;
}
.sw-gallery-arrow {
  position: absolute;
  inset-block-start: 50%;
  transform: translateY(-50%);
  inline-size: 2.5rem;
  block-size: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background-color: var(--mn-surface-bg);
  color: var(--mn-body-color);
  box-shadow: var(--mn-shadow);
  opacity: 0;
  transition:
    opacity 0.2s ease,
    background-color 0.2s ease;
  z-index: 2;
}
.sw-gallery-prev {
  inset-inline-start: 0.75rem;
}
.sw-gallery-next {
  inset-inline-end: 0.75rem;
}
.sw-gallery-viewport:hover .sw-gallery-arrow,
.sw-gallery-viewport:focus-within .sw-gallery-arrow {
  opacity: 1;
}
.sw-gallery-arrow:hover {
  background-color: var(--mn-primary);
  color: var(--mn-on-primary);
}
.sw-gallery-arrow[disabled] {
  opacity: 0 !important;
  pointer-events: none;
}
.sw-gallery-zoom,
.sw-gallery-counter {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.2rem 0.55rem;
  border-radius: 2rem;
  background-color: #0000008c;
  color: #fff;
  font-size: 0.75rem;
  pointer-events: none;
  z-index: 2;
}
.sw-gallery-zoom {
  inset-block-start: 0.75rem;
  inset-inline-end: 0.75rem;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.sw-gallery-viewport:hover .sw-gallery-zoom {
  opacity: 1;
}
.sw-gallery-counter {
  inset-block-end: 0.75rem;
  inset-inline-end: 0.75rem;
}
.sw-gallery-thumbs {
  flex-wrap: wrap;
}
.sw-gallery-thumbs .nav-link {
  padding: 0;
  border: 2px solid transparent;
  border-radius: var(--mn-radius);
  overflow: hidden;
  inline-size: 7.5rem;
  block-size: 4.5rem;
}
.sw-gallery-thumbs .nav-link img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  display: block;
}
.sw-gallery-thumbs .nav-link.active {
  border-color: var(--mn-primary);
}
.sw-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1090;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 4vw, 3rem);
  background-color: #000000d9;
}
.sw-lightbox[hidden] {
  display: none;
}
.sw-lightbox-figure {
  margin: 0;
  max-inline-size: 100%;
  max-block-size: 100%;
  display: flex;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
  transition: transform 0.25s ease;
}
.sw-lightbox-figure.is-dragging {
  cursor: grabbing;
  transition: none;
}
.sw-lightbox-figure img {
  pointer-events: none;
}
.sw-lightbox-figure img {
  max-inline-size: 100%;
  max-block-size: 85vh;
  inline-size: auto;
  block-size: auto;
  object-fit: contain;
  border-radius: var(--mn-radius);
}
.sw-lightbox-close,
.sw-lightbox-nav {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background-color: #ffffff1f;
  color: #fff;
  transition: background-color 0.2s ease;
}
.sw-lightbox-close:hover,
.sw-lightbox-nav:hover {
  background-color: #ffffff40;
}
.sw-lightbox-close {
  inset-block-start: clamp(1rem, 3vw, 2rem);
  inset-inline-end: clamp(1rem, 3vw, 2rem);
  inline-size: 2.75rem;
  block-size: 2.75rem;
  font-size: 1.25rem;
}
.sw-lightbox-nav {
  inset-block-start: 50%;
  transform: translateY(-50%);
  inline-size: 3rem;
  block-size: 3rem;
  font-size: 1.5rem;
}
.sw-lightbox-prev {
  inset-inline-start: clamp(0.5rem, 3vw, 2rem);
}
.sw-lightbox-next {
  inset-inline-end: clamp(0.5rem, 3vw, 2rem);
}
.sw-lightbox-counter {
  position: absolute;
  inset-block-end: clamp(1rem, 3vw, 2rem);
  inset-inline: 0;
  text-align: center;
  color: #ffffffd9;
  font-size: 0.85rem;
}
.tab-pane .page-faq {
  max-inline-size: none;
}
.sw-rating-input .btn {
  line-height: 1;
}
