/* Import Font Inter dari Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* Base Styles */
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #ffffff;
    color: #1e293b; /* slate-800 */
}

/* Custom Gradient Text for Headlines */
.text-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(to right, #1e3a8a, #2563eb);
}

/* Countdown Box Styling */
.countdown-box {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(4px);
    border: 1px solid #e2e8f0;
    transition: transform 0.2s ease;
}

.countdown-box:hover {
    transform: translateY(-2px);
}

/* Progress Bar Striped Animation */
.progress-striped {
    background-image: linear-gradient(
        45deg,
        rgba(255, 255, 255, 0.15) 25%,
        transparent 25%,
        transparent 50%,
        rgba(255, 255, 255, 0.15) 50%,
        rgba(255, 255, 255, 0.15) 75%,
        transparent 75%,
        transparent
    );
    background-size: 1rem 1rem;
    animation: progress-move 1s linear infinite;
}

@keyframes progress-move {
    from { background-position: 1rem 0; }
    to { background-position: 0 0; }
}

/* Accordion / FAQ Styling */
details > summary {
    list-style: none;
}

details > summary::-webkit-details-marker {
    display: none;
}

details[open] summary ~ * {
    animation: slideDown 0.3s ease-in-out;
}

/* Rotasi Icon Accordion */
details[open] summary .accordion-icon {
    transform: rotate(180deg);
}

/* Animations */
@keyframes slideDown {
    0% { opacity: 0; transform: translateY(-10px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes pulse-fast {
    0%, 100% { opacity: 1; }
    50% { opacity: .5; }
}

.animate-pulse-fast {
    animation: pulse-fast 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Utility khusus untuk bonus box ribbon effect */
.bonus-ribbon-glow {
    position: absolute;
    right: -1.5rem;
    top: -1.5rem;
    width: 4rem;
    height: 4rem;
    background-color: #fde68a; /* amber-200 */
    border-radius: 9999px;
    filter: blur(24px);
    opacity: 0.5;
}