.swg-carousel{
  --swg-bg:var(--sw-panel,rgba(11,18,30,.92));
  --swg-bg-2:var(--sw-panel-2,rgba(17,27,43,.94));
  --swg-border:var(--sw-border,rgba(119,183,255,.20));
  --swg-blue:var(--sw-blue,#2f6eae);
  --swg-blue-2:var(--sw-blue-2,#77b6ef);
  --swg-text:var(--sw-text,#edf5ff);
  --swg-muted:var(--sw-muted,#a8b5c7);
  --swg-image-max-width:760px;
  --swg-image-max-height:460px;
  margin:1.5rem 0 2rem;
  color:var(--swg-text)
}

.swg-stage{
  position:relative;
  overflow:hidden;
  border:1px solid var(--swg-border);
  border-radius:14px;
  background:linear-gradient(180deg,var(--swg-bg-2),var(--swg-bg));
  box-shadow:0 14px 38px rgba(0,0,0,.28)
}

.swg-viewport{
  overflow:hidden;
  transition:height .22s ease
}

.swg-track{
  display:flex;
  width:100%;
  align-items:flex-start;
  transition:transform .58s cubic-bezier(.22,.61,.36,1);
  will-change:transform
}

.swg-slide{
  flex:0 0 100%;
  min-width:0;
  margin:0!important;
  padding:0;
  text-align:center;
  opacity:.35;
  transform:scale(.985);
  transition:opacity .42s ease,transform .58s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform
}

.swg-slide.is-active{
  opacity:1;
  transform:scale(1)
}

/* Das Skywatch-Theme gibt allen figure-Elementen einen vertikalen Außenabstand.
   Im Carousel würde dieser Abstand nicht in die berechnete Viewport-Höhe
   eingehen und die Bildunterschrift am unteren Rand abschneiden. */
.entry-content .swg-carousel figure.swg-slide,
.swg-carousel figure.swg-slide{
  margin:0!important
}

.swg-image-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:14px;
  border:0;
  background:#05080d;
  cursor:zoom-in;
  box-sizing:border-box
}

.swg-image{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:min(100%,var(--swg-image-max-width))!important;
  max-height:var(--swg-image-max-height)!important;
  margin:0 auto!important;
  object-fit:contain;
  background:#05080d;
  box-sizing:border-box
}

.swg-carousel .swg-slide > .swg-caption{
  display:block!important;
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:10px 14px 12px;
  color:var(--swg-muted);
  font-size:.82rem;
  line-height:1.45;
  text-align:center;
  border:0!important;
  border-top:1px solid var(--swg-border)!important;
  background:var(--swg-bg)
}

.swg-nav{
  position:absolute;
  top:50%;
  z-index:3;
  display:grid;
  place-items:center;
  width:42px;
  height:54px;
  padding:0!important;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(5,8,13,.72);
  color:#fff;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(5px)
}

.swg-nav svg{
  display:block;
  width:20px;
  height:28px;
  margin:0;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:3.5;
  stroke-linecap:round;
  stroke-linejoin:round
}

.swg-prev svg{transform:scaleX(-1)}

.swg-nav:hover{background:var(--swg-blue)}
.swg-nav:disabled{display:none}
.swg-prev{left:12px}
.swg-next{right:12px}

.swg-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 2px 8px
}

.swg-dots{
  display:flex;
  flex-wrap:wrap;
  gap:6px
}

.swg-dot{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(168,181,199,.42);
  cursor:pointer
}

.swg-dot.is-active{
  background:var(--swg-blue-2);
  box-shadow:0 0 0 3px rgba(119,182,239,.10)
}

.swg-counter{
  color:var(--swg-muted);
  font-size:.78rem;
  font-variant-numeric:tabular-nums
}

.swg-thumbs{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(58px,1fr));
  gap:7px;
  width:100%;
  overflow:visible;
  padding:6px 0 2px;
  box-sizing:border-box
}

.swg-thumb{
  display:block;
  width:100%;
  height:46px;
  min-width:0;
  padding:2px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:6px;
  background:rgba(5,8,13,.50);
  cursor:pointer;
  opacity:.68;
  box-sizing:border-box
}

.swg-thumb:hover,
.swg-thumb.is-active{
  border-color:var(--swg-blue-2);
  background:rgba(5,8,13,.82);
  opacity:1
}

.swg-carousel .swg-thumb img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  object-fit:cover;
  border-radius:3px;
  box-sizing:border-box
}

/* Das Hauptbild darf seinen eigenen Rahmen behalten; nur die Thumbnails
   werden ausdrücklich von allgemeinen Theme-Bildrahmen ausgenommen. */
.swg-carousel .swg-thumb img.sw-image-loaded{
  border:0!important
}

.swg-lightbox[hidden]{display:none!important}

.swg-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:32px;
  background:rgba(1,4,8,.94)
}

.swg-lightbox img{
  max-width:min(96vw,1800px);
  max-height:92vh;
  width:auto;
  height:auto;
  object-fit:contain
}

.swg-lightbox-close{
  position:fixed;
  top:18px;
  right:22px;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:rgba(5,8,13,.82);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer
}

.swg-no-scroll{overflow:hidden}

@media(max-width:700px){
  .swg-carousel{
    --swg-image-max-width:100%;
    --swg-image-max-height:340px
  }

  .swg-image-button{padding:8px}
  .swg-nav{width:36px;height:48px;font-size:22px}
  .swg-prev{left:7px}
  .swg-next{right:7px}
  .swg-thumbs{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:5px}
  .swg-thumb{height:40px}
}

@media(prefers-reduced-motion:reduce){
  .swg-track,
  .swg-viewport,
  .swg-slide{transition:none}
}
