:root{
  --ccsw-gap: 16px;
  --ccsw-peek: 5%;
  --ccsw-nav-size: 40px;
  --ccsw-dot-size: 10px;
}

/* ================================
   Carousel Base
================================ */
.ccsw{
  --ccsw-cols: 1;
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.ccsw__viewport{
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  touch-action: pan-y pinch-zoom;
  -webkit-user-select: none;
  user-select: none;
  margin-bottom: 10px;
}

.ccsw__track{
  display: flex;
  gap: var(--ccsw-gap);
  transform: translate3d(0,0,0);
  will-change: transform;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  padding: 0 0 2%;
}

.ccsw--dragging .ccsw__track{
  cursor: grabbing;
}

.ccsw__slide{
  flex: 0 0 calc(
    (
      100%
      - (var(--ccsw-gap) * (var(--ccsw-cols) - 1))
      - (var(--ccsw-peek) * 2)
    ) / var(--ccsw-cols)
  );
  min-width: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
   transition: filter 0.4s ease;
  background-image: linear-gradient(
    180deg,
    rgba(47, 57, 70, 1) 0%,
    rgba(15, 20, 24, 1) 100%
  );
  border-radius: 15px;
  border:1px solid rgba(255,255,255,0.05);
  overflow: hidden;
}

.ccsw__slide:hover{
  filter: brightness(1.25);
}

.ccsw__slide > a{
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  padding:20px 40px;
}

.ccsw--dragging .ccsw__slide > a,
.ccsw--dragging a{
  pointer-events: none !important;
  -webkit-touch-callout: none;
}
.ccsw__slide h4 {
  font-size:16px;
  font-family: var(--font-en);
  font-weight: 300;
  text-align: center;
  line-height: 1.25em;
  color:var(--color-a9);
  margin-bottom: 0.5em;
}
.ccsw__slide .ccsw_img{
  width: 100%;
  height: auto;
  display: block;
  margin:-10px auto 10px;
}
.ccsw__slide p {
  font-size:11px;
  font-family: var(--font-en);
  font-weight: 300;
  text-align: center;
  line-height: 1.25em;
  color:var(--color-a9);
  margin-bottom: 0em;
}



/* ================================
   Dots
================================ */
.ccsw__dots{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  list-style: none;
  padding: 0 0 30px;
  margin: 0;
}

.ccsw__dots li{
  width: var(--ccsw-dot-size);
  height: var(--ccsw-dot-size);
  border-radius: 9999px;
  background: var(--color-a9);
  cursor: pointer;
  transition: transform .25s ease, background .25s ease;
}

.ccsw__dots li.ccsw__dot--current{
  background: var(--color-white);
  transform: scale(1.15);
}

/* ================================
   Navigation
================================ */
.ccsw__nav{
  position: absolute;
  top: -60px;
  right:0;
  z-index: 20;
  width: var(--ccsw-nav-size);
  height: var(--ccsw-nav-size);
  border: none;
  border-radius: 9999px;
  background: rgba(0,0,0,0.8);
  cursor: pointer;
  transition: background .25s ease;
}

.ccsw__nav:hover{
  background: var(--color-1st);
}

.ccsw__nav--prev{
  right: 10%;
}

.ccsw__nav--next{
  right: 5%;
}

.ccsw__nav::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.ccsw__nav--prev::before{
  transform: translate(-30%, -50%) rotate(-135deg);
}

.ccsw__nav--next::before{
  transform: translate(-70%, -50%) rotate(45deg);
}


/* ================================
   Responsive
================================ */
@media (max-width:768px){
  :root{
    --ccsw-gap: 12px;
    --ccsw-peek: 5%;
    --ccsw-nav-size: 28px;
  }
  .ccsw__nav {
    top:105%;
  }

.ccsw__nav--prev{
  left: 5%;
}

.ccsw__nav--next{
  right: 5%;
}



}