/* WDP Portfolio Carousel - v2 */
.wdp-portfolio-carousel { max-width: 1100px; margin: 0 auto; font-family: system-ui, sans-serif; color:#222; }
.wdp-filters { display:flex; gap:12px; justify-content: space-between; margin-bottom:12px; flex-wrap:wrap; align-items:center; }
.wdp-filter-group { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.wdp-filter-btn { background:#f5f5f5; border:1px solid #ddd; padding:6px 10px; cursor:pointer; border-radius:6px; transition:all .18s ease; }
.wdp-filter-btn:hover { transform:translateY(-2px); }
.wdp-filter-btn.active { background:#0a66c2; color:#fff; border-color:#084a92; box-shadow:0 4px 14px rgba(10,102,194,.12); }

.wdp-controls { display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:10px; }
.wdp-prev, .wdp-next { background:#111; color:#fff; border:none; padding:8px 12px; border-radius:6px; cursor:pointer; font-size:16px; }
.wdp-prev[disabled], .wdp-next[disabled] { opacity:.4; cursor:not-allowed; }
.wdp-counter { font-weight:600; color:#333; }

/* Swiper main */
.wdp-swiper-wrapper { position: relative; margin-bottom:8px; }
.wdp-swiper-main .swiper-slide { display:flex; align-items:stretch; padding:8px 0; transition: transform .36s ease, opacity .36s ease; }
.wdp-slide-inner { display:flex; gap:20px; align-items:stretch; width:100%; padding:18px; box-sizing:border-box; background:linear-gradient(180deg,#fff,#fbfcff); border-radius:8px; box-shadow:0 6px 22px rgba(15,15,15,0.04); }
.wdp-slide-left { flex: 0 0 45%; max-width:45%; position:relative; }
.wdp-slide-left img { width:100%; height:100%; display:block; border-radius:8px; object-fit:cover; min-height:200px; transition:opacity .3s ease; }

/* Right column */
.wdp-slide-right { flex:1; display:flex; flex-direction:column; justify-content:center; }
.wdp-slide-title { margin:0 0 8px; font-size:1.35rem; }
.wdp-slide-title a { color:#0b3c6f; text-decoration:none; }
.wdp-slide-excerpt { color:#444; margin-bottom:12px; line-height:1.5; }
.wdp-slide-link { color:#0b66c2; text-decoration:none; font-weight:700; }

/* Thumbs */
.wdp-swiper-thumbs { margin-top:14px; padding:8px 0; }
.wdp-swiper-thumbs .swiper-slide { width:80px; height:60px; opacity:0.6; cursor:pointer; display:flex; align-items:center; justify-content:center; border-radius:6px; overflow:hidden; transition:transform .18s ease, opacity .18s ease; }
.wdp-swiper-thumbs .swiper-slide-thumb-active, .wdp-swiper-thumbs .swiper-slide:hover { opacity:1; transform:translateY(-4px); }
.wdp-swiper-thumbs img { width:100%; height:100%; object-fit:cover; display:block; }

/* Fade animation for content swap */
.wdp-swiper-main .swiper-wrapper.animating .swiper-slide { opacity:0; transform: translateY(12px); pointer-events:none; }
.wdp-swiper-main .swiper-wrapper.animating .swiper-slide.loaded { opacity:1; transform:none; pointer-events:auto; }

/* Responsive: en pantallas pequeñas, apilar imagen arriba, texto abajo y miniaturas después */
@media (max-width: 768px){
    .wdp-slide-inner { flex-direction:column; gap:12px; padding:12px; }
    .wdp-slide-left, .wdp-slide-right { max-width:100%; flex-basis:auto; }
    .wdp-swiper-thumbs { order: 3; } /* thumbs después del contenido */
    .wdp-swiper-main { order: 1; }
    .wdp-controls { order: 2; margin:12px 0; }
    .wdp-slide-left img { min-height:160px; border-radius:8px; }
}

/* Accessibility focus */
.wdp-filter-btn:focus, .wdp-prev:focus, .wdp-next:focus, .wdp-thumb-slide:focus { outline:3px solid rgba(11,102,194,0.16); outline-offset:3px; }

/* Small polish */
.wdp-portfolio-carousel a { color:inherit; }
