/* Trabajos Carrusel — frontend */
.trabajos-carrusel{
    --tc-h:480px;
    --tc-bg:#0e0e0e;
    --tc-radius:12px;
    --tc-gap:16px;
    --tc-fit:cover;
    position:relative;
    width:100%;
    margin:0 auto;
    box-sizing:border-box;
}
.trabajos-carrusel *,
.trabajos-carrusel *::before,
.trabajos-carrusel *::after{box-sizing:border-box}

.trabajos-carrusel .tc-swiper{
    width:100%;
    overflow:hidden;
    padding-bottom:36px; /* espacio paginación */
}

.trabajos-carrusel .tc-slide{
    height:var(--tc-h);
    display:flex;
    align-items:stretch;
    justify-content:center;
}

.trabajos-carrusel .tc-frame{
    position:relative;
    width:100%;
    height:100%;
    background:var(--tc-bg);
    border-radius:var(--tc-radius);
    overflow:hidden;
    box-shadow:0 6px 22px rgba(0,0,0,.18);
    transition:transform .35s ease, box-shadow .35s ease;
}
.trabajos-carrusel .swiper-slide-active .tc-frame,
.trabajos-carrusel .tc-frame:hover{
    box-shadow:0 10px 30px rgba(0,0,0,.28);
}

.trabajos-carrusel .tc-img{
    display:block;
    width:100%;
    height:100%;
    object-fit:var(--tc-fit);
    object-position:center;
}

/* Caption */
.trabajos-carrusel .tc-caption{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:14px 18px 16px;
    color:#fff;
    background:linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.45) 60%, rgba(0,0,0,0) 100%);
    pointer-events:none;
}
.trabajos-carrusel .tc-title{
    margin:0 0 4px;
    font-size:1.05rem;
    line-height:1.25;
    font-weight:600;
    color:#fff;
}
.trabajos-carrusel .tc-desc{
    font-size:.875rem;
    line-height:1.4;
    opacity:.9;
}
.trabajos-carrusel .tc-desc p{margin:0}

/* Navegación */
.trabajos-carrusel .swiper-button-prev,
.trabajos-carrusel .swiper-button-next{
    color:#fff;
    background:rgba(0,0,0,.45);
    width:40px;height:40px;
    border-radius:50%;
    backdrop-filter:blur(2px);
    transition:background .2s ease;
    border:0;
}
.trabajos-carrusel .swiper-button-prev::after,
.trabajos-carrusel .swiper-button-next::after{
    font-size:16px;
    font-weight:700;
}
.trabajos-carrusel .swiper-button-prev:hover,
.trabajos-carrusel .swiper-button-next:hover{
    background:rgba(0,0,0,.7);
}

/* Paginación */
.trabajos-carrusel .swiper-pagination{
    bottom:6px !important;
}
.trabajos-carrusel .swiper-pagination-bullet{
    background:#888;opacity:.6;width:8px;height:8px;
}
.trabajos-carrusel .swiper-pagination-bullet-active{
    background:#222;opacity:1;width:22px;border-radius:4px;
}

/* Estados vacíos (admin) */
.trabajos-carrusel-empty{
    padding:14px 18px;
    border:1px dashed #c0c0c0;
    border-radius:8px;
    background:#fafafa;
    color:#555;
    font-size:.95rem;
}

/* Orientaciones (mejora visual: vertical recibe object-fit cover por defecto;
   en modo contain queda enmarcada con fondo) */
.trabajos-carrusel.tc-mixed .tc-portrait .tc-img{object-position:center top}

/* Móvil */
@media (max-width:600px){
    .trabajos-carrusel{
        --tc-h: min(70vh, 420px);
    }
    .trabajos-carrusel .swiper-button-prev,
    .trabajos-carrusel .swiper-button-next{
        width:34px;height:34px;
    }
    .trabajos-carrusel .swiper-button-prev::after,
    .trabajos-carrusel .swiper-button-next::after{font-size:14px}
}
