.sapporo-table-wrap {
    width: 100%;
    margin: 8px auto 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.sapporo-table {
    width: 100%;
    max-width: 824px;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;

    background: #1a0f05;
    border: 1px solid #ff9f1c;
    border-radius: 12px;

    box-shadow: 0 6px 18px rgba(255, 127, 0, 0.18);
}

.sapporo-table thead {
    background: linear-gradient(135deg, #ff7a00, #ffb000);
    color: #1b0d00;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
}

.sapporo-table thead th {
    padding: 11px 10px;
    line-height: 1.4;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.sapporo-table td {
    background: linear-gradient(180deg, #2b1607, #1c0f05);
    color: #fff8ed;

    font-size: 13px;
    line-height: 1.5;
    text-align: left;

    padding: 9px 10px;
    border-bottom: 1px solid rgba(255, 159, 28, 0.25);
    border-right: 1px solid rgba(255, 159, 28, 0.18);
}

.sapporo-table tr:last-child td {
    border-bottom: none;
}

.sapporo-table td:last-child,
.sapporo-table th:last-child {
    border-right: none;
}

.sapporo-table tbody tr:hover td {
    background: #331a08;
}

.sapporo-badge {
    display: inline-block;
    padding: 4px 9px;
    border-radius: 999px;

    background: rgba(255, 159, 28, 0.14);
    border: 1px solid rgba(255, 159, 28, 0.45);

    color: #ffd08a;
    font-size: 12px;
    font-weight: 600;
}

/* Animasi ringan */
.sapporo-animation {
    height: 44px;
    margin-left: 10px;
    overflow: hidden;
}

.sapporo-animation > div {
    animation: sapporoTextSlide 8s infinite;
}

.sapporo-animation > div > div {
    height: 44px;
    padding: 8px 12px;
    display: flex;
    align-items: center;

    color: #ffb000;
    font-weight: 700;
}

/* Lebih ringan daripada animasi transform kompleks */
@keyframes sapporoTextSlide {
    0%, 20% {
        transform: translateY(0);
    }

    25%, 45% {
        transform: translateY(-44px);
    }

    50%, 70% {
        transform: translateY(-88px);
    }

    75%, 95% {
        transform: translateY(-132px);
    }

    100% {
        transform: translateY(0);
    }
}

/* Responsive HP */
@media (max-width: 600px) {
    .sapporo-table {
        border-radius: 10px;
        box-shadow: 0 4px 12px rgba(255, 127, 0, 0.14);
    }

    .sapporo-table thead {
        font-size: 13px;
    }

    .sapporo-table thead th,
    .sapporo-table td {
        padding: 8px;
        font-size: 12px;
        line-height: 1.45;
    }

    .sapporo-badge {
        font-size: 11px;
        padding: 3px 7px;
    }

    .sapporo-animation {
        height: 38px;
        margin-left: 6px;
    }

    .sapporo-animation > div > div {
        height: 38px;
        padding: 7px 10px;
        font-size: 13px;
    }

    @keyframes sapporoTextSlide {
        0%, 20% {
            transform: translateY(0);
        }

        25%, 45% {
            transform: translateY(-38px);
        }

        50%, 70% {
            transform: translateY(-76px);
        }

        75%, 95% {
            transform: translateY(-114px);
        }

        100% {
            transform: translateY(0);
        }
    }
}