/* Modified Base Styles */
.cct-countdown-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
    width: 100%;
}

.cct-countdown-wrapper * {
    box-sizing: border-box;
}

.cct-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--cct-bg, #222222);
    border-radius: 6px;
    padding: 10px 15px;
    width: 100%;
    perspective: 400px;
    transition: background-color 0.3s ease;
}

.cct-number-box {
    overflow: hidden;
    line-height: 1.1;
}

.cct-digit {
    display: block;
    font-size: var(--cct-size, 32px);
    font-family: var(--cct-font, inherit);
    font-weight: 700;
    color: var(--cct-color, #ffffff);
    text-align: center;
    backface-visibility: hidden;
    transform-origin: center center;
    transition: color 0.3s ease;
}

.cct-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--cct-color, #ffffff);
    opacity: 0.85;
    margin-top: 4px;
    text-align: center;
    transition: color 0.3s ease;
}

/* Post-Countdown (Expired State) Colors */
.cct-countdown-wrapper.cct-expired .cct-block {
    background-color: var(--cct-exp-bg, #333333) !important;
}

.cct-countdown-wrapper.cct-expired .cct-digit,
.cct-countdown-wrapper.cct-expired .cct-label {
    color: var(--cct-exp-color, #888888) !important;
}

/* Transitions */
.cct-anim-slide.cct-animate {
    animation: cctSlide 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes cctSlide {
    0% {
        transform: translateY(-40%);
        opacity: 0.2;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.cct-anim-fade_zoom.cct-animate {
    animation: cctFadeZoom 0.35s ease-out;
}
@keyframes cctFadeZoom {
    0% {
        transform: scale(1.4);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.cct-anim-flip.cct-animate {
    animation: cctFlip 0.4s ease-in-out;
}
@keyframes cctFlip {
    0% {
        transform: rotateX(-90deg);
        opacity: 0;
    }
    50% {
        opacity: 0.5;
    }
    100% {
        transform: rotateX(0deg);
        opacity: 1;
    }
}

/* Responsive Scaling for Mobile Devices */
@media (max-width: 480px) {
    .cct-countdown-wrapper {
        gap: 6px;
    }
    .cct-block {
        min-width: 50px;
        padding: 8px 4px;
    }
    .cct-digit {
        font-size: calc(var(--cct-size, 32px) * 0.75) !important;
    }
    .cct-label {
        font-size: 10px;
    }
}