/* ==========================================================================
   WDB CARROSSEL CLIENTES — Ticker Marquee
   ========================================================================== */

/* Container — Light (default) */
.wdb-ccl {
    position: relative;
    overflow: hidden;
    --wdb-ccl-speed: 30s;
    --wdb-ccl-gap: 16px;
    --wdb-ccl-card-w: 340px;
    --wdb-ccl-card-bg: rgba(0,0,0,0.03);
    --wdb-ccl-card-border: rgba(0,0,0,0.08);
    --wdb-ccl-card-hover-bg: rgba(34,197,94,0.05);
    --wdb-ccl-card-hover-border: rgba(34,197,94,0.3);
    --wdb-ccl-text-color: rgba(0,0,0,0.6);
    --wdb-ccl-name-color: #1a1a1a;
    --wdb-ccl-role-color: rgba(0,0,0,0.45);
    --wdb-ccl-star-color: #22c55e;
    --wdb-ccl-radius: 14px;
}

/* Container — Dark */
.wdb-ccl.wdb-ccl-dark {
    --wdb-ccl-card-bg: rgba(255,255,255,0.03);
    --wdb-ccl-card-border: rgba(255,255,255,0.06);
    --wdb-ccl-card-hover-bg: rgba(34,197,94,0.05);
    --wdb-ccl-card-hover-border: rgba(34,197,94,0.3);
    --wdb-ccl-text-color: rgba(255,255,255,0.6);
    --wdb-ccl-name-color: #fff;
    --wdb-ccl-role-color: rgba(255,255,255,0.35);
}

/* ==========================================================================
   HORIZONTAL TICKER
   ========================================================================== */

.wdb-ccl-row {
    display: flex;
    gap: var(--wdb-ccl-gap);
    width: max-content;
}

.wdb-ccl-row.wdb-ccl-left {
    animation: wdbCclLeft var(--wdb-ccl-speed) linear infinite;
}

.wdb-ccl-row.wdb-ccl-right {
    animation: wdbCclRight var(--wdb-ccl-speed) linear infinite;
    margin-top: var(--wdb-ccl-gap);
}

@keyframes wdbCclLeft {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes wdbCclRight {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

/* Pause on hover */
.wdb-ccl-pause .wdb-ccl-row:hover {
    animation-play-state: paused;
}

/* ==========================================================================
   VERTICAL TICKER
   ========================================================================== */

.wdb-ccl-vertical {
    display: flex;
    gap: var(--wdb-ccl-gap);
    justify-content: center;
}

.wdb-ccl-col {
    display: flex;
    flex-direction: column;
    gap: var(--wdb-ccl-gap);
    height: max-content;
}

.wdb-ccl-col.wdb-ccl-up {
    animation: wdbCclUp var(--wdb-ccl-speed) linear infinite;
}

.wdb-ccl-col.wdb-ccl-down {
    animation: wdbCclDown var(--wdb-ccl-speed) linear infinite;
}

@keyframes wdbCclUp {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}

@keyframes wdbCclDown {
    0% { transform: translateY(-50%); }
    100% { transform: translateY(0); }
}

.wdb-ccl-pause .wdb-ccl-col:hover {
    animation-play-state: paused;
}

/* Vertical container needs fixed height */
.wdb-ccl-vertical-wrap {
    overflow: hidden;
    height: 500px;
}

/* ==========================================================================
   CARD
   ========================================================================== */

.wdb-ccl-card {
    flex-shrink: 0;
    width: var(--wdb-ccl-card-w);
    padding: 24px;
    background: var(--wdb-ccl-card-bg);
    border: 1px solid var(--wdb-ccl-card-border);
    border-radius: var(--wdb-ccl-radius);
    transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.wdb-ccl-card:hover {
    border-color: var(--wdb-ccl-card-hover-border);
    background: var(--wdb-ccl-card-hover-bg);
}

/* Stars */
.wdb-ccl-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 10px;
}

.wdb-ccl-star {
    width: 14px;
    height: 14px;
    fill: var(--wdb-ccl-star-color);
}

/* Text */
.wdb-ccl-text {
    font-size: 13px;
    line-height: 1.7;
    color: var(--wdb-ccl-text-color);
    margin: 0 0 14px;
}

/* Author */
.wdb-ccl-author {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wdb-ccl-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.wdb-ccl-name {
    font-size: 12px;
    font-weight: 600;
    color: var(--wdb-ccl-name-color);
    margin: 0;
    line-height: 1.3;
}

.wdb-ccl-role {
    font-size: 11px;
    color: var(--wdb-ccl-role-color);
    margin: 2px 0 0;
    line-height: 1.3;
}

/* ==========================================================================
   FADE EDGES
   ========================================================================== */

/* Horizontal fade */
.wdb-ccl-fade::before,
.wdb-ccl-fade::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 120px;
    z-index: 2;
    pointer-events: none;
}

.wdb-ccl-fade::before {
    left: 0;
    background: linear-gradient(to right, var(--wdb-ccl-fade-color, #0a0a0a), transparent);
}

.wdb-ccl-fade::after {
    right: 0;
    background: linear-gradient(to left, var(--wdb-ccl-fade-color, #0a0a0a), transparent);
}

/* Vertical fade */
.wdb-ccl-fade-v::before,
.wdb-ccl-fade-v::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 80px;
    z-index: 2;
    pointer-events: none;
}

.wdb-ccl-fade-v::before {
    top: 0;
    background: linear-gradient(to bottom, var(--wdb-ccl-fade-color, #0a0a0a), transparent);
}

.wdb-ccl-fade-v::after {
    bottom: 0;
    background: linear-gradient(to top, var(--wdb-ccl-fade-color, #0a0a0a), transparent);
}

/* ==========================================================================
   GLASS EFFECT
   ========================================================================== */

.wdb-ccl-glass .wdb-ccl-card {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* ==========================================================================
   RESPONSIVE — TABLET
   ========================================================================== */

@media (max-width: 1024px) {
    .wdb-ccl-card {
        width: 300px;
        padding: 20px;
    }
}

/* ==========================================================================
   RESPONSIVE — MOBILE
   ========================================================================== */

@media (max-width: 768px) {
    .wdb-ccl-card {
        width: 280px;
        padding: 18px;
    }

    .wdb-ccl-vertical-wrap {
        height: 400px;
    }

    .wdb-ccl-fade::before,
    .wdb-ccl-fade::after {
        width: 60px;
    }

    .wdb-ccl-fade-v::before,
    .wdb-ccl-fade-v::after {
        height: 50px;
    }
}
