slot-fb[hidden], slot[hidden] {
  display: initial !important;
}

/**
  * @prop --lar-node-cam-text-top: Camera name element top
  * @prop --lar-node-cam-text-right: Camera name element right
  * @prop --lar-node-cam-text-bottom: Camera name element bottom
  * @prop --lar-node-cam-text-left: Camera name element left
  * @prop --lar-node-cam-text-max-width: Camera name element max width
  */
:host {
  min-width: 8rem;
  display: block;
  user-select: none;
  position: relative;
}

:host(.lar-node-disabled) slot {
  pointer-events: none;
}

video, canvas {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.1px;
}

.swiper {
  height: var(--lar-node-box-height, 10rem);
  width: 100%;
  overflow: hidden;
  border-radius: var(--lar-node-box-border-radius, 0.5rem);
  position: relative;
  display: block;
}

.lar-node-box {
  border-radius: var(--lar-node-box-border-radius, 0.5rem);
  text-align: center;
  position: relative;
  height: var(--lar-node-box-height, 10rem);
  min-height: 8rem;
  cursor: pointer;
  background: var(--lar-background-color, #000);
}

.swiper-slide-title {
  z-index: 1;
  position: absolute;
  top: 1rem;
  left: 0.5rem;
  right: auto;
  max-width: calc(100% - 1rem);
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0.25rem 0.5rem;
  text-align: left;
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 0.5rem;
  background: var(--lar-color-dark, #222428);
  color: var(--lar-color-light, #f4f5f8);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.swiper-slide-title:empty {
  display: none !important;
}

.lar-node-box > .lar-icon-small {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  z-index: 1;
}
.lar-node-box > .lar-icon-small lar-icon {
  width: 100%;
  height: 100%;
}

.swiper-wrapper {
  z-index: 1 !important;
  height: 100%;
  width: 100%;
  position: relative;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-slide {
  height: 100%;
  width: 100%;
  position: relative;
  flex-shrink: 0;
  display: block;
}

.lar-icon-small lar-icon {
  display: block;
  width: 100%;
  height: 100%;
}

.lar-icon-small:empty {
  display: none !important;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  z-index: 1;
  bottom: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  width: auto;
  padding: 0.4rem 0.75rem;
  background: var(--lar-color-dark, #222428);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.swiper-pagination-hidden {
  display: none !important;
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
  background: var(--lar-color-light, #f4f5f8);
  opacity: 0.5;
  margin: 0 2px;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
}

.swiper-pagination-bullet:hover {
  opacity: 0.7;
  transform: scale(1.2);
}

.swiper-pagination-bullet-active {
  background: var(--lar-color-light, #f4f5f8);
  opacity: 1;
  width: 20px;
  height: 8px;
  border-radius: 4px;
}

:host(.lar-color-primary) .lar-icon-small lar-icon {
  fill: var(--lar-color-primary, #780bb7) !important;
  stroke: var(--lar-color-primary, #780bb7) !important;
}

:host(.lar-color-secondary) .lar-icon-small lar-icon {
  fill: var(--lar-color-secondary, #7fb800) !important;
  stroke: var(--lar-color-secondary, #7fb800) !important;
}

:host(.lar-color-tertiary) .lar-icon-small lar-icon {
  fill: var(--lar-color-tertiary, #00a6ed) !important;
  stroke: var(--lar-color-tertiary, #00a6ed) !important;
}

:host(.lar-color-success) .lar-icon-small lar-icon {
  fill: var(--lar-color-success, #7fb800) !important;
  stroke: var(--lar-color-success, #7fb800) !important;
}

:host(.lar-color-warning) .lar-icon-small lar-icon {
  fill: var(--lar-color-warning, #ffb400) !important;
  stroke: var(--lar-color-warning, #ffb400) !important;
}

:host(.lar-color-danger) .lar-icon-small lar-icon {
  fill: var(--lar-color-danger, #f6511d) !important;
  stroke: var(--lar-color-danger, #f6511d) !important;
}

:host(.lar-color-light) .lar-icon-small lar-icon {
  fill: var(--lar-color-light, #f4f5f8) !important;
  stroke: var(--lar-color-light, #f4f5f8) !important;
}

:host(.lar-color-medium) .lar-icon-small lar-icon {
  fill: var(--lar-color-medium, #d6d6d6) !important;
  stroke: var(--lar-color-medium, #d6d6d6) !important;
}

:host(.lar-color-dark) .lar-icon-small lar-icon {
  fill: var(--lar-color-dark, #222428) !important;
  stroke: var(--lar-color-dark, #222428) !important;
}