.wheel-section { overflow: hidden; }

.wheel-wrap {
    position: relative;
    width: min(360px, 90vw);
    margin: 0 auto 2rem;
}

#wheelCanvas {
    width: 100%;
    height: auto;
    border-radius: 50%;
    box-shadow: 0 0 40px rgba(201, 162, 39, 0.25);
    transition: transform 4s cubic-bezier(0.17, 0.67, 0.12, 0.99);
}

.wheel-pointer {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.75rem;
    color: var(--gold);
    z-index: 2;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
}

.wheel-spin-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 72px;
    height: 72px;
    border-radius: 50%;
    border: 3px solid var(--gold);
    background: var(--bg-primary);
    color: var(--gold);
    font-family: inherit;
    font-weight: 700;
    font-size: 0.85rem;
    cursor: pointer;
    z-index: 3;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
}

.wheel-spin-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.wheel-spin-btn:not(:disabled):hover {
    background: var(--gold);
    color: var(--bg-primary);
}

.wheel-result {
    max-width: 400px;
    margin: 0 auto 2rem;
    padding: 1.25rem;
    background: rgba(201, 162, 39, 0.12);
    border: 1px solid var(--gold);
    border-radius: 12px;
    font-size: 1.1rem;
    color: var(--gold);
}

.wheel-prizes-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    justify-content: center;
    max-width: 600px;
    margin: 0 auto;
}

.wheel-legend-item {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.wheel-legend-item i {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
}
