/* ═══════════════════════════════════════════════
   Custom Cards Slider v2 — CSS
   ═══════════════════════════════════════════════ */

/* ── Wrapper: ocupa 100% da viewport ── */
.ccs-wrapper {
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* ── Viewport ── */
.ccs-viewport {
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* ── Track: altura fixa = altura do hover ── */
.ccs-track {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 535px;
    padding: 10px 0;
    margin: 0;
    transition: transform 0.5s cubic-bezier(.25,.8,.25,1);
    will-change: transform;
}
.ccs-track.dragging {
    transition: none;
    cursor: grabbing;
}

/* ── Slide: slot fixo — NUNCA muda de tamanho ── */
.ccs-slide {
    flex: 0 0 405px;
    width: 405px;
    height: 515px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: grab;
}

/* ── Link ── */
.ccs-link {
    text-decoration: none;
    display: block;
}

/* ── Card: menor que o slot, cresce no hover ── */
.ccs-card {
    width: 395px;
    height: 460px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 25px 28px;
    box-sizing: border-box;
    box-shadow: 0 4px 15px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,.04);
    overflow: hidden;
    transition: width .4s ease, height .4s ease, background-color .4s ease, box-shadow .4s ease;
}

/* ── Hover: cresce DENTRO do slot fixo ── */
.ccs-slide.ccs-active .ccs-card {
    width: 405px;
    height: 515px;
    box-shadow: none;
}

/* ── Imagem ── */
.ccs-img {
    width: 340px;
    height: 330px;
    border-radius: 15px;
    overflow: hidden;
    background: #D8DBDF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: height .4s ease, background-color .4s ease;
}
.ccs-slide.ccs-active .ccs-img {
    height: 365px;
    background: #FFFFFF;
}
.ccs-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ── Botão: 19px, sem quebra ── */
.ccs-btn {
    width: 339px;
    height: 67px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 19px;
    line-height: 1.1;
    letter-spacing: .3px;
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0;
    padding: 0 10px;
    box-sizing: border-box;
    transition: background-color .4s ease, color .4s ease;
}

/* ═══════════════════════════════════════════════
   Responsive
   ═══════════════════════════════════════════════ */

@media (max-width: 1200px) {
    .ccs-track { min-height: 440px; }
    .ccs-slide { flex: 0 0 320px; width: 320px; height: 420px; }
    .ccs-card  { width: 310px; height: 380px; padding: 20px 22px; }
    .ccs-slide.ccs-active .ccs-card { width: 320px; height: 420px; }
    .ccs-img   { width: 270px; height: 260px; }
    .ccs-slide.ccs-active .ccs-img { height: 290px; }
    .ccs-btn   { width: 270px; height: 55px; font-size: 15px; }
}

@media (max-width: 768px) {
    .ccs-track { min-height: 400px; }
    .ccs-slide { flex: 0 0 290px; width: 290px; height: 385px; }
    .ccs-card  { width: 280px; height: 350px; padding: 18px 20px; border-radius: 16px; }
    .ccs-slide.ccs-active .ccs-card { width: 290px; height: 385px; }
    .ccs-img   { width: 245px; height: 240px; border-radius: 12px; }
    .ccs-slide.ccs-active .ccs-img { height: 265px; }
    .ccs-btn   { width: 245px; height: 50px; font-size: 13px; border-radius: 12px; }
}

@media (max-width: 480px) {
    .ccs-track { min-height: 365px; }
    .ccs-slide { flex: 0 0 260px; width: 260px; height: 350px; }
    .ccs-card  { width: 250px; height: 320px; padding: 15px 18px; }
    .ccs-slide.ccs-active .ccs-card { width: 260px; height: 350px; }
    .ccs-img   { width: 220px; height: 215px; }
    .ccs-slide.ccs-active .ccs-img { height: 238px; }
    .ccs-btn   { width: 220px; height: 45px; font-size: 12px; }
}
