/* Grid (unchanged) */
.wpb-cpt-list { display:grid; gap:1.25rem; }
.wpb-cpt-list.cols-1 { grid-template-columns: 1fr; }
.wpb-cpt-list.cols-2 { grid-template-columns: repeat(2,1fr); }
.wpb-cpt-list.cols-3 { grid-template-columns: repeat(3,1fr); }
.wpb-cpt-list.cols-4 { grid-template-columns: repeat(4,1fr); }
.wpb-cpt-list__item { border:1px solid #eee; border-radius:8px; overflow:hidden; background:#fff; }
.wpb-cpt-list__thumb img { width:100%; height:auto; display:block; }
.wpb-cpt-list__body { padding:12px 14px; }
.wpb-cpt-list__title { margin:0 0 6px; font-size:1.05rem; line-height:1.25; }
.wpb-cpt-list__excerpt { margin:0; opacity:.85; font-size:.95rem; }

/* Carousel root */
.wpb-cpt-carousel { position:relative; width:100%; }

/* Viewport: no scroll snap (we animate via transform) */
.wpb-cpt-carousel__viewport { overflow:hidden; }

/* Track: GPU-accelerated transform + easing */
.wpb-cpt-carousel__track {
  display:flex;
  align-items:stretch;
  will-change: transform;
  transition: transform 450ms cubic-bezier(.22,.61,.36,1);
}

/* Slides sized by JS; keep fluid content */
.wpb-cpt-carousel__slide { flex:0 0 auto; }
.wpb-cpt-carousel .wpb-cpt-list__thumb img { width:100%; height:auto; display:block; }

/* Optional visual hint while dragging */
.wpb-cpt-carousel__viewport.is-dragging { cursor:grabbing; }

/* Arrows & dots (unchanged) */
.wpb-cpt-carousel__arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  border:none; background:rgba(0,0,0,0.6); color:#fff;
  width:36px; height:36px; border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  z-index:2;
}
.wpb-cpt-carousel__arrow[disabled] { opacity:.35; cursor:not-allowed; }
.wpb-cpt-carousel__arrow--prev { left:8px; }
.wpb-cpt-carousel__arrow--next { right:8px; }
.wpb-cpt-carousel__dots { display:flex; gap:8px; justify-content:center; margin-top:10px; }
.wpb-cpt-carousel__dot { width:8px; height:8px; border-radius:50%; border:none; background:#c8c8c8; cursor:pointer; }
.wpb-cpt-carousel__dot.is-active { background:#333; }
.wpb-cpt-carousel[data-arrows="0"] .wpb-cpt-carousel__arrow { display:none; }
.wpb-cpt-carousel[data-dots="0"] .wpb-cpt-carousel__dots { display:none; }

.wpb-cpt-pagination { margin-top: 16px; display:flex; justify-content:center; }
.wpb-cpt-page { list-style:none; margin:0; padding:0; display:flex; gap:8px; flex-wrap:wrap; }
.wpb-cpt-page a,
.wpb-cpt-page span { display:inline-block; padding:6px 10px; border:1px solid #ddd; border-radius:6px; text-decoration:none; font-size:14px; line-height:1; }
.wpb-cpt-page .current { background:#333; color:#fff; border-color:#333; }
.wpb-cpt-page a:hover { border-color:#bbb; }
